Algorytmy zapisywane w pseudojęzyku programowania Klasa 2 Lekcja 6
Dlaczego stosujemy pseudojęzyk? Każdy język j programowania określa pewną notację,, służąs żącą do zapisywania tekstu programu. Zanim zaczniemy poznawać tajniki profesjonalnego programowania, pokażemy programowanie wykorzystujące tzw. pseudojęzyk zyk,, inaczej pseudokod (ang. pseudo language, pseudo code). Pseudojęzyk jest uproszczonym systemem oznaczeń, umożliwiaj liwiającym zapis algorytmu w postaci programu. Dzięki poznaniu pseudojęzyka dowiemy się w prosty i szybki sposób, na czym polega programowanie. Podstawowe konstrukcje stosowane do zapisywania algorytmów w w pseudojęzyku mają bowiem swoje odpowiedniki w większo kszości językj zyków programowania. Zaproponowany tu pseudokod bazuje na języku j Pascal.
Dlaczego stosujemy pseudojęzyk? Język programowania Jest to zbiór r instrukcji oraz zasad składni, dzięki którym powstaje kod źródłowy programu. Program komputerowy To ciąg g instrukcji zapisany w konkretnym języku j programowania, przeznaczonych do wykonania przez komputer Notacja To jednoznacznie interpretowany system oznaczeń umożliwiaj liwiający zapisywanie pewnej klasy wyrażeń, np.. notacja matematyczna, zapis nutowy. Pseudojęzyk Jest to uproszczona notacja algorytmiczna, zbliżona do którego regoś z popularnych językj zyków w programowania, stosowana w książ ążkach, artykułach ach czy na wykładach.
Zapisujemy algorytm w postaci programu Struktura programu Przystępuj pując c do analizy zadania, zaczynaliśmy od jego specyfikacji, czyli m.in. określenia danych, którymi będziemy b operować,, a potem opisywaliśmy czynności ci,, które miały y być wykonywane na tych danych w postaci listy kroków lub schematu blokowego. W zapisie algorytmu w postaci programu operacje wykonywane na danych sąs opisywane za pomocą instrukcji języka j programowania. Program to algorytm zapisany w języku j programowania.
Zapisujemy algorytm w postaci programu Struktura programu Z podstaw tworzenia stron w języku j HTML pamiętamy, że plik zawierający opis strony składa się z nagłówka (HEAD) i częś ęści zasadniczej tekstu programu (BODY). W naszym pseudojęzyku równier wnież wyróżniamy dwie zasadnicze częś ęści programu: I. nagłówek II. blok głównyg W nagłówku podajemy nazwę programu. W bloku głównym g programu wyróżniamy dwie kolejne częś ęści: 1. cz 2. cz część deklaracyjną,, w której m.in. zapowiada się,, jakie zmienne będą używane w programie; część wykonawczą programu (zwaną też programem głównym), g w której opisuje się poszczególne operacje za pomocą instrukcji.
Zapisujemy algorytm w postaci programu Struktura programu - PRZYKŁAD Program w pseudojęzyku realizujący algorytm obliczania średniej arytmetycznej trzech liczb. PROGRAM Średnia; ZMIENNE a, b, c, S, Sr: rzeczywiste; {nagłówek programu} {część deklaracyjna} a, b, c, S, Sr: rzeczywiste; {opis zmiennych} {część wykonawcza} ZACZNIJ WPROWADŹ(a (a,, b, c); {wprowadzenie danych} S:= a + b + c; {obliczanie sumy} Sr:= S/3; {obliczanie średniej} WYPROWADŹ(' ('Średnia wynosi:,, Sr); {wyprowadzanie wynik ZAKOŃCZ {rozpoczęcie cie programu} {wyprowadzanie wyników} w} {zakończenie programu}
Zapisujemy algorytm w postaci programu Struktura programu - ZADANIE Porównaj program zapisany w pseudojęzyku (przykład) ze schematem blokowym tego samego algorytmu. Wskaż bloki w schemacie odpowiadające kolejnym instrukcjom w programie.
Zapisujemy algorytm w postaci programu Przykłady instrukcji pseudojęzyka Postać instrukcji PROGRAM nazwa programu Opis Określenie nazwy programu ZACZNIJ Rozpoczęcie programu ZAKOŃCZ Zakończenie programu ZMIENNE Deklaracja zmiennych
Zapisujemy algorytm w postaci programu Przykłady instrukcji pseudojęzyka Postać instrukcji WPROWADŹ (lista zmiennych) Opis Wprowadzanie danych np. z klawiatury WYPROWADŹ (lista argumentów) Wyprowadzanie wyników i komunikatów Nazwa zmiennej := wyrażenie Instrukcja przypisania JEŚLI warunek logiczny TO instrukcja1 W PRZECIWNYM WYPADKU instrukcja2 Instrukcja warunkowa
Zapisujemy algorytm w postaci programu Przykłady instrukcji pseudojęzyka - ZADANIE Napisz program w pseudojęzyku, który oblicza i wyprowadzi procentowe udziały y uczniów w szkoły y w poszczególnych olimpiadach przedmiotowych. Dane są: s : liczba uczniów w szkoły y i liczba biorących udział w poszczególnych olimpiadach (matematycznej, fizycznej i informatycznej). POMOC: Program możesz zapisać w zeszycie lub skorzystać z edytora tekstu.
Realizacja algorytmu z warunkami w postaci programu Działanie anie instrukcji warunkowej jest podobne w większo kszości językj zyków w programowania. Sprawdzany jest warunek logiczny - jeśli jest prawdziwy, to wykonywana jest instrukcja po słowie s TO; jeśli fałszywy, to wykonywana jest instrukcja po słowach W PRZECIWNYM WYPADKU. Np. instrukcja JEŚLI x<0 TO WYPROWADŹ ( liczba ujemna ) W PRZECIWNYM WYPADKU WYPROWADŹ ( liczba nieujemna ) dla liczb ujemnych spowoduje wydrukowanie napisu liczba ujemna.
Realizacja algorytmu z warunkami w postaci programu Prosta sytuacja warunkowa - PRZYKŁAD Jeśli klasa otrzyma od 100 do 150 punktów w we współzawodnictwie (150 jest maksymalną liczbą punktów), to otrzymuje nagrodę z puli funduszu komitetu rodzicielskiego w postaci dopłaty do wycieczki w wysokości 1/3 kosztów w i dodatek w wysokości 20% kosztów. Jeśli zdobędzie dzie poniżej 100 punktów, to otrzymuje tylko procentowy dodatek. Oto program obliczający cy kwotę dofinansowania. PROGRAM Wycieczka; ZMIENNE punkty: naturalne; koszty, dofinansowanie: rzeczywiste; ZACZNIJ; WPROWADŹ(PUNKTY, KOSZTY); JEŚLI punkty >=100 I punkty <= 150 TO dofinansowanie:=1/3*koszty+0.2*koszty W PRZECIWNYM WYPADKU dofinansowanie:=0.2*koszty; WYPROWADŹ( Dofinansowanie wynosi: dofinansowanie); ZAKOŃCZ CZ.
Realizacja algorytmu z warunkami w postaci programu Prosta sytuacja warunkowa - ZADANIA Jaki otrzymamy wynik działania ania programu z przykładu 2 dla następuj pujących par danych (punkty, koszty):(120; 2800), (100; 3500), (0; 3000), (78; 4380)? Zapisz w postaci pseudojęzyka algorytm obliczający cy kwotę wynagrodzenia za nadgodziny pracownika firmy X. (Płaca podstawowa jest zwiększana o kwotę za przepracowane nadgodziny. Jeśli liczba nadgodzin przekroczy 30, to stawka za każdą kolejna nadgodzinę jest zwiększana o 50%).
Realizacja algorytmu z warunkami w postaci programu Warunki zagnieżdżone Najczęś ęściej w językach j programowania jedna instrukcja warunkowa może e zawierać się w drugiej, czyli instrukcje mogą się zagnieżdżać,, np. JEŚLI warunek 1 TO JEŚLI warunek 2 TO instrukcja1 W PRZECIWNYM WYPADKU instrukcja2 W PRZECIWNYM WYPADKU instrukcja3; Przy takim zapisie należy y pamięta tać, że e druga instrukcja warunkowa zawarta w pierwszej będzie b wykonana tylko wtedy, gdy spełniony zostanie pierwszy warunek.
Realizacja algorytmu z warunkami w postaci programu Warunki zagnieżdżone - PRZYKŁAD Niektóre klasy nie akceptowały y systemu dofinansowywania wycieczek (przykład 2), zwłaszcza te, które uzyskiwały y prawie 100 punktów. Zaproponowały y więc c dopisanie dodatkowego przedziału u punktowego. Zmieniamy zatem warunki zadania: jeśli klasa zdobędzie dzie poniżej 100 punktów, ale co najmniej 50, otrzymuje dodatek 25% kosztów. Klasom, które uzyskały y mniej niż 50 punktów, nie przysługuje żadne dofinansowanie. Pozostałe e warunki bez zmian. W naszym przykładzie włąw łączamy warunek do warunku. Instrukcja warunkowa będzie b miała a postać: JEŚLI punkty>=100 I punkty<=150 TO dofinansowanie:=1/3*koszty+0.2*koszty W PRZECIWNYM WYPADKU JEŚLI punkty<100 I punkty>=50 TO dofinansowanie:=0.25*koszty W PRZECIWNYM WYPADKU dofinansowanie:=0;
Realizacja algorytmu z warunkami w postaci programu Warunki zagnieżdżone - ZADANIA Zapisz w pseudojęzyku algorytm porównywania wzrostu dwóch uczniów. 1. Zacznij algorytm. 2. Wprowadź wartość liczb: a i b. 3. Jeśli a różne r od b, to jeśli a>b to przyjmij max:= a i wyprowadź max w przeciwnym wypadku przyjmij max:= b i wyprowadź max w przeciwnym wypadku wyprowadź komunikat liczby sąs równe 4. Zakończ algorytm.
WARTO ZAPAMIETAĆ! INSTRUKCJE JĘZYKA J PROGRAMOWANIA to ściśle określone zapisy poleceń.. Instrukcje składaj adają się ze słów s w kluczowych, ułożonych u onych zgodnie z zasadami składni danego języka. j Słowa kluczowe są integralna częś ęścią danego języka programowania Przykłady w pseudojęzyku: WYPISZ, JEŚLI, TO, ZAKOŃCZ.
WARTO ZAPAMIETAĆ! Każdy ze sposobów w prezentacji algorytmów w ma swoje zalety i wady. Zapis w postaci listy kroków jest prosty, ale przy złożonych z onych zadaniach staje się mało czytelny. Zapis w postaci schematu blokowego jest czytelniejszy, ale bardziej pracochłonny onny w wykonaniu. Natomiast zapis w pseudojęzyku ma te zalety, że szybko można go przełożyć na wybrany język j programowania wysokiego poziomu. Program komputerowy ma ściśle określon loną strukturę,, wyznaczona przez reguły y danego języka j programowania. Program zapisuje się jako ciąg g instrukcji.
WARTO WIEDZIEĆ! Dwaj informatycy amerykańscy, J. Backus i P. Naur,, jako jedni z pierwszych zaproponowali formalny zapis struktur językowych. j System ten zwany notacja BNF (z ang. Backus-Naur Naur-Form), został użyty po raz pierwszy do zdefiniowania języka j Algol 60 (w 1960r). Podstawa każdego języka j jest słownik. s Elementy słownika s to słowas ( w językach j formalnych zwane symbolami), z których buduje się zdania. O tym czy dany ciąg g słów s w jest zdaniem poprawnym, decyduje gramatyka, inaczej składnia lub struktura języka. j Składnia zdefiniowana jako zbiór reguł (inaczej zwanych produkcjami) określa zbiór r formalnie poprawnych zdań. W notacji BNF symbole pomocnicze, służąs żące do nazywania jednostek składniowych definiowanego języka, j sąs umieszczane w nawiasach kątowych. Symbol "::=" czyta się: : "jest równe r z definicji" i łączy on strony reguły y (produkcji). Pionowa kreska "I" oznacza spójnik logiczny "albo".