Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne."

Transkrypt

1 Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne.

2 1. Instrukcja warunkowa Jeśli w programie wykonanie określonych instrukcji jest zależne od pewnych warunków to możemy skorzystać z jednej z dwóch istniejących w Pascalu konstrukcji językowych. Pierwszą z nich jest instrukcja warunkowa. Oto jej schemat ogólny: if warunek then instrukcja1 else instrukcja2; Ten zapis możemy przeczytać jako: jeśli warunek jest prawdziwy, to wykonaj instrukcja1, w przeciwnym przypadku wykonaj instrukcja2. Warunek może być zmienną typu boolean lub wyrażeniem, którego wartość ma taki właśnie typ. Za pomocą schematu blokowego można przedstawić działanie instrukcji warunkowej następująco: Start Czy warunek NIE prawdziwy? TAK instrukcja1 instrukcja2 Stop Możliwe jest też pominięcie członu else tej instrukcji, wówczas ma ona postać: if warunek then instrukcja; 2

3 a jej działanie można opisać następującym schematem blokowym: Start Czy warunek NIE prawdziwy? TAK instrukcja Stop Zamiast złożonych instrukcji warunkowych, np.: if y<0 then if z>0 then if x<>0 then a:=(y+2)/x else else else a:=1; można stosować prostszy zapis łącząc warunki za pomocą odpowiednich operatorów: if (y<0) and (z>0) and (x<>0) then a:=(y+2)/x; if y>=0 then a:=1; 3. Instrukcja wielokrotnego wyboru Jeśli w programie istnieje kilka grup instrukcji, których wykonanie zależy od kilku wartości jednej zmiennej lub jednego wyrażenia, to możemy użyć instrukcji wielokrotnego wyboru, zamiast stosować instrukcję if. Ta instrukcja ma następującą postać ogólną: 3

4 case selektor of wartość_1 : instrukcja_1; wartość_2 : instrukcja_2; wartość_3 : instrukcja_3;... wartość_n : instrukcja_n; else instrukcja; end; Wartości w tym wyrażeniu muszą mieścić się typie selektora. Zamiast pojedynczej wartości możemy przy każdym przypadku umieścić ich grupę, rozdzielając je przecinkami lub podać ich zakres, np.: Człon else można pominąć. Selektor jest zmienną typu porządkowego lub wyrażeniem mającym wartość tego typu. Oto schemat blokowy dla tej instrukcji: Start Czy TAK selektor=wartość_1? instrukcja_1 NIE Czy selektor=wartość_2? NIE TAK instrukcja_2 instrukcja Stop 4

5 4. Instrukcje iteracyjne (pętle) Jeśli zachodzi konieczność kilkukrotnego wykonania instrukcji, to w języku Pascal możemy uczynić to za pomocą trzech dostępnych instrukcji iteracyjnych (pętli). Pierwsza z nich, pętla for, występuje w dwóch postaciach i pozwala powtórzyć instrukcję ustaloną liczbę razy. Oto schematy dla obu postaci tej instrukcji: for licznik:=wp to wk do instrukcja; for licznik:=wp downto wk do instrukcja; Zmienna licznik nazywana jest licznikiem lub zmienną sterującą pętli. Musi ona być typu porządkowego. W przypadku pierwszej postaci pętli wartość początkowa (wp) musi być mniejsza lub równa wartości końcowej (wk). W przypadku drugiej postaci musi być większa lub równa. Oto schemat blokowy dla pierwszej postaci pętli for: Start Czy wp<=wk? TAK licznik:=wp NIE instrukcja TAK licznik=wk? Stop NIE licznik:=licznik+1 instrukcja Jeśli liczba powtórzeń pętli będzie zależna od spełnienia określonego warunku, to należy zastosować pętlę while lub repeat. Oto ogólne postaci tych pętli: while warunek do instrukcja; 5

6 repeat instrukcja until warunek; Zapis pętli while możemy odczytać następująco: dopóki spełniony jest warunek wykonuj instrukcję, natomiast pętlę repeat następująco: powtarzaj instrukcję, dopóki warunek nie jest spełniony. Oto schematy blokowe dla obu instrukcji: Start instrukcja warunek? TAK NIE Stop Start instrukcja NIE warunek? TAK Stop Warunek w przypadku obu rodzajów pętli musi spełniać takie same wymagania, jak w przypadku instrukcji warunkowej. Wewnątrz pętli musimy umieścić instrukcję, które zagwarantują, że warunek dla pętli while przestanie kiedyś być prawdziwy, a dla pętli repeat stanie się kiedyś prawdziwy. Wszystkie pętle można zagnieżdżać, tzn. wewnątrz pętli umieszczać inną pętlę, niekoniecznie tego samego typu. 4. Instrukcje continue i break Instrukcji continue i break w języku Pascal używamy wyłącznie w połączeniu z instrukcjami iteracyjnymi. Umieszczamy je wewnątrz pętli, ale nie występują 6

7 w nich samodzielnie są częścią instrukcji warunkowych. Jeśli warunek jest spełniony, to instrukcja break przerywa wykonanie pętli, natomiast instrukcja continue przerywa wykonanie bieżącej iteracji (powtórzenia) pętli i przechodzi do następnej. 5. Instrukcje strukturalne (złożone) Jeśli chcemy zgrupować kilka instrukcji, tak aby były one traktowane jako jedna, to musimy w tym celu użyć nawiasów syntaktycznych i Instrukcje, które mają być zgrupowane razem umieszczamy między tymi słowami kluczowymi. Taką konstrukcję nazywamy instrukcją strukturalną lub złożoną. W przypadku instrukcji warunkowych i wielokrotnego wyboru może ona nam posłużyć do objęcia warunkami większej liczby pojedynczych instrukcji. W przypadku pętli for i while umożliwia wielokrotne wykonanie grupy instrukcji. Pętla repeat nie wymaga stosowania instrukcji strukturalnej. Uwaga: po ostatniej instrukcji znajdującej się między i end nie jest wymagane umieszczanie średnika, ale dobrym zwyczajem jest nie stosowanie się do tej zasady. Po słowie end w większości przypadków umieszczamy średnik. Wyjątkiem od tej reguły jest blok główny programu, który również jest instrukcją złożoną. W jego przypadku po słowie kluczowym end występuje zawsze kropka. 6. Instrukcja goto Instrukcja goto może być użyta jako zamiennik opisywanych wcześniej pętli. Wymaga ona zadeklarowania i umieszczenia w programie etykiety określającej punkt do którego ma przejść sterowanie po wykonaniu instrukcji goto. Ponieważ słowo kluczowe goto występuje w większości popularnych języków programowania było ono nadużywane przez programistów, co prowadziło do powstawania trudnych do analizy kodów źródłowych programów. Uwagę na to zjawisko zwrócił wybitny informatyk teoretyczny Edsger Dijkstra, który w jednym ze swych artykułów wręcz zakazał używania w programach tej instrukcji. Obecnie jest ona używana bardzo rzadko. Stosuje się ją najczęściej do obsługi błędów, lub wtedy, kiedy trzeba przyspieszyć działanie programów (optymalizacja czasu wykonania programu). 7. Przykłady Pierwszy przykład ilustruje użycie niesławnej instrukcji goto 1 oraz instrukcji 1 Zgodnie z zaleceniami E. Dijkstry, proszę jej nie wykorzystywać w swoich programach, chyba że otrzymacie Państwo wprost polecenie jej użycia. 7

8 continue. Zadaniem programu jest wypisanie liczb naturalnych od 1 do 15 na ekran, a następnie wypisanie wszystkich liczb naturalnych parzystych od 2 do 20 w kolejnych wierszach. program skok_i_kontynuacja; uses crt; label ety1; i:byte; ety1: i:=i+1; writeln(i); if i<>15 then goto ety1; i:=0; {Wypisz wszystkie parzyste.} while i<>20 do i:=i+1; if odd(i) then continue; writeln(i); end; Pierwsza czynność jest zrealizowana za pomocą instrukcji goto. Wewnątrz pętli wartość zmiennej i jest zwiększana o jeden (można zamiast zastosowanej tu instrukcji przypisania użyć procedury inc) i wypisywana na ekran. W instrukcji warunkowej następuje sprawdzenie, czy wartość i jest różna od 15. Jeśli nie, to wykonywany jest skok do instrukcji oznaczonej etykietą ety1, jeśli tak, to program wykonuje następną w kolejności instrukcję, czyli readln. Wypisanie liczby parzystych realizowane jest za pomocą instrukcji while. Tu również wykorzystywana jest zmienna i, której przed wykonaniem pętli ponownie jest nadawana wartość 0. Tym razem w instrukcji warunkowej badamy, czy jej wartość jest nieparzysta, jeśli tak, to wracamy na początek pętli, pomijając instrukcję writeln(i). Proszę zwrócić uwagę na zastosowanie instrukcji strukturalnej w tej pętli. Jeśli nie użylibyśmy słów kluczowych i end, to wykonywała by się tylko instrukcja i:=i+1; 2 Proszę również zwrócić 2 Mała dygresja: Przy opisie pętli while i repeat wspomniane było, że należy umieścić w nich instrukcje, które zapewnią spełnienie warunku ich zakończenia. Opisywana instrukcja pełni między innymi taką właśnie rolę, gdyż zmienia wartość zmiennej i od której zależne jest za 8

9 uwagę na sformatowanie kodu źródłowego. Wszystkie instrukcje, które zamknięte są w instrukcji strukturalnej, zapisane są z wcięciem wynoszącym dwie spacje. Również w przypadku fragmentów programu zamkniętych w sekcjach typu, const lub instrukcjach warunkowych i wielokrotnego wyboru zaleca się stosowanie takich wcięć. Nie są one wymagane przez kompilator, ale poprawiają czytelność kodu. Drugi przykładowy program oblicza największy wspólny dzielnik według algorytmu Euklidesa, który został podany na pierwszym wykładzie. program NWD; uses crt; M,N,R:word; clrscr; writeln('podaj dwie liczby naturalne, większe od zera.'); readln(n,m); repeat R:=M mod N; if R=0 then writeln('nwd = ',N); M:=N; N:=R; until R=0; Analizując ten program można zauważyć, że nie jest on dokładną implementacją wspomnianego algorytmu, ponieważ kiedy R osiągnie wartość zero nadal zostaną wykonane dwie operacje przypisania. Kolejny program pokazuje, jak w prosty sposób zabezpieczyć program przed błędem użytkownika polegającym na wprowadzeniu ciągu znaków nie będących liczbą, kiedy program wymagał właśnie liczby 3. Wykorzystana jest do tego celu procedura val, która konwertuje ciągu znaków na liczbę. Procedura ta wykonywana jest w pętli repeat do momentu, aż użytkownik poda ciąg znaków będący liczbą i konwersja się powiedzie (zmienna kod będzie wówczas miała wartość 0). Opisane rozwiązanie jest częścią zagadnienia nazywanego weryfikacją danych wejściowych. Każdy dobrze napisany program powinien kończenie pętli. Instrukcja ta jest zbędna w przypadku pętli for, dla której inkrementacja licznika jest wykonywana automatycznie. 3 Czyli przed podaniem złych danych na wejście programu. 9

10 zawierać kod sprawdzający poprawność wprowadzanych danych. program weryfikacja; i,kod:integer; nap:string; repeat readln(nap); val(nap,i,kod); until kod=0; write(i); Powyższy program można uzupełnić o instrukcje informujące użytkownika o wyniku konwersji i instruujące go co robić gdy się ona nie powiedzie. Następny przykład to program liczący silnię. Aby zrozumieć jego działanie najpierw przypomnijmy sobie definicję działania silnia : 0! = 1 1! = 1 n! = 1 * 2 * 3*... * (n 1)*n Wypiszmy kilka przykładów silni dla małych n: 1! = 1 2! = 1*2 3! = 1*2*3 4! = 1*2*3*4 czyli 2! = 1!*2 3! = 2!*3 4! = 3!*4 Z powyższej tabeli wynika, że jeśli znamy wartość (n 1)!, to aby policzyć n! na 10

11 leży pomnożyć tę wartość przez n. To spostrzeżenie wykorzystywane jest w programie liczącym silnie: program silnia; uses crt; sil:word; i,n:byte; sil:=1; repeat writeln('podaj liczbę naturalną należącą do przedziału [0,8]'); readln(n); until n<=8; for i:=1 to n do sil:=sil*i; writeln('wartość silni wynosi: ',sil); W zmiennej n program będzie przechowywał wartość dla której należy obliczyć silnię. Wartość ta pobierana jest od użytkownika za pomocą procedury readln. Nie powinna ona być mniejsza niż 0 i większa niż 8, dlatego procedura readln jest umieszczona w pętli repeat, która sprawdza, czy użytkownik podał właściwą wartość. Wyznaczenie silni odbywa się w pętli for. Częściowe wyniki są przechowywane w zmiennej sil, która wcześniej musi być zainicjalizowana wartością 1. Prześledźmy wykonanie tej pętli dla n=3. Wykona się ona trzy razy. Za pierwszym razem w zmiennej sil znajdzie się wartość iloczynu 1*1, po drugim wykonaniu znajdzie się tam wartość iloczynu 1*2, a za trzecim 2*3. Należy zauważyć, że wartość zmiennej i (licznika pętli) jest automatycznie zwiększana o 1 po każdym wykonaniu pętli. Ograniczenie wartości zmiennej n wiąże się z typem zmiennej sil, w której przechowywany są wyniki częściowe i wynik ostateczny. Dla n>8 następuje przepełnienie, czyli otrzymywane wartości nie mieszczą się w typie word. Zagnieżdżanie pętli jest ilustrowane programem wyznaczającym kolejne liczby pierwsze. Najprostszy sposób na znalezienie wszystkich liczb pierwszych z określonego przedziału polega na zbadaniu, czy każda z nich dzieli się przez liczby od niej mniejsze (oprócz oczywiście zera i jedynki). Oto kod programu, który działa według takiego algorytmu. 11

12 program primes; uses crt; i,j:word; prime:boolean; clrscr; for i:=2 to high(word) do prime:=true; for j:=2 to i 1 do if i mod j = 0 then prime:=false; break; end; if prime then write(i,', '); end; Zewnętrzna pętla for, pełni rolę generatora liczb z przedziału [2, 65535], które mają podlegać sprawdzeniu. Te liczby są wartościami zmiennej sterującej i. Sprawdzenie liczby dokonywane jest w pętli wewnętrznej. Przed jej rozpoczęciem zakładamy, że testowana wartość jest liczbą pierwszą, co sprowadza się do nadania zmiennej prime, wartości true. Ta zmienna pełni rolę znacznika, określającego, czy badana liczba jest pierwsza. W wewnętrznej pętli for sprawdzamy prawdziwość naszego założenia, czyli dzielimy sprawdzaną liczbę, przez wszystkie które ją poprzedzają. Jeśli liczba nie jest pierwsza, to podzieli się bez reszty przez jedną z nich 4. Jeśli zajdzie taka sytuacja to nadajemy zmiennej prime wartość false i przerywamy wykonanie pętli wewnętrznej instrukcją brake. Jeśli badana liczba jest pierwsza, to pętla nigdy nie zostanie przerwana przez instrukcję break i zmienna prime nie zmieni swej wartości. Po zakończeniu pętli wewnętrznej w instrukcji warunkowej badamy, czy prime ma wartość true jeśli tak, to wypisujemy badaną liczbę na ekran, bo jest ona liczbą pierwszą. Znając konstrukcję pętli for oraz operatory bitowe możemy w prosty sposób znaleźć reprezentację binarną liczby dziesiętnej zapisanej w zmiennej określonego typu 5. Oto kod programu: 4 Inaczej: reszta z dzielenia będzie równa zero. 5 Inaczej: przedstawić liczbę dziesiętną w kodzie dwójkowym. 12

13 program dec2bin; uses crt; const j=32768; x:word; i:byte; clrscr; writeln('podaj liczbę naturalną.'); readln(x); writeln('reprezentacja tej liczby w kodzie binarnym to:'); for i:=0 to 8*sizeof(x) 1 do if x and (j shr i) = 0 then write('0') else write('1'); Zakładamy, że liczba którą będziemy chcieli przeliczyć jest przechowywana w zmiennej typu word. Zamiana jej reprezentacji na binarną opiera się na fakcie, że w pamięci komputera jest ona przechowywana właśnie w postaci dwójkowej. Przeliczenie odbywa się w pętli for. Zmienna i będąca licznikiem pętli przyjmuje wartości od 0 do 15 (taką wartość da wyrażenie 8*sizeof(x) 1). Stała j ma wartość 32768, co odpowiada liczbie binarnej, której najstarszy bit jest jedynką, a pozostałe mają wartość zero. Ten pojedynczy ustawiony bit w stałej j jest przesuwany w prawo (za pomocą operatora shr) o tyle miejsc, ile wskazuje wartość zmiennej i, co daje efekt jego przesuwania o jedną pozycję w każdej iteracji. Otrzymana wartość jest używana następnie jako argument operatora and. Drugim argumentem tego operatora jest wartość ze zmiennej x. Jeśli ten sam bit w zmiennej x, co bit o wartości jeden w wyniku wyrażenia i shr j ma wartość jeden, to operator and zwróci wartość różną od zera, jeśli nie zwróci wartość zero. To pozwala nam wypisać wartości poszczególnych bitów na ekran. Zasadę działania programu można pokazać na liczbach czterobitowych: 13

14 Liczba przeliczana ma postać dwójkową 0101, czyli 5 dziesiętnie: 0101 and 1000 =0 wypisujemy and 0100 <> 0 wypisujemy and 0010 = 0 wypisujemy and 0001 <> 0 wypisujemy 1 Należy zauważyć, że tę metodę można również zastosować do liczb zapisanych w kodzie U2, czyli przechowywanych w zmiennych typu integer i longint 6. Następny przykład liczy pierwiastki równania kwadratowego. Okazuje się, że wzory znane ze szkoły średniej nie dają poprawnych wyników w implementacji komputerowej, jeśli a c b, ze względu na wady typów zmiennoprzecinkowych. Aby uzyskać prawidłowe wartości należy użyć następujących wzorów: q 1 2 [b sgn b ], x 1 = q, x a 2 = c, gdzie sgn jest funkcją mającą q wartość 1 dla b>=0 i 1 dla b<0. Oto kod programu, który liczy pierwiastki równania kwadratowego, według podanych wzorów. program rownanie_kwadratowe; uses crt; a,b,c,q,delta:real; clrscr; writeln('podaj współczynniki równania kwadratowego:'); writeln('współczynnik a musi być różny od zera!'); write('a:'); readln(a); write('b:'); readln(b); write('c:'); readln(c); delta:=sqr(b) 4*a*c; if delta >= 0 then if b<0 then q:= 0.5*(b sqrt(delta)) else q:= 0.5*(b+sqrt(delta)); writeln('x1 = ',q/a:7:4,' x2 = ',c/q:7:4); end; Ostatnie przykłady dotyczą wyliczania wartości takich funkcji matematycznych, 6 Istnieją dwie stałe MaxInteger i MaxLongInt, które są równe największym wartościom jakie można przechować w zmiennych o typach odpowiednio integer i longint. Nie mogą one jednak pełnić roli stałej j w powyższym programie. W przypadku tych typów tę rolę muszą pełnić stałe o najmniejszych wartościach. To ze względu na stosowanie kodu U2. 14

15 takich jak cos i exp. Istnieją oczywiście w Pascalu gotowe funkcje liczące wartości kosinusa i e x, ale warto wiedzieć jak sobie poradzić, gdyby nie były one dostępne. Wartości tych funkcji można obliczyć z następujących szeregów: e x =1 x 1! x 2 2! x 3 3!... x k k!... cos x =1 x 2 2! x 4 4! x 6 6!... 1 k x 2 k 2 k!... Pierwszy z prezentowanych poniżej programów oblicza wartość kosinusa dla kąta п/3. (kąt podajemy w radianach!): program cosinus; uses crt; const eps=1e 11; x,e,n:real; i:integer; clrscr; x:=pi/3; e:=1; n:=1; i:=1; while (abs(cos(x) e)) > eps do n:=n*( 1*x*x/((2*i 1)*(2*i))); e:=e+n; inc(i); end; writeln(cos(x):10:10); writeln(e:10:10); Zanim zaczniemy analizę tego programu należy zauważyć, że każdy kolejny element szeregu otrzymujemy mnożąc jego poprzednika przez wyrażenie x 2 2 i 1 2 i, gdzie i jest numerem pozycji elementu w szeregu 7. W programie zmienna x ma nadaną wartość kąta, dla którego chcemy obliczyć kosinus, a zmienne e (przechowuje sumę elementów), n (wartość kolejnych elementów ciągu) i i (pozycja elementu w ciągu) są zainicjalizowane wartością 1. Obliczenia są dokonywane w pętli while, która kończy się, kiedy uzyskany przez program wynik różni się co do wartości bezwzględnej o stałą eps od wartości uzyskanej z funkcji cos 8. W wierszu n:=n*( 1*x*x/((2*i 1)*(2*i))); liczone są wartości kolejnych elementów szeregu, a w następnym wierszu są one 7 Aby się o tym przekonać wystarczy podzielić przez siebie dwa sąsiednie elementy, w kolejności prawy przez lewy. 8 Jest to podstawowa zasada porównywania dwóch liczb zmiennopozycyjnych. Nie możemy ich porównać bezpośrednio, bo nigdy nie znamy ich dokładnego rozwinięcia. Wyliczamy więc ich różnicę i sprawdzamy, czy jest mniejsza od ustalonej, bardzo małej liczby. 15

16 dodawane do wyniku końcowego. Podobnie napisany jest program liczący wartość eksponenty. W tym przypadku wartości kolejnych elementów ciągu różnią się o czynnik x i. Program liczy wartość e 24. Oto jego kod źródłowy: {$N+} program exponenta; uses crt; const eps=1e 11; e,x,n:extended; i:word; clrscr; e:=1; n:=1; x:=24; i:=1; while (abs(exp(x) e)) > eps do n:=n*(x/i); e:=e+n; inc(i); end; writeln('funkcja exp: ',exp(x):10:10); writeln('exp z szeregu: ',e:10:10); Proszę zwrócić uwagę, na zastosowanie dyrektywy kompilatora {$N+}, która nakazuje mu użycie rozkazów koprocesora matematycznego. Dzięki temu możemy korzystać z typu extended. Program działa również dla innych wartości x, ale nie wszystkie one prowadzą do poprawnych wyników. Funkcja cos prawdopodobnie nie wyznacza wartości z szeregu, gdyż jest to czasochłonne. W przypadku kosinusa lepiej jest umieścić w tablicy wartości tej funkcji dla typowych wartości kąta. Jeśli użytkownik zażyczy sobie wartości kosinusa, której nie ma w tablicy, to można ją wyliczyć za pomocą kosinusa sumy lub różnicy kątów. Opisane metody wyznaczania wartości funkcji można również zastosować do funkcji sinus. Poniżej, dla zainteresowanych podaję wzór na szereg Taylora i Mclaurina, z których zostały wyprowadzone szeregi dla kosinusa i eksponenty: szereg Tylora : f x =f x 0 f ' x 0 x x 0 f ' ' x 0 f x x 2! = i x 0 x x i=0 i! 0 i 16

17 szereg Mclaurina : f x =f 0 f ' 0 x f ' ' 0 2! x 2...= i=0 f i 0 i! x i (Szereg Mclaurina uzyskujemy z szeregu Taylora podstawiając za x 0 wartość zero.) 17

Wprowadzenie Zmienne Wyrażenia i operatory Komunikacja Instrukcje warunkowe Instrukcje iteracyjne Przykłady Bibliografia

Wprowadzenie Zmienne Wyrażenia i operatory Komunikacja Instrukcje warunkowe Instrukcje iteracyjne Przykłady Bibliografia Program Rozwojowy Potencjału Dydaktycznego Politechniki Świętokrzyskiej w Kielcach: kształce na miarę sukcesu. Priorytet IV Szkolnictwo wyższe i nauka. Działa 4.1 Wzmoc i rozwój potencjału dydaktycznego

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 4 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Instrukcje pętli Pętle służą do iteracyjnego wykonywania pewnych kroków Zazwyczaj

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

Bardziej szczegółowo

KURS PASCAL A. 1.Wprowadzenie

KURS PASCAL A. 1.Wprowadzenie KURS PASCAL A 1.Wprowadzenie Pascal jest językiem wyŝszego poziomu, posiada gotowe biblioteki i moduły, co ułatwia programowanie. Z drugiej strony jest on bardziej wymagający pod względem estetyki programowania

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Zapis algorytmów: schematy blokowe i pseudokod 1

Zapis algorytmów: schematy blokowe i pseudokod 1 Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53: Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla

Bardziej szczegółowo

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

Instrukcje sterujące. Programowanie Proceduralne 1

Instrukcje sterujące. Programowanie Proceduralne 1 Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Język C część 2. Podejmowanie decyzji w programie. if else. switch Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane

Bardziej szczegółowo

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). INFORMATYKA kl. II gimnazjum Krzysztof Gładkowski TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). Czas: 2godz. Przygotowanie środowiska. Pomoce dydaktyczne. Oprogramowanie środowisko

Bardziej szczegółowo

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU Instrukcja pętli For to do Instrukcja ta określa dokładnie ile razy zostanie powtórzony dany ciąg instrukcji. Postać pętli for w Pascalu: for zmienna : = początek to

Bardziej szczegółowo

Wprowadzenie komentarzy do programu

Wprowadzenie komentarzy do programu Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze

Bardziej szczegółowo

JAVAScript w dokumentach HTML (2)

JAVAScript w dokumentach HTML (2) Informatyka ćw.6 JAVAScript w dokumentach HTML (2) Interakcyjne wprowadzanie danych Jednym ze sposobów jest stosowanie metody prompt dla wbudowanego obiektu window: zmienna= prompt("tekst zachęty, np.

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

Bardziej szczegółowo

Laboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 2: Pętle i instrukcje warunkowe mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 października 2015 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Programowanie w języku Pascal

Programowanie w języku Pascal Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@novell.ftj.agh.edu.pl D-10 pokój 227 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn Musy al-chorezmi (z

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja

Bardziej szczegółowo

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze

Bardziej szczegółowo

Instrukcja warunkowa i złoŝona.

Instrukcja warunkowa i złoŝona. Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Programowanie w Baltie klasa VII

Programowanie w Baltie klasa VII Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.

Bardziej szczegółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

Bardziej szczegółowo

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program

Bardziej szczegółowo

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

6. Pętle while. Przykłady

6. Pętle while. Przykłady 6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik

Bardziej szczegółowo

while(wyrażenie) instrukcja

while(wyrażenie) instrukcja emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).

Bardziej szczegółowo

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: 1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: * Jan Kowalski * * ul. Zana 31 * 3. Zadeklaruj zmienne przechowujące

Bardziej szczegółowo

Podstawy Programowania 1 Instrukcje sterujące. Plan. Instrukcje sterujące. Blok instrukcji. Notatki. Notatki. Notatki. Notatki.

Podstawy Programowania 1 Instrukcje sterujące. Plan. Instrukcje sterujące. Blok instrukcji. Notatki. Notatki. Notatki. Notatki. Podstawy Programowania 1 Instrukcje sterujące Arkadiusz Chrobot Zakład Informatyki 17 października 2016 1 / 55 Plan Instrukcje sterujące Blok instrukcji Instrukcja warunkowa Instrukcja wielokrotnego wyboru

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Lekcja 3: Pierwsze kroki z Pythonem. Pętle #SuperKoderzy www.superkoderzy.pl Mikrobitowcy Autorzy: Filip Kłębczyk Lekcja 3: Pierwsze kroki z Pythonem. Pętle Podczas lekcji uczniowie zapoznają się z dwoma rodzajami pętli - for i while - analizując

Bardziej szczegółowo

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie

Bardziej szczegółowo

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli. Część XIII C++ Czym jest pętla? Pętla jest blokiem instrukcji, które wykonywane są w kółko (czyli po wykonaniu ostatniej instrukcji z bloku komputer wykonuje ponownie pierwszą instrukcję, później drugą

Bardziej szczegółowo

Język C, instrukcje sterujące (laboratorium)

Język C, instrukcje sterujące (laboratorium) Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe

Bardziej szczegółowo

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Warunki logiczne instrukcja if

Warunki logiczne instrukcja if Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y

Bardziej szczegółowo

Instrukcje sterujące

Instrukcje sterujące Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:

Bardziej szczegółowo

Podprogramy. Procedury

Podprogramy. Procedury Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo