Zadania
Transkrypt
Zadania
Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia 2 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo–Hutnicza im. Stanisława Staszica w Krakowie Informacje teoretyczne Instukcje warunkowe. - While, - Do… while. - For. Pętla: WHILE while (warunek) { // blok instrukcji; } Obliczana jest wartość warunku, jeśli warunek wynosi 0 to blok instrukcji nie jest wykonywany. Jeśli warunek jest różny od 0 to blok instrukcji jest wykonywany dopóki warunek ma wartość niezerową; Pętla: DO .. WHILE do { // blok instrukcji } while (warunek); Najpierw wykonywany jest blok instrukcji, a dopiero potem sprawdzany jest warunek. Jeśli warunek jest prawdziwy to wykonywany jest ponownie blok instrukcji. Pętla FOR for (instr_ini; wyraz_warunk; instr_krok) { //instrukcja1 } instr_ini – instrukcja wykonywana w czasie pierwszego wykonywania pętli wyraz_warunk – wyrażenie obliczane w czasie każdej iteracji zmiennych (gdy jest równe 0 to pętla kończy swoje działanie) instr_krok – instrukcja wykonywana na zakończenie każdego obiegu pętli Funkcje Funkcje::Deklaracja, definicja użycie Deklaracja funkcji: • typ_zwracany nazwa_funkcji( argumenty ); Definicja funkcji: typ_zwracany nazwa_funkcji( argumenty ) { ciało funkcji }; Funkcja jest to część programu, która możemy wywołać w kodzie programu poprzez podanie jej nazwy w programie oraz poprzez (opcjonalne) przekazanie argumentów do funkcji. Uwaga! Możliwa jest jednoczesna deklaracja z definicja funkcji, ale musi się ona odbyć przed użyciem funkcji w kodzie Przekazywanie argumentów do funkcji jest opcjonalne. Możliwe jest również przekazywanie kilku argumentów jednocześnie. By to zrobić należy rozdzielić jest przecinkami. Przykład: int funkcja(int arg1, int arg2); Funkcje::Przeładowanie • Może istnieć zdefiniowanych wiele funkcji o tej samej nazwie z różną liczbą argumentów jednak ich deklaracja ma być jednoznaczna! Tablice Tablice i operacje na nich. tablica statyczna jednowymiarowa: typ_danych nazwa_tablicy[ilosc_elementów]; tablica statyczna dwuwymiarowa: typ_danych nazwa_tablicy[l_wierszy][l_kolumn]; tablica dynamiczna jednowymiarowa: typ_danych *nazwa_tablicy = new typ_danych [ilosc_elementów]; Do tablic możemy przypisywać elementy w momencie jej inicjalizacji, jak również przy tablicach statycznych możemy operować na wartościach używając: cin / cout; Tablice::Przykład użycia Odwoływanie się do elementów tablicy: int tab[3] = { 1, 2, 3 }; Wartości: tab[0] = 1; tab[1] = 2; tab[2] = 3; Jeśli umiemy się odwołać do elementu, możemy wywołać na nim: cin>>element; cout<<element; Zadania Zadania: 1. Napisz program, który pozwala na wczytanie dwóch zmiennych z klawiatury oraz wykona na nich proste operacje arytmetyczne przy pomocy funkcji: • Dodawanie • Odejmowanie • Mnożenie • Dzielenie • Modulo Każda operacja ma być zawarta w osobnej funkcji oraz zostać wywołana wewnątrz instrukcji warunkowej switch. Funkcje mają być typu double. Uwzględnij różnice typów zmiennych (dzielenie, modulo) oraz warunek dzielenia przez 0. Zadania: 2. Napisz program, w którym zaimplementowana będzie funkcja umożliwiająca liczenie sumy cyfr składowych w podanej przez użytkownika liczbie. Suma powinna być zwrócona do funkcji main() oraz wyświetlona na ekranie. Program ma pytać czy zakończyć swoje działanie. 3. Napisz program, który przy pomocy funkcji umożliwi wypisywanie wszystkich liczb z zakresu podanego przez użytkownika, których suma cyfr jest równa podanej liczbie z klawiatury. Dla liczby 27: > 74772, > 55665, > 45990 Zadania 4. Zmodyfikuj program z poprzedniego zadania w taki sposób by wyświetla wewnątrz funkcji main była również ilość liczb wynikowych przy pomocy zmiennej przekazanej przez referencję oraz zmienną statyczną lokalną wewnątrz funkcji. 5. Sprawdzenie czy podana liczba (int) jest palindromem. Palindrom (gr. palindromeo – biec z powrotem) – to wyrażenie brzmiące tak samo czytane od strony lewej do prawej i od prawej do lewej. Aby sprawdzić czy dane słowo jest palindromem należy porównywać kolejne litery od końca oraz od początku – pierwszą od początku porównujemy z ostatnią, drugą z przedostatnią, itd. Zadania: 6. Napisz program który wyświetli wszystkie dodatnie dzielniki liczby podanej przez użytkownika, w przypadku braku dzielników (poza 1 i samą sobą) na ekranie pojawia się komunikat, że jest to liczba pierwsza. 7. Napisz program który do tablicy typu int umożliwi na wpisanie 100 liczb losowych, wykorzystaj bibliotekę time.h oraz funkcję rand(), z zakresu podanego przez użytkownika. Wypisz elementy tablicy oddzielone spacjami. Posortuj tablicę korzystając z algorytmu sortowania bąbelkowego. Zadania 8. Zmodyfikuj program wyświetlone na ekranie - parzyste, - nieparzyste, - podzielne przez 3. z poprzedniego zadania by były wypisane tylko liczby: 9. Korzystając z metody MonteCarlo oblicz wartość liczby PI na podstawie stosunku pola kwadratu i wpisanego w niego okręgu. Program umożliwia wczytanie długości promienia okręgu. - wykonaj obliczenia dla 10, 20, 100 iteracji (strzałów) - wyświetl uzyskaną wartość i ilość iteracji jeżeli uzyskana dokładność będzie do 4 miejsc po przecinku Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: http://creativecommons.org/licenses/by-sa/3.0/deed.pl