Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt PASCAL Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt 2018.11.17.

Slides:



Advertisements
Similar presentations
E.g.9 For to do loop for i:=1 to 10 do writeln(i); While do loop i:=1;
Advertisements

Selection Process If … then … else.... Condition Process 2 Process 1 Y.
MAIN BODY OF PROGRAM DECLARATION ACTION
1 Data Type Anan Phonphoem Data Type Ordinal TypeNon-ordinal Type StandardUser Define Enumerated Subrange Integer Char Boolean Real.
Pascal Syntax. What you have learnt so far writeln() and write(); readln() and read(); variables (integers, strings, character) manipulation of variables.
An Introduction to Hashing. By: Sara Kennedy Presented: November 1, 2002.
1 Flowchart If – Then – Else อนันต์ ผลเพิ่ม Anan Phonphoem
Introduction to Programming CSCE 110 Drawn from James Tam’s material.
Program CheckPass; var TestScore, ExamScore : integer; FinalScore : real; Status : string; begin write(‘Enter the Test score:’); readln(Testscore); write(‘Enter.
Introduction to Programming
Mini-Pascal Compiling Mini-Pascal (MPC) language
CS241 PASCAL I - Control Structures1 PASCAL I - Control Structures Philip Fees CS241.
Introduction. In today’s session… What is programming? Why should I learn programming? Course Outline Introduction to Programming Language Introduction.
FOR DOWNTO Suppose you want to write a FOR-DO loop where the control variable is decreased with each repetition of the loop. Pascal provides the reserved.
Pascal Course Spring Introduction Designed: 1968/9 by Niklaus Wirth Published: 1970 Imperative, structural, procedural Static and strong.
ARRAY PADA PASCAL DOSEN : NURAINI PURWANDARI.
1 The CONST definition CONST Pi = , City = ‘New York’; Constant identifiers are used when you do not want the value of an identifier to change why.
Lecture 13 Midterm overview When you know a thing, to hold that you know it, and when you do not know a thing, to allow that you do not know it: this is.
Copyright 1999 by Larry Fuhrer. Pascal Programming Getting Started...
Pascal language Slides of Omar Al-Nahal. Components of Pascal Language Components of Pascal Language 1. Pascal Character set: - English Letters. - Decimal.
Selection Boolean What is Boolean ? Boolean is a set with only two values : –true –false true and false are standard identifiers in Pascal, called Boolean.
INFORMATION TECHNOLOGY CSEC CXC 10/25/ PASCAL is a programming language named after the 17th century mathematician Blaise Pascal. Pascal provides.
Introduction to Pascal The Basics of Program writing.
Prepared by Michel Barakat 1. Preface  A computer is nothing but a very dumb machine that has the ability to perform mathematical operations very rapidly.
Pascal CourseWinter 2010/111. Introduction Imperative and procedural programming language Designed: 1968/9 Published: 1970 Static and strong typing.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 5, Lecture 1 (Monday)
Pascal Course Spring Introduction Designed: 1968/9 by Niklaus Wirth Published: 1970 Imperative, structural, procedural Static and strong.
1 st semester Basic Pascal Elements อภิรักษ์ จันทร์สร้าง Aphirak Jansang Computer Engineering.
Pascal Programming Written by Leung King Yung. Simple Program 1 begin end.
Loops Brent M. Dingle Texas A&M University Chapter 7 – part B (and some from Mastering Turbo Pascal 5.5, 3 rd Edition by Tom Swan)
Pascal Programming Today Chapter 11 1 Chapter 11.
1 Ordinal types An ordinal data type is an ordered set in which every element, except the first element, has an immediate predecessor, and every element,
Oberon Oral Exam English. index The creator The history The use The syntax An example Conclusion.
1 STRINGS String data type Basic operations on strings String functions String procedures.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
CS241 PASCAL I - Control Structures1 PASCAL Control Structures Modified Slides of Philip Fees.
Chapter One Lesson Three DATA TYPES ©
So now we’re programming What do programs do? Manipulate (process) data Math Read files Write to files Create files.
A: A: double “4” A: “34” 4.
DATA TYPES, VARIABLES AND CONSTANTS. LEARNING OBJECTIVES  Be able to identify and explain the difference between data and information  Be able to identify,
Pascal Programming George Boole, a 19 th Century mathematician, is created with true, false logic. A Boolean expression in Pascal will be true or false.
FOR LOOP STRUCTURE For := to do eg. for I := 1 to 100 do begin writeln(‘This is a loop’); end;
Definition of the Programming Language CPRL
Written by Al.So. Software solutions
The CONST definition CONST Pi = , City = ‘New York’;
Išraiškos, sakiniai ir blokai
Algoritmai ir duomenų struktūros (ADS)
CPSC Pascal Brent M. Dingle Texas A&M University 2001, 2002
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Потпрограми во Pascal.
A Very Brief Overview of Pascal
CMP 131 Introduction to Computer Programming
Programavimo ir IT pagrindai
Sintaksė ir semantika Identifikatoriai ir unikodas Komentarai
Algoritmai ir duomenų struktūros (ADS)
Paskal Dil Karşılaştırması
Паскаль тілінде бағдарламалау II Бөлім
Logika a.
Review Operation Bingo
Lekt. Tomas G. Lipnevičius
Көңіл күйлеріңіз қалай?
Įvadas į Java programavimo kalbą
البرمجة بلغة الفيجول بيسك ستوديو
البرمجة بلغة فيجول بيسك ستوديو
Бірөлшемді жиымдар Паскаль тілінде бағдарламалау
kbkjlj/m/lkiubljj'pl;
Қайталау операторлары
CMPE 152: Compiler Design March 7 Class Meeting
Сабақтың тақырыбы: Мәлімет типтері. Шамалардың сипатталуы
COMPUTING.
Presentation transcript:

Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt PASCAL Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt 2018.11.17

Baziniai paprastųjų kintamųjų tipai Pavadinimas Tipas Reikšmė Baitai Realusis skaičius real Nuo-1.7E38 iki –2.9E-39, nulis ir nuo +2.9E-39 iki +1.7E38 6 Sveikasis skaičius integer Nuo –32768 iki 32767 2 Simbolis char simbolis 1 Eilutė string n simbolių eilutė, kai 0< n<=255 n Loginė reikšmė boolean True, false

Kintamųjų tipai Sveikieji tipai Tipas Reikšmių intervalas Baitai Shortint -128..127 1 Integer -32768..32767 2 Longint -2147483648..2147483648 4 Byte 0..255 Word 0..65535

Sveikiems skaičiams taikomos operacijos Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := 5 A=5 Read; write Nuskaityti,išvesti Read(x); write(x) + Sudėtis 5+5 10 - Atimtis 100-1 99 * Daugyba 9*9 81 / Dalyba 8/16 0.5 (real) Div Dalmuo 7 div 3 2 Mod Liekana 7 mod 3 1 =,<>,<,>,<=,>= Palyginimas 7<= 2 False (boolean) Maxint longmaxint Konstantos 32767 2147483647

Simbolinis tipas Char (character)-simbolinis tipas. Simbolių kodai surašyti ASCII lentelėje.

Simboliniam tipui taikomos operacijos Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := ‘*’ A=* Read; write Nuskaityti,išvesti Read(x); write(x);write(‘*’) + Sudėtis ‘t’ + ‘u’ tu =,<>,<,>,<=,>= Palyginimas ‘z’ <= ‘a’ False (boolean) Pred, Succ, Chr, Ord Funkcijos Pred(‘c’) Succ(‘c’) Chr(65) Ord(a) Upcase(‘a’) B D A 65

Realieji tipai Tipas Reikšmės Tikslumas Baitai Real 2.9E-39..1.7E38 11-12 6 Single 1.5E-45..3.4E38 7-8 4 Double 5.0E-324..1.7E308 15-16 8 Extended 3.4E-4932..1.1E4932 19-20 10 comp -9.2E18..9.2E18

Realiesiems skaičiams taikomos operacijos Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := 3.14 A=3.14 Read; write Nuskaityti,išvesti Read(x); write(x) + Sudėtis 5+5 10.0 - Atimtis 10.1-0.1 * Daugyba 9*9 81.0 / Dalyba 8/16 0.5 =,<>,<,>,<=,>= Palyginimas 7.5<= 2.3 False (boolean) Abs,arcTan, cos,exp,ln,round, sin,sqr,sqrt,trunc Funkcijos

Eilutės tipas String - eilutės ilgis nuo 0 iki 255 simbolių. String[15] – eilutės ilgis 15 simbolių. Jei eilutės ilgis nenurodytas, tai eilutė yra 255 simbolių ilgio.

Simbolių eilutėms taikomos operacijos Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := ‘taip’ A=taip + Sudėtis ‘t’ + ‘u’ tu write išvesti Write (a) taip =,<>,<,>,<=,>= Palyginimas z <= a False (boolean) Length (eil.kin.); Concat(‘M’, ‘es’); Funkcijos Length (A); 4 Mes

Loginis tipas Boolean-loginis tipas. Loginis kintamasis gali įgyti vieną iš dviejų loginių reikšmių: True (teisingas); False (neteisigas).

Loginiams kintamiesiems taikomos operacijos Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := true; B := false; A=true And Loginė daugyba A and b False Or Loginė suma A or b True Not Neigimas Not a xor Suma moduliu 2 (nelygiavertiškumas) A xor b true write išvesti Write(a)

Konstantos Const <konstantos vardas> = <konstanta>; const n=15; Tokių konstantų programos metu keisti negalima. Tipizuotos konstantos aprašas: Const <konstantos vardas>:<tipas>=<konstanta>; const n : integer = 15; Tipizuotas konstantas programos metu galima pakeisti.

Pagal prioritetą operacijos skirstomos: Not, @(unariosios); *, /, div, mod, and; +, -, or, xor, shl, shr; =, <>, <=, >=, in.

Kintamųjų aprašai var <kintamojo vardas>: <duomenų tipas>; program pirma; var x : real; {realiojo tipo} a : integer; {sveikojo tipo} raide : char; {simbolio tipo} sakinys : string[20]; {20 simbolių eilutė} c : boolean; {loginio tipo} begin .... end.

Duomenų išvedimo formatai WriteLn(<išraiška1>,<išraiškan>) Išvedimo procedūra Rezultatas writeLn(‘a’,5-4); a1 writeLn(‘t’+’p7 ’,5/4); tp7 1.2500000000E+00 writeLn(8 mod 3) 2 writeLn(1,2,3,4,5,6,‘a’); 123456a writeLn(‘klasė’ :4); klasė writeLn(25125.2336:5); 2.5E+04 writeLn(25.23+251.23*547:5:7); 137448.0400000

Programos struktūra program vardas; begin end. Aprašai (konstantų, tipų, kintamųjų, procedūrų, funkcijų) begin sakiniai end.

Priskyrimo sakinys Priskyrimo operacija žymima dvem simboliais := C := A; D := 15 + sin(2*C); F := `Katinas´;

Priskyrimas Program priskirti; {randamas kintamojo s kvadratas ir kūbas} Var s, kvadratas, kubas : integer; Begin s:=15; Kvadratas:=s*s; Kubas:=kvadratas*s; End. Program priskirti1; {randamas kintamojo s kvadratas ir kūbas} Var s, kvadratas, kubas : integer; Begin read (s); Kvadratas:=s*s; Kubas:=kvadratas*s; write (‘s=‘, s, ’kvadratas=‘, kvadratas, ‘kubas=‘, kubas); End.

Sąlyginis sakinys If <sąlyga> then<sakinys> Nepilnas (suprastintas) Pilnas Sudėtinis If <sąlyga> then<sakinys> then <sakinys1> else <sakinys2> then begin <sakinys1>;... <sakinys1n>; End else begin <sakinys2>;... <sakinys2n>; End;

Sąlyginis sakinys Program didesnis; {randamas didesnis skaitmuo max iš dviejų įvestų: sk1 ir sk2} Var max, sk1, sk2 : real; Begin readLn (sk1, sk2); if sk1>= sk2 then max := sk1 else max := sk2; writeLn (‘max=‘, max) End.

Išrinkimo sakinys Case <valdantis parametras> of <alternatyva>: <sakinys1>; ... <alternatyva>: <sakinysn>; [else <sakinysm>]; End;

Išrinkimo sakinys Program isrinkimas; {įvertinamas pažimys} Var x : integer; Begin readLn (x); Case x of 10: writeLn (‘puiku‘); 9: writeLn (‘labai gerai‘); 8: writeLn (‘gerai‘); 7: writeLn (‘neblogai‘); 6: writeLn (‘patenkinamai‘); 5: writeLn (‘prastai‘); 4: writeLn (‘blogai‘); 3, 2, 1,: writeLn (‘dundukas‘); else writeLn (‘tokio pazymio nebuna‘); End; End.

Ciklo sakinys (for) For <ciklo kintamasis> := <pradinė r.> to <galutinė r.> do <sakinys>; (pradinė r.<= galutinė r.) For i := 1 to 100 do S := S+i; <pradinė r.> downto <galutinė r.> (pradinė r.>= galutinė r.) For i := 100 downto 1 do begin <sakinys1>; <sakinys2>; end;

Ciklas FOR Program laipsnis; {skaičius x kėlimas n-tuoju laipsniu} Var x, laipsnis : real; i, n : integer; Begin readLn (x, n); laipsnis := 1; for i:= 1 to n do laipsnis := laipsnis * x; writeLn (laipsnis:10:10); End.

Ciklo sakinys (while) While <sąlyga> do <sakinys>; begin <sakinys1>; <sakinys2>; end;

Ciklas while Program laipsnis; {skaičius x kėlimas n-tuoju laipsniu} Var x, laipsnis : real; i, n : integer; Begin readLn (x, n); laipsnis := 1; i:=1; while i<= n do begin laipsnis := laipsnis * x; i:= i+1; end; writeLn (laipsnis:10:10); End.

Ciklo sakinys (repeat) ... <sakinysn>; Until <sąlyga>;

Ciklas repeat Program tikrinu; {slaptažodžio tikrinimo} Var zodis, slaptas : string[9]; i, n : integer; Begin slaptas := ‘miau miau’; repeat writeLn (‘Įvesk slaptažodį’) readLn (zodis); until zodis = slaptas; writeLn (‘teisingai’); End.

Paprogramės Vartotojo funkcijos; Vartotojo procedūros.

Funkcijos Function <f.Vardas>(argumentai: a.tipas) :<f.tipas>; ... Begin <sakinys1>; <sakinys2>; End; Function kvad (x: real): real ; begin kvad:= x * x; end;

Rekursinės funkcijos Function f (n : integer) : integer; {skaičiuoja skaičiaus n faktorialą} Begin If n=1 then f:=1 else f:= f(n-1) * n; End;

Vartotojo procedūros Procedure <p.vardas> (k.vardai:tipas); ... Begin <sakinys1>; <sakinys2>; End; Procedure f(n: integer; var fact: integer); If n=0 then fact :=1 else begin f(n – 1, fact); fact := fact * n; end;

Struktūriniai duomenų tipai. Masyvai. Tipas Tipo aprašas Kintamųjų aprašai Vienmatis Masyvo Type <masyvo.vardas>=array [<kons1>..<kons2>] of <tipas> Pvz.: Type mas=array [1..30] of string[8]; Var Mas1: mas; Daugiamatis Masyvas Type <masyvo.vardas>=array [<kons1>..<kons2>, [<kons3>..<kons4>, ] of <tipas> Type masyvas=array [1..3,1..4] of mas; Var Mas2: masyvas;

Program masyvai; const n=10; m=30; type atk =n..m; masyvas = array[atk] of real; Var mas ; masyvas; Procedure uzpil( var mas1: masyvas); Var I: atk; Begin Randomize; for I:= n to m do mas1[I] ;=I*1/(Random(10)+1); End; Procedure atsp(mas1 : masyvas); var I: atk; for i:=n to m do writeln(mas1[I]:5:2); uzpil(mas); atsp(mas); End.