Proqramla ş dırma dili Pascal Paskal dili, 1968-1970-ci ill ə rd ə İ sveç ali politexnik m ə kt ə binin informatika institutunun direktoru professor Niklaus.

Презентация:



Advertisements
Похожие презентации
Turbo Pascal 7.0 proqramla ş dırma dili. Proqramla ş dırma dili Pascal Paskal dili, ci ill ə rd ə İ sveç ali politexnik m ə kt ə binin informatika.
Advertisements

MASSİV – SONLU SAYDA EYNİ TİPLİ ELEMENTL Ə RİN BİR AD ALTINDA NİZAMLANMIŞ QRUPUDUR. VERİL Ə NL Ə RİN BİR D Ə YİŞ Ə NİN UYĞUN NİZAMLANMIŞ QRUPU- MASSİVİN.
1. SİSTEM PROQRAMLARI 2. TƏTBİQİ PROQRAMLAR 3.PROQRAMLAŞDIRMA ALƏTLƏRİ.
Əliyeva Xanim. Dövr anlayışının ü mumiləşdirilməsi.
Системы счисления 1 Say sistemləri Say sistemləri haqqında məlumat Təsnifatı Mövqeli say sistemləri üzərində əməllər.
Методическое пособие по массивам Одномерные массивы Одномерные массивы Двухмерные массивы Двухмерные массивы.
Циклические программы Устный счет Язык программирования Pascal ABC.
Free Pascal - свободно распространяемый в исходных текстах кроссплатформенный компилятор языка Pascal. Алгоритмический язык Интегрированная среда программирования.
Тема: «Понятие квадратная матрица» :17:47.
Program Summa; {Суммирование элементов в 1м массиве} Uses Crt; Type Massiv = Array [1..100] of Real; Var A : Massiv; i, N : Integer; S : Real; Begin Write('Введите.
Одномерный массив Turbo Pascal 9 класс. Объясните каждый шаг в программе. Что делает программа? Сколько раз срабатывает цикл? Var A : array [1..10] of.
Транксрипт:

Proqramla ş dırma dili Pascal Paskal dili, ci ill ə rd ə İ sveç ali politexnik m ə kt ə binin informatika institutunun direktoru professor Niklaus Virt t ə r ə find ə n t ə l ə b ə l ə rin proqramla ş dırmanı öyr ə nm ə si m ə qs ə dil ə i ş l ə nib hazırlanmı ş dır. Niklaus Virt Paskalın t ə kc ə t ə hsil üçün oldu ğ unu dü ş ünm ə k olmaz-N.Virt (1984-cü il): «Sübut olunmu ş dur ki, Paskal dili t ə lim m ə qs ə dil ə yaradılmı ş dır. Lakin t ə lim üçün yalnız bu dilin istifad ə olunması yegan ə yol deyil.....».

Pascal dili İ ll ə r keçdikc ə sübut olundu ki, bu dil t ə kc ə t ə lim m ə qs ə dil ə deyil, h ə m d ə mür ə kk ə b proqram t ə minatının yaradılması üçün populyar bir dil oldu. Paskal dilinin ba ş lan ğ ıc variantı m ə hdud imkanlara malik idi, indi is ə y ə ni onun geni ş l ə ndirilmi ş forması daha böyük imkanlara malikdir. Turbo Pascal 7.0 proqramla ş dırma dili N ə üçün PASCAL? Paskal dili fransız alimi Blez Paskalın şə r ə fin ə adlandırılmı ş dır. B.Paskal 1642-ci ild ə birinci mexaniki hesablama ma ş ını icad etmi ş dir.Paskalın ma ş ını toplama ma ş ını idi.

Proqramlaşdırma dilləri haqqında əsas məlumat Proqramlaşdırma dilləri haqqında əsas məlumat Dil – i ş ar ə l ə r sistemidir. EHM dili (ma ş ın dili) – ikilik i ş ar ə l ə r sistemidir. Ona gör ə d ə yazılmı ş proqramı kompüterin ba ş a dü ş m ə si üçün kompüter ə aydın bir dil olmalıdır. Bu çevrilm ə prosesi translyasiya adlanır.. İ nterpretator v ə kompilyator Translyatorlar iki yer ə bölünür – interpretatorlar v ə kompilyatorlar: İ nterpretator proqramı s ə tirb ə s ə tir t ə rcüm ə edir v ə yerin ə yetirir. Kompilyator proqramı bütövlükd ə t ə rcüm ə edir, sonra is ə yerin ə yetirir.

İ nteqralla ş mı ş Turbo Pascal-7.0 mühiti İ nteqralla ş mı ş sistem ə a ş a ğ ıdakılar aiddir: M ə tn redaktoru Kompilyator Uy ğ unla ş dırma( Отладчик ) Arayı ş (sor ğ u) sistemi Proqramın icrası sistemi Dilin əsas vasitələriDilin əsas vasitələri Dilin simvolları – mətnlərin qurulmasında istifadə olunan işarələr. Dilin əlifbası – Simvollar yığımı. Turbo Pascal 7.0-də dilin əlifbası bunlardır: Böyük və kiçik latın hərfləri Ərəb rəqəmləri (0 – 9) simvollar + - * / =,. ; : _ ( ) { } və s. Xüsusi xidməti (зарезервированные) sözlər Dilin əsas vasitələri Turbo Pascal 7.0 –da komandalar, funksiyanın adları xüsusi xidməti və ya əvvəlcədən müəyyənləşdirilmiş sözlərdən istifadə olunur. Xidməti sözlər üç qrupa ayrılır: operatorlar (READ, WRITELN və s.) Funksiya adları (SIN, COS və s.) Açar sözlər (VAR, BEGIN, END və s.)

Proqramın strukturu 1. Proqramın ba ş lı ğ l 2. T ə svir hiss ə si 3. Proqramın gövd ə si 4.Proqramın strukturu PROGRAM ad; Const; - sabitlərin təsviri; Var; - dəyişənlərin təsviri; BEGIN operator 1; operator 2; ….. operator n-1; operator n; Readln END. Giriş və çıxış operatorları İxtiyari proqram istifadəçi ilə giriş-çıxış operatorları vasitəsilə mübadilə edir. Paskal dilind ə ist ə nil ə n proqram mü ə yy ə nl əş dirilmi ş struktura malikdir:

Klaviaturadan informasiyanın daxil edilm ə si READ operatoru vasit ə sil ə yerin ə yetirilir. READ, operatoru vasit ə sil ə veril ə nl ə r daxil edilirv ə onun i ş i veril ə nl ə ri daxil ed ə n ə q ə d ə r davam edir. Yazılı ş ı bel ə dir: READ( а,b,...) READLN( а,b,..,), burada а,b,... – daxil edil ə n d ə yi şə nl ə rin adlarıdır READLN – ENTER klavi ş i basılana q ə d ə r öz i ş ini görür. WRITE çıxı ş operatoru İnformasiyanı ekrana çıxarmaq üçün WRITE Operatorundan istifadə edilir. Yazılışı belədir: WRITE(а,b,...) WRITELN(а,b,..), burada а,b,... – çıxışda olan sabitlər, dəyişənlər və ifadələr siyahısıdır. READ giri ş operatoru

WRITE çıxı ş operatoru 1. WRITE(2*2) – 4 ə d ə dini ekrana çıxarır 2.WRITE(2*2=) – ekrana çıxarır: 2*2= 3. WRITE(2*2=, 2*2) – ekrana çıxarır: 2*2=4

mühiti Turbo Pascal 7.0 mühiti bağlayan düymə Faylın adı Pəncərənin nömrəsi Masştab düyməsi Sürüşdürmə zolağı Redaktə olunası sətrin nömrəsi Номер позиции в строке

İ ki tam ə d ə din hasilini hesablayan ilk proqram: Program p1; Var a,b,с: integer; { tam ədədlərin təsviri} Begin WriteLn(probellə ayrılan 2 tam ədəd daxil edin:'); ReadLn(a,b); с:=a*b; WriteLn(onların hasili bərabərdir: ', с); ReadLn End.

Proqramın kompilyasiyası - Proqram yazıldıqdan sonra m ə tn ma ş ın koduna çevrilm ə lidir. Bunun üçün ba ş menyuda - Compile menyusunda Compile (v ə ya Alt+F9). Ə vv ə lc ə kompilyator proqramın sintaktik s ə hvl ə rin olub-olmamasını yoxlayır. S ə hv tapılsa, kursor s ə hv tapılan yerd ə dayanır v ə s ə hvi qırmızı fonda sarı r ə ngl ə bildirir. Proqramın yerin ə yetirilm ə si Bunun üçün Run menyusunda Run (v ə ya Ctrl+F9). Bundan sonra ekranda bel ə bir m ə lumat yazılır: probell ə ayrılan 2 tam ə d ə d daxil edin: Kursor növb ə ti s ə trd ə dayanır. Probell ə ayrılan 2 tam ə d ə di daxil edib düym ə sini basırıq, bundan sonra bel ə bir m ə lumat ekrana çıxır: onların hasili b ə rab ə rdir:... Nöqt ə l ə rin yerin ə cavab yazılır v ə düym ə si basılana q ə d ə r m ə lumat ekranda qalır

Proqramın yadda saxlanılması Proqramı yadda saxlamaq üçün: - Ə sas menyuda File seçirik; - Save v ə ya Save as...; - Açılan p ə nc ə r ə d ə fayla ad verilir v ə düym ə si basılır.

Xətti alqoritmə aid məsələ Program m1; var a,b,c,s,p:real; Begin writeln (uc eded daxil edin); read(a,b,c); s:=a+b+c; p:=a*b*c; writeln (s=,s:0:0); writeln(p=, p:0:0); End. Baş a,b,c S=a+b+c; P=a*b*c; s, p son Üç ədədin cəmini və hasilini tapan proqram yazın

Program m1; var a,m,n,k,f: integer; Begin writeln(bir eded daxil et); read(a); m:=a*a; n:=m*a; k:=m*n; f:=k*k; writeln(a^3=, n:0:0); writeln(a^10=, f:0:0); End.

Ədədin rəqəmlərinin tapılmasına aid məsələlər 1. İkirəqəmli ədədin rəqəmlərinin cəmini və hasilini tapan proqram yazın 2. üçrəqəmli ədədin rəqəmlərini cəmini vəhasilini tapan proqram yazın 3. altırəqəmli ədədin xoşbəxt ədəd olduğunu araşdıran proqram yazın abcdef ədədində a+b+c=d+e+f şərti ödənirsə xoşbəxt ədəddir

Qrafik qurma əmrləri Program; uses Crt,graph; var gd,gm:integer; BEGIN intgraph(gd,gm,d:/tp7/bgi);

Üçrəqəmli ədədin tərsinə yazılışını tapan proqram yazın Program m2; var a,b,c, x,y:real; Begin writeln ( uc reqemli eded daxil et); read(x); a:=int(x/100); b:=int((x-a*100)/10); c:=x-a*100-b*10; y:=c*100+b*10+a; writeln(ededin tersi, y:0:0);end.

Program m2; var s:real; i,n:integer; Begin writeln ( n- I daxil edin); read(n); for i:=1 to n do begin s:=s+1/i; end; writeln(s=,s:0:0); end.

{üç ədədin ən böyüyünü tapan proqram yaz}; Program m1; uses crt; var a,b,c,max:real; Begin clrscr; writeln (uch eded daxil et); readln(a,b,c); if (a>b) then max:=a else max:=b; if (c>max ) then max:=c; writeln (max=, max:0:0); End. Baş A,B,C a>b Max=aMax=b C>max Max=c max son

Program ortaq; label 10,20,30; var a,b,abob,akob,M,N:REAL; Begin writeln(IKI eded daxil edin); read (a,b); m:=a; n:=b; 10: if (m=n) then abob := m else goto 30; goto 20; 30: if (m>n) then m:=m-n else n:=n-m; goto 10; 20:akob:=(a*b)/abob; writeln (abob=, abob:0:0); writeln (akob=, akob:0:0); End.

İKİ EDEDİN ƏN BÖYÜYÜNÜ TAPAN ALQORİTM VƏ PROQRAM YAZIN BAŞ A,B A>B MAX=A MAX=B MAX PROGRAM M1a; VAR A,B,MAX:REAL; BEGIN WRITELN( IKI EDED DAXIL EDIN); READLN(A,B); IF (A>B) THEN MAX:=A ELSE MAX:=B; WRITELN (MAX=, MAX:0:0); END.

MESELE: 3 EDEDIN EN BOYUYUNUN TAPIN PROGRANM M2; VAR a,b,c,max:real; BEGIN WRITELN(3 EDED DAXIL EDIN); READ(a,b,c); IF (A>B) THEN MAX:=A ELSE MAX:=B; IF (C>MAX) THEN MAX:=C; WRITELN (MAX(a,b,c)=,max:0:0); END.

Program m1; var x,y:real; Begin writeln (x-I daxil edin); read(x); if (x>0) then y:=3*x+5 else if (x<0) then y:=2*x*x else y:=5; Writeln (y=,y:0:0); End.

6 yanvar 2011 Birölçülü massivlərə aid məsələlər: (verilənləri fayldan daxil edin) 1. Massivin elementlərini artan(azalan) sıra ilə düzün. 2. A(N) massivinin mənfi elementlərini 7 ilə əvəz edən proqram yazın. 3. birölçülü massivin cüt elementlərinin cəmini tapın 4. a(n) massivinin maksimum (minimum) elemntləri- ni tapan proqram yazın

Program artansıra; const n=6; var a:array[1..n] of real; I:integer; Begin writeln (massivi daxil et); for i:=1 to n do begin read( a[i]); end; for i:=1 to n do begin if (a[i]<o) then a[i]:=7; For i:=1 to n do writeln(a[i]:0:0); end; End.

Program artansıra; const n=7; var a:array[1..n] of real; I,j:integer; r:real; Begin writeln (massivi daxil et); for i:=1 to n do begin read( a[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin r:=a[i]; a[i]:=a[j]; a[j]:=r; end; writeln (artan sira); For i:=1 to n do writeln(a[i]:0:0); End.

Program faktorial; var I,n:integer; p:real; Begin writeln (ixtiyari n-I daxil edin ); read (n); p:=1; for i:=1 to n do begin p:=p*I; end; writeln (n, !=; p:0:0); end.

1.Verilmiş üçrəqəmli ədədin rəqəmlərinin kubları cəminin həmin ədədin özünə bərabər olduğunu yoxlayın 2.Bütün üçrəqəmli ədədlər içərisində rəqəmlərinin kubları cəmi- nə bərabər olan üçrəqəmli ədədləri çap edin 1. If (a*a*a+b*b*b+c*c*c)=x then writeln(x=,x:0:0) else writeln(Shert odenilmir); 2.If (a*a*a+b*b*b+c*c*c)=x then writeln(x=,x:0:0);

Program faktorial; var I,n:integer; p:real; Begin writeln (ixtiyari n-I daxil edin ); read (n) p:=1; for i:=1 to n do begin p:=p*i; writeln (i, !=; p:0:0); end; end.

Kəmiyyətin tipləri Həqiqi tip - real; Tam tip - integer; Massiv tip - array; Uzun tam tipli- longint; Simvol tiplər - char;

Program kvadrat; var I,n:integer; p:real; Begin writeln (ixtiyari n-I daxil edin ); read (n); for i:=1 to n do begin p:=i*i; writeln (I,^2=,p:0:0); end; end. N 2 - nın hesablanması 1 2 =1 2 2 =4 3 2 = N 2 =.....

Program kvadrat; var i,n,p:integer; Begin writeln (ixtiyari n-I daxil edin ); read (n); p:=1; for i:=1 to n do begin p:=p*2; writeln (2^,i,=,p); end; end nın hesabl anması 2 1 =2 2 2 =4 2 3 = n =.....

Program FAKTORIAL; var i,n:integer; p:REAL; Begin writeln (ixtiyari n-I daxil edin ); read (n); p:=1; for i:=1 to n do begin p:=p*i; writeln (I,!=,p:0:0); end; end. N!- ın hesabl anması 1!=1 2!=2 3!= N!=.....

SİMVOL (SƏTİR) TİPLİ KƏMİYYƏTLƏR Char- mətn şəklində olan kəmiyyət MƏS: VAR A,B,C:CHAR; LENGTH-mətnin uzunluğu (mətnə daxil olan simvolların sayı) məs: length(st); Length(turbo paskal); -ın qiyməti 12 olacaqdır. STRİNG- mətnin təsviri məs: a,b,c: string; Simvolların birləşdirilməsi məs: A=kitab b=bilik c=mənbəyidir x:=a+b+c; x=kitab bilik mənbəyidr copy - sətrin hər hansı simvolundan başlayaraq müəyyən sayda simvolları kəsmək məs: copy (st,index,count); index nömrəli simvoldan başlayaraq count sayda simvol kəsmək DELETE- sətrin hər hansı simvolundan başlayaraq müəyyən sayda simvolları pozmaq məs: delete (st,index,count); index nömrəli simvoldan başlayaraq cound sayda simvolu pozur.

Sətir tip kəmiyyətlər MƏSƏLƏ : Massiv şəklində verilmiş mətndə olan x simvollarının sayını tapın Program m1; var a:array[1..100] of char; m,n,sum:integer; begin writeln(metin neçə simvoldan ibarət olsun); readln(n); writeln(metni daxil et); for m:= 1 to n do readln (a[m]); sum:=0; for m:=1 to n do begin if (a[m]=x) then sum:=sum+1 else end; writeln (sum=,sum); End. Mətn neçə simvoldan ibarət olsun? 12 A(M)={QXXDVXABCaax} sum= 4

Sətr tipli kəmiyyətlər Program m2; var ss, ts, ays:string; dp, say, m, n:integer; Begin writeln(metn daxil edin); readln(SS); ts:=xan; say:=0; m:=length(ss); n:=length(ts); for dp:= 1 to m-n+1 do begin Ays:= copy(ss,dp,n); if ays= ts then say:=SAY+1 ELSE; END; WRITELN (SAY=, SAY); END. Məsələ: Mətndə olan xan Sözünün neçə dəfə lşəndiyini tapan proqram yazın Məs: Quba xanı Fətəli xan Azərbaycan xanlıqları nı birləşdirməyə çalışıb

FIBONAÇÇİ SIRASI a 1 =1, a 2 =1 n=3,4,5,... a n = a n-1 +a n-2 program fibbonaççi; Const n=9; var i: integer; a1,a2:real; a:array [1..n] of integer; Begin a[1]:=1 ; a[2]:=1; writeln (a1=1); writeln (a2=1); for i:=3 to n do begin a[i]:=a[i-1]+a[i-2]; writeln(a,I,=,a[i]); end; end.

SADƏ ƏDƏDLƏRİN TAPILMASI 2, 3, 5, 7, 11,….. PROGRAM ERATOSFEN XƏLBIRI; CONST P=55; VAR a:array [2..P] of integer; m, n, k: integer; begin for n:= 2 to P do a[n ]:= n ; begin for n:=2 to trunc(sqrt(p/2)) do BEGİN for n:=2 to trunc(p/2) do BEGIN K:= M*N; A[K]:=0; END; FOR K:=2 TO P DO IF A[K]<>0 THEN WRITE (A[K]:5); END; END.

Sətr tipli kəmiyyətlər Program m2; var ss, ts, ays:string; dp, say, m, n:integer; Begin writeln(metn daxil edin); readln(SS); ts:=xan; say:=0; m:=length(ss); n:=length(ts); for dp:= 1 to m-n+1 do begin Ays:= copy(ss,dp,n); if ays= ts then say:=SAY+1 ELSE; END; WRITELN (SAY=, SAY); END. Məsələ: Mətndə olan a Və b simvollarının sayını tapan hansı böyükdürsə çap edin. Məs: aaa bbbb ccgg Na=3 nb= 4 çap nb=4

Prosedurlar və funksiyaların strukturu Proqramlaşdırmada eyni yazıların təkrarlanmasını aradan qaldırmaq üçün alt proqram və funksiya anlayışından istifadə edilir. Alt proqram-Proqramın avtonom (müstəqil) işləyən hissəsi (müəyyən qrup operatorlar ardıcıllığı) olub proqramda bir dəfə yazılır və istənilən sayda istifadə edilir.Başqa sözlə mürəkkəb məsələ sadə məsələlərə ayrılır və bu məsələlər alt proqram adlanır.

Turbo Pascal-da alt proqram aşağıdakı kimi yazılır. Prosedur (Procedure) və Funksiya (Function) şəklində verilən alt proqramlardan istifadə Procedure prosedurun_adı (fp1:tip1;fp2:tip2;....;fpn:tipn;); Prosedurun operatorlar bölməsi; End;

Məsələn: Verilmiş 2 ədədin cəminin tapılmasını alt proqramın köməyi ilə tərtib edək: Program Cəmin_tapılması; var Sum,f,n:integer; Procedure Cəm (a,b:integer); Begin Sum:=a+b; End; Begin f:=54; n:=55; Cəm (f,n); Writeln(Sum=,Sum); End.

Program KVT ; var a, b, c, d, x1, x2:real; s1,s2,h:real; Procedure kv_tenlik (a,b,c: REAL); Begin d:=sqr(b) – 4 *a*c; if d<0 then writeln (tenliyin heqiqi koku yoxdur) else Begin x1:=(-b+sqrt(d)) /(2*a); x2:=(-b-sqrt(d))/(2*a); end; End; Begin a:=1; b:=- 4; c:=3; kv_tenlik(a,b,c); s1:=sqr(x1)+sqr(x2); a:=1; b:=-3; c:=2; kv_tenlik(a,b,c); s2:=sqr(x1) + sqr(x2); h:=s1*s2; writeln(h=,h:0:0) End.

Program fakt sum; uses crt; var y1, y2, y3,n,m: integer; y,t1,t2: real; Procedure fact ( i:integer; var p:integer); var i:integer; Begin p:=1; if i<0 then begin p:=1; exit; end; For i:=1 t0 10 do p:=p+i; End; begin readln (n,m); fakt(n,y1); t1:=sqrt(y1); fakt(m,y2); t2:=sqr(y2); fakt(n-m,y3); y:= t1+t2+y3; writeln (y); readln end.