Kurs Pascala LO Biecz 2010/2011. Kurs Pascala oparty na zadaniach i problemach z lekcji Informatyki.

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

Download "Kurs Pascala LO Biecz 2010/2011. Kurs Pascala oparty na zadaniach i problemach z lekcji Informatyki."

Transkrypt

1 Kurs Pascala LO Biecz 2010/2011 Kurs Pascala oparty na zadaniach i problemach z lekcji Informatyki. Krzysztof Libront Ostatnia modyfikacja:

2 Spis treści Wprowadzenie do języka Pascal Zadanie 1: Napisz program wczytujący liczbę całkowitą i sprawdzający czy liczba jest dodatnia czy ujemna Zadanie 2: Napisz program który będzie wczytywał pewną liczbę naturalną, sprawdzał czy jest dodatnia czy ujemna, i tak dopóki nie wpiszemy Zadanie 3: Sumowanie ciągu liczb naturalnych Zadanie 4: Znajdź największą liczbę w podanym ciągu Zadanie 5: Znajdź największy wspólny dzielnik przy pomocy algorytmu Euklidesa Zadanie 6: Różne typy zmiennych - zastosowanie Zadanie 7: Zabawa z tablicami Zadanie 8: Sprawdź czy dany wyraz jest palindromem Zadanie 9: Stwórz procedurę wypisującą n razy ":)" Zadanie 10: Stwórz program skracający ułamek zwykły Zadanie 11: Silnia - rekurencja Zadanie 12: Podnoszenie 2 do potęgi n

3 Wprowadzenie do języka Pascal. Przygotowałem kurs Pascala dla mało zaawansowanych :) Po każdej lekcji będę przygotowywał dla was krótki przewodnik z danym materiałem. Na początek proponuję zapoznad się ze słownictwem którego będę używał i krótkim wprowadzeniem. Na początek ściągnij program ftp://ftp.freepascal.org/pub/fpc/dist/2.2.4/i386-win32/fpc i386- win32.exe. Zainstaluj i uruchom. Reszta tak jak w szkole. Konstrukcja programu: program nazwa_programu; var zmienne : typ; częśd główna programu {nazwa programu} {inicjowanie zmiennych} {częśd główna programu} {koniec programu} Pogrubione zostały słowa kluczowe programu, które należy znad na pamięd. Natomiast w nawiasach klamrowych znajdują się komentarze, które nie mają wpływu na działanie programu - przy przepisywaniu zalecam ich omijanie. zmienna - element programu, do którego możemy przypisad pewną wartośd poprzez operator przypisania ":=". Zmienne mogą posiadad określony typ danych, który można ustawid w ten oto sposób: var nazwa_zmiennej : typ; Tabela typów: Typ Zakres Rodzaj liczb... integer Całkowite byte Całkowite longint Całkowite shortint Całkowite word Całkowite real 5.0x x10308 Rzeczywiste double 5.0x x10308 Rzeczywiste extended 3.4x x Rzeczywiste comp Rzeczywiste String Łaocuch znaków - Podstawowe funkcje: Read(nazwa_zmiennej); {wczytywanie wartości z klawiatury pod zmienną} Readln(nazwa_zmiennej); {wczytywanie wartości z klawiatury pod zmienną i przejście do następnej linii} Write('Jakiś tekst'); {wypisuje "Jakiś tekst" na ekranie} Writeln('Jakiś tekst'); {wypisuje "Jakiś tekst" na ekranie i przechodzi do następnej linii} Writeln('Jakiś tekst', nazwa_zmiennej,' dalszy ciąg tekstu'); {połączenie tekstu ze zmienną} 3

4 if warunek then możliwośd1 else możliwośd; {np. jeżeli a<10 to wypisz('a jest mniejsze od 10'); w przeciwnym wypadku wypisz('a jest większe od 10);} Do zapisania warunku możemy wykorzystad: - a>b - a większe od b, - a>=b - a większe lub równe b, - a<b - a mniejsze od b, - a<=b - a mniejsze lub równe b, - a<>b - a różne od b. W Pascalu występują trzy pętle: - dwie pętle warunkowe repeat... until warunek; {powtarzaj... dopóki warunek jest nie spełniony;} oraz while warunek do {podczas gdy warunek jest spełniony powtarzaj...;} - jedna pętla z licznikiem for i:=1 to 10 do...; {od i=1 do 10 powtarzaj...; - po każdym powtórzeniu do "i" zostanie dodane 1 aż osiągnie 10} Tablice można porównad do kolejki w której stoi n liczb. Jeśli nie wiemy ile liczbę będzie podanych możemy utworzyd tablice o np. 100 wartościach - nie musimy wtedy tworzyd zmienna1, zmienna2, zmienna3 itd. (było by to trochę męczące). Tablice deklarujemy w następujący sposób: var Nazwa_tablicy : array[ ] of Integer; {stwórz tablice od 1 do max 1000 różnych rekordów typu Integer (liczb całkowitych)} Wartości przypisujemy tak jak do zwykłej zmiennej, jednak przy tablicach musimy również w której z kolei pozycji ma znaleźd dana liczba: Nazwa_tablicy[1] := 185; {przypisz do tablicy Nazwa_tablicy na pozycji 1 liczbę 185} Jeżeli po if, którejś z pętli dalszy kod naszego programu będzie dłuższy niż jedna linijka (instrukcja np. Write) musimy umieścid ją pomiędzy kod_programu Przykładowo: program nazwa; var a : integer; Readln(a); if a>0 then {gdy a jest większe od 0 wyświetl} Writeln('A jest większe od zera'); Writeln(Kolejny tekst do wyświetlenia') else {w przeciwnym wypadku} Writeln('A jest mniejsze od zera'); Writeln(Kolejny tekst do wyświetlenia'); Wygeneruje nam błąd ponieważ pomiędzy then a else znajdują się więcej niż 2 funkcje (w tym przypadku wypisywanie tekstu). Nie pomoże nam dodanie tego do jednej linii: Writeln('A jest większe od zera'); Writeln(Kolejny tekst do wyświetlenia'); Aby program uruchomił się poprawnie potrzebujemy.... program nazwa2; var a : integer; Readln(a); if a>0 then {tylko gdy a jest większe od 0 wyświetl} {rozpoczynamy "pudełko" nr 1} 4

5 else Writeln('A jest większe od zera'); Writeln(Kolejny tekst do wyświetlenia'); end {kooczymy pudełko nr 1 UWAGA! w przypadku gdy po end występuje else nie dajemy na koocu ";"} {rozpoczynamy pudełko nr 2} Writeln('A jest mniejsze od zera'); Writeln(Kolejny tekst do wyświetlenia'); {kooczymy pudełko nr 2} Teraz program uruchomi się poprawnie :) Tak pokrótce wprowadziłem was do Pascala. Zadanie 1: Napisz program wczytujący liczbę całkowitą i sprawdzający czy liczba jest dodatnia czy ujemna. program sprawdzanie; var liczba : integer; {nadajemy zmiennej liczba typ liczb całkowitych} Writeln('Wpisz jakąś liczbę całkowitą:'); Readln(liczba); {wczytujemy liczbę z klawiatury} if liczba > 0 then {sprawdzamy czy liczba jest większa od 0} Writeln('Liczba jest dodatnia') {wypisujemy stosowny tekst (bez ";"!!!, bo jest przed else)} else {w przeciwnym wypadku} Writeln('Liczba jest ujemna lub jest zerem'); {wypisujemy stosowny tekst} Można także dodad linijkę kodu, aby sprawdzid czy aby liczba nie jest 0. program sprawdzanie_ulepszone; var liczba : integer; {nadajemy zmiennej liczba typ liczb całkowitych} Writeln('Wpisz jakąś liczbę całkowitą:'); Readln(liczba); {wczytujemy liczbę z klawiatury} if liczba > 0 then {sprawdzamy czy liczba jest większa od 0} Writeln('Liczba jest dodatnia') {wypisujemy stosowny tekst (bez ";"!!!, bo jest przed else)} else {w przeciwnym wypadku} if liczba = 0 then {jeżeli liczba jest równa 0 to} Writeln('Podana liczba jest zerem.') {wypisujemy stosowny tekst (bez ";"!!!, bo jest przed else)} else {w przeciwnym wypadku} Writeln('Liczba jest ujemna.); {wypisujemy stosowny tekst} 5

6 Zadanie 2: Napisz program który będzie wczytywał pewną liczbę naturalną, sprawdzał czy jest dodatnia czy ujemna, i tak dopóki nie wpiszemy 0. Skorzystamy z przykładu z zadania 1. Przykład 1 z użyciem pętli repeat... until; program sprawdzanie_ulepszone_petla; var liczba : integer; {nadajemy zmiennej liczba typ liczb całkowitych} repeat {powtarzaj wszystko pomiędzy repeat a until} Writeln('Wpisz jakąś liczbę całkowitą:'); Readln(liczba); {wczytujemy liczbę z klawiatury} if liczba > 0 then {sprawdzamy czy liczba jest większa od 0} Writeln('Liczba jest dodatnia') {wypisujemy stosowny tekst (bez ";"!!!, bo jest przed else)} else {w przeciwnym wypadku} Writeln('Liczba jest ujemna.); {wypisujemy stosowny tekst} until liczba = 0; {dopóki liczba nie przyjmie wartości 0} Czyż to nie jest banalne? Przykład 2 z użyciem pętli while... do;. program sprawdzanie_ulepszone_petla; var liczba : integer; {nadajemy zmiennej liczba typ liczb całkowitych} liczba := 1; {pod zmienną liczba przypisujemy wartośd różną od 0 (np. 1), ponieważ pętla while sprawdza warunek "liczba <> 0" przed wczytaniem liczby z klawiatury - gdy tego nie zrobimy, pętla od razu zostanie przerwana i program się wyłączy} while liczba <> 0 do {podczas gdy liczba różna od 0 to powtarzaj} {używamy ponieważ mamy kilka różnych instrukcji (Writeln, Readln, if itd.); pudełko nr 1} Writeln('Wpisz jakąś liczbę całkowitą:'); Readln(liczba); {wczytujemy liczbę z klawiatury} if liczba > 0 then {sprawdzamy czy liczba jest większa od 0} Writeln('Liczba jest dodatnia') {wypisujemy stosowny tekst (bez ";"!!!, bo jest przed else)} else {w przeciwnym wypadku} Writeln('Liczba jest ujemna.); {wypisujemy stosowny tekst} {koniec pudełka nr 1} 6

7 Zadanie 3: Sumowanie ciągu liczb naturalnych. Tym razem użyjemy pętli for ponieważ wiemy ile zostanie podanych liczb. program sumowanie; var liczba, ile, suma, licznik : integer; {nadajemy zmiennym typ liczb całkowitych} Write('Ile liczb chcesz zsumowad? '); Readln(ile); {wczytujemy ile liczb będziemy sumowad} for licznik := 1 to ile do {zaczynamy powtarzad od 1 do "ile" włącznie (wpisana przez nas) } {używamy ponieważ mamy kilka różnych instrukcji (Writeln, Readln, if itd.); pudełko nr 1} Write('Wpisz liczbę do sumowania: '); Readln(liczba); {wczytujemy z klawiatury liczbę} suma:=suma+liczba; {dodajemy do obecnej sumy kolejną wpisaną liczbę} {koniec pudełka nr 1} Writeln('Suma wynosi: ', suma); {wyświetlamy sumę liczb} Program z zabezpieczeniem przeciwko ujemnej liczbie sumowanych liczb. Dodatkowo zapamiętuje jakie liczby zostały wpisane. program sumowanie; var ile, suma, licznik : integer; {nadajemy zmiennym typ liczb całkowitych} var tablica : array[ ] of integer; {tworzymy tablice w której zapamiętamy wszystkie liczby} Write('Ile liczb chcesz zsumowad? '); Readln(ile); {wczytujemy ile liczb będziemy sumowad} if ile < 0 then ile:= ile*-1; {sprawdzamy czy ile nie jest ujemne, jeśli tak to mnożymy ją przez -1} if ile < 1000 then {tworząc tablice ustawiliśmy jej rozmiar do max 1000 różnych liczb, aby uniknąd niepotrzebnych błędów sprawdzamy, czy podana wartośd jest mniejsza od 1000} {pudełko nr 1} for licznik := 1 to ile do {zaczynamy powtarzad od 1 do "ile" włącznie (wpisana przez nas) } {używamy ponieważ mamy kilka różnych instrukcji (Writeln, Readln, if itd.); pudełko nr 2} Write('Wpisz ', licznik,' liczbę do sumowania: '); Readln(tablica[licznik]); {wczytujemy z klawiatury liczbę do tablicy} suma:=suma+tablica[licznik]; {dodajemy do obecnej sumy kolejną wpisaną liczbę} {koniec pudełka nr 2} Write('Suma liczb: '); for licznik :=1 to ile do {pętla która wypisze wszystkie liczby} if licznik = ile then {sprawdzamy czy liczba nie jest przypadkiem ostatnia} Write(tablica[licznik], '=') {do ostatniej liczby dodajemy "="} else {w przeciwnym wypadku} Write(tablica[licznik], '+'); {do każdej liczby dodajemy "+" dla ładnego wyglądu} Writeln(suma,'.'); {wypisujemy wynik działania} end {koniec pudełka nr 1} else {jeżeli więcej niż 1000} Writeln('Za dużo liczb do zsumowania (max 1000).'); 7

8 Zadanie 4: Znajdź największą liczbę w podanym ciągu. program najwieksza_wiadome; uses Crt; {używamy biblioteki która będzie czyścid nam ekran} var tablica : array[1..5] of integer; {tworzymy tablicę do max 5 liczb (wystarczy 5 zmienid na dowolną liczbę jeśli potrzebujemy)} var najwieksza, licznik : integer; {pomocnicze zmienne} Clrscr; {czyścimy obraz} najwieksza:=-32768; {przypisujemy najmniejszą możliwą liczbę dla zmiennej typu integer (musimy to zrobid, aby nasz program działał również na liczbach ujemnych, gdybyśmy tego nie uczynili największa miała by wartośd początkową 0 - usuo tą linijkę i przekonaj się sam!)} tablica[1]:=54; {ustalamy pierwszą liczbę} tablica[2]:=23; tablica[3]:=-83; tablica[4]:=12; tablica[5]:=-7; {ustalamy piątą liczbę} for licznik:=1 to 5 do {pętla działająca 5 razy (od 1 do 5), gdy podamy więcej liczb musimy zmienid 5 na inną liczbę} if tablica[licznik]>najwieksza then najwieksza:=tablica[licznik]; {porównujemy następną liczbę z ostatnią największą, jeśli jest większa, ustawiamy ją jako nową największą} Writeln('Najwieksza liczba to: ', najwieksza); {wypisujemy największą liczbę} Gdy liczby będziemy dostawad z zewnątrz, program musi wyglądad troszkę inaczej np.: program najwieksza_liczba; uses Crt; var najwieksza, ile, licznik, liczba : integer; {pomocnicze zmienne} Clrscr; {czyścimy obraz} najwieksza:=-32768; {przypisujemy najmniejszą możliwą liczbę dla zmiennej typu integer (musimy to zrobid, aby nasz program działał również na liczbach ujemnych, gdybyśmy tego nie uczynili największa miała by wartośd początkową 0 - usuo tą linijkę i przekonaj się sam!)} Write('Ile bedzie liczb? '); {pytamy o ilośd liczb w ciągu} Readln(ile); {wczytujemy tą liczbę} for licznik:=1 to ile do {pętla prosząca o "ile" liczb} {pudełko nr 1} Write('Podaj ', licznik,' liczbe do sprawdzenia: '); Readln(liczba); {wczytujemy daną liczbę z kolei} if liczba>najwieksza then najwieksza:=liczba; {sprawdzamy czy przypadkiem podana liczba nie jest większa od naszej dotychczasowej największej liczby, jeśli tak zmieniamy największą na nową} {koniec pudełka nr 1} Writeln('Najwieksza liczba jest: ', najwieksza); {wypisujemy największą liczbę} 8

9 Zadanie 5: Znajdź największy wspólny dzielnik przy pomocy algorytmu Euklidesa. program najwiekszy_spolny_dzielnik; var a, b, nwd : integer; Write('Podaj pierwszą liczbe: '); Readln(a); Write('Podaj drugą liczbe: '); Readln(b); while a<>b do {pętla działająca gdy a i b są różne} if a>b then a:=a-b else b:=b-a; {jeżeli a jest większe od b, wtedy pod a podstawiamy różnicę a- b, w przeciwnym wypadku (większe b) pod b podstawiamy różnicę b-a} nwd:=a; Writeln('Największy wspolny dzielnik to: ', nwd,'.'); Przykład szukania NWD przy pomocy dzielenia. program najwiekszy_spolny_dzielnik; var a, b, nwd, x : integer; Write('Podaj pierwszą liczbe: '); Readln(a); Write('Podaj drugą liczbe: '); Readln(b); x:=1; while x<>0 do {pudełko nr 1} if a>b then {jeżeli a większe b} if a mod b = 0 then {jeżeli reszta z dzielenia wynosi 0 to wypisujemy NWD} {pudełko nr 2} Writeln('NWD: ', b); x:=0 {podstawiamy pod x 0 aby przerwad pętle while} end {koniec pudełka nr 2} else a:=a mod b {podstawiamy pod a (większe od b): resztę z dzielenia a przez b} else if b mod a = 0 then {jeżeli reszta z dzielenia b przez a wynosi 0 to wypisujemy NWD} {pudełko nr 3} Writeln('NWD: ', a); x:=0 {podstawiamy pod x 0 aby przerwad pętle while} end {koniec pudełka nr 3} else b:=b mod a; {podstawiamy pod b (większe od a): resztę z dzielenia b przez a} {koniec pudełka nr 1} 9

10 Zadanie 6: Różne typy zmiennych - zastosowanie. Typ zmiennej to tak jakby opakowanie na produkt w sklepie np. nie będziemy przechowywad chipsów w szklanym słoiku, albo masła w puszce. Tak samo w Pascalu nie możemy przechowywad liter (znaków) pod zmienna liczbową integer i na odwrót. Każdy rodzaj danych (liczbowy, ciąg, znak) ma określony typ - pamiętaj więc o tym! Więcej o typach u Pawła Bajorka. :) program tajny_kod; var a : longint; {deklarujemy zmienna typu longint (patrz tabelka)} z : char; {deklarujemy zmienna typu char - jeden znak (liczba, litera)} Write('Podaj liczbe: '); Readln(a); {wczytujemy liczbe} Write('Podaj znak: '); Readln(z); {wczytujemy znak} Writeln('Tajny kod to: ', z, a*2); {wyświetlamy tajny kod będący znakiem połączonym z podwojoną liczbą} Następnym zadaniem jest zamiana znaku na następny z tablicy ASCII. program tajny_kod_2; var a : longint; {deklarujemy zmienną typu longint} z : char; {deklarujemy zmienna typu char - jeden znak (cyfra, litera)} b : shortint; {deklarujemy zmienną typu shortint} Write('Podaj liczbe: '); Readln(a); {wczytujemy liczbe} Write('Podaj znak: '); Readln(z); {wczytujemy znak} b:=integer(z); {zmieniamy znak na liczbę odpowiadającą mu z tabeli ASCII} if b<32 then b:=32; {eliminujemy wszystkie znaki specjalne takie jak spacja, shift itd.} if (b+1)>125 then b:=32; {sprawdzamy czy nie znajdujemy się przypadkiem na koocu tablicy ASCII, jeżeli tak to wyświetlamy pierwszy znak z tablicy} z:=char(b+1); {zamieniamy liczbę na znak z tablicy ASCII (char ma odwrotne działanie do funkcji integer)} Writeln('Tajny kod to: ', z, a*2); {wyświetlamy nasz wspaniały kod} Funkcje integer(); oraz char(); to wbudowane w język Pascal podstawowe instrukcje, które zajmują się najbrudniejszą robotą. Dzięki nim nie musimy tworzyd osobnej funkcji, tablicy i porównywad każdy ze znaków z osobna. Funkcja integer(); zamienia każdy znak na liczbę z tablicy ASCII np. A->65, a->97, 2->50 (dwa to cyfra!). Char(); natomiast wykonuje działanie odwrotne - odczytuje kod ASCII następnie zastępuje go danym znakiem np. 122->z, 115->s. Proponuję zajrzed tutaj. 10

11 Zadanie 7: Zabawa z tablicami Za zadanie mamy wczytad do tablicy dziesięd liczb, które następnie musimy wypisad... program tablice; var a : array[1..10] of Integer; {deklarujemy tablice o maksymalnie 10 różnych liczbach/rekordach/wpisach (w tym wypadku liczny całkowite - Integer)} licznik : Integer; {licznik potrzebny do pętli for} for licznik:=1 to 10 do {używamy, ponieważ chceny aby pętla for powtarzała nam więcej niż jedną funkcje (Write i Readln); pudełko nr 1} Write('Podaj ', licznik,' liczbe: '); {prosimy o kolejną liczbę} Readln(a[licznik]); {wczytujemy ją z klawiatury} {koniec pudełka nr 1} Write('Wpisane liczby to: '); for licznik:=1 to 10 do Write(a[licznik], ' '); {wyświetlamy w jednej linii wszystkie wpisane liczby} BONUS! Przykład dodatkowy dla zainteresowanych i ambitnych: Posortuj liczby od najmniejszej do największej. Użyjemy algorytmu bąbelkowego, bo jest łatwy w użyciu. Kliknij po więcej. program sortowanie_liczb; var a : array[1..10] of Integer; {deklarujemy tablice} licznik, pomocnicza : Integer; {dwie zmienne: jedna do pętli for, druga potrzebna do podstawiania} for licznik:=1 to 10 do {pętla do wczytywania 10 liczb} {pudełko nr 1} Write('Podaj ', licznik,' liczbe: '); {prosimy o kolejną liczbę} Readln(a[licznik]); {wczytujemy z klawiatury} {koniec pudełka nr 1} licznik:=1; {"zerujemy" licznik} while licznik<>10 do {pętla działająca do póki nie dojdziemy na koniec tablicy} if a[licznik]>a[licznik+1] then {sprawdzamy czy liczba jest większa od następnej w tablicy} {pudełko nr 2} pomocnicza:=a[licznik]; {jeśli tak to zapisujemy sobie liczbę wiekszą} a[licznik]:=a[licznik+1]; {w jej miejsce podstawiamy następna (mniejszą) liczbę} a[licznik+1]:=pomocnicza; {w miejsce mniejszej dajemy większą zapisaną wcześniej} licznik:=1; {"zerujemy" licznik} end {koniec pudełka nr 2} else {w przeciwnym wypadku} licznik:=licznik+1; {przechodzimy do sprawdzania następnej liczby w tablicy} Write('Posortowane liczby: '); for licznik:=1 to 10 do Write(a[licznik], ' '); 11

12 Zadanie 8: Sprawdź czy dany wyraz jest palindromem Palindrom to wyraz który czytany od tyłu brzmi i znaczy to samo co czytany w klasyczny sposób np. "kajak". Do rozwiązania tego problemu użyjemy zmiennej typu String oraz funkcji wbudowanej w Pascala Lenght(); która policzy długośd wpisanego wyrazu (np. dla "kajak" zwróci nam 5). program palindrom; var wyraz : string[20]; {tworzymy zmienna wyraz typu string (łaocuch znaków) o max 20 znakach} licznik, dlugosc, spr : Integer; {dodatkowe zmienne} Write('Wpisz słowo: '); Readln(wyraz); {wczytujemy podany wyraz} dlugosc:=length(wyraz); {zapamiętujemy jego długośd} for licznik:=1 to dlugosc do {powtarzamy pętle tyle razy ile znaków ma podany wyraz (trochę mało optymalne, można to ominąd, ale już nie chcę komplikowad)} if wyraz[licznik]=wyraz[dlugosc+1-licznik] then spr:=spr+1; {sprawdzamy czy odpowiadające sobie znaki z początku i kooca wyrazu są takie same, jeżeli tak, to zwiększamy zmienną "spr" o 1} if spr=dlugosc then {tutaj wykorzystujemy zmienną spr do porównania jej z długością wyrazu} Writeln('Brawo to palindrom!') {jeżeli są równe - to oznacza że wszystkie odpowiadające sobie znaki były jednakowe} else Writeln('Niestety to nie palindrom!'); {jeżeli różnica wynosi chociażby 1 wypisujemy, że to nie palindrom} 12

13 Zadanie 9: Stwórz procedurę wypisującą n razy ":)" Na początek może wyjaśnię co, z czym i jak :) Procedury to nic innego jak mini program w naszym głównym programie. Tzn. używa się ich, gdy dany fragment kodu wykorzystujemy wielokrotnie w różnych miejscach. Przykładowo: program przyklad; uses crt; var i, ile : Integer; Clrscr; Write('Ile razy wyswietlic ":)"? '); Readln(ile); for i:=1 to ile do Write(':)'); Writeln; Write('Ile razy wyswietlic ":)"? '); Readln(ile); for i:=1 to ile do Write(':)'); Writeln; Write('Ile razy wyswietlic ":)"? '); Readln(ile); for i:=1 to ile do Write(':)'); Czy nie wydaje się wam, że pewne fragmenty kodu się powtarzają? Czy nie można prościej? Po co pisad to samo tyle razy? Tutaj właśnie przydadzą się nam procedury (i funkcje, ale to później:)). Procedury mają budowę identyczną jak program (prawie): PROGRAM program nazwa_programu; var zmienna : Integer; {dalsza część programu} PROCEDURY procedure nazwa_procedury(parametry); var zmienna : Integer; {dalsza częśd procedury} Procedura może przyjmowad jakiś parametr, lecz nie musi (w takim przypadku omijamy po nazwie nawiasy). Procedury deklarujemy w programie przed słówkiem (głównego programu po którym występuje dalsza częśd programu), czyli: program nazwa_programu; var zmienna : Integer; 13

14 procedure nazwa_procedury; var zmienna : Integer; { procedury} {dalsza częśd procedury} {główny } nazwa_procedury; {wywołanie procedury - zrobi nam to co zaprogramowaliśmy w "dalsza częśd procedury} {dalsza częśd programu} Jak przerobid poprzedni przykład? Na przykład tak: program przyklad; uses crt; var ile : Integer; procedure wypisz; var i : Integer; Write('Ile razy wyswietlic ":)"? '); Readln(ile); for i:=1 to ile do Write(':)'); Writeln; Clrscr; wypisz; wypisz; wypisz; Powyższy program 3 razy powtórzy procedurę pytania "Ile razy wyświetlic" oraz samo wypisywanie " :)". Oczywiście można stworzyd procedurę do której będziemy przekazywad ilośd powtórzeo jej działania zamiast pisad "wypisz; wypisz; wypisz;". program przyklad; uses crt; var ile : Integer; procedure wypisz(pow : Integer); var i, j : Integer; for j:=1 to pow do Write('Ile razy wyswietlic ":)"? '); Readln(ile); for i:=1 to ile do Write(':)'); Writeln; 14

15 Clrscr; wypisz(3); Działanie jest identyczne :) Różnych możliwości, przeróbek jest naprawdę wiele, toteż nie podam ich tu wszystkich. Zachęcam to eksperymentów przed przejściem do następnej części! Zadanie 10: Stwórz program skracający ułamek zwykły Powtórzę: jeśli dalej nie rozumiesz procedur eksperymentuj! Zadania: 1. Napisz program który będzie wypisywał imię osoby (wczytane pod zmienną), określoną ilośd razy. 2. Napisz program który będzie dodawał x par liczb całkowitych. Teraz, jeśli rozwiązałeś/aś te zadania przejdź dalej... Nasz program ma znajdowad największy wspólny dzielnik licznika i mianownika, a następnie skracad cały ułamek. Tak więc zaczynajmy: program ulamki; uses crt; var licznik, mianownik : Integer; procedure wczytaj; Write('Podaj licznik: '); Readln(licznik); Write('Podaj mianownik: '); Readln(mianownik); procedure wypisz; Clrscr; Writeln(licznik); Writeln('----'); Writeln(mianownik); Clrscr; wczytaj; wypisz; 15

16 Powyższy program wczyta licznik i mianownik, następnie wypisze go w formie: licznik mianownik Co dalej? Musimy stworzyd funkcje która będzie obliczad nam NWD. Polecam zajrzed na wikipedie gdzie znajduje się gotowy kod i przede wszystkim przypomnienie zasady działania. program ulamki; uses crt; var licznik, mianownik : Integer; procedure wczytaj; Write('Podaj licznik: '); Readln(licznik); Write('Podaj mianownik: '); Readln(mianownik); function NWD : Integer; var a, b : Integer; a:=licznik; b:=mianownik; while a<>b do if a>b then a:=a-b else b:=b-a; NWD:=a; procedure wypisz; var dzielnik, licznik2, mianownik2 : Integer; Clrscr; dzielnik:=nwd; licznik2:=licznik div dzielnik; mianownik2:=mianownik div dzielnik; Writeln('Przed:'); Writeln(licznik); Writeln('----'); Writeln(mianownik); Writeln; Writeln('Po:'); Writeln(licznik2); Writeln('----'); Writeln(mianownik2); 16

17 Clrscr; wczytaj; wypisz; Już widzę miny większości z was... Dlaczego tak, co, gdzie i jak? Zmodyfikowałem procedurę wypisz, oraz tuż przed nią dopisałem funkcje NWD (nie przyjmującą żadnego parametru). Funkcja różni się od procedury tym, że zwraca jakąś wartośd - w naszym przypadku Integer którą zapisujemy pod zmienną dzielnik. Następnie pod zmienną należącą do procedury (została utworzona po deklaracji "procedure wypisz;" więc należy do tej procedury) licznik2 i mianownik2 podstawiamy/przypisujemy wartośd z dzielenia całkowitego (div). Pewnie wielu z was myśli to trudne - NIE to nie jest trudne tylko wystarczy przeanalizowad przykład i spróbowad go przerobid według własnego pomysłu. Dla tych co myślą inaczej i zastanawiają się: "A co gdy będzie więcej ułamków?" przygotowałem następny program. program ulamki; uses crt; var licznik, mianownik, licznik2, mianownik2 : array[1..100] of Integer; ile, i : Integer; procedure wczytaj(pow : Integer); for i:=1 to pow do Write('Podaj licznik ',i,' ulamka: '); Readln(licznik[i]); Write('Podaj mianownik: ',i,' ulamka:'); Readln(mianownik[i]); function NWD(ktory : Integer) : Integer; var a, b : Integer; a:=licznik[ktory]; b:=mianownik[ktory]; while a<>b do if a>b then a:=a-b else b:=b-a; NWD:=a; procedure wypisz(pow : Integer); var dzielnik : Integer; Clrscr; for i:=1 to pow do dzielnik:=nwd(i); licznik2[i]:=licznik[i] div dzielnik; mianownik2[i]:=mianownik[i] div dzielnik; 17

18 Writeln('Przed:'); Writeln(licznik[i]); Writeln('----'); Writeln(mianownik[i]); Writeln; Writeln('Po:'); Writeln(licznik2[i]); Writeln('----'); Writeln(mianownik2[i]); Clrscr; Write('Ile bedzie ulamkow?'); Readln(ile); wczytaj(ile); wypisz(ile); Co najdziwniejsze powyższy kod działa :) Do tego przykłady musimy użyd tablicy (jeżeli chcemy gdzieś zapamiętad wyniki naszych obliczeo - uwierzcie, że to nam się jeszcze przyda). Mamy ich aż (tylko) cztery: dwie dla licznika i mianownika podstawowego, dwie dla licznika2 i mianownika2 - po skróceniu. Do procedur dodałem parametr który informuje (ją) ile wczytujemy/wypisujemy ułamków. Przy funkcji NWD zaś parametr informuje dla którego ułamka ma obliczyd NWD np. NWD(2) sprawdzi największy wspólny dzielnik dla ułamka podanego jako drugi. Jeśli nadal nie rozumiesz o co chodzi... eksperymentuj. Zastanów się: 1. Ile maksymalnie możemy podad ułamków? 2. Co zrobid aby wypisad sumę liczników? A mianowników? 3. Dlaczego funkcja NWD jest przed procedurą wypisz, a nie po? 18

19 Zadanie 11: Silnia - rekurencja Za zadanie mamy napisad program obliczający rekurencyjnie silnię. Silnię oznaczamy jako n!, gdzie n to dowolna liczba całkowita dodatnia. Przykładowo 5! = 1*2*3*4*5. Rekurencja polega na napisaniu funkcji która oblicza daną wartośd wywołując samą siebie - do pewnego momentu, który zależy od nas. Silnia rekurencyjnie 1. program silnia; 2. uses crt; 3. var liczba : Integer; function oblicz_silnie(n : Integer) : longint; if n=0 then 8. oblicz_silnie:=1 9. else 10. oblicz_silnie:=n*oblicz_silnie(n-1); Clrscr; 15. Write('Podaj liczbe: '); 16. Readln(liczba); writeln('silnia wynosi: ', oblicz_silnie(liczba)); 19. Opis kodu: 1. Nazywamy program. 2. Dołączamy bibliotekę Crt dzięki której będziemy mogli czyścid ekran. 3. Tworzymy zmienną liczba. 5. Tworzymy funkcje "oblicz_silnie" która przyjmuje jedną wartośd n typu Integer oraz zwraca wartośd typu longint. N to liczba dla której mamy obliczyd silnię. 6. Rozpoczynamy "ciało" funkcji. 7. Sprawdzamy czy aby przypadkiem liczba dla której mamy obliczyd silnię nie jest 0: 8. jeśli tak wartośd funkcji oblicz_silnie przyjmuje 1 9. w przeciwnym wypadku 10. Tutaj właśnie zauważamy rekurencję czyli wywołanie przez funkcję samej siebie. Wartośd funkcji oblicz_silnie przyjmuje n razy wartośd funkcji dla n mniejszego o jeden. 11. Koniec deklaracji funkcji. 13. Rozpoczynamy częśd główną programu. 14. Czyścimy ekran Prosimy o liczbę i ją wczytujemy. 18. Wypisujemy wartośd silni wywołując funkcję oblicz_silnie. 19. Koniec programu. 19

20 Zadanie 12: Podnoszenie 2 do potęgi n Naszym kolejnym zadaniem jest napisad program który oblicza wpisaną przez nas potęgę dwójki. Potęgowanie 2 1. program potega_dwojki; 2. uses crt; 3. var pot : Integer; function potega(dok : Integer) : Integer; if dok=0 then 8. potega:=1 9. else 10. potega:=2*potega(dok-1); Clrscr; 15. Write('Do ktorej potegi: '); 16. Readln(pot); writeln('potega 2 wynisi: ', potega(pot)); 19. Opis kodu: 1. Nazywamy program. 2. Dołączamy bibliotekę Crt dzięki której będziemy mogli czyścid ekran. 3. Tworzymy zmienną pot (od potęga :) ). 5. Tworzymy funkcje "potega" która przyjmuje jedną wartośd dok (dokąd) typu Integer oraz zwraca wartośd typu Integer. Dok to liczba mówiąca nam do której potęgi podnosimy Rozpoczynamy "ciało" funkcji. 7. Sprawdzamy czy aby przypadkiem do której potęgi nie jest równe 0: 8. jeśli tak wartośd funkcji potega przyjmuje 1 9. w przeciwnym wypadku 10. Używamy rekurencję. Wartośd funkcji potega przyjmuje 2 razy wartośd funkcji dla dok mniejszego o jeden. 11. Koniec deklaracji funkcji. 13. Rozpoczynamy częśd główną programu. 14. Czyścimy ekran Prosimy o liczbę i ją wczytujemy. 18. Wypisujemy wartośd potęgi wywołując funkcję potega. 19. Koniec programu. Dodatkowe zadania: 1. Przerób powyższy kod tak, aby liczył potęgę dla dowolnej liczby - nie tylko dla Napisz program obliczający NWD rekurencyjnie za pomocą algorytmu Euklidesa. 20

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

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

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

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. Zadania język C++ Zad. 1 Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. (Być moŝe są w tym samym wieku. Zrób w programie warunek,

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

Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury

Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury Definicja Procedury i funkcje Procedura to wydzielony fragment programu, który służy do wykonywania pewnych zbiorów instrukcji stanowiących zwartą całość. Procedurę nazywamy czasem podprogramem. 1 2 Przykład

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

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

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

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

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

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza

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

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

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Zasady Programowania Strukturalnego

Zasady Programowania Strukturalnego Zasady Programowania Strukturalnego Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej rjakubowski@fizyka.umk.pl www.fizyka.umk.pl/~rjakubowski Tel: 33 46 Konsultacje w sem. letnim 11/12: środa,

Bardziej szczegółowo

Lekcja 6: Pascal. Procedura i funkcja

Lekcja 6: Pascal. Procedura i funkcja Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej

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

Pętle instrukcje powtórzeo

Pętle instrukcje powtórzeo Pętle instrukcje powtórzeo Pętle - zbiór instrukcji, które należy wykonad wielokrotnie. Program dyktuje: - ile razy pętla ta wykona zawarty w niej blok instrukcji - jakie mają byd warunki zakooczenia jej

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

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!

3. Podstawowe funkcje mamematyczne.  ZAPOZNAĆ SIĘ!!! Zajęcia 3 1. Instrukcja iteracyjna while while WARUNEK do Instrukcja; 2. Deklaracja funkcji function nazwa(x:real;i:integer;...): typ_funkcji; deklaracje zmiennych lokalnych; instrukcje (w tym podstawienie

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

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

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

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

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if

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

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

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

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

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 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

LISTA 5. C++ PETLE for, while, do while

LISTA 5. C++ PETLE for, while, do while WSTEP DO INFORMATYKI I PROGRAMOWANIA LISTA 5. C++ PETLE for, while, do while Zadanie. Przeanalizuj działanie poniższego programu. cout

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje

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

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu

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

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

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

PROGRAMOWANIE W C++ ZADANIA

PROGRAMOWANIE W C++ ZADANIA PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

Instrukcja standardowa Writeln

Instrukcja standardowa Writeln Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu

Bardziej szczegółowo

Język C zajęcia nr 5

Język C zajęcia nr 5 Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

if (wyrażenie ) instrukcja

if (wyrażenie ) instrukcja if (wyrażenie ) instrukcja Jeśli wartość wyrażenia jest różna od zera, to jest wykonywana instrukcja, jeśli wartość wyrażenia jest równa 0, to dana instrukcja nie jest wykonywana Wyrażenie testowe podajemy

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

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

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

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 1 Podstawy programowania 2 Temat: Wprowadzenie do wskaźników Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Rysunek przedstawia najważniejszą różnicę pomiędzy zmiennymi,

Bardziej szczegółowo

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std; Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Algorytmy w teorii liczb

Algorytmy w teorii liczb Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,

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

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie. CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)

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

Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu

Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Wrocław, dn 19 kwietnia 2006 roku Czas trwania zajęć: 90 minut, przedmiot: informatyka Temat lekcji:

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

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

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

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty. Algorytm Euklidesa Algorytm ten, jak wskazuje jego nazwa, został zaprezentowany przez greckiego matematyka - Euklidesa, żyjącego w w latach około 300r. p.n.e., w jego podstawowym dziele pt. Elementy. Algorytm

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 2. Zmienne i stałe Przykłady 2.1. Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 5 int a = 281; int b = 117; 7 8 cout

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

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 - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Pętla while. Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko

Pętla while. Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko Pętla while Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Uruchom przeglądarkę internetową (najlepiej Google Chrome). 2. Wejdź na stronę kółka atinea.pl/kolko i otwórz edytor programów. 3.

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

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

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

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

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

Przypomnienie wiadomości dla trzecioklasisty C z y p a m i ę t a s z?

Przypomnienie wiadomości dla trzecioklasisty C z y p a m i ę t a s z? Przypomnienie wiadomości dla trzecioklasisty C z y p a m i ę t a s z? Liczby naturalne porządkowe, (0 nie jest sztywno związane z N). Przykłady: 1, 2, 6, 148, Liczby całkowite to liczby naturalne, przeciwne

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

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

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

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Sub Hasla1() Dim wzor_hasla As String Dim haslo As String Dim adres

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

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

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

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

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 3

Programowanie komputerowe. Zajęcia 3 Programowanie komputerowe Zajęcia 3 Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest

Bardziej szczegółowo

Programowanie obiektowe - zadania

Programowanie obiektowe - zadania Programowanie obiektowe - zadania Elementy języka Java Zad.1. Napisz program, który sprawdza, czy dana liczba całkowita jest parzysta. Zad.2. Napisz program, który sumuje dane dwie liczby tylko w przypadku,

Bardziej szczegółowo

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; } Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo

Bardziej szczegółowo