Ia9 -fesil-1: 9 qxd



Yüklə 0,52 Mb.
səhifə49/49
tarix02.01.2022
ölçüsü0,52 Mb.
#1163
növüDərs
1   ...   41   42   43   44   45   46   47   48   49
5. Faylın bağlanması. Giriş, yaxud çıxış faylı ilə işi bitirdikdən sonra diskdəkifaylla proqram arasında əlaqəni kəsmək lazımdır. Başqa sözlə, açıq fayllarbağlanmalıdır. Bunun üçün Turbo PascaldaCloseproseduru nəzərdə tutulub.

Close(f1); Close(f2);

Nəzərə alın ki,Close (f1, f2);yazılışı düzgün deyil - hər bir fayl ayrıcabağlanmalıdır!

İndi fayllarla işləmək üçün iki misala baxaq. Birincidə iki ədəd fayla yazılır,ikinci misalda isə həmin ədədlər fayldan oxunur və ekrana çıxarılır.

program P1; var



f: text; {Fayl elan olunur}

n: Integer; begin

Assign(f,'file1.txt');

{f faylı diskdə olanfile1.txt faylı ilə əlaqələndirilir} Rewrite(f); {f faylı yazılmaq üçün açılır}

n := 7;

WriteLn(f, n); {n dəyişənin qiyməti fayla yazılır} WriteLn(f, 5); {5 ədədi fayla yazılır} Close(f); {Fayl bağlanılır}

end.

program P2; var

f: text; {Fayl elan olunur}

n: Integer;

begin



Assign (f,'file1.txt'); {f faylı diskdə olan file1.txtfaylı ilə əlaqələndirilir}


Reset(f); ReadLn(f, n

WriteLn(n);
{f faylı oxunmaq üçün açılır} {Birinci ədəd n dəyişəninə oxunur}

{n dəyişəninin qiyməti (7 ədə di) ekrana çıxarılır}







ReadLn(f, n WriteLn(n);

Close(f);
{İkinci ədəd n dəyişəninə oxunur} {n dəyişəninin qiyməti (5 ədədi) ekrana çıxarılır} {Fayl bağlanılır}






end.

Sonda fayllarla işləmək üçün tez-tez istifadə olunan bir neçə funksiya ilə dətanış olaq.



Mətn faylına informasiyanın artırılması. Mətn fayllarının sonuna infor-masiya artırmaq imkanı da nəzərdə tutulub. Bunun üçün faylıRewriteprosedu-ru ilə deyil,Appendproseduru ilə açmaq lazımdır.

Append();

Bu prosedur çağırıldıqdan sonra fayl yazılış üçün açılır, ancaqRewrite prosedurunda olduğu kimi, fayldakı mövcud informasiya silinmir. Cari mövqegöstəricisi faylın sonuna keçir və deməli, yazılan informasiya faylın sonuna əlavəolunur.

Misal olaraq yuxarıdakıP1proqramı vasitəsilə yaradılanfile1.txtfaylınayeni yazı əlavə edək:

program P3; var



f: text; begin

Assign (f,'file1.txt');

Append(f); WriteLn(f, 9);

Close(f); end.

Aşağıdakı cədvəldə fayllarla iş zamanı lazım olan daha bir neçə funksiyahaqqında qısa məlumat verilib.


Funksiya

Təyinatı

Eof

()

f fayl dəyişəni ilə bağlı olan fayl üçün End-of-file (faylın sonu) vəziyyətini bildirir: cari mövqegöstərici faylın sonundadırsa, yaxud fayl boşdursa,True, qalan hallarda isə False qiymətini qaytarır.

Erase

()

f fayl dəyişəni ilə bağlı olan xarici faylı silir.

Rename

(, )

Faylın adı dəyişdirilir.

MkDir

()

Yeni qovluq yaradır.

RmDir

()

Qovluğu uzaqlaşdırır. Bu zaman uzaqlaşdırılanqovluğun içərisində altqovluqlar, yaxud fayllarolmamalıdır.







  1. Verilənləri fayldan daxil etməyin hansı üstünlükləri var?

  2. Turbo Pascalda faylların hansı növləri var?

  3. Turbo Pascalda mətn faylları ilə işləmək metodikası necədir və bunun üçün hansıoperatorlar nəzərdə tutulub?

  4. Fayl dəyişəni nədir?

  5. Faylın daxili və xarici adının mahiyyətini izah edin.

PRAKTİKUM

OPERATORLAR



    1. Aşağıdakı komandaların icrasından sonraskəmiyyəti hansı qiyməti alacaq?

      1. s : = 7; s := 2 3;

      2. s := 1; s := s + 3;

      3. a := 2; b := 5; b := b - a; s := b + a;

      4. s := 0; k := 30; d := k - 5; k := 2*d; s := k - 100;

    2. Aşağıdakı operatorların icrasından sonraxydəyişənləri hansı qiymətialacaq? Dəyişənlərin qiymətləri yerlərini dəyişdimi?


x

:= 2;

y

:= 9;

x

:= y;

y

:= x;





3. Aşağıdakı operatorların icrasından sonraa, b, cdəyişənləri hansı qiy-mətləri alacaq (a = 1, b = 2, c = 3) ?




a

:= b;

b

:= c;

c

:= a;





4. Aşağıdakı operatorların icrasından sonra ekrana nə çıxacaq?




1.14.
a := 4; Write(a); Write ('a');

  1. Aşağıdakı proqramın icrasından sonra ekrana nə çıxacaq?

proqram Task5; var

a, b, c : Integer; begin

Write(1); Write(2, 3); WriteLn(4); Write(5); WriteLn(6, 7); WriteLn; Write(8); ReadLn; end.

  1. Klaviaturadan 1, 2, 3 ədədləri daxil edilərsə, aşağıdakı proqramın icrasın- dan sonra ekrana nə çıxacaq?

proqram Task6; var

a, b, c : Integer;

begin

WriteLn('Üç tam ədəd daxil edin'); ReadLn(a, b, a); c = a + b; Write ('a+b=', c); ReadLn; end.

  1. Hansı ədədləri və hansı ardıcıllıqla daxil etmək lazımdır ki, aşağıdakı operatorların icrasından sonra ekrana 123 çıxsın?

Read (a, b, c); Write (c, b, a);

  1. Proqramda olan bütün xətaları tapıb düzəldin.

proqram Task8; var

a; b; c : Integer; begin

WriteLn(' Ədədi daxil edin ', a); ReadLn(a)

b = 5; c = ab;

WriteLn (a ' * ' b ' = ', s); ReadLn(a); end.

  1. Tam ədədin daxil edilməsini istəyən və həmin ədədin kvadratını, kubunu ek- rana çıxaran proqram yazın. Proqramın icrasının nəticəsi təxminən belə olmalıdır:

Ədədi daxil edin. 4

4**2 = 16 4**3 = 64

10. Aşağıdakı proqram istifadəçidən cari aydakı günlərin sayını və bugünkü günü soruşur, sonra isə cari ayın sonuna neçə gün qaldığı haqqında məlumatı ekrana çıxarır. Proqramınsgdəyişəni cari aydakı günlərin sayını,bgdəyişəni bugünkü günü,qgdəyişəni isə ayın sonunadək qalan günlərin sayını göstərir. Proqramın necə icra olunduğunu yoxlayın.

proqram Task10; var

sg, bg, qg : Integer; begin


10.



Qeyd:

- həlli ilə verilmiş tapşırıqlar. Onların həllinə diqqət yetirin və təhlil edin.

WriteLn('Cari ayda neçə gün var?'); ReadLn(sg);

WriteLn('Bu gün ayın neçəsidir?'); ReadLn(bg);

qg := sg - bg;

WriteLn('Bu ayın sonuna qg, ' gün qalıb'); ReadLn; end.

11. İstifadəçidən doğulduğu ili və cari ili soruşan, sonra onun yaşını ekrana çıxaran proqram yazın. Proqramın icrasının nəticəsi təxminən belə olmalıdır:

Hansı ildə doğulmusan? 1994

İndi neçənci ildir? 2008

Sənin bu il 14 yaşın var.

12.xdəyişəninin hansı qiymətlərində aşağıdakı bərabərliklər doğru olacaq?

    1. x div 5 = 8

    2. 5 0 div x = 7

    3. 5 0 mod x = 7

    4. x div 5 = x mod 5

    5. 2 0 div x = 20 mod x

13. Tutaq ki,Sdəyişənində beşrəqəmli ədəd saxlanılır.adəyişəni həmin ədəddəki on minliklərin sayını,bminliklərin sayını,cyüzlüklərin sayını,don- luqların sayını,eisə təkliklərin sayını göstərir. Aşağıdakı cədvəlin iki sütunu arasında uyğunluq qurun.


Əməliyyat

Dəyişən

s div 100 mod 10

a

s mod 10

b

s div 10 mod 10

c

s div 10000

d

s mod 100 div 10

e







14. Dördrəqəmli ədədin rəqəmlərini tapan proqram yazın. Aşağıda istifadəçi ilə kompüter arasındakı dialoq nümunəsi verilib. İstifadəçinin daxil etdiyi veri- lənlər qalın şriftlə göstərilib.

Dördrəqəmli ədəd daxil edin. 4523

Minliklərin sayı 4 Yüzlüklərin sayı 5 Onluqların sayı 2 Təkliklərin sayı 3

ŞƏRT



      1. Operatorların ardıcıl yerinə yetirilməsi nəticəsindəpdəyişəni hansı qiyməti alar?

q := -1;

p := 1;

if (p > 0) and (q > 0) then p := 2 else

if (p < 0) and (q < 0) then

p := 3 else

p := 4;

      1. Operatorların ardıcıl yerinə yetirilməsi nəticəsindəpqdəyişənləri hansı qiyməti alar?

q := false;

p := true;

p := p and q;

q := q or false;

q := ( not q) or p;

      1. Operatorlar ardıcıllığı yerinə yetirilərsə,cdəyişəni hansı qiyməti alar?

a := 8; a := a + 2;

b := a - 1; c := a + b div 2;

      1. Aşağıdakı proqram fraqmentində olan bütün xətaları tapıb düzəldin.

if a >= 10 and a <= 9 9 then

WriteLn(a ' ikirəqəmli ədəd'); WriteLn('onun kvadratı =', sqrt(a)); else (a, ' ikirəqəmli ədəd deyil');

      1. Klaviaturadan 3, 5, 9 ədədləri daxil olunarsa, aşağıdakı proqramın icrasından sonrav, t, udəyişənləri hansı qiymətləri alar?

proqram Task19; var

a, b, c, v, t, u : Integer;

begin



WriteLn('Üç ədəd daxil edin'); ReadLn(a, b, c); v := 1; t := 0; u := 0; if a mod 3=0 then begin

v := v * a; t := t + 1; u := u + 1; end;

if b mod 3=0 then begin

v := v * b; t := t + 1; u := u + b; end;

if c mod 3=0 then begin

v := v * c;

t := t + 1; u := u + c; end;

WriteLn ('v=', v, ' t =', t, ' u=', u); ReadLn; end.

20.and, or, notməntiqi əməllərindən istifadə etməklə aşağıdakı şərtləri pro- qramlaşdırma dilində yazın.

        1. xədədi [-3, 2] parçasında yerləşir;

        2. aədədi ştrixlənmiş sahəyə düşür.

ı—ı—ı—F~-3-2-1 0 1 2 3

          1. ax + b = 0tənliyi verilmişdir. Bu tənliyin həllini tapan, yaxud onun həllinin olmaması haqqında məlumatı ekrana çıxaran proqram yazın.

          2. İstifadəçinin yaşına görə onun hansı yaş qrupuna mənsub olduğunu müəyyənləşdirən proqram yazın:

  • 13-dək - uşaqlıq

  • 14-dən 24-dək - cavanlıq

  • 25-dən 59-dək - yetkinlik

  • 60-dan çox - qocalıq

23.

ax2 + bx + c = 0kvadrat tənliyi verilmişdir. Aşağıdakı proqram daxil ediləna, b, cqiymətlərinə görə bu tənliyin həllini tapır, yaxud həllin olmaması haqqında məlumat verir. Proqramın icrasını yoxlayın.

program KvadratTenlik; var a, b, c : Real; D : Real; x1, x2 : Real;

begin



Write ('a, b, c əmsallarını daxil edin: ');

ReadLn(a, b, c);

if (a = 0) and (b = 0) and (c = 0) then begin

Write ('Bütün əmsallar 0-ra bərabərdir'); WriteLn ('x - ixtiyarı ədəddir') end else

if (a = 0) and (b <> 0)

then WriteLn('Tənliyin bir kökü var x=', (-c/b):6:2)

else begin



D := b*b - 4*a*c; if D > 0

then begin



x1:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a); WriteLn ('x1=', x1:6:2,'x2=', x2:6:2)

end else



if D = 0

then begin



x1: = -b/(2*a);

WriteLn ('Köklər eynidir');

WriteLn (x1=',x1:6:2,

'x2=', x2:6:2);

end



else WriteLn('Həqiqi kökləri yoxdur');

end;

end.


DOVRLƏR

    1. 1-dən 20-ə kimi natural ədədlərin kvadratlarını çap edin.

    2. 4-ə vurma cədvəlini çap edin.

    3. 1-dən 100-ə kimi 4-ə tam bölünən natural ədədləri çap edin.

    4. nmnatural ədədləri verilmişdir. Vurma əməlindən istifadə etmədən onların hasilini tapan proqram yazın.

Verilmişnədədinə görə həmin ədədi

28.



6

6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6

şəklində (nümunən= 6 halı üçün göstərilib) ekrana çıxaran proqramı aşağıdakı kimi yazmaq olar. Onun necə icra olunduğunu yoxlayın.

program Task2 8;

var i, j, n : Integer;

begin

ReadLn(n);

for i := 1 to n do begin

for j := 1 to i do Write(n, ' '); WriteLn;

end; end.



29. Tam ədədləri aşağıdakı şəkildə ekrana çıxaran proqram yazın:

6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6

30. Tam ədədləri aşağıdakı şəkildə ekrana çıxaran proqram yazın:


0










1

0







2

1

0




3

2

1

0

4

3

2

1

5

4

3

2





MASSIVLƏR



31. Operatorlar ardıcıllığı yerinə yetirilərsə,pqdəyişənləri hansı qiymətləri alar?

for i := 1 to 10 do

for j := 1 to 5 do

A[i,j] := i*j;


p

:= 0

q

:= 0

m

:= 2

n

:= 5





for k := 1 to 5 do begin



p: = p + A[m,k]; q := q + An,k]; end;

32. Aşağıdakı proqram 10 elementdən ibarət birölçülüXmassivinin ilk 5 elementini çıxışa verir. Proqramın necə icra olunduğunu yoxlayın.

program Print; var i : Integer;

X : array[1..10] of Integer;

begin



for i := 1 to 5 do Write (X[i], ' '); WriteLn; end.

33. Aşağıdakı proqram birölçülü massivdə müsbət və mənfi elementlərin

sayını hesablayıb çıxışa verir. Proqramın necə icra olunduğunu yoxlayın. program Task33; const Nmax = 100;

type TArr = array[1..Nmax] of integer; var A : Tarr;

procedure Solve;

var i, n, p : Integer; begin

p := 0; ReadLn(n);

for i := 1 to n do Read(A[ i]); for i := 1 to n do

if A[i] >=0 then Inc(p);

WriteLn('Müsbət elementlərin sayı ', p); WriteLn('Mənfi elementlərin sayı ', n - p); end;

begin

Solve; end.

      1. Verilmiş birölçülü massivdə sonuncu mənfi elementin nömrəsini tapan proqram yazın.

      2. Tam ədədlər massivi verilmişdir. Klaviaturadan daxil edilənqt ədədlərinə görə massivin onlar arasında qalan elementlərinin cəmini tapın.

36. Ölçüsünxmolan Amassivini aşağıdakı qaydada doldurun:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28





sətIrlər



37. Aşağıdakı proqram ASCII simvollarının sıra nömrəsini və simvolların özlərini ekrana çıxarır. Proqramdakıkdəyişənindən bir sətirdə 15 simvol vermək üçün sayğac kimi istifadə olunur. Proqramın necə icra olunduğunu yoxlayın.

program Task37; var i, k : Integer;

begin



WriteLn('Simvolların sıra nömrəsinin -

i dəyişəninin qiymətinin və simvolla- rın özlərinin ekrana çıxarılması');

k := 0;

for i := 1 to 255 do begin

Write(i : 4, ' Simvol ', Chr(i)); k :=k + 1;

if k = 15 then begin WriteLn;



k := 0;

end; end; end.



        1. Yazı qaydalarına görə mətndə vergüldən sonra həmişə boşluq qoyulur. Aşağıdakı proqram mətndə bu tipli səhvləri tapıb düzəldir. Proqramın necə icra olunduğunu yoxlayın.

program Task3 8;

var i : Integer; s : string;

begin



WriteLn('Mətni daxil edin'); ReadLn(s);

i := 1;

while i < Length(s) do begin

if (s[i] = ',') and not(s[i + 1] = ' ')

then Insert(' ' s, i+1); i :=i + 1; end;

WriteLn(s); ReadLn; end.



        1. Əvvəlki məsələnin proqramını elə dəyişdirin ki, "!", "?", "." simvolların- dan sonra da uyğun səhvi düzəltsin.

        2. Verilmiş sətirdə ən qısa və ən uzun sözü müəyyənləşdirən proqram yazın.

        3. Sətirdə müəyyən hərfə (məsələn, "a") neçə dəfə rast gəlindiyini hesablayan proqram yazın.

FAYLLAR

42. Diskdə "test.txt" adı ilə saxlanılan mətn faylı verilib:

123 17 25 256 80 5 89 56 234 123 123 123 81 11 11 11

Aşağıdakı proqramın icrasından sonra ekrana nə çıxarılacaq?

program Task42;

var f : text;

s : string; n, m : Integer; c, z : Char; begin


Assign(f, 'test.

Reset(f);







ReadLn(f, s)

;




ReadLn(f, n)

;




Read(f, m);







ReadLn(f, c)

;




Read(f, z);







Close(f);







WriteLn ('s='

,

s)

WriteLn ('n='

,

n)

WriteLn ('m='

,

m)

WriteLn ('c='

,

c)

WriteLn ('z='

,

z)

ReadLn;











end.



43. Tutaq ki,fmətn faylı vəstsətri verilmişdir. Aşağıdakı proqramsdə- yişəninin qiymətiniffaylının sətirlərində axtarır və hansı sətirdə tapırsa, həmin sətri yenigfaylına yazır.

program Task4 3;

var f, g : text;

s, st : string;

begin

WriteLn('Sətri daxil edin '); ReadLn(s);

Assign(f, 'test.txt'); Assign(g, 'test2.txt'); Reset(f); Rewrite(g);

while not eof(f) do begin

ReadLn(f, st);

if pos(s, st) <> 0 then WriteLn(g, st); end;

close(f); close (g); ReadLn; end.






  1. soyadı
Mətn faylı verilib. Bu faylın ən qısa sətirlərini yeni fayla yazın. Verilmiş mətn faylında ən uzun sətri müəyyənləşdirən proqram yazın. Şagirdlərin siyahısından ibarət mətn faylı verilib. Hər sətirdə bir şagirdin və adı yazılıb. Bu faylı oxuyub ekrana çıxaran proqram yazın.




Səhifənin istiqaməti kağız vərəqin fəzada vəziyyətini təyin edir. İki cür istiqa- mət var: kitab və albom (portret və mənzərə).




ROQRAM



İnformatika - IX sinif (həftədə 1 saat, cəmi 32 saat)

        1. PASCAL PROQRAMLAŞDIRMA DİLİ (21 saat)

Proqram təminatının təsnifatı. Proqramlaşdırma dilləri. Yüksək səviyyəli dillər. Proqramların hazırlanması. Turbo Pascal redaktoru. Pascal-proq- ramın ümumi strukturu. Operatorlar. Praktikum. Şərti yoxlayan operator- lar. Praktikum. Dövr operatorları. Praktikum. Massivlər. Praktikum. Sətirlərlə iş. Praktikum. Altproqramlar. Fayllar. Praktikum.

        1. ELEKTRON SƏNƏD (4 saat)

Mətn sənədi və onun obyektləri. Mətn sənədin hazırlanması. Sənədin redaktəsi. Sənədin formatlanması.

        1. CƏDVƏL PROSESSORU (5 saat)

Cədvəl prosessorunun təyinatı. Elektron cədvəlin obyektləri. Elektron cədvəl verilənləri. Düsturlar. Diaqramın yaradılması və redaktəsi. Cədvəl sənədinin formatlanması.

        1. İNFORMASİYA CƏMİYYƏTİ (2 saat)

Cəmiyyətin informasiyalaşdırılması. Kompüter texnikasının tətbiq sahələri.

MÜNDƏRİCAT



          1. PASCAL PROQRAMLAŞDIRMA DİLİ

İNFORMATİKA 1

PASCAL 2


PROQRAMLAŞDIRMA DİLİ 2








            1. 6akı

            2. İnformatika - ümumtəhsil məktəblərinin 9-cu sinfi üçün dərslik.

            3. İsmayıl Calal oglu Sadıqov

            4. Ramin Əli Nazim oglu Mahmudzadə

            5. Naidə Rizvan qızı İsayeva

            6. Bakı, "Bakınəşr", 2008. 128 səh.

            7. © Dizayn "Bakınəşr", "TM" artgroup, 2008.

            8. Format 70 x 1001/16. Ofset kağızı N°1. Fiziki çap vərəqi 8. Çapa imzalanmışdır 29.07.2008. Tiraj 155 000. Pulsuz.

Yüklə 0,52 Mb.

Dostları ilə paylaş:
1   ...   41   42   43   44   45   46   47   48   49




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin