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

Podobne dokumenty
Przykład programu Rozwiązanie równania postaci:

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

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

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Programowanie Delphi obliczenia, schematy blokowe

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

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

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}

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

Pascal - wprowadzenie

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

Wstęp do programowania

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

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

Informatyka 1. Przetwarzanie tekstów

Algorytmy i struktury danych

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

Język programowania PASCAL

Algorytmika i Programowanie VBA 1 - podstawy

Podstawy programowania

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

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

PASCAL WPROWADZENIE. 1. Uruchom kompilator. 2. Struktura programu w Pascalu. 3. Komentarze

ForPascal Interpreter języka Pascal

Zasady Programowania Strukturalnego

Wprowadzenie do języka Pascal

Programowanie w Turbo Pascal

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

Wprowadzenie do programowania w VBA

Instrukcja standardowa Writeln

Programowanie w języku Pascal

Wykłady 3-5. Typy danych w Pascalu. Skalarne typy danych. Działania na typach skalarnych. Funkcje standardowe. Funkcje standardowe

Lekcja 6: Pascal. Procedura i funkcja

Podstawy Programowania C++

Kompendium wiedzy z Pascala

Wykład 2 Składnia języka C# (cz. 1)

MATERIAŁY DO ZAJĘĆ II

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Programowania w Javie

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

Kurs Turbo Pascal 7.0

Programowanie w języku Python. Grażyna Koba

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Podstawy programowania

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

Algorytmy i struktury danych. wykład 1

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

Microsoft IT Academy kurs programowania

Programowanie RAD Delphi

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

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

Podstawy programowania

1 Podstawy c++ w pigułce.

Delphi Laboratorium 3

Algorytmy i struktury danych

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Programowanie obiektowe

KURS PASCAL A. 1.Wprowadzenie

Język ludzki kod maszynowy

Podprogramy. Procedury

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

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

Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia

Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR:

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Zadanie analizy leksykalnej

Visual Basic for Application (VBA)

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

Interpreter - EasyCompile

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Informatyka I. Wyk lad II Algorytm, podstawowe notacje, typy danych i wyrażenia

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

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

Języki skryptowe w programie Plans

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

Elementy języków programowania

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

1 Podstawy c++ w pigułce.

Wprowadzenie komentarzy do programu

Kiedy i czy konieczne?

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

Języki programowania zasady ich tworzenia

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

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

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

Podstawy programowania w języku C

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

1. Język Pascal Program

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Transkrypt:

Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu identyfikatorem zmiennej moŝe być tylko taki ciąg znaków, który zaczyna się od litery, a składa się z liter, cyfr i znaku podkreślenia. Typy proste Całkowite: typ zakres sposob zapamietania shortint integer -32768 32767 2 bajty (z bitem znaku) longint byte word Rzeczywiste typ zakres liczba cyfr rozmiar 38-37 znaczacych w bajtach real 2.9*10..1.7*10 11-12 6 single double extended comp Funkcje standardowe o wartościach całkowitych: a) o argumencie całkowitym: abs(i) moduł 1i1 sqr(i) kwadrat i succ(i) następnik i+1 pred(i) poprzednik i-1 b) o argumencie rzeczywistym: round(r) najbliŝsza liczba całkowita (zaokrąglenie) round(4,8) = 5 round(-4,8)=-5 trunc(r) najbliŝsza całkowita w kierunku zera (obcięcie) trunc(4,8) = 4 trunc(-4,8)=-4 Funkcje standardowe o wartościach rzeczywistych: abs(x) 1x1 sqr(x) x sqrt(x) rx ln(x) lnx exp(x) e sin(x) sinx cos(x) cosx arctan(x) arc tgx Frac(x) cześć ułamkowa argumentu

Int(x) cześć całkowita argumentu pi zwraca wartość pi=3.141592653589793238 Na wartościach całkowitych mogą być wykonane następujące operacje: + dodawanie - odejmowanie * mnoŝenie div dzielenie całkowite mod branie reszty z dzielenia całkowitego Operacje na wartościach rzeczywistych: + dodawanie - odejmowanie * mnoŝenie / dzielenie Typ znakowy Zbiorem wartości tego typu (mającego identyfikator CHAR) jest zbiór znaków, uporządkowany zgodnie z rozszerzonym zbiorem znaków ASCII. Stała znakową jest kaŝdy napis znakowy o długości 1. Np.: a A - 8 $ Typ logiczny UŜywany identyfikator typu: BOOLEAN. Tylko dwie wartości: FALSE i TRUE. Wartości wszystkich typów moŝna porównywać operatorami relacji: < = > <= >= <> Oba argumenty muszą być typów zgodnych. Dopuszczalne jest porównywanie całkowitych z rzeczywistymi. Wynik relacji jest typu boolean. W wyraŝeniach mogą występować elementy róŝnych typów, jednak poprawne wyraŝenia to takie, w których kaŝdy z operatorów działa na argumentach o właściwym typie (np. oba argumenty operatora div są całkowite). Typem wyraŝenia nazywamy typ wartości wynikowej wyraŝenia. Kolejność wykonywania działań wskazują nawiasy, a poza nimi priorytet operatorów - tj. ustalone reguły pierwszeństwa. Priorytet operatora zaleŝy od klasy, do której naleŝy dany operator. Poznane dotychczas operatory nalezą do dwóch klas: - operatory multiplikatywne: * div mod / - operatory addytywne: + - Operatory multiplikatywne maja pierwszeństwo przed addytywnymi. Operacje o tym samym priorytecie realizowane są w kolejności zapisu (od lewej do prawej).

Struktura programu: Program nazwa; { nagłówek moŝna opuścić } { deklaracje w skład których mogą wchodzić sekcje deklaracji: - stałych rozpoczynające się słowem: CONST - zmiennych VAR - typów TYPE - procedury PROCEDURE - funkcji FUNCTION } { instrukcje } end. Przykład Program przykład; Const dziesiec = 10; { uŝywany znak = } Type calkowite = Integer; { uŝywany znak = } Var a, b : real; { uŝywany znak : } i : integer; k: Calkowite; znak : char; Begin Read(b, i); a := B; K:=I*(dziesiec div 10); ZNAK:= = ; Writeln( Liczba a, Znak, a, Liczba k, znak, k); End. W części deklaracyjnej mogą pojawić się wyłącznie deklaracje. W części wykonawczej (pomiędzy słowami i end) tylko instrukcje. Porównanie instrukcji: Przypisanie Pascalu stosowany jest dwuznak: :=. Zmienna := WyraŜenie Typy Zmiennej i WyraŜenia muszą być zgodne (w sensie przypisania). Dopuszczalne jest przypisanie wartości całkowitej pod zmienną rzeczywistą. Dokonywana jest konwersja.

Czytanie Read( lista zmiennych); Readln; Readln( lista zmiennych); Instrukcje Readln wymagają potwierdzenia danych klawiszem Enter. MoŜna wczytywać dane typów całkowitych, rzeczywistych, char i string. Typ napisowy string SłuŜy do przechowywania wartości łańcuchowych (w standardzie do 255 znaków). Np. Var nap : string; { długość domyślna 255 znaków } Lan : string[10]; { ograniczenie długości łańcucha do 10 znaków } Znak : char..... nap := Ala ma kota ; { UŜycie stałej napisowej } readln(lan); znak := nap[1]; writeln( Litera A=, znak, Litera m=, nap[5], Napis =, nap); Wyprowadzanie Write( lista wyraŝeń ); Writeln( lista wyraŝeń ); Instrukcja Writeln kończy wyprowadzanie znakiem nowej linii. Lista wyraŝeń moŝe zawierać wyraŝenia typów prostych i string.

C Instrukcja grupująca { <zestaw instrukcji> } Pascal <zestaw instrukcji> end Instrukcje warunkowe if ( wyraŝenie) instrukcja1; if wyraŝenie then instrukcja1; lub if ( wyraŝenie ) instrukcja1; else instrukcja2; switch ( wyraŝenie_całkowite ) { case wartość_1 : instrukcja_1; break;; case wartość_2 : instrukcja_2; break;;... default : instrukcja; break; } if wyraŝenie then instrukcja1 else instrukcja2 case wyraŝenie_proste of wartość_1 : instrukcja_1; wartość_2 : instrukcja_2;... else instrukcja Instrukcje pętli do instrukcja while ( wyraŝenie ) while ( wyraŝenie ) instrukcja for ( inst_inicjujace ; wyr_test ; inst_krok ) instr_petli ; repeat instrukcje until warunek_końca; while wyraŝenie do instrukcja for zmienna := wyr_pocz to wyr_kon do instrukcja; lub: for zmienna := wyr_pocz downto wyr_kon do instrukcja; Oba języki uŝywają skoków: goto, break, continue i exit o znaczeniu i składni podobnych. Przykład uŝycia: var i: integer; for i:=1 to 10 do if (i>2) and (i<9) then continue; write(i, ); {1 2 9 10}

var i: integer; for i:=1 to 10 do write(i, ); if (i>2) and (i<9) then break; {1 2} Definiowane typy proste w pascalu. Typ okrojony: [ wartosc_dolna.. wartosc_gorna ] Typ taki obejmuje wartości określone zakresem. Oba ograniczenia muszą być jednakowego typu prostego nie rzeczywistego. Typ wyliczeniowy ( stała1, stała2,... ) Stałe muszą być identyfikatorami. Typ zawiera tyle wartości ile jest wymienione w deklaracji. Deklaracja ta słuŝy jednocześnie do zdefiniowania stałych. Deklaracja tablic Obowiązująca składnia opisu typu tablicowego: Array [ typ_prosty1,... ] of typ_elementu; Tablica moŝe mieć wiele wymiarów. Przykłady Type Var Type Var Tab1 = array [1.. 10] of char; Tab2 = array[ 1.. 10, 1..10 ] of integer; Nap: array [ 1..20 ] of Tab1; X : array [ 1.. 10 ] of real; Y1, Y2 : Tab2; Kolor: (czarne, czerwone, niebieskie, zielone, biale ) Indeks: Kolor; I: Integer; Tab: array[kolor] of integer; RGB: array [czerwone.. zielone ] of integer;

Wykorzystanie np: i:=0; for Indeks:= czarne to biale do Inc(i); Tab[Indeks]:=i; writen(tab[czarne]): {1} writen(tab[inc(czarne)]): {2} writen(tab[dec(biale)]): {4} Deklaracja rekordów Rekord jest odpowiednikiem struktury w języku C. record nazwa_pola1 : typ1; nazwa_pola2 : typ2;... Procedury i funkcje W pascalu funkcje nie przekazujące wyniku (w języku C typu void) nazywa się procedurami. Składnia funkcji i procedury function nazwa(lista_parametrów) : typ_wyniku; deklaracje_lokalne instrukcje nazwa := wyraŝenie; procedure nazwa(lista parametrów); deklaracje_lokalne instrukcje Parametry podprogramów mogą być przekazywane: - przez wartość, - przez zmienną. Zabiegi wykonywane dodatkowo w momencie przekazywania parametrów z segmentu

wywołującego do podprogramu są inne w przypadku przekazywania przez wartość i przez zmienna. Przekazywanie przez wartość powoduje wykonanie dodatkowych niejawnych instrukcji przypisań typu: parametr formalny := parametr aktualny. Przekazywanie przez zmienną powoduje skutki równoznaczne z zastąpieniem w tekście instrukcji złoŝonej procedury nazw parametrów formalnych odpowiednimi nazwami parametrów aktualnych. Deklaracja parametru przez zmienną jest poprzedzona słowem var. Taka deklaracja jest stosowana dla parametrów przenoszących wyniki obliczone w procedurze. Przykład procedure oblicz(x: real; var y: real); x:=x+1; y:=x; var a, b: real; a:=5; oblicz(a, b); writeln(a, b); end. Program powyŝszy wyświetli liczby: 5 i 6. PoniewaŜ parametr x jest wiązany przez wartość to jego zmiany wewnątrz procedury nie przenoszą się do programu głównego. Inaczej parametr y wiązany przez zmienną.