Akademia ETI Marcin Jurkiewicz
Fakt W informatyce nic nie robi się od zera! Zatem my również będziemy korzystali z szablonów. Najczęściej będziemy troszkę zmieniać programy już napisane na slajdach.
Pierwszy program // dyrektywa PREPROCESORA // funkcja główna { // początek treści funkcji // uwidocznienie definicji cout << "To jest komunikat!"; // komunikat cout << endl; // zaczynamy nowy wiersz cout << "To jest też komunikat" << endl; // kolejny komunikat // można coś zobaczyć // koniec funkcji main() } // koniec treści funkcji Zadanie 0. Wytnij program, wklej go do Dev C++, skopiluj Ctrl+9 i uruchom Ctrl+10.
Szablon // dyrektywa PREPROCESORA // funkcja główna { // początek treści funkcji // uwidocznienie definicji instrukcje // można coś zobaczyć // koniec funkcji main() } // koniec treści funkcji Instrukcje operacje, które wykonuje program, np. Wypisywanie tekstów. Nie martwimy się. Jak oglądamy telewizor też nie zastanawiamy się, że elektrony zostają wychamowane na kineskopie, a ich energia jest wykorzystywana do kreacji fotonu o odpowiedniej częstotliwości (energii), czyli kolorze.
Pierwszy program // dyrektywa PREPROCESORA // funkcja główna { // początek treści funkcji // uwidocznienie definicji cout << "To jest komunikat!"; // komunikat cout << endl; // zaczynamy nowy wiersz cout << "To jest też komunikat" << endl; // kolejny komunikat // można coś zobaczyć // koniec funkcji main() } // koniec treści funkcji Zadanie 1 a) Napisać program, który będzie wyświetlał wasze imię, nazwisko i rok urodzenia w trzech liniach. b) Tak jak powyżej nie używając manipulatora endl. Jak napisać \n? Tzn. Jak napisać \? A jak napisać \\??
Zmienne, model pamięci { int carrots; // deklarujemy zmienne typu int carrots = 25; // przypisujemy tej zmiennej wartość cout << "Mam "; cout << carrots; // pokazujemy wartość tej zmiennej cout << " marchewek."; cout << endl; carrots = carrots - 1; // modyfikujemy zmienne cout << "Chrum, chrum. Teraz mam " << carrots << " marchewki." << endl; } Zadanie 2 a) Napisać program, który zadeklaruje jeszcze jedną zmienną całkowitą pomarancze oraz ją zainicjuje wartością 2. b) Następnie zostanie schrupana jedna pomarańcza oraz dwie marchewki. c) Na końcu dodatkowo należy wypisać tekst Chrum, chrum.. dla pomarańczy.
Zmienne Zadanie 3 Napisać program, który przypisze zmiennej x,y odpowiednio a) wartości 1,2 (Co robi operator /?) b) wartości 1,0 oraz przypisze zmiennej x iloczyn liczb x i y, a następnie wypisze je na ekranie. Zadanie 4 SPOJ a) Napisać program który przypisuje zmiennej integer x wartość 4096, a następnie przypisuje x wartość x podzieloną przez 32 (druga wersja - nie używaj operatora /). b) Napisać program, który wyświetla resztę z dzielenia dwóch liczb całkowitych używająć i nie używając operatora %.
Wczytywanie danych { int carrots; cout << "Ile masz marchewek?" << endl; cin >> carrots; // C++ input cout << "Proszę, oto jeszcze dwie. "; carrots = carrots + 2; // w następnym wierszu sklejamy wyniki cout << "Teraz masz " << carrots << " marchewek." << endl; } Zadanie 5. Wczytać do zmiennej carrots liczbę po przecinku (tj. Po kropce:). Zadeklarować zmienną x. Wczytać ją z klawiatury i dodać zamiast dwójki.
Biblioteki, konsola { int carrots; cout << "Ile masz marchewek?" << endl; cin >> carrots; // C++ input cout << "Proszę, oto jeszcze dwie. "; carrots = carrots + 2; // w następnym wierszu sklejamy wyniki cout << "Teraz masz " << carrots << " marchewek." << endl; } Skąd nasz program umie tak ładnie wypisywać i wczytywać dane? Czy on jest taki mądry? :) Niestety nie :( Korzysta poprostu z operacji (np. cout << i cin >>) oraz funkcji napisanych wcześniej przez programistów. Co to jest konsola? cmd
Biblioteka cmath #include <cmath> { double area; cout << "Podaj powierzchnię swojego mieszkania w metrach do kw.: "; cin >> area; double side; side = sqrt(area); cout << "Odpowiada to kwadratowi o boku " << side << " metrów." << endl; cout << "Niesamowite!" << endl; }
Przestrzeń nazw #include <cmath> { double area; cout << "Podaj powierzchnię swojego mieszkania w metrach do kw.: "; cin >> area; double side; side = sqrt(area); cout << "Odpowiada to kwadratowi o boku " << side << " metrów." << endl; cout << "Niesamowite!" << endl; }
Pętla for, złożoność obliczeniowa { int i,lala; // create a counter // inicjalizacja; test; aktualizacja for (i = 0; i < 5; i++) cout << "C++ zna pętle.\n"; cout << "C++ wie, kiedy przestać.\n"; lala+1; } Zadanie 6. Wypisz tekst Ala Marysia trzy razy zaczynająć od i=2 oraz używając operatora inkrementacji i--. Zadanie 7 Wypisz wszystkie liczby podzielne przez 5 z przedziału [15,108]. Zadanie 8 Napisz program, który zamienia liczbę całkowitą na liczbę binarną. Dlaczego jest taki algorytm? Jak zapisywane są liczby całkowite? Wypisz wszystkie ciągi 0-1 o długości n.
Pętla for, złożoność obliczeniowa Zadanie 9. Napisać program, wczyta dwie liczby i wyświetli pierwszą w postaci ósemkowej, natomiast drugą w postaci szesnastkowej. Zadanie 10 - domowe W postaci ósemkowej. Nie używając manipulatora oct. Wskazówka zamień kolejne 3 bity na liczby dziesiętne. Zadanie 11 SPOJ Podziel 100000 razy 65536 przez 32. Dwoma sposobami. Sprawdź sprawność tj. działania programów.
Inkrementacja { int a = 20; int b = 20; cout << "a = " << a << ": b = " << b << "\n"; cout << "a++ = " << a++ << ": ++b = " << ++b << "\n"; cout << "a = " << a << ": b = " << b << "\n"; } Zadanie 11 Sprawdź czy można użyć cztery razy plusa? Sprawdź czy można użyć inkrementacji dla zmiennych typu double?