Struktura i podstawowe instrukcje programu. Środowisko tworzenia programów. 1. Tworzenie i kompilacja z wiersza poleceń. 1. Przykładowy program.



Podobne dokumenty
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Programowanie w języku Python. Grażyna Koba

Programowanie w języku C++ Grażyna Koba

Język programowania PASCAL

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

1 Podstawy c++ w pigułce.

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

Pascal - wprowadzenie

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Programowanie w Turbo Pascal

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

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

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

1 Podstawy c++ w pigułce.

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

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Wstęp do programowania. Różne różności

Języki programowania zasady ich tworzenia

LibreOffice Calc VBA

Podstawy Programowania C++

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

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

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

Wstęp do programowania

KURS PASCAL A. 1.Wprowadzenie

Pliki. Operacje na plikach w Pascalu

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

Lekcja 6: Pascal. Procedura i funkcja

OPERACJE NA PLIKACH. Podstawowe pojęcia:

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

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Język ludzki kod maszynowy

Algorytmy od problemu do wyniku

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Instrukcja standardowa Writeln

ForPascal Interpreter języka Pascal

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Algorytm. a programowanie -

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

2 Przygotował: mgr inż. Maciej Lasota

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Programowanie RAD Delphi

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Zapisywanie algorytmów w języku programowania wysokiego poziomu

Zasady Programowania Strukturalnego

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE

Algorytmika i Programowanie VBA 1 - podstawy

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

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

Algorytmy i struktury danych

Podstawy programowania

Wykład PASCAL - Pliki tekstowe

Elementy języków programowania

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

ALGORYTMY I PROGRAMY

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.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Cw.12 JAVAScript w dokumentach HTML

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Programowanie komputerowe. Zajęcia 1

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Interpreter - EasyCompile

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

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Języki skryptowe w programie Plans

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

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

Podstawy Programowania

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

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

Proste programy w C++ zadania

Metody numeryczne Laboratorium 2

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Podstawy programowania w języku C

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Wstęp do programowania. Wykład 1

Warsztaty dla nauczycieli

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Visual Basic for Applications. Wstęp

Część 4 życie programu

Wstęp do Programowania Lista 1

Informatyka 1. Przetwarzanie tekstów

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

Rekurencja (rekursja)

Transkrypt:

/ PROGRAMOWANIE / PROGRAMOWANIE Jak powstaje program komputerowy?. Etapy tworzenia programu. Algorytm Program (kod) źródłowy Kompilacja Plik binarny Łączenie (konsolidacja) Program (kod) wynikowy Rys. A. Od algorytmu do gotowego programu. (.pas,.pp,.c,.cpp, ) * (.ppw,.h, ) (.ow,.obj,.o, ) Binarne pliki nagłówkowe, moduły (.ow,.aw,.o,.a,.obj,.lib, ) (.exe, ) Języki niskiego poziomu (ang. low-level language) zapisane w postaci zdefiniowanych symboli (ang. assembly language) i ustalonej składni odpowiedniki rozkazów procesora; przejście do postaci maszynowej umoŝliwia program tłumaczący tzw. asembler. Języki wysokiego poziomu (ang. high-level language) rozbudowane pod względem składniowym instrukcje (słowa kluczowe, operatory, ) z których kaŝda odpowiada zwykle większej liczbie rozkazów procesora; spośród dość duŝej ilości moŝemy wyróŝnić: C, C++, Pascal, FORTRAN (FORmula TRANslator), COBOL (COmmon Business Oriented Language), ALGOL (ALGOrythmic Language, ALGebraic Oriented Language), Basic (Beginner s All-purpose Symbolic Instruction Code), ; Java, Java Script, Perl, PHP, - języki internetowe i skryptowe; Delphi, Kylix (Pascal), C++ Builder, Visual C++ (C++), Visual Basic (Basic), - języki wizualne oparte na składni standardowego języka.. Podstawowe pojęcia. a) Kompilacja, interpretacja, translacja. KaŜdy program zapisany w języku niskiego bądź wysokiego poziomu naleŝy przetłumaczyć na język maszynowy. W procesie tym ogólnie nazywanym kompilacją tłumaczone są najpierw wszystkie instrukcje, aby następnie uruchomić cały program. Jeśli jednak mamy do czynienia z sytuacją, w której kaŝda instrukcja jest tłumaczona i zaraz potem wykonywana to taki sposób nazywamy interpretacją. Odpowiednio teŝ określamy programy tłumaczące jako kompilator i interpreter. Obydwa powyŝsze procesy jak równieŝ programy określane są jako translacja (kompilacja lub interpretacja) oraz translator (kompilator lub interpreter). b) Syntaktyka i semantyka. Syntaktyka (składnia) języka programowania to zbiór elementów (słowa kluczowe, pojedyncze lub podwójne znaki, ) oraz reguł stosowanych do tworzenia instrukcji ( zdań ). Jeden prosty błąd w składni uniemoŝliwia przeprowadzenie kompilacji programu. W momencie, gdy składnia jest prawidłowa (kompilacja przebiegła prawidłowo) a jednak program nie daje oczekiwanych wyników mamy do czynienia z niepoprawną semantyką programu. Mówimy wówczas o błędach logicznych programu. * Program (kod) źródłowy zapisany (na podstawie algorytmu) tekst programu przy uŝyciu składni wybranego języka programowania. Program (kod) wynikowy nazywany równieŝ kodem maszynowym lub wykonywalnym, plik zawierający rozkazy (instrukcje, polecenia) gotowe do wykonania przez procesor. Kompilacja (ang. compilation) tłumaczenie kodu źródłowego na kod binarny, którego postać zaleŝy od systemu operacyjnego. Łączenie (ang. link editing, linking) łączenie pliku programu głównego z plikami nagłówkowymi, modułami w wyniku czego, powstaje gotowy do uruchomienia program wynikowy; wszystkie łączone pliki występują w postaci binarnej.. Języki programowania. Wśród wielu istniejących języków programowania moŝemy wyróŝnić kilkanaście z umownym podziałem na poziomy: Język maszynowy przedstawione liczbowo (w kodzie dwójkowym lub szesnastkowym) lub zakodowane znakowo rozkazy gotowe do odczytania i wykonania przez procesor; kaŝdy procesor posiada listę rozkazów (od kilkunastu do kilkuset), które potrafi wykonać. * Przed właściwą kompilacją dokonywana jest tzw. kompilacja wstępna prekompilacja (ang. preprocessing). Jednym z jej zadań jest dołączenie do kodu źródłowego plików nagłówkowych, modułów (.ppw,.h, ) przechowujących deklaracje standardowych funkcji i procedur, z których nasz program będzie korzystał. Innym zadaniem kompilacji wstępnej jest zastąpienie wszelkich napisów (deklarowanych na początku programu jako stałe) ich wartościami.

/ PROGRAMOWANIE / PROGRAMOWANIE Środowisko tworzenia programów. Struktura i podstawowe instrukcje programu.. Tworzenie i kompilacja z wiersza poleceń.. Przykładowy program. Po utworzeniu pliku z kodem źródłowym (w dowolnym prostym edytorze tekstu) wydajemy polecenie uruchomienia kompilatora zewnętrznego według poniŝszego schematu: kompilator program.pas <Enter> Szczegóły (w systemie Windows) mogą przedstawiać się następująco: uruchomienie wiersza poleceń: Start Programy Akcesoria Wiersz polecenia przejście do katalogu z programem: >cd c:\document and Settings\user\Moje Dokumenty\programy <Enter> otwarcie pustego pliku program.pas w edytorze edit: >edit program.pas <Enter> wpisanie kodu źródłowego programu tłumaczenie kodu źródłowego na kod wynikowy (program.exe): >fpc program.pas <Enter> Po wykonaniu powyŝszych poleceń w domyślnym katalogu znajdziemy plik program.exe, który moŝemy uruchomić przez wpisanie nazwy i zatwierdzenie klawiszem <Enter>. Na ekranie powinniśmy zobaczyć efekt działania naszego programu.. IDE zintegrowane środowisko programowania. 0 var x,y: integer; writeln( AUTOKALKULATOR ); write( Podaj pierwszą liczbę: ); readln(x); write( Podaj drugą liczbę: ); readln(y); writeln( Suma:,x+y); writeln( RóŜnica:,x-y); writeln( Iloczyn:,x*y); writeln( Iloraz:,x/y:0:); writeln( Dzielenie całkowite:,x div y); writeln( Reszta z dzielenia:,x mod y); a) Przygotowanie IDE (ang. Integrated Development Environment): (na przykładzie środowiska FreePascal FPC.0.0) - instalacja programu (fpc-.0.0.i-win.exe); - utworzenie w wybranym miejscu (np. na Pulpicie) katalogu do przechowywania własnych plików konfiguracyjnych i tworzonych programów oraz skopiowanie ścieŝki dostępu do tego katalogu; - utworzenie w wybranym miejscu (np. na Pulpicie) oraz konfiguracja właściwości skrótu do programu fp.exe (karta: Skrót - Rozpocznij w: skopiowana wcześniej ścieŝka dostępu oraz Zmień ikonę, karta: Opcje - Opcje wyświetlania: Pełny ekran, karta: Układ - Rozmiar buforu ekranu: Wysokość: ). b) Podstawowe operacje w zintegrowanym środowisku: - otwarcie nowego dokumentu (File New); - otwarcie istniejącego dokumentu (File Open F); - zapisanie dokumentu (File Save F); - zapisanie dokumentu pod inną nazwą (File Save as ); - tłumaczenie, kompilacja programu (Compile Compile Alt+F); - uruchomienie programu (Run Run Ctrl+F); - przechodzenie między okienkami (Window Next/Previous F/Shift+F); - zamknięcie okienka (Window Close Alt+F); - koniec pracy z programem (File Exit Alt+X).. Podstawowe elementy programu. a) Początek () i koniec () programu. b) Deklaracja zmiennych (): Po słówku var rozpoczynającym deklarację umieszczamy nazwy zmiennych (x, y) a następnie określamy typ danych (integer), czyli zakres wartości, jakie będą mogły przyjmować zmienne. Dostępne typy danych liczbowych zawierają poniŝsze tabele. Liczby całkowite Typ Zakres Długość [B] Byte 0.. Shortint -.. Word 0.. Integer -.. Longint -.. Cardinal 0.. Int -, 0.., 0 Qword 0.., 0 Liczby rzeczywiste Typ Zakres* Długość* [B] Single,E-..,E (-) Real (Double),0E-..,E0 (-)

/ PROGRAMOWANIE / PROGRAMOWANIE Extended,E-..,E 0 (-0) Comp -E-+.. E- (-0) c) Wypisywanie tekstu oraz wartości zmiennych lub wyraŝeń na standardowe wyjście, czyli ekran (-,, -). Podejmowanie decyzji instrukcja wyboru IF.. Struktura i działanie instrukcji. d) Odczytywanie danych ze standardowego wejścia, czyli klawiatury (,, ). e) Operatory arytmetyczne: Operator Operatory arytmetyczne Działanie IF warunek THEN instrukcja ELSE instrukcja; T instrukcja warunek N instrukcja + Dodawanie Odejmowanie * MnoŜenie / Dzielenie rzeczywiste div Dzielenie całkowite, np. div = mod Reszta z dzielenia całkowitego, np. mod = IF warunek THEN instrukcja; T instrukcja warunek N f) Średnik (;) na końcu instrukcji oraz kropka (.) na końcu programu. g) Zmiana sposobu wyświetlania liczb rzeczywistych: writeln( Iloraz:,x/y:0:); Jeśli warunek jest prawdziwy to wykonywana jest instrukcja umieszczona za słówkiem THEN (instrukcja), w przeciwnym wypadku warunek nieprawdziwy będzie wykonana instrukcja po słówku ELSE (instrukcja). Część instrukcji od słówka ELSE jest opcjonalna.. Przykładowy program. 0 var l,d,r: integer; writeln( PODZIELNOŚĆ LICZB ); write( Podaj liczbę: ); readln(l); write( Podaj dzielnik: ); readln(d); r:=l mod d; if r=0 then writeln( Liczba PODZIELNA ) else writeln( Liczba NIEPODZIELNA );. Elementy programu. a) Operacja i operator przypisania (:=). W instrukcjach przypisania wartość stojąca po prawej stronie operatora jest przypisywana do zmiennej stojącej po jego lewej stronie. Jeśli po prawej stronie znajduje się wyraŝenie to przed przypisaniem będzie obliczone (np. r:=l mod d).

/ PROGRAMOWANIE / PROGRAMOWANIE b) Operacja i operatory porównania: Operatory relacji Operator Działanie = Równy <> RóŜny < Mniejszy > Większy <= Mniejszy lub równy >= Większy lub równy c) Deklaracja modułów: Moduł to zewnętrzny plik z opisem dodatkowych funkcji. Dołączenie go do tworzonego przez nas programu pozwala na korzystanie z tych funkcji. Moduły dołączamy za pomocą słówka uses, po którym podajemy nazwę modułu. MoŜemy dodać większą ilość modułów rozdzielając ich nazwy znakiem przecinka. Przykład deklaracji modułu oraz uŝycia niektórych jego funkcji poniŝej. uses crt; clrscr; { funkcja do czyszczenia ekranu } textcolor(blue); { funkcja do ustalenia koloru tekstu } Instrukcja wielokrotnego wyboru CASE.. Przykładowy program. 0 0 var x,y: integer; zn: char; writeln( PROSTY KALKULATOR ); write( Podaj pierwszą liczbę: ); readln(x); write( Podaj drugą liczbę: ); readln(y); write( Podaj znak działania (+,-,*,/,d-dziel.całk.,m-reszta : ); readln(zn); case zn of + : writeln( Suma:,x+y); - : writeln( RóŜnica:,x-y); * : writeln( Iloczyn:,x*y); / : writeln( Iloraz:,x/y:0:); d, D : writeln( Dzielenie całkowite:,x div y); m, M : writeln( Reszta z dzielenia:,x mod y); else writeln( Podałeś nieprawidłowy znak ); d) Instrukcja złoŝona: IF r=0 THEN textcolor(red); writeln( Liczba ); end else textcolor(blue); writeln( Liczba ); ĆWICZENIA. Korzystając z instrukcji IF napisz program, który spośród liczb podanych przez uŝytkownika wypisze największą (najmniejszą).. Uporządkuj rosnąco i wypisz na ekran liczby podane przez uŝytkownika.. Opis instrukcji. Instrukcja case umoŝliwia wybór (tutaj spośród sześciu operacji) polecenia w zaleŝności od wartości zmiennej (zn) umieszczonej między słowami case i of. Jeśli zmienna zn przyjmie wartość róŝną od zdefiniowanych (tutaj róŝną od: +,-,*,/,d,d,m,m) wówczas program wykona instrukcję umieszczoną po słówku else. Zakończenie instrukcji case stanowi słówko end. Słowo else i występujące za nim polecenie () są opcjonalne, tzn. mogą nie wystąpić. Zmienna, na podstawie której dokonujemy wyboru moŝe być takŝe liczbą całkowitą (ćwicz. ). Oprócz pojedynczych znaków ( + ) lub grupy znaków oddzielanych przecinkiem ( d, D ) dozwolone jest takŝe stosowanie zakresu (np.: a.. z ).. Typ znakowy. Zmienna zn jest typu char () co oznacza, Ŝe moŝemy w niej przechowywać pojedyncze znaki. W pamięci komputera zmienne tego typu zajmują bajt. ĆWICZENIA. Zastosuj instrukcję CASE w programie wypisującym informacje o ilości dni podanego przez uŝytkownika miesiąca (miesiąc podawany jest w postaci liczb arabskich).. Na podstawie odpowiednich danych oblicz pola, obwody lub objętości wybranych figur geometrycznych (co najmniej trzech).

/ PROGRAMOWANIE 0 / PROGRAMOWANIE Powtarzanie operacji opis instrukcji.. Instrukcja REPEAT. Działanie pętli FOR sprowadza się do wykonania instrukcji umieszczonej po słówku DO tyle razy ile jest kolejnych wartości od wp do wk. Wartości te zmieniają się automatycznie o, rosnąco - jeśli uŝyjemy słówka TO (), malejąco jeśli uŝyjemy słówka DOWNTO (). Jeśli zmienna sterująca i jest typu znakowego (char) to przyjmuje ona kolejne wartości z zestawu znaków ASCII. REPEAT instrukcja(-e); UNTIL warunek; (true /false) T instrukcja(-e) warunek N Działanie pętli rozpoczyna się od wykonania wszystkich instrukcji zawartych między słówkami repeat i until. Następnie sprawdzany jest warunek. Jeśli okaŝe się nieprawdziwy (false) to program wraca na początek pętli i wykonuje instrukcje ponownie. Dzieje się tak do momentu, kiedy warunek okaŝe się prawdziwy (true). Następuje wówczas przejście do kolejnej instrukcji programu (umieszczonej za pętlą REPEAT. Ze względu na sprawdzanie warunku na końcu pętli, instrukcja(-e) zawarte pomiędzy słówkami repeat i until wykonane zostaną co najmniej jeden raz.. Instrukcja WHILE. WHILE warunek DO instrukcja(-e); (true /false) T warunek N instrukcja(-e) Tym razem działanie pętli rozpoczyna się od sprawdzenia warunku. Jeśli jest prawdziwy (true) wykonywane są instrukcje umieszczone po słówku DO i program wraca do ponownego sprawdzenia warunku. W przeciwnym wypadku warunek nieprawdziwy (false) - pętla kończy działanie i program przechodzi do dalszej części programu. Ze względu na sprawdzanie warunku na początku petli instrukcja(-e) umieszczone po słówku DO mogą być zupełnie pominięte.. Instrukcja FOR. FOR i:=wp TO wk DO instrukcja; () FOR i:=wk DOWNTO wp DO instrukcja; ()

/ PROGRAMOWANIE / PROGRAMOWANIE Powtarzanie operacji w programach.. Powtórzenie wykonania programu w zaleŝności od decyzji uŝytkownika. 0 var odp: char; REPEAT instrukcja(-e); write( Koniec programu?(t/n): ); readln(odp); UNTIL (odp= t ) or (odp= T ). Największa i najmniejsza spośród wprowadzanych liczb. 0 var liczba, max, min: integer; writeln( MAX I MIN ); writeln( Wprowadzaj liczby ( 0 kończy wprowadzanie): ); readln(liczba); max:=liczba; min:=liczba; WHILE liczba<>0 DO if liczba>max then max:=liczba else if liczba<min then min:=liczba; readln(liczba); writeln( Max =,max); writeln( Min =,min);. Suma i średnia arytmetyczna. 0 var s,liczba: integer; i: byte; writeln('suma I SREDNIA ARYTMETYCZNA'); writeln(' Wprowadzaj kolejne liczby ("0" - konczy wprowadzanie'); s:=0; i:=; write('x',i,' = '); readln(liczba); WHILE liczba<>0 DO s:=s+liczba; i:=i+; write('x',i,' = '); readln(liczba); writeln(' Suma = ',s); writeln('srednia = ',s/i:0:);. Wypisywanie liczb. a) liczby parzyste i nieparzyste: FOR i:= TO 00 DO write(i*, ); FOR i:=0 DOWNTO DO write(i*-, ); b) liczby Fibonacciego: 0 var n,i: integer; a,b,s: longint; writeln('liczby FIBONACCIEGO'); write('podaj ilosc liczb do wypisania: '); readln(n); a:=0; b:=; write(b,' '); FOR i:= TO n- DO s:=a+b; write(s,' '); a:=b; b:=s;. Rysowanie choinki z gwiazdek. 0 var i,wrs,gw: integer; writeln('choinka Z GWIAZDEK'); write('podaj wysokosc (ilosc wierszy) choinki: '); readln(wrs); FOR i:= TO wrs DO FOR gw:= TO i DO write('*');. Znaki i ciągi znaków. a) litery alfabetu oraz znaki kodu ASCII: var z: char; i: byte; FOR z:= a TO z DO write(z, );

/ PROGRAMOWANIE / PROGRAMOWANIE FOR i:=0 TO DO write(char(i), ); b) tekst rozstrzelony : Przechowywanie danych w tablicach.. Definicja i rodzaje tablic. var s: string; i: byte; writeln('tekst ROZSTRZELONY'); writeln('wpisz dowolny tekst (do 0 znakow):'); readln(s); FOR i:= TO length(s) DO write(s[i],' '); Tablica to zbiór danych tego samego typu (mat. wektor, macierz). Deklaracje oraz wpisywanie wartości do komórek tablicy przedstawiają poniŝsze przykłady. a) Tablice jednowymiarowe. var tl: array[..] of byte; tl[]:=; tl var tz: array[..] of char; tz[]:= a ; tz a ĆWICZENIA. Podaj ile liczb zostanie wypisanych w zadaniu a.. Korzystając z przykładu umieszczonego w punkcie, napisz program rysujący pełną choinkę.. var tz: string[]; tz:= ala ; tz a l a var ts: array[..] of string[]; ts[]:= ola ; tz o l a write( Imie: ); readln(ts[]); Dla ułatwienia pracy z tablicami często umieszcza się wielkość tablicy pod określoną nazwą w części definicji stałych, np.: const max=0; var tl: array[..max] of integer; b) Tablice dwuwymiarowe. var dtl: array[..,..] of integer; dtl[,]:=; dtl[,]:=-; -. Wartości początkowe tablic. Wartości początkowe elementom tablic moŝemy nadać w części deklaracji stałych, np.: const tl: array[..] of byte = (,,,,); const samogloska: array[..] of char = ( a, e, i, o, u, y ); const dtl: array[..,..] of byte = ((,,),(,,)); Wartości te mogą być zmieniane w trakcie działania programu w odróŝnieniu od stałych samodzielnych, np.: const max=; gdzie stała max nie moŝe przyjmować w trakcie działania programu innych wartości.

/ PROGRAMOWANIE / PROGRAMOWANIE Podprogramy procedury i funkcje. Moduł zbiór procedur, funkcji oraz zmiennych.. Ogólna definicja procedury i funkcji. PROCEDURA procedure nazwa_p(parametry); deklaracje; instrukcje; FUNKCJA function nazwa_f(parametry):typ_wyniku; deklaracje; instrukcje; nazwa_f:=wyraŝenie; Zarówno w przypadku procedury jak i funkcji wystąpienie parametrów (argumentów) oraz ewentualnych deklaracji jest opcjonalne.. Definicja i wywołanie podprogramów. 0 0 uses crt; procedure start(t:string[0]); clrscr; writeln(t); function silnia(n:byte):longint; var s:longint; i:byte; s:=; for i:= to n do s:=s*i; silnia:=s; var liczba: byte; start('obliczenia'); write('podaj liczbę naturalną: '); readln(liczba); writeln( Silnia z,liczba, =,silnia(liczba)); Parametry podawane przy definicji procedury lub funkcji nazywamy parametrami formalnymi (,), natomiast parametry podane w momencie wywołania nazywamy parametrami aktualnymi (,). Jeśli deklarujemy zmienne w procedurze lub funkcji to nazywamy je zmiennymi lokalnymi; zachowują one swoje znaczenie tylko w obrębie danej procedury lub funkcji. Zmienne deklarowane poza podprogramami nazywane są zmiennymi globalnymi i obowiązują zarówno w programie głównym jak i we wszystkich procedurach i funkcjach.. Definiowanie modułu. 0 0 unit modul; interface uses crt; procedure start(t:string[0]); function silnia(n:byte):longint; function potega(x,y:byte):longint; implementation procedure start(t:string[0]); clrscr; writeln(t); function silnia(n:byte):longint; var s:longint; i:byte; s:=; for i:= to n do s:=s*i; silnia:=s; function potega(x,y:byte):longint; var p:longint; i:byte; p:=x; for i:= to y- do p:=p*x; potega:=p; end. Po wpisaniu treści modułu zapisujemy go pod taką nazwą, jaką umieściliśmy po słówku unit (program sam dopisze rozszerzenie.pas). Następnie dokonujemy kompilacji. Jeśli nie będzie błędów po tej operacji zostanie utworzony na dysku plik o rozszerzeniu.ppu. Jest to standardowe rozszerzenie nazw plików modułów środowiska FreePascal (w środowisku TurboPascal skompilowane moduły otrzymują rozszerzenie.tpu). Od tego momentu moduł jest gotowy do uŝycia. Modułu nie uruchamiamy poniewaŝ nie jest on programem tylko dołączamy do wybranego programu przy uŝyciu polecenia uses. PoniŜej sposób dołączenia modułu do programu i korzystanie z zawartych w nim podprogramów.. Program z wykorzystaniem modułu. uses modul; var liczba,pot: byte; start('obliczenia'); writeln( SILNIA ); write('podaj liczbę naturalną: '); readln(liczba); writeln( Silnia z,liczba, =,silnia(liczba)); writeln( POTĘGOWANIE ); write('podaj liczbę naturalną: '); readln(liczba);

/ PROGRAMOWANIE / PROGRAMOWANIE 0 write( Podaj potęgę: ); readln(pot); writeln(liczba, do potęgi,pot, =,potega(liczba,pot)); Pliki odczytywanie i zapisywanie danych.. Podstawowe operacje na plikach tekstowych. 0 var d,w: text; l: integer; dodatnie, ujemne: byte; writeln('zliczanie DODATNICH I UJEMNYCH LICZB'); assign(d, dane.txt ); assign(w, wyniki.txt ); reset(d); rewrite(w); while not eof(d) do readln(d,l); if l>=0 then dodatnie:=dodatnie+ else ujemne:=ujemne+; writeln(w, Liczb dodatnich:,dodatnie); writeln(w, Liczb ujemnych:,ujemne); close(d); close(w); W programie deklarujemy zmienne typu text (), aby później skojarzyć je z właściwymi plikami za pomocą instrukcji assign (,). Następnie otwieramy plik do odczytywania danych reset () oraz tworzymy nowy plik do zapisywania danych rewrite (). W trakcie odczytywania danych z pliku stosujemy standardową instrukcję readln (), której pierwszym parametrem jest odpowiednia zmienna plikowa. To samo dotyczy instrukcji zapisywania danych do pliku writeln (,). W trakcie wykonywania operacji na plikach przydatną moŝe okazać się instrukcja sprawdzająca osiągnięcie końca pliku eof (0). Funkcja ta zwraca wówczas wartość true. Po ukończeniu wszelkich operacji na plikach zamykamy je poleceniem close (,).