Temat: Algorytmika i programowanie – usystematyzowanie wiadomości
1.Stosowanie podejścia algorytmicznego do rozwiązywania problemów a. specyfikacja zadania b. lista kroków c. schemat blokowy 2. Tworzenie prostego programu komputerowego 3. Zapisywanie algorytmu liniowego w postaci programu komputerowego a.struktura programu w języku Pascal b.deklarowanie zmiennych c.nadawanie wartości zmiennym d.wyprowadzanie komunikatów i wyników
Stosowanie podejścia algorytmicznego do rozwiązywania problemów Algorytm to uporządkowany i uściślony sposób rozwiązywania problemu, zawierający szczegółowy opis wykonywanych czynności w skończonej liczbie kroków. Algorytmy możemy przedstawić w postaci: opisu słownego listy kroków schematu blokowego programu komputerowego
Specyfikacja zadania Opis sposobu rozwiązania zadania będziemy poprzedzać specyfikacją zadania. Specyfikacja zadania jest opisem zadania, w którym wymienia się dane wejściowe i wyniki oraz związek między danymi wejściowymi a wynikiem.
Przykład 1 Zadanie 1. Oblicz, ile litrów wody spadło na plac o powierzchni P m 2, jeśli pokryła go warstwa wody o grubości d milimetrów. Dane: Liczby rzeczywiste dodatnie: P, d Wynik: Liczba litrów wody: L Zadanie 2. Sprawdź, czy dany przymiotnik jest typu męskiego czy żeńskiego. Dane: Dowolny wyraz będący przymiotnikiem Wynik: Odpowiedź: „TAK” lub „NIE”
Przykład 1 Zadanie 3. Wybierz najmniejszą i największą liczbę spośród n liczb naturalnych. Dane: n liczb naturalnych Wynik: Wartość elementu największego max i najmniejszego min. Ćwiczenie 1 Napisz specyfikację zadania. W ciągu liczb naturalnych znajdź liczbę, której suma cyfr jest największa, oraz liczbę, której suma cyfr jest najmniejsza
Lista kroków algorytmu Lista kroków to przedstawienie algorytmu w kolejnych punktach. Każdy punkt zawiera opis wykonywanej czynności. Kolejność punktów musi być zgodna z działaniem algorytmu. Algorytm liniowy w postaci listy kroków. Zadanie: Fabryka produkuje rocznie w samochodów osobowych i dostawczych. Oblicz, ile zostanie wyprodukowanych samochodów osobowych, jeśli produkcja samochodów dostawczych stanowi p% rocznej produkcji. Dane: Liczba naturalna w, liczba rzeczywista dodatnia p. Wynik: Liczba naturalna s, określająca liczbę samochodów osobowych.
Lista kroków 1.Zacznij algorytm 2.Wprowadź wartości: w i p 3.Zmiennej s przypisz wartość wyrażenia: 4.Wyprowadź wynik: s 5.Zakończ program
Ćwiczenie 2 Przetestuj działanie algorytmu dla danych: (50000; 30,8), (50000; 14), (20000; 14), gdzie pierwsza liczba określa wartość produkcji w, a druga – procent p. Ćwiczenie 3 Przedstaw w postaci listy kroków rozwiązanie zadania 1 z przykładu 1. Przetestuj działanie algorytmu dla kilku par liczb. Zapisz dane i wyniki.
Schemat blokowy W schemacie blokowym poszczególne operacje przedstawiane są graficznie, za pomocą odpowiednio połączonych figur (bloków). Kształt bloku określa rodzaj wykonywanej operacji, natomiast opis bloku szczegółowo określa jej dane. Kolejność wykonywanych operacji wyznaczają połączenia między blokami.
Schemat blokowy START wprowadź (w, p) wyprowadź (s) KONIEC
Ćwiczenie 4 1.Przedstaw podstawowe bloki w postaci rysunków i ich opisów 2.Narysuj schemat blokowy na podstawie listy kroków wykonywanej w ćwiczeniu 3.
Tworzenie prostego programu komputerowego 1.Wymyślony algorytm programiści zapisują w postaci możliwej do wykonania przez komputer, czyli w formie programu komputerowego. Korzystają przy tym z wybranego programu komputerowego. Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm Język programowania to zbiór określonych instrukcji i zasad składni, używany do zapisania tzw. kodu źródłowego programu.
Program komputerowy może występować w dwóch postaciach 1.jako program źródłowy (zrozumiały dla programisty) 2.program wynikowy (kod maszynowy, program wykonywalny) – zapisany w postaci ciągu instrukcji procesora, zrozumiały dla komputera. Tłumaczenie programu źródłowego na kod maszynowy nazywamy kompilacją.
Etapy tworzenia programu 1.Piszemy kod źródłowy programu (implementujemy program) – korzystając z edytora wbudowanego do środowiska programistycznego wybranego języka programowania. 2.Zapisujemy program 3.Kompilujemy program, zwykle korzystając z opcji COMPILE. 4.Jeśli kompilacja przebiegła pomyślnie uruchamiamy program najczęściej poleceniem RUN.
Struktura programu w języku Pascal program nazwaprogramu; (nagłówek programu) var: a, b, c, S, Sr;(część deklaracyjna) begin(rozpoczęcie programu) readln (a,b,c);(treść programu) S := a+b+c; Sr := S/3; Writeln (‘Średnia wynosi: Sr); Readln;(oczekiwanie programu na naciśnięcie klawisza Enter) end (zakończenie programu)
Program samochody program samochody; var: w, p, so : real; begin Write (‘podaj w=‘); readln (w); Write (‘podaj p=‘); readln (p); so := w-p*w/100; Writeln (‘Fabryka produkuje ‘, so, ‘samochodów osobowych’); Readln; End.
Ćwiczenia Ćwiczenie 7. Otwórz plik T1_p8.pas. Uruchom program dla danych: (50000; 30.8), (50000;14), (20000;14) Wskazówka: W językach Pascal i C++ liczby rzeczywiste z przecinkiem należy zapisać z kropką, np zamiast 20,2.
Ćwiczenia Ćwiczenie 8. Zmodyfikuj program z pliku T1_p8.pas. Tak, aby pod informacją o samochodach osobowych został wyświetlony napis „Samochody dostawcze” i podana liczba tych samochodów. Skompiluj i uruchom program.
Ćwiczenia Ćwiczenie 9. Napisz program obliczający pole powierzchni prostokąta dla danych boków a i b, wprowadzanych z klawiatury. Po uruchomieniu programu powinny pojawiać się w kolejnych wierszach komunikaty: „Podaj a”, „Podaj b”. Po podaniu danych w trzecim wierszu powinny wyświetlić się: napis „Pole prostokąta wynosi” oraz wartość pola.
Warto zapamiętać Aby rozwiązać dowolny problem (zadanie), trzeba go poprawnie sformułować, określić dane i wyniki oraz relacje pomiędzy nimi. Następnie należy ułożyć lub wybrać odpowiedni algorytm i określić sposób jego realizacji oraz odpowiednie narzędzie, które umożliwi rozwiązanie danego zadania. Algorytm może być przedstawiony słownie, w postaci listy kroków lub w formie graficznej (np. schematu blokowego). Aby algorytm był zrozumiały dla komputera, trzeba go zapisać w postaci programu w konkretnym języku programowania. Możemy wyróżnić następujące etapy tworzenia programu: implementację, kompilację (lub interpretację), uruchomienie i wykonanie oraz testowanie.
Warto zapamiętać Każdy język programowania posiada odpowiedni zestaw instrukcji, w tym słów kluczowych, umożliwiający zapisanie różnych algorytmów. Każda zmienna używana w programie (Pascal, C++) musi zostać zadeklarowana (określane są nazwa i typ zmiennej).
Pytania, problemy Wyjaśnij pojęcia algorytmu i specyfikacji problemu (zadania). W jaki sposób możemy przedstawiać algorytmy? Na czym polega przedstawienie algorytmu w postaci listy kroków? Na czym polega przedstawienie algorytmu w postaci schematu blokowego? Coto jest program komputerowy? Coto jest język programowania? Czym różni się kod źródłowy programu od kodu maszynowego?
Pytania, problemy Przedstaw i omów na konkretnym przykładzie etapy tworzenia programu komputerowego. Omów ogólną strukturę programu w wybranym języku programowania (Pascal lub C++). Na czym polega deklaracja zmiennych w programie komputerowym? W jaki sposób możemy nadawać wartości zmiennym? W jaki sposób wprowadzamy dane z klawiatury, a jak wyprowadzamy wyniki na ekran monitora w wybranym języku programowania (Pascal lub C++)? Do czego służy instrukcja przypisania?
Zadania 1.Ułóż trzy zadania (problemy) i napisz ich specyfikacje. 2.Napisz listę kroków i narysuj schemat blokowy algorytmu obliczającego, ile litrów wody spadło na plac o powierzchni P m 2, jeśli pokryła go warstwa wody o grubości d milimetrów. 3.Napisz program komputerowy na podstawie schematu blokowego zbudowanego w zadaniu 2. Przy wprowadzaniu danych i wyprowadzaniu wyników powinny wyświetlać się odpowiednie komunikaty.
Zadania 4.Wskaż nieprawidłowo zapisane instrukcje: a.Readln (345); b.Readln (m, n); c.Writeln 'Suma: ', S; d.Writeln ('Suma: ', a + b);
Zadania 5.Otwórz program zapisany w pliku T1_z5.pas (CD). Spróbuj go skompilować. Po wprowadzeniu z klawiatury liczby program powinien wyświetlić na ekranie liczbę o 2 większą od wprowadzonej. Popraw program, aby działał poprawnie. Jakie błędy pojawiły się w zapisie programu? 6.Napisz specyfikację zadania i listę kroków do zadania: Oblicz drogę S przebytą w czasie t przez pojazd poruszający się ze średnią prędkością V.
Zadania 7.Napisz program komputerowy na podstawie listy kroków zapisanej w zadaniu 6. 8.Napisz specyfikację zadania i zbuduj schemat blokowy do zadania: Dane są suma długości przekątnych rombu i długość jednego boku. Oblicz długości przekątnych rombu. 9.Napisz program komputerowy na podstawie schematu blokowego utworzonego w zadaniu 8. Dla zainteresowanych 10. Dane są suma i iloczyn dwóch liczb całkowitych. Napisz program znajdujący te liczby.