Plik do pobrania
Transkrypt
Plik do pobrania
Podstawowe typy zmiennych Typ Rozmiar w bajtach 1 char 1 4 int 8 long long1 4 float 8 double 1 bool Minimalny zakres Kod ASCII znaku (liczba 0..255) -2147483648…2147483647 -263...263-1 38 -3,4*10 …3,4*1038 (do 6 cyfr znaczących) -1,7*10308…1,7*10308 (do 10 cyfr znaczących) true, false Przykłady 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; } UWAGA: W C++ przyjmuje się, że 0 odpowiada fałszowi, a każda inna liczba odpowiada wartości logicznej prawda. Zatem instrukcja if (a!=0) równoważna jest instrukcji: if (a) 1 Dla kompilatora g++ typ int i typ long zajmują 4 bajty. Typem całkowitym ośmiobajtowym jest long long -1Rafaello Zadania Zadanie 1 SI Dane są dwie liczby całkowite. Napisz program, który obliczy ich sumę i iloczyn. Wejście Pierwszy i jedyny wiersz wejścia zawiera dwie liczby całkowite z zakresu -32768..32767. Wyjście W pierwszym wierszu wyjścia należy zapisać sumę obu liczb, w wierszu drugim zakończonym znakiem nowej linii ich iloczyn. Przykład Dla danych wejściowych: 14 9 poprawną odpowiedzią jest: 23 126 Zadanie 2 Trójkąt Dana jest nieujemna liczba rzeczywista h. Napisz program, który wyznaczy pole powierzchni i obwód trójkąta równobocznego o wysokości h. Wejście Pierwszy i jedyny wiersz wejścia zawiera nieujemną liczbę rzeczywistą h. Wyjście W pierwszym wierszu wyjścia należy zapisać pole powierzchni trójkąta równobocznego o wysokości h, w wierszu drugim obwód tego trójkąta. Obie liczby powinny być wypisane z dokładnością do dwóch miejsc po przecinku. Przykład Dla danej wejściowej: 5.00 poprawną odpowiedzią jest: 14.43 17.32 Zadanie 3 Koło W pewne koło wpisano kwadrat, w który następnie ponownie wpisano koło. Otrzymano koło o polu powierzchni S. Jaką długość ma obwód większego z kół? Wejście W pierwszym wierszu pliku wejściowego zakończonym znakiem nowej linii zapisano jedną dodatnią liczbę rzeczywistą S. Wyjście W pierwszym i jedynym wierszu pliku wyjściowego należy zapisać długość obwodu większego z kół z dokładnością do jednego miejsca po przecinku. Przykład Dla danej wejściowej: 3 poprawną odpowiedzią jest: 8.7 Zadanie 4 Odcinek Dany jest odcinek o końcach w punktach A i B. Napisz program, który obliczy długość odcinka AB. Wejście Pierwszy wiersz wejścia zawiera dwie liczby rzeczywiste oddzielone pojedynczą spacją - współrzędne punktu A. W wierszu drugim w taki sam sposób zapisano współrzędne punktu B. Wyjście W pierwszym i jedynym wierszu obliczoną odległość długość -2Rafaello Przykład Dla danych wejściowych: 1 0 2 0 poprawną odpowiedzią jest: 1.0 Zadanie 5 3Liczby Spośród trzech liczb całkowitych wybierz liczbę najmniejszą i liczbę największą. Wejście Pierwszy i jedyny wiersz wejścia zakończony znakiem nowej linii zawiera trzy liczby całkowite z zakresu 32768..32767 oddzielone pojedynczą spacją. Wyjście Pierwszy i jedyny wiersz wyjścia zakończony znakiem nowej linii powinien zawierać dwie liczby całkowite oddzielone pojedynczą spacją - najmniejszą i największą z liczb. Przykład Dla danych wejściowych: 0 3 4 poprawną odpowiedzią jest: 04 Zadanie 6 ZeroLin Znajdź miejsce zerowe funkcji f(x)=ax+b. Jeżeli funkcja jest rosnąca, w drugim wierszu wypisz większą z liczb a,b, jeżeli jest malejąca - mniejszą. Jeżeli funkcja nie ma miejsc zerowych, wypisz NIE, jeżeli zaś ma ich nieskończenie wiele, wypisz TAK. Wejście Pierwszy i jedyny wiersz zawiera dwie liczby rzeczywiste: a i b. Wyjście Jeżeli funkcja posiada jedno miejsce zerowe, w pierwszym wierszu wypisz je, w drugim, zakończonym znakiem nowej linii: jeżeli funkcja jest rosnąca, większy z współczynników, jeżeli malejąca - mniejszą. Wszystkie liczby wypisz z dokładnością do dwóch miejsc po przecinku. Jeżeli funkcja nie posiada miejsc zerowych, w pierwszym i jedynym wierszu, zakończonym znakiem nowej linii, wypisz NIE, jeżeli zaś ma nieskończenie wiele miejsc zerowych, wypisz TAK. Przykład Dla danych wejściowych: 10.05 0.12 poprawną odpowiedzią jest: -0.01 10.05 Zadanie 7 Wyznacznik (zadanie będzie omawiane na zajęciach) Napisz program, który korzystając z metody wyznaczników wyznaczy rozwiązanie układu dwóch równań liniowych o dwóch niewiadomych x i y: Wejście Pierwszy wiersz wejścia zawiera trzy liczby rzeczywiste oddzielone pojedynczą spacją - współczynniki a, b i e pierwszego z równań. W wierszu drugim zapisano współczynniki drugiego z równań c, d i f. Wyjście W pierwszym i jedynym wierszu pliku wyjściowego zakończonym znakiem nowej linii należy zapisać: parę liczb rzeczywistych zapisanych z dokładnością do dwóch miejsc po przecinku i oddzielonych jedną spacją, jeśli układ posiada dokładnie jedno rozwiązanie (jest oznaczony), słowo TOZSAMOSC, gdy układ posiada nieskończenie wiele rozwiązań (jest nieoznaczony), słowo SPRZECZNOSC, gdy układ nie posiada rozwiązań (sprzeczny). -3Rafaello Przykład Dla danych wejściowych: -4 -1 0 4 1 0 poprawną odpowiedzią jest napis: TOZSAMOSC Zaś dla danych wejściowych: 2 1 4 -3 2 1 8 poprawną odpowiedzią jest: 1.00 2.00 7 6 Zadanie 8 Część wspólna odcinków Napisz program wyliczający część wspólną dwóch odcinków równoległych do osi Y . 5 4 3 2 1 Wejście 0 Ax, Ay – współrzędna początku pierwszego odcinka 0 0,5 1 1,5 2 Bx, By – współrzędna końca pierwszego odcinka Cx, Cy – współrzędna początku drugiego odcinka Rysunek 1 Dx, Dy – współrzędna końca drugiego odcinka Wszystkie współrzędne są całkowite i zawierają się w przedziale -32768..32767 Wyjście: Długość nowego odcinka lub zero w przypadku, gdy odcinki są rozłączne lub mają 1 punkt wspólny. Przykład: 8 Dla danych (rysunek 1): 7 Ax=2 Ay= 2, Bx=2, By= 5 i 6 Cx= 2 Cy=4, Dx=2, Dy=7 5 W wyniku powinniśmy otrzymać: 1 2,5 4 Dla danych (rysunek 2): Ax=2 Ay= 2, Bx=2, By= 5 i Cx= 3 Cy=4, Dx=3, Dy=7 W wyniku powinniśmy otrzymać: 0 3 2 1 0 0 1 2 3 4 Rysunek 2 Zadanie 9 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 wykonując porównywanie dat. Wejście 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. Wyjście 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. Przykład Dla danych wejściowych: 19 9 1995 18 3 1993 poprawną odpowiedzią jest napis: KAMIL -4Rafaello