Podstawowe typy zmiennych Typ Rozmiar w bajtach Minimalny zakres char 1 Kod ASCII znaku (liczba 0..255) int 1 4-2147483648 2147483647 long long 1 8-2 63...2 63-1 float 4-3,4*10 38 3,4*10 38 (do 6 cyfr znaczących) double 8-1,7*10 308 1,7*10 308 (do 10 cyfr znaczących) bool 1 true, false y Deklaracji zmiennych int liczba char znak float ulamek Zmienną podczas deklaracji można zainicjować początkową wartością, np.: int lata=18; double w=8.12; char kod= c ; Instrukcje warunkowa if else Składnia instrukcji warunkowej: if (wyrażenie) instrukcja1; Jeśli występuje więcej niż jedno polecenie wówczas musimy je objęć nawiasami klamrowymi: if (wyrażenie) { instrukcja1; instrukcja2;... instrukcjan; Złożona instrukcja warunkowa: if (wyrażenie) { instrukcja1;... instrukcja; else { instrukcja1;... instrukcjan; Np, aby sprawdzić czy liczba a jest równa liczbie b użyjemy instrukcji: if (a = = b) { cout <<"Liczby są równe!"; //tu muszą być dwa znaki równości!!! else { cout <<"Liczby są różne!"; Uwaga: Należy odróżnić instrukcję przypisania "=" od instrukcji porównania "=="(dwa znaki równa się). Instrukcję porównania stosujemy, zazwyczaj w instrukcjach warunkowych lub w instrukcjach pętli(o pętlach powiemy sobie później). 1 Dla kompilatora g++ typ int i typ long zajmują 4 bajty. Typem całkowitym ośmiobajtowym jest long long -1-
Zadania Zadanie 1 SI Dane są dwie liczby całkowite. Napisz program, który obliczy ich sumę i iloczyn. Pierwszy i jedyny wiersz wejścia zawiera dwie liczby całkowite z zakresu -2147483648.. 2147483647. W pierwszym wierszu wyjścia należy zapisać sumę obu liczb, w wierszu drugim zakończonym znakiem nowej linii ich iloczyn. 14 9 23 126 Zadanie 2 Trójkąt Dane jest liczba rzeczywista a. Napisz program, który wyznaczy pole powierzchni i obwód trójkąta równobocznego o boku a. Pierwszy i jedyny wiersz wejścia zawiera nieujemną liczbę rzeczywistą a. W pierwszym wierszu wyjścia należy zapisać pole powierzchni trójkąta równobocznego o boku a, w wierszu drugim obwód tego trójkąta. Dla danej wejściowej: 5.00 10.83 15 Zadanie 3 Ostania cyfra Napisz program, który czyta liczbę naturalną (nie przekraczającą dwóch miliardów) i wypisuje podwojoną ostatnią cyfrę wprowadzonej liczby. Na przykład dla liczby 2345 program powinien wypisać 10, zaś dla liczby 987654 powinien wypisać 8. UWAGA: Aby wyznaczyć resztę z dzielenia liczby a przez b musisz użyć operatora reszty z dzielenia %. Np wartością reszty z dzielenia 8 przez 3 jest 2, co zapisuje się 8 % 3 Zadanie 4 Suma cyfr Dana jest trzycyfrowa liczba całkowita dodatnia a. Napisz program, który obliczy sumę jej cyfr. Dla danej wejściowej: 125 8 Zadanie 5 Samolot Z miasta A do miasta B leci samolot, ze stała prędkością jeśli odległość pomiędzy miastami wynosi S kilometrów. Dane: S odległość pomiędzy miastami (w kilometrach) v prędkość samolotu (w km/h) -2- km v. Oblicz czas przelotu samolotu (w minutach), h
Wynik: t czas przelotu (w minutach) S=360 v=100 216 Zadanie 6 Parzysta Dana jest liczba całkowita nie większa od miliarda. Napisz program, który sprawdzi czy liczba jest parzysta. Liczba całkowita Na wyjściu powinien się napis "TAK", gdy liczba jest parzysta, bądź "NIE" w przeciwnym przypadku. 0 3 4 4 Zadanie 7 3Liczby Spośród trzech liczb rzeczywistych wybierz liczbę największą. Pierwszy i jedyny wiersz wejścia zakończony znakiem nowej linii zawiera trzy liczby rzeczywiste oddzielone pojedynczą spacją. Pierwszy i jedyny wiersz wyjścia zakończony znakiem nowej linii powinien zawierać największą z liczb. 0 3.05 4.1 4.1 Zadanie 8 Trójkąt 2 Napisz program, który czyta trzy liczby naturalne (nieprzekraczające miliarda) i sprawdza, czy mogą one być długościami boków trójkąta na płaszczyźnie. Twój program powinien wypisać jedną linijkę tekstu zawierającą słowo TAK lub NIE. Na przykład dla danych wejściowych 2 7 5 Twój program powinien wypisać słowo NIE, natomiast dla danych wejściowych 3 4 5 Twój program powinien wypisać słowo TAK. Zadanie 9 Rok Przestępny W kalendarz gregoriański istnieje pojęcie roku przestępnego. Rok przestępny charakteryzuje się tym, że miesiąc luty ma 29 dni. Numer roku spełnia następujące warunki: jest podzielny przez 4 i nie jest podzielny przez 100 lub jest podzielny przez 400; Np. rok 2000, 1996 były przestępne, a rok 2003, 1997 nie. A czy rok 1900 był przestępny? Napisz program, który czyta liczbę naturalną będącą rokiem i sprawdza, czy jest on przestępny, czy też nie. Jeśli rok jest przestępny program powinien wypisać słowo TAK, jeśli nieprzestępny słowo NIE. Zadanie 10 Większe, czy mniejsze? A może równe? Napisz program, który wczyta dwie liczby całkowite z zakresu -1 000 000 1 000 000 i wstawi pomiędzy nie odpowiedni znak relacji (=,<,>) : -3-
Dwie liczby całkowite : Zgodne z przykładem 2 3 2<3 Zadanie 11 Biegacze Kuba, Bartosz i Andrzej bardzo lubią biegi. Ich rywalizacja jest zawsze zacięta. Co tydzień w sobotę wieczorem porównują czasy swoich biegów tworząc ranking. Pomóż biegaczom i opracuj algorytm, który dla podanych czasów opracuje ranking Specyfikacja algorytmu: Dane: K, B, A czasy biegaczy (3 liczby wymierne większe od zera) Wynik: Kolejne najlepsze czasy zawodników K=50 B=45.3 A=51.2 45.3 50 51.2 Zadanie 12 Kinga i Kamil Kinga i Kamil nie mają jeszcze 18 lat, ale kto z nich jest starszy? Napisz program, który udzieli odpowiedzi na to pytanie. W pierwszym wierszu pliku wejściowego zapisano trzy liczby całkowite oddzielone pojedynczą spacją: dzień, miesiąc i rok - datę urodzenia Kingi. W wierszu drugim zakończonym znakiem nowej linii zapisano w takim samym formacie datę urodzin Kamila. Pierwszy i jedyny wiersz wyjścia zakończony znakiem nowej linii powinien zawierać: słowo KINGA, gdy starsza jest Kinga, słowo KAMIL, gdy starszy jest Kamil, słowo NIKT gdy oboje urodzili się w tym samym dniu. 19 9 1995 18 3 1993 poprawną odpowiedzią jest napis: KAMIL Zadanie 13 Palindromik Dana jest pięciocyfrowa liczba całkowita dodatnia a. Napisz program, który sprawdzi, czy liczba ta jest palindromem. Palindromem nazywamy taką liczbę, która czytana od lewej do prawej i od prawej do lewej jest taka sama. Np. palindromem są liczby: 14341, 33333, 23134 Dla danej wejściowej: 12521 TAK -4-
Zadanie 14 Kubeczki (zamiana zmiennych) W dwóch kubeczkach mamy po jednej kulce. Kulki są oznaczone niedużymi liczbami naturalnymi. Mamy za zadanie zamienić kulki w kubeczkach, w ten sposób że: 1. możemy przekładać kulki tylko do kubeczków 2. mamy do dyspozycji trzeci (pusty) kubeczek 3. w jednym kubeczku może znajdować się co najwyżej jedna kulka. Napisz program, który czyta oznaczenia na dwóch kulkach i zamieni je miejscami w kubeczkach wedle podanej powyżej reguły. Postaraj się wykonać powyższe zadanie nie poprzez wypisywanie wartości danych w odwrotnej kolejności. WSK: Zmienne, służące do zapamiętania długości promieni potraktuj jako kubeczki, zaś ich wartości jako promienie kulek. 5 6 6 5 Zadanie 15 Podium Na ile sposobów z pośród n zawodników można skompletować podium. Pierwszy i jedyny wiersz zawiera jedną liczbę całkowitą dodatnią nie większą od 1000. Ilość możliwości ustalenia 3 pierwszych miejsc. Dla danej: 6 120 Zadanie 16 Ocena słownie Dla oceny w postaci liczbowej podaj jej odpowiednik w postaci słownej Pierwszy i jedyny wiersz zawiera jedną liczbę ocenę. Jeden z napisów: cel, bdb, db, dst, dop, ndst lub napis: błąd w przypadku, gdy podaliśmy niepoprawną ocenę Dla dane: 5 bdb Zaś dla danej: 7 błąd Zadanie 17 Koła zainteresowań W 16 Gimnazjum prowadzone są zajęcia z dwóch języków: angielskiego i niemieckiego. Każdy z uczniów 3 klasy matematycznej wybrał co najmniej jeden z języków. Oblicz ile jest uczniów w klasie, jeśli wiadomo że w na język angielski uczęszcza a uczniów, na język niemiecki n uczniów, zaś na oba języki o uczniów. Pierwszy i jedyny wiersz zawiera 3 liczby: a, n, o oddzielone pojedynczą spacją. -5-
Ilość uczniów w klasie 3. 5 4 3 6 A N Zadanie 18 Czerwony autobus Autobus odjeżdża z dworca Szczecin Główny o godzinie T 1 i dojeżdża do przystanku na ul. Unisławy o godzinie T 2. Napisz program, który wyznaczy czas podróży autobusem. : Pierwszy wiersz wejścia trzy liczby całkowite: godzinę, minutę oraz sekundę chwili T 1. W wierszu drugim podobnie zapisano chwilę T 2. zgodne z przykładem. 9 43 48 10 27 9 0 godzin 43 minut 21 sekund Zadanie 19 Samogłoska, czy spółgłoska Napisz program, który czyta literę alfabetu angielskiego i wypisuje, komunikat o tym, czy dana litera jest samogłoską, czy spółgłoską. Dla litery: a samogłoska zaś dla litery c spółgłoska Zadanie 20 Zegar Zegar na wieży kościelnej wskazuje obecnie pełną godzinę 11. Jaką godzinę będzie wskazywał za 4 godziny, a jaka za 28 godzin. Napisz program, który odpowie na to pytanie. : Pierwszy wiersz wejścia zawiera 2 liczby całkowite: T (1 T 12) aktualną godzinę, którą wskazuje zegar oraz z liczbę oznaczająca nasze zapytanie.(1 z<10000) Wskazanie zegara po z godzinach 9 5 2 zaś dla danych: 10 14 12-6-