Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Wykład 2 struktura programu elementy języka typy zmienne wyrażenia arytmetyczne funkcje standardowe."— Zapis prezentacji:

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

2 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) 1.2 Po kompilacji – plik exe przykład – zapis projektu

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

4 1.4 ogólna struktura programu (podprogramu): 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; unit nazwa; interface implementation Tu procedury end. [program, function] Będziemy używać dla komponentów, ale OBIEKTY dokładniej poznamy później

5 symbole podstawowe (pascalowe) nazwy zastrzeżone – np. begin, string, var, type, array, record, for, if, while, repeat i inne Język DELPHI - ObjectPascal - podstawowe elementy Słowa kluczowe 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!!! całkowite - ciąg cyfr, ewentualnie poprzedzonych przez + - Stałe numeryczne - liczby rzeczywiste - zapis zwykły m.n (UWAGA: koniecznie KROPKA dziesiętna) - zapis wykładniczy (naukowy) Alfabet języka 5 Stałe łańcuchowe – tekstowe - ciąg znaków w apostrofach, np. 'Pan Tadeusz' Stałe logiczne – true false jak Excelu, ale KROPKA DZIESIĘTNA!!!

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

7

8 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: czyli rzeczywiste podstawowy Real 5.0 x 10^ x 10^308i ujemne, 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) Typy danych - standardowe

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

10 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 np. vardni : ; znaki : 'a'.. 'z'; Inne (strukturalne) poznamy potem – tablicowy, rekordowy, plikowy Typy definiowane explicit

11 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

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

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

14 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 wyrażenie - rekurencja ogólnie: zawsze nawias typ argumentu i wyniku określony wartość 14

15 abs real/integer wartość bezwzględna intrealczęść całkowita fracrealczęść ułamkowa roundintegerzaokrąglenie do całkowitej truncintegerobcięcie do całkowitej maxintintegermaksymalna wartość całkowitastała exprealfunkcja wykładnicza e arg lnreallogarytm naturalny ln arg arg 0 sqr real integer kwadrat arg 2 sqrtrealpierwiastek kwadratowy arg 0 sinrealsin argarg w radianach cosrealcos argarg w radianach arctanrealarctg argwynik w radianach pirealstała 15 typ argumentu

16 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);...

17 Znaczenie Nazwa Typ funkcji Typ argumentu Przykład znak następnysuccznakowy succ ('g') 'h' znak poprzednipredznakowy pred(' j ') ' i ' znak o podanym kodzie ASCII chrznakowycałkowitychr(49) '1' kod znakuordcałkowityznakowyord('1') 49 długość tekstu length łańcuchowycałkowitylength('alfa') 4 Funkcje dla tekstów

18 Przykłady wyrażeń: 18

19

20 Instrukcja przypisania - nadanie wartości zmiennej w części wykonawczej programu var N:integer; suma:real; begin N := -234; suma := 5.4* N; suma := suma +1; // zmiana wartości zmiennej.... end Podstawowe instrukcje proste zmienna := wyrażenie; 20 oczywiście N i suma muszą być zadeklarowane - przyporządkowane do typu Np.: 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ą

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

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

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


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

Podobne prezentacje


Reklamy Google