Wykład 2 struktura programu elementy języka typy zmienne

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

PASCAL (3) dr Anna Kwiatkowska.
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE
OBJECT PASCAL Marzena Szałas.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 3: Podstawowe elementy języka.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 5: Typy porządkowe, wyliczeniowe i okrojone. Definiowanie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Katarzyna Szafrańska kl. II TI
Kurs Pascala – spis treści
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Ogólne jednostki programowe 1
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE WYKŁAD 2
Programowanie w języku Fortran 95
Słowa kluczowe oraz nazwy obiektów i klas rozpoczynaj od dużej litery np. Loop, Dim, FileStream Rozpoczynaj nazwę zmiennej od małej litery stosując styl.
Podstawy C# Grupa .NET PO.
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Struktura programu w Turbo Pascalu.
Procedury i funkcje.
Wykład 5 – typy – stałe – tablice – elementy grafiki.
1. Język ObjectPascal - typ tablicowy (array)
Programowanie w środowisku DELPHI
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
Jerzy Kotowski Politechnika Wrocławska
Programowanie strukturalne i obiektowe
Historia Języka C Idea C pochodzi od języka BCPL, opracowanego przez M. Richardsa 1970 – język B stworzony przez K. Thompsona Język C wprowadzono po raz.
Podstawy informatyki 2013/2014
PROGRAMOWANIE KOMPUTERÓW
Informatyka MPZI Wykład 4 Podprogramy Pliki Typ zbiorowy Rekurencja.
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Wykład 1 Języki programowania Środowisko Delphi Komponenty
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Wykład 10 typ zbiorowy rekurencja.
1 Wykład 7 sortowanie BitButton format tekstu rysunki typ rekordowy.
Podstawy języka Instrukcje - wprowadzenie
Informatyka 2 MPDI Wykład 9 Delphi tablice, rekordy.
Zmienne i typy danych w C#
Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Podstawowe struktury danych. Typy danych.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Wykład 1 Informatyka II MPZI2 sem.letni. Tablice Tablice deklarujemy array [ lista typów indeksów ] of typ bazowy (składowych) np. var t1,t2:array [1..5,
Dane, zmienne, instrukcje
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Wykład 2 struktura programu elementy języka typy zmienne wyrażenia arytmetyczne funkcje standardowe

Modularna struktura programu składowe struktury: program główny (projekt) – rozszerzenie dpr moduł (jednostka kompilowalna) – plik pas – kod źródłowy opisujący jeden formularz podprogram (procedura, funkcja) Po kompilacji – plik exe przykład – zapis projektu 1.2

przykład okno kodu układ: program, moduł - jednopoziomowy podprogram - hierarchiczny struktura programu, modułu, podprogramu: - nagłówek - opis obiektów /część deklaracyjna, opisowa - zapis akcji /część operacyjna, akcyjna składowe: - deklaracje, definicje - instrukcje (akcje wykonywane) - komentarze (- dyrektywy) przykład okno kodu 1.3

ogólna struktura programu (podprogramu): unit nazwa; interface implementation Tu procedury end. [program, function] procedure nazwa(parametry); // nagłówek { inny dłuższy ................................................ komentarz } uses ... // deklaracja modułów const ... // definicja stałych type ... // definicja typów var ... // deklaracja zmiennych begin instrukcja_1; // operacje instrukcja_2; . . . end. część opisowa – deklaracje i definicje! część akcyjna – instrukcje do wykonania odwołania do składowych obiektów (właściwości, metody) - kwalifikowane Application.Terminate; Nadawca.Dane.Color := clGreen; Odbiorca.Wynik.Text := Nadawca.Dane.Text; Odbiorca.Wynik.Clear; Będziemy używać dla komponentów, ale OBIEKTY dokładniej poznamy później 1.4

Język DELPHI - ObjectPascal - podstawowe elementy Alfabet języka symbole podstawowe (pascalowe) Słowa kluczowe nazwy zastrzeżone – np. begin, string, var, type, array, record, for, if, while, repeat i inne Identyfikatory (nazwy) - także wprowadzone przez programistę ciąg liter (także _ ) lub cyfr, rozpoczynający się od litery, różny od słowa kluczowego - nierozróżnialne duże i małe litery !!! Nie wolno spacji!!! Stałe numeryczne - liczby całkowite - ciąg cyfr, ewentualnie poprzedzonych przez + - rzeczywiste - zapis zwykły  m.n (UWAGA: koniecznie KROPKA dziesiętna) - zapis wykładniczy (naukowy) jak Excelu, ale KROPKA DZIESIĘTNA!!! Stałe łańcuchowe – tekstowe - ciąg znaków w apostrofach, np. 'Pan Tadeusz' Stałe logiczne – true false 5

var lista_nazw_zmiennych: integer; lista_nazw_zmiennych: real; Zmienne całkowite i rzeczywiste (proste) Zmienne przechowują dane – muszą być deklarowane ich nazwy (identyfikatory) i przyporządkowanie do typu Postać deklaracji zmiennych typ1, typ2... to typy standardowe lub definiowane var lista nazw zmiennych: typ1; lista nazw zmiennych: typ2; ....; Postać deklaracji zmiennych: var lista_nazw_zmiennych: integer; lista_nazw_zmiennych: real; np.: var i, j, k: integer; a, b, suma: real; integer, real to typy standardowe Utworzonym zmiennym przydzielana jest pamięć – o wielkości zależnej od typu zmiennej ! Deklaracje ułatwiają kontrolę poprawności kodu i kontrolę wartości zmiennych – przynależności do typu

Typy danych - standardowe Typy liczbowe całkowite: Integer i inne (Byte, Word ,Int64 ...) (zobaczyć w Help) – różny zakres i zajętość pamięci: 4 bajty dla typu integer zakres: -2147483648..2147483647 czyli -231 .. 231-1 rzeczywiste podstawowy Real 5.0 x 10^-324 .. 1.7 x 10^308 i ujemne , 15-16 CYFR ZNACZĄCYCH pamięć - 8 bajtów i inne: Single, Double, Extended - różnią się też zakresem Typ znakowy: Char - 1 znak – 1 bajt Typ tekstowy (łańcuchowy): String (jak AnsiString ~2^31 znaków) można deklarować np. String[20] ograniczając długość – tablica (wektor) znaków Typ logiczny: Boolean (wartości true i false)

Przykład var x:real; y:integer; napis: string; litera:char; begin x:= 2.5; y := -100; napis:= 'To jest napis'; litera :='A'; y := y+3; .... end blok deklaracji nadawanie wartości w części wykonawczej

Typy definiowane explicit Typ wyliczeniowy Definicja: ( lista wartości ) np. var dzien : (po, wt, sr, cz, pi, so ,ni); Typ okrojony Typ okrojony wyznacza podzbiór dowolnego typu porządkowego (całkowitoliczbowy, char, wyliczeniowy, boolean) zwanego typem bazowym: w1 .. w2   gdzie w1 <= w2 var dni : 1..100; znaki : 'a' .. 'z'; Inne (strukturalne) poznamy potem – tablicowy, rekordowy, plikowy

Typy można definiować, a potem je wykorzystać używać w definicji zmiennej Postać definicji typu: type dni = (po, wt, sr, cz, pi, so ,ni); UWAGA! znak = .. a teraz deficja zmiennej tego typu var dzien : dni; UWAGA! znak : Wyjaśnienie: dni to nazwa typu, dzien to identyfikator (nazwa) zmiennej, tylko w niej można przechowywać wartości i przypisywać dane, np. dzien := wt; //to jest instrukcja wykonywana (przypisania, nadania wartości) Inne (strukturalne) poznamy potem : tablicowy, rekordowy, plikowy, obiektowy

Wyrażenie arytmetyczne Postać - sensowna kombinacja – podobnie jak w Excelu: argumenty: - stałe - ich wartości - zmienne - ich wartości - wywołania funkcji - ich wartości operatory - jednoargumentowe - dwuargumentowe nawiasy - kolejność operacji wyrażenie  stała wyrażenie  identyfikator zmiennej wyrażenie  funkcja (wyrażenie) wyrażenie  wyrażenie operator wyrażenie 12

Operatory: Operator Znaczenie Grupa + powielenie znaku jednoargumentowe - zmiana znaku * mnożenie multiplikatywne / dzielenie rzeczywiste div dzielenie całkowite mod reszta z dzielenia całkowitego dodawanie addytywne odejmowanie Zasady te poznaliśmy w Excel'u ale uwaga: nie ma tu znaku ^ jako operatora potęgowania 13

kolejność wykonywania operacji nawiasy - w pierwszym rzędzie ważność operatorów: jednoargumentowe multiplikatywne addytywne w grupie jednakowo ważnych - od lewej do prawej funkcje standardowe (predefiniowane) - wywołanie nazwa_funkcji( argument ) lub argumenty, oddzielane przecinkami wartość wyrażenie - rekurencja ogólnie: zawsze nawias typ argumentu i wyniku określony 14

zaokrąglenie do całkowitej typ argumentu abs real/integer wartość bezwzględna   int real część całkowita frac część ułamkowa round integer zaokrąglenie do całkowitej trunc obcięcie do całkowitej maxint maksymalna wartość całkowita stała exp funkcja wykładnicza earg ln logarytm naturalny ln arg arg  0 sqr real integer kwadrat arg2 sqrt pierwiastek kwadratowy arg 0 sin sin arg arg w radianach cos cos arg arctan arctg arg wynik w radianach pi 15

funkcja power (podstawa, wykładnik) - potęga potrzebna deklaracja biblioteki math w sekcji uses modułu formularza uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math; ... procedure TForm1.Button1Click(Sender: TObject); var x:real; begin x:=power(2.1,4.563);

Funkcje dla tekstów Znaczenie Typ funkcji Typ argumentu Przykład Nazwa Typ funkcji Typ argumentu Przykład znak następny succ znakowy succ ('g') 'h' znak poprzedni pred pred(' j ') ' i ' znak o podanym kodzie ASCII chr całkowity chr(49) '1' kod znaku ord ord('1') 49 długość tekstu length łańcuchowy length('alfa') 4

Przykłady wyrażeń: 18

Podstawowe instrukcje proste Instrukcja przypisania - nadanie wartości zmiennej w części wykonawczej programu zmienna := wyrażenie; Np.: var N:integer; suma:real; begin N := -234; suma := 5.4* N; suma := suma +1; // zmiana wartości zmiennej .... end oczywiście N i suma muszą być zadeklarowane - przyporządkowane do typu ZGODNOŚĆ TYPÓW – wyrażenie musi mieć typ zgodny z typem zmiennej ZMIENNEJ rzeczywistej można nadać wartość całkowitą ZMIENNEJ łańcuchowej można nadać wartość znakową 20

Funkcje konwersji tekstowo-numerycznej: Np. wprowadzanie i wyprowadzanie danych - z/do pola Edit Edit posiada właściwość text typu łańcuchowego – konieczna konwersja, aby wykonywać obliczenia na wpisanych danych liczbowych i aby wyświetlić wyniki Funkcje konwersji tekstowo-numerycznej: Liczba na łańcuch tekstowy intToStr( v: integer ): string; - integer  string floatToStr( v: real ): string; - real  string Łańcuch tekstowy na liczbę strToInt( s: string ): integer; - string  integer strToFloat( s: string ): real; - string  real UWAGA: liczbę da się zawsze zamienić na łańcuch znaków, lecz nie zawsze odwrotnie !!!

Prosty program procedure TForm1.Button1Click(Sender: TObject); var a,b,c:integer; //całkowite begin a:=StrToInt(Edit1.Text);//z Edit do zmiennej b:=StrToInt(Edit2.Text); //z Edit do zmiennej c:=a+b; Edit3.Text:=IntToStr(c);// do Edit end;

Czyli.. podsumowując procedure nazwa (....); type nazwa_typu = definicja; //definicja typu var nazwa_zmiennej : nazwa_typu; //definicja zmiennej begin //wykorzystanie zmiennej w programie nazwa_zmiennej := wartość_zgodna_z_typem; end;