3-EAzI(s) Programowanie Laboratorium_1: Temat: Wprowadzenie do języka C++ 1. Operatory Arytmetyczne Porównania Logiczne + Dodanie dwóch wartości - Odjęcie jednej wartości od drugiej / Podzielenie jednej wartości przez drugą * Pomnożenie jednej wartości przez drugą % Reszta z dzielenia dwóch liczb ++ Zwiększenie o 1 -- Zmniejszenie o 1 > większe niż < mniejsze niż >= większe lub równe <= mniejsze lub równe == równe!= nie równe OR && AND! NOT Operator wyboru (warunkowy) wyrażenie? wartość gdy prawda : wartość gdy fałsz c=(x>y)?5:12 Operatory przypisania +=,-=,*=,/=,%=,%= itp. i+=2 oznacza i=i+2;
3-EAzI(s) Programowanie 2. Priorytety operatorów języka C++ 3. Operacje we/wy Wyświetlania komunikatów na monitorze funkcja cout #include <iostream.h> // dyrektywa preprocesora dołacza bibliotekę iostream using namespace std; main() { cout<< Pierwszy program ; system("pause");//czeka na naciśnięcia jakiegoś klawisza return EXIT_SUCCESS; }
3-EAzI(s) Programowanie Wczytywanie danych z klawiatury funkcja cin #include <iostream.h> // dyrektywa preprocesora dołacza bibliotekę iostream.h using namespace std; main() { int a; //definicja zmiennej a typu całkowitoliczbowego, cout<< Podaj wartość a= ;//drukuje komunikat na ekranie komputera, cin>>a; //wczytanie wartości z klawiatury, cout<< Zmienna a wynosi <<a<<endl; system("pause");//czeka na naciśnięcia jakiegoś klawisza - funkcja zdefiniowana w //bibliotece conio.h return EXIT_SUCCESS; } Zadania do wykonania na laboratorium: Zadanie_1 Wykonaj działania, dla sprawdzenia napisz program w języku C++ wykonujący poniższe operacje. int a=3,b=2,c=4,d; a. d=a+++b-c%3; d= b. d=++a+b-c%3; d= c. d=(b=c)+2; d= d. d=(b==c); d= e. d=(a<b)&&(b<c); d= f. c+=(a>0&&b<9)?(b>2?a:c):(a>1?b+c:++a); c= int n=5,p=9; float x; a. x=p%n+p>n; x= b. x=p/n; x= c. x=(float)p/n; x= d. x=(p+0.5)/n; x= e. x=int(p+0.5)/n; x= f. x=n*(p>n)?n:p); x= Zadanie_2 Napisz program INICJALY drukujący na ekranie Twoje inicjały. Program Leszka Iwańskiego powinien wydrukować na ekranie: Zadanie_3 Napisz program Zamiana cali na centymetry. Program powinien pobrać od użytkownika jedną liczbę rzeczywistą oznaczającą długość wyrażoną w calach (np. 1) po czym wydrukować na ekranie podaną długość po zmianie jednostki długości na centymetry (np. 2,54). Każda drukowana na ekranie oraz wczytywana z klawiatury liczba powinna być poprzedzona odpowiednim opisem (np. PODAJ DŁUGOŚĆ WYRAŻONĄ W CENTYMETRACH DL=). Zadanie_4 Napisz program przeliczający wielkość kąta wyrażoną w stopniach na radiany. Zadanie_5 Napisz program Pole trójkąta. Program powinien pobrać z klawiatury dwie liczby będące długością podstawy i wysokością trójkąta, a następnie wydrukować na ekranie liczbę wyrażającą pole powierzchni danego trójkąta. Zadanie_6 Napisz program który oblicza ile litrów paliwa zużywa pojazd na 100km. Program wczytuje pokonana drogę w [km] oraz zużyte paliwo w litrach [l]. Zadanie_7 Prędkość w ruchu jednostajnym prostoliniowym może być określona uproszczonym wzorem v=s/t, gdzie s to droga przebyta w czasie t. Napisać program wyliczający prędkość v program wczytuje drogę s i czas jej przebycia t (są to dowolne liczby rzeczywiste) i wyświetla wynik. Program powinien na samym początku wyświetlić krótką informację o jego przeznaczeniu oraz zatrzymać swoje wykonanie po wyświetleniu wyniku do czasu naciśnięcia klawisza Esc. Zadanie_8 Cena brutto to cena netto powiększona o pewien podatek, wyrażony procentowo. Jeżeli coś kosztuje netto 100zł, a kwota podatku to 22%, cena brutto wynosi 122zł. Napisać program, który
3-EAzI(s) Programowanie wyznaczy cenę brutto na podstawie ceny netto oraz podatku wyrażonego procentowo program wczytuje cenę netto, podatek wyrażony procentowo (są to dowolne liczby rzeczywiste) i wyświetla wynik. Program powinien na samym początku wyświetlić krótką informację o jego przeznaczeniu oraz zatrzymać swoje wykonanie po wyświetleniu wyniku do czasu naciśnięcia klawisza Esc. Zadanie_9 Wynagrodzenie pewnego pracownika to liczba przepracowanych godzin przemnożona przez stawkę godzinową. Napisać program, który wyznaczy wynagrodzenie pracownika po wczytaniu liczby przepracowanych godzin oraz stawki (są to dowolne liczby rzeczywiste). Dodatkowo program ma wyznaczyć, ile pracownik zarobił na dniówkę, zakładając, że pracuje zawsze, równo 8 godzin. Program powinien na samym początku wyświetlić krótką informację o jego przeznaczeniu oraz zatrzymać swoje wykonanie po wyświetleniu wyników do czasu naciśnięcia klawisza Esc. Zadanie_10 Szybkostrzelność teoretyczna karabinka automatycznego AK (Automat Kałasznikowa) wynosi 600strzałów/minutę. Magazynek karabinka mieści 30 naboi. Napisać program, który wczyta wyrażony w sekundach czas (dowolna liczba całkowita) trwania ognia ciągłego, prowadzonego z takiego karabinka. Ćwiczeniem programu jest wyznaczyć liczbę magazynków, które trzeba by wymienić, aby strzelać ogniem ciągłym przez wprowadzony czas. Program powinien na samym początku wyświetlić krótką informację o jego przeznaczeniu oraz zatrzymać swoje wykonanie po wyświetleniu wyniku do czasu naciśnięcia klawisza Esc. Zadanie_11 Sportowiec w trakcie jednego treningu spala średnio 1500 kalorii. Napisać program, który wczyta: ile razy sportowiec trenuje w tygodniu, i ile planuje tygodni trenować (dowolne liczby całkowite). Na tej podstawie program ma wyliczyć ile kilokalorii sportowiec spali w tym okresie czasu. Program powinien na samym początku wyświetlić krótką informację o jego przeznaczeniu oraz zatrzymać swoje wykonanie po wyświetleniu wyniku do czasu naciśnięcia klawisza Esc. Zadanie_12 Napisać program wczytujący liczbę całkowitą należącą do przedziału (1..150] (lewostronnie otwarty, prawostronnie domknięty). Liczba ta określa wiek pewnej osoby. Zadaniem programu jest stwierdzenie czy ta osoba jest pełnoletnia (pełnoletnie są osoby od 18-go roku życia) czy nie. Dodatkowo, dla osób niepełnoletnich należy wyznaczyć i wyprowadzić informację ile lat pozostało do osiągnięcia pełnoletności, a dla osób pełnoletnich, od ilu lat są pełnoletnie. Program powinien umożliwiać wielokrotne wykonywanie opisanych czynności. Zadanie_13 Napisać program wczytujący liczbę całkowitą należącą do przedziału (1..150] (lewostronnie otwarty, prawostronnie domknięty). Liczba ta określa wiek pewnej osoby. Zadaniem programu jest stwierdzenie czy ta osoba: posiada bierne prawo wyborcze (ukończone 18 lat), posiada czynne prawo wyborcze (ukończone 21 lat), może kandydować do senatu (ukończone 30 lat), może kandydować na prezydenta (ukończone 35 lat). Dodatkowo, dla osób niepełnoletnich należy wyznaczyć i wyprowadzić informację ile lat pozostało do osiągnięcia pełnoletności, a dla osób pełnoletnich, od ilu lat są pełnoletnie. Program powinien umożliwiać wielokrotne wykonywanie opisanych czynności. Zadanie_14 Napisać program wczytujący liczbę całkowitą należącą do przedziału [1..15] oraz liczbę rzeczywistą z przedziału [100, 1000] (oba przedziały obustronnie domknięte). Liczba całkowita określa wiek samochodu, liczba rzeczywista kwotę bazową pewnego ubezpieczenia samochodowego. Kwotę ostateczną ubezpieczenia ustala się w ten sposób, że kwotę bazową powiększa się o pewną sumę, zależnie od wieku pojazdu. Dla aut do 5-ciu lat włącznie, nie dolicza się dodatku, dla aut o wieku (5, 10] dolicza się 50zł, dla aut (10, 15] dolicza się 100zł. Zadaniem programu jest wyliczenie kwoty ubezpieczenia, uwzględniającej dodatek zależny od wieku pojazdu. Program powinien umożliwiać wielokrotne wykonywanie opisanych czynności. Zadanie_15 Napisać program wczytujący liczbę całkowitą należącą do przedziału [1..31] oraz liczbę rzeczywistą z przedziału [50, 200] (oba przedziały obustronnie domknięte). Liczba całkowita określa liczbę dniówek przepracowanych przez pewnego pracownika, liczba rzeczywista stawkę za dniówką. Kwota wypłaty jest iloczynem liczby przepracowanych dniówek i stawki za dniówkę. Dla pracowników, którzy przepracowali od 20 do 15 dniówek dolicza się premię wysokości 100zł, dla tych, którzy przepracowali więcej niż 25 dniówek, dolicza się premię w wysokości 200zł. Zadaniem programu jest wyliczenie kwoty wypłaty, uwzględniającej dodatek zależny od liczby przepracowanych godzin. Program powinien umożliwiać wielokrotne wykonywanie opisanych czynności.
3-EAzI(s) Programowanie Zadanie_16 Napisać program wczytujący liczbę całkowitą należącą do przedziału [1..31] oraz liczbę rzeczywistą z przedziału [50, 200] (oba przedziały obustronnie domknięte). Liczba całkowita określa liczbę dni opóźnienia zapłaty pewnej składki, liczba rzeczywista kwotę tej składki. Program ma wyznaczyć kwotę składki powiększoną o opłatę karną, wg. następującego regulaminu: jeżeli lb. Dni spóźnienia należy do przedziału [1, 10] opłata karna wynosi 10zł, jeżeli lb. Dni spóźnienia należy do przedziału [11, 20] opłata karna wynosi 15zł, jeżeli lb. Dni spóźnienia należy do przedziału [21, 31] opłata karna wynosi 25zł. Zadaniem programu jest wyliczenie kwoty składki, uwzględniającej opłatę karną wg. powyższego regulaminu. Program powinien umożliwiać wielokrotne wykonywanie opisanych czynności. Zadanie_18 Napisz program, który oblicza pierwiastki równania kwadratowego ax^2+bc+c=0. Zadanie_19 Napisz program kalkulator, który wczytuje dwie liczby rzeczywiste oraz znak operacji, a następnie zwraca wynik działania. Zadanie_20 Napisz program, który losuje liczbę z przedziału od 1 do 100. Zadaniem użytkownika jest odgadnięcie wylosowanej liczby. Funkcja, która losuje liczbę z zakresu od 1 do 100 rand() % 100 + 1; generator liczb losowych: srand( ( unsigned )time( NU ) ); Potrzebna biblioteka: #include <ctime>