Содержание
- 2. Cel Zilustrować sposób postępowania przy układaniu (projektowaniu) algorytmu.
- 3. Przykład algorytmizacji zadania (metoda intuicyjna) Zadanie: Dane są liczby całkowite a i b. Znajdź ich największy
- 4. Przykład Krok I (trywialny) – sformułowanie problemu: Co jest dane? Odp. Dane są dwie liczby. W
- 5. Przykład - Ogólne sformułowanie problemu znalezienia NWD Graficznie można problem przedstawić następująco: P Znajdź NWD dwu
- 6. Przykład - Dokładniejsze (graficzne) sformułowanie problemu znalezienia NWD P Podajemy a,b K Znajdź NWD(a,b) Wypisz NWD(a,b)
- 7. Przykład - poszukiwania Krok II (najtrudniejszy): Jak obliczyć NWD. Pomysły luźne (burza mózgów) - Pomysły mogą
- 8. Przykład - studia Pomysł bardziej systematyczny: Najlepsze metody uzyskuje się korzystając z własności tego co chcemy
- 9. Przykład - wnioski Gdyby więc udało się nam zmniejszać liczby, dla których szukamy nwd tak, by
- 10. Przykład - graficznie y 0 Zamień x i zmniejsz y by NWD(x,y) nie zmienił się NWD(x,y)=NWD(x,0)=x
- 11. Przykład Wszystkie czynności poza krokiem (a) są proste. Ale zauważmy, że (to jest nasza wiedza, doświadczenie,
- 12. Przykład – krok a Otrzymaliśmy więc sposób na wykonanie kroku (a). Jest on postaci: (a1) Pod
- 13. Przykład – problem z mod Jak obliczyć x mod y. Należy zauważyć, że gdybyśmy dysponowali umiejętnością
- 14. Przykład – graficznie obliczanie mod Pod r podstaw x Pod q podstaw 0 r>=y N Pod
- 15. Przykład – zakończenie Ponieważ wszystkie operacje są już wykonywane za pomocą elementarnych operacji (każda maszyna cyfrowa
- 16. Inne zadanie – trochę inne spojrzenie na problemy algorytmiczne (mniej sformalizowane) Dany jest ciąg n-elementowy liczb
- 17. Szkic rozwiązania: Wstępne rozważania: Co mamy dane, co poszukujemy. Częsty błąd, to niezrozumienie jak wyglądają dane,
- 18. program #include #include int main() { int i,n,x,max,y,xmax,s,c; //i - która liczba, max - maksimum, x
- 19. Wyniki przykładowego programu
- 20. Omówienie instrukcji
- 21. Lista instrukcji Instrukcja pusta Instrukcja przypisania Instrukcja wywołania funkcji (procedury) – później, Instrukcja złożona Instrukcje warunkowe
- 22. Instrukcja pusta Najprostszą jest instrukcja pusta, będąca pustym ciągiem znaków, zakończonym średnikiem: ; //instrukcja pusta Instrukcja
- 23. Instrukcja złożona Instrukcją złożoną nazywa się sekwencję instrukcji ujętą w parę nawiasów klamrowych: { instrukcja-1; instrukcja-2;
- 24. Instrukcja złożona W składni języka taka sekwencja jest traktowana jako jedna instrukcja. Instrukcje złożone mogą być
- 25. Przykład #include #include //------------------------------------------------------------------------------------------------------- // Program ilustrujący wykorzystanie bloków i zakres działania zmiennych //-------------------------------------------------------------------------------------------------------- int main()
- 26. Instrukcja przypisania Dowolne wyrażenie zakończone średnikiem jest nazywane instrukcją wyrażeniową (ang. expression statement) lub krótko instrukcją.
- 27. Instrukcja przypisania Przykłady instrukcji języka C++: int liczba; liczba = 2 + 3; Pierwsza z nich
- 28. Przykłady instrukcji podstawienia #include #include //------------------------------------------------------------------ // Program ilustrujący działanie instrukcji podstawienia //------------------------------------------------------------------ int main() {
- 29. Przykład - nieczytelny (?) Przykład: a = (b = c + d)/(e = f + g);
- 30. Instrukcje warunkowe Instrukcje selekcji (wyboru) wykorzystuje się przy podejmowaniu decyzji. Konieczność ich stosowania wynika stąd, że
- 31. Instrukcje warunkowe W sytuacji powyższej spełnienie testowanego warunku oznacza wykonanie sekwencji działań S1; przy warunku niespełnionym
- 32. Instrukcja if - składnia Instrukcja if jest implementacją schematów podejmowania decyzji. Ogólny zapis jest następujący: if
- 33. Instrukcja if – działanie (semantyka) Wykonanie instrukcji if zaczyna się od obliczenia wartości wyrażenia B. Jeżeli
- 34. Przydatna uwaga Zapis if(wyrażenie != 0) Można zastąpić: if(wyrażenie) ponieważ test w nawiasach () ma wynik
- 35. Przykład 1 - najgorsze #include #include //--------------------------------------------------------------------------- // Program ilustrujący działanie instrukcji if // Wczytaj trzy
- 36. Przykład 2 – lepsze rozwiązanie #include #include //--------------------------------------------------------------------------- // Program ilustrujący działanie instrukcji if // Wczytaj
- 37. Uproszczona postać instrukcji if Niektóre proste konstrukcje if można z powodzeniem zastąpić wyrażeniem warunkowym, wykorzystującym operator
- 38. Przykład #include #include //--------------------------------------------------------------------------- // Program ilustrujący działanie instrukcji if // Wczytaj trzy liczby, wypisz największą
- 39. Instrukcja switch -wprowadzenie Rozważmy problem wypisania liczby dni w miesiącu dla zwykłego roku: Będzie ona postaci:
- 40. Instrukcja switch Instrukcja switch służy do podejmowania decyzji wielowariantowych, gdy zastosowanie instrukcji if-else prowadziłoby do zbyt
- 41. Instrukcja switch W rozwiniętym zapisie switch (wyrażenie) { case etykieta_1 : instrukcje; ... case etykieta_n :
- 42. Instrukcja switch Etykiety są całkowitymi wartościami stałymi lub wyrażeniami stałymi. Nie może być dwóch identycznych etykiet.
- 43. Instrukcja switch - komentarz Z opisu wynika, że instrukcja switch jest co najwyżej dwualternatywna i mówi:
- 44. Instrukcja switch Zatem dla selekcji wyłącznie jednego z wielu wariantów składnia instrukcji switch będzie miała postać:
- 45. Instrukcja switch – przykład źle zaprogramowany #include #include using namespace std; int main(int argc, char *argv[])
- 46. Instrukcja switch – przykład poprawiony #include #include using namespace std; int main(int argc, char *argv[]) {
- 47. Instrukcje iteracyjne Instrukcje powtarzania (pętli) lub iteracji pozwalają wykonywać daną instrukcję, prostą lub złożoną, zero lub
- 48. Bardzo ogólna budowa pętli Nie występuje w żadnym języku programowania, Operacje przedtestowe test Operacje potestowe Operacje
- 49. Schemat działania pętli - praktyczne
- 50. Zagnieżdżanie instrukcji pętli Instrukcje iteracyjne, podobnie jak instrukcje selekcji i warunkowe, można zagnieżdżać do dowolnego poziomu
- 51. Przykład zagnieżdżenia #include #include //--------------------------------------------------------------------------- int main() { //tabliczka mnożenia for (int i=1;i { for (int
- 52. Wynik działania
- 53. Instrukcja while Składnia instrukcji while jest następująca: while (wyrażenie) instrukcja; gdzie instrukcja może być instrukcją pustą,
- 54. Schemat blokowy dla while
- 55. Przykład #include #include #include //--------------------------------------------------------------------------- // Program ilustrujący działanie instrukcji while // Funkcja setw(liczba) powoduje ustawienie
- 56. Komentarz W programie mamy zagnieżdżoną pętlę while. Pierwsze sprawdzenie wyrażenia j W drugim sprawdzeniu pętla wewnętrzna
- 57. Instrukcja do-while Składnia instrukcji do-while ma postać: do instrukcja; while (wyrażenie) gdzie instrukcja może być instrukcją
- 58. Schemat blokowy do-while
- 59. Przykład #include #include int main() { char znak; cout do { cout cin >> znak; }
- 60. Instrukcja for Jest to, podobnie jak instrukcja while, instrukcja sterująca powtarzaniem ze sprawdzeniem warunku zatrzymania na
- 61. Instrukcja for Algorytm obliczeń dla pętli for jest następujący: Wykonaj instrukcję o nazwie instrukcja-inicjująca. Zwykle będzie
- 62. Schemat blokowy instrukcji for for(instrukcja-inicjująca;w;w2) Instrukcja;
- 63. Pętla for a while Instrukcja for jest równoważna następującej instrukcji while: instrukcja-inicjująca; while (w) { instrukcja;
- 64. Złożone sytuacje dla for Ważnym elementem składni instrukcji for jest sposób zapisu instrukcji inicjującej oraz wyrażeń
- 65. Przykład #include #include #include //Program Piramida //zamiast while mamy for int main() { const int WIERSZ
- 66. Omówienie przykładu W przykładzie, podobnie jak dla instrukcji while, wykorzystano funkcję setw() z pliku iomanip.h. Identyczne
- 67. Szczególny przypadek Syntaktycznie poprawny jest zapis for (; ;) Jest to zdegenerowana postać instrukcji for, równoważna
- 68. Podpowiedzi dotyczące stosowania pętli Jeśli wiemy, ile razy pętla się wykona, to używajmy pętli for, może
- 69. Inne instrukcje W ciele instrukcji iteracyjnych używa się niekiedy instrukcji continue;. Wykonanie tej instrukcji przekazuje sterowanie
- 70. Przykład dla brak i continue #include #include #include //instrukcja continue i break; int main() { cout
- 72. Скачать презентацию