СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Mavzu:Belgili va satrli miqdorlar bilan ishlash

Категория: Информатика

Нажмите, чтобы узнать подробности

1. a=‘Sog`lom tanda ‘,  b=‘sog` aql.‘  bo‘lsa, c:= Concat(a,b); operatori bajarilganda c ning qiymati ‘Sog`lom tanda sog` aql.‘ ga teng. Lekin c:= Concat(a,b);  o‘rniga c:=a+b; deb yozish ham kerakli natijani beradi.

2. a=‘informatika‘ bo‘lsa,  n:=Length(a); operatori bajarilganda n ning qiymati 11 ga teng bo‘ladi.

3. a:=Pos(‘m‘, ‘informatika‘); operatori bajarilganda a ning qiymati 6 ga, a:=Pos(‘ma‘, ‘informatika‘); operatori bajarilganda ham a ning qiymati 6 ga, a:=Pos(‘sn‘, ‘sinf‘); operatori bajarilganda a ning qiymati 0 ga, a:=Pos(‘v‘, ‘sinf‘); operatori bajarilganda esa, a ning qiymati 0 ga teng bo‘ladi teng bo‘ladi.

Просмотр содержимого документа
«Mavzu:Belgili va satrli miqdorlar bilan ishlash»

Informatika-9-A,B. 38 – dars.

Mavzu:Belgili va satrli miqdorlar bilan ishlash

Maqsad:

1) ta’limiy: O`quvchilarga Paskalning belgili va satrli miqdorlar bilan ishlash protsedura va funksiyalarini o1rgatish;

2) tarbiyaviy: O`quvchilarga axloqiy tarbiya berish;

3) rivojlantiruvchi: O`quvchilarning belgili va satrli miqdorlar bilan ishlash ko`nikmalarini rivojlantirish.

DTS: Paskalning belgili va satrli miqdorlar bilan ishlash protsedura va funksiyalarini bilish.

Darsni borishi:

I. Tashkiliy davr

1) salomlashish;

2) davomatni aniqlash.

II. Takrorlash

  1. Shart bo‘yicha takrorlash operatorlardan qaysilarini bilasiz?

  2. While operatorining ishlashini izohlang.

  3. Repeat operatorining ishlashini izohlang.

  4. Shart bo‘yicha takrorlash operatorlarining parametrli takrorlash operatoridan farqi nimada?

  5. Takrorlash operatorlarini qo‘llash qulay bo‘lgan hollarga mos qilib tushuntirig.

III. Yangi mavzuni o`rganish

Paskalda belgili va satrli miqdorlar bilan ishlash uchun maxsus funksiya va protseduralar kiritilgan. Quyida biz ularning ba’zilari bilan tanishamiz.

Yozilishi

Vazifasi

Standart funksiyalar

Concat(S1,S2,…,SN)

S1,S2,…,SN satrli (belgili) o‘zgaruvchilar (o‘zgarmaslar) ni bir biriga ketma-ket ulaydi

Length(S)

S satrning uzunligini (belgilari sonini) aniqlaydi.

Pos(b,S)

S satr ichidan b so’zni izlaydi

Copy(S,n1,n2)

S satrning n1-belgisidan boshlab n2 ta belgining nusxasini oladi

Ord(B)

B belgining ASCII kodini aniqlab beradi

Chr(a)

ASCII kodi a ga teng belgini aniqlaydi

Standart protseduralar

Delete(S,n1,n2)

S satrning n1-belgisidan boshlab n2 ta belgisini olib tashlaydi

Insert(S1,S,n)

S satrga n-o‘rindan boshlab S1 satrni joylashtiradi

Str(a,S)

S satrli o‘zgaruvchining qiymati a sonning satr ko‘rinishidagi ifodasiga teng bo‘ladi

Val(S,a,c)

a sonli o‘zgaruvchining qiymati S satrli o‘zgaruvchining son ko‘rinishidagi ifodasiga, c esa nolga teng bo‘ladi (agar berilgan satrni son ko‘rinishida ifodalab bo‘lmasa, a ning qiymati nolga teng bo‘ladi, c ning qiymati esa noldan farqli bo‘ladi)

Shuni ta’kidlash joizki, dasturda funksiyalar ishlatilganda ularning qiymati biror o’zgaruvchiga o’zlashtiriladi, protseduralar ishlatilganda esa o’zlashtirish operatorisiz yoziladi.

Endi sodda misollarni ko’rib chiqamiz.

1. a=‘Sog`lom tanda ‘, b=‘sog` aql.‘ bo‘lsa, c:= Concat(a,b); operatori bajarilganda c ning qiymati ‘Sog`lom tanda sog` aql.‘ ga teng. Lekin c:= Concat(a,b); o‘rniga c:=a+b; deb yozish ham kerakli natijani beradi.

2. a=‘informatika‘ bo‘lsa, n:=Length(a); operatori bajarilganda n ning qiymati 11 ga teng bo‘ladi.

3. a:=Pos(‘m‘, ‘informatika‘); operatori bajarilganda a ning qiymati 6 ga, a:=Pos(‘ma‘, ‘informatika‘); operatori bajarilganda ham a ning qiymati 6 ga, a:=Pos(‘sn‘, ‘sinf‘); operatori bajarilganda a ning qiymati 0 ga, a:=Pos(‘v‘, ‘sinf‘); operatori bajarilganda esa, a ning qiymati 0 ga teng bo‘ladi teng bo‘ladi.

4. a:=Copy(‘informatika‘,3,5); operatori bajarilsa, a ning qiymati ‘forma‘ so‘ziga teng bo‘ladi.

5. a:=‘A‘ bo‘lsa, Ord(a) funksiyaning qiymati 65 ga teng bo‘ladi. Chunki ‘A‘ (lotin) harfining ASCII kodi 65. Ord funksiyasining argumenti o‘zgarmas bo‘lsa, u apostrof ichida yoziladi. Masalan, Ord(‘A‘).

6. cod:=65 bo‘lsa, Chr(cod) funksyasining qiymati lotin ‘A‘ harfiga, Chr(66) funksiyasining qiymati esa lotin ‘B‘ harfiga teng bo‘ladi.

7. a=‘bajarilmadi‘ bo‘lsa, Delete(a,8,2); protsedurasi bajarilgach natija a=‘bajarildi‘ bo‘ladi. Buni sxematik ko‘rinishda quyidagicha tasvirlash mumkin:

( a=‘bajarilmadi‘ → Delete(a,8,2); → ‘bajarilmadi‘ → a=‘bajarildi‘ )

8. a=‘bajarildi‘, b=‘ma‘ bo‘lsa, Insert(b,a,8); protsedurasi bajarilgach natija a=‘bajarilmadi‘ bo‘ladi. Buni sxematik ko‘rinishda quyidagicha tasvirlash mumkin:

(a=‘bajarildi‘, b=‘ma‘ → Insert(b,a,8); → ‘bajaril‘+‘ma‘+‘di‘ → a=‘bajarilmadi‘)

9. a=765 bo‘lsa, Str(a,s); protsedurasi bajarilgach, s=‘765‘ bo‘ladi.

10. s=‘123‘ bo‘lsa, Val(s,a,c); bajarilgach, a=123 va c=0 bo‘ladi; s=‘34BMA5‘ bo‘lsa, Val(s,a,c); bajarilgach, a = 0 va c ≠ 0 bo‘ladi.

Endi ko‘rib chiqilgan funksiya va protseduralarni amalda qo‘llashga misollar keltiramiz:

1–misol. Berilgan ‘mustaqil‘,‘O`zbekiston‘, ‘davlat‘ so‘zlaridan ‘O`zbekiston mustaqil davlat‘ iborasini hosil qiluvchi dastur tuzing.

Yechish. Berilgan so‘zlar dastur ishlashi davomida o‘zgartirilmaydi. Shu sababli ularni constanta sifatida ifodalaymiz.

Program Suz_yasash;

Const a=‘mustaqil‘; b=‘O`zbekiston‘; c=‘davlat‘;

Var d : String;

Begin

d:=Concat(b,a,c); WriteLn(d);

End.

2–misol. Kiritilgan so‘zni teskarisiga o‘girib beruvchi dastur tuzing. Masalan, ‘ota‘ so‘zidan ‘ato‘ so‘zi hosil bo‘lishi kerak.

Yechish. Kiritilgan so‘zni a, hosil bo‘ladigan so‘zni b bilan belgilamiz. b ning qiymatini bo‘sh satrga tenglaymiz (b:= ‘‘). a ning uzunligini aniqlaymiz va uning chap tomonidan boshlab bittadan belgisini olib b ga chap tomondan birlashtirib boramiz.

Program Teskari;

Var a, b, belgi: String; i, len : Integer;

Begin

Write(‘So`z kiriting : ‘); ReadLn(a); Len:=Length(a); b:=‘‘;

For i:=1 To len Do begin

belgi:=Copy(a,i,1); {a ning i-belgisini nusxasi olindi}

b:=belgi+b; {a dan nusxasi olingan belgi b ning chap tomoniga qo‘shildi}

end;

Write(b); readln;

End.

3–misol. Berilgan so‘zda berilgan belgi bor yoki yo‘qligini aniqlovchi dastur tuzing.

Program Izlash;

Var suz : String; belgi : Char;

Begin

Write(‘So`z kiriting : ‘); ReadLn(suz);

Write(‘izlanayotgan belgini kiriting : ‘); ReadLn(belgi);

If Pos(belgi,suz)0 Then WriteLn(‘BOR‘) Else WriteLn(‘YO`Q‘);

End.

Dastur bajarilgach kompyuter ekranida ‘BOR‘ yoki ‘YO`Q‘ so‘zlaridan biri aks etadi.

4–misol. ‘saodat‘ va ‘qadoq‘ so‘zlaridan ‘sadoqat‘ so‘zini yasovchi dastur tuzing.

Program Suz_yasash;

Var a,b : String;

Begin

a:=‘saodat‘; b:=‘qadoq‘;

Delete(a,3,2); {a=‘saat‘ bo‘ldi}

Delete(b,1,2); {b=‘doq‘ bo‘ldi}

Insert(b,a,3); {a=‘sadoqat‘}

WriteLn(a);

End.

5–misol. Berilgan ‘Buyuk shoir Alisher Navoiy‘, ‘yilda tug`ilgan‘ jumlalari va 1441 sondan ‘Buyuk shoir Alisher Navoiy 1441 yilda tug‘ilgan‘ satrni hosil qiluvchi dastur tuzing.

Program Alisher_Navoiy;

Const a=‘ Alisher Navoiy ‘; b=’ yilda tug`ilgan’; c=1441; d=‘Buyuk shoir‘;

Var yil, s : String;

Begin

Str(c, yil); {c=1441 dan yil=‘1441‘ hosil qilindi}

s:=Concat(d,a,yil,b); WriteLn(s);

End.

6–misol. Berilgan butun sonning raqamlari yig‘indisini hisoblovchi dastur tuzing.

Program Raqamlar;

Var son, raqam, len, i, c, natija : Integer; _son, _raqam : String;

Begin Write(‘Butun son kiriting: ‘); ReadLn(son);

Str(son,_son); len:=Length(_son); natija:=0;

For i:=1 to len Do

Begin _raqam:=Copy(son, i, 1); Val(_raqam,raqam,c); natija:=natija+raqam; end;

WriteLn(son, ‘ ning raqamlari yig`indisi=‘, natija);

End.

Ushbu dastur kiritilgan son 32767 dan katta bo‘lsa noto‘g‘ri natija beradi. Buning sababini o‘zingiz o‘ylab ko‘ring. Dasturga qanday o‘zgartirish kiritilsa 2147483647 gacha bo‘lgan sonlarni ham ishlatish mumkin bo‘lishini o‘ylab ko‘ring!

Paskalda satrlar “massiv xususiyati”ga ega. Ya’ni satr – massiv deb, satrdagi belgilar esa massivning elementlari deb qaraladi. Masalan, s – satrli o‘zgaruvchi bo‘lsa, s[3] – shu satrning 3-belgisini bildiradi. Ya’ni s:=‘kompyuter‘ bo‘lsa, s[3]= ‘m‘.

7–misol. Berilgan satrdagi belgilarning ASCII kodlarini ekranga chiqaruvchi dastur tuzing.

Program Kod;

Var s, b : String;

i, L, cod : Integer;

Begin

Write(‘Satr kiriting : ’); ReadLn(s);

L := Length(s); { kiritilgan satr uzunligi hisoblanib, L ga o‘zlashtirildi }

For i:=1 to L Do WriteLn(Ord(s[i]));

End.

Satrlarni “massiv xususiyati” orqali ko’pgina masalalarni hal etish qulay. Masalan, 6-misolni satrlarni shu xususiyatidan foydalanib o’zingiz hal etib ko’ring.

IV. Mustahkamlash

  1. Concat funksiyasining vazifasi nimadan iborat? Misollar keltiring.

  2. Concat funksiyasining o‘rniga boshqa amaldan foydalanish mumkinmi?

  3. Qaysi funksiya satr uzunligini aniqlaydi? Misollar keltiring.

  4. Pos funksiyasi qanday vazifani bajaradi?

  5. Pos sunksiyasining qiymati qachon nolga teng bo‘ladi? Misollar keltiring.

  6. Copy funksiyasi nima uchun qo‘llaniladi?

  7. Copy funksiyasining qiymati sonli bo‘lishi mumkinmi? Misollar keltiring.

  8. Paskalda berilgan satrning qismini o‘chiradigan qanday protsedura bor?

  9. Paskalda ixtiyoriy belgili yoki satrli miqdorni sonli miqdorga o‘tkazib bo‘ladimi? Javobingizni izohlang.

  10. Ord va Chr funksiyalarining vazifasini aytib bering

  11. Satrli o‘zgaruvchilarning “massiv xususiyati” nimani anglatadi?

Mashqlar

1. Quyidagi funksiyalar bajarilish natijasini aniqlang.

a) Concat(‘o‘, ‘na‘); Jvob: ‘ona’ b) Concat(‘ya‘, ‘sha‘,‘sin‘); javob: ‘yashasin’

d) a:=‘dunyo‘; Length(a); javob: 5 e) Pos(‘o‘, ‘bahor‘); javob: 4

f) Copy(‘kino‘, 1,2) + Copy(‘oftob‘, 3,3); javob: kitob.

3. Kiritilgan so‘zdan “ona” so‘zini hosil qilish imkoniyatini aniqlovchi dastur tuzing.

Uses crt;

Var I,so,sn,sa: word; a: string;

Begin

Write(‘So`zni kiriritng=’);readln(a)

For i:=1 to length(a) do begin if (a[i]=’O’) or (a[i]=’o’) then so:=1; if (a[i]=’N’) or (a[i]=’n’) then sn:=1;

if (a[i]=’A’) or (a[i]=’a’) then sa:=1; end;

if so*sn*sa=1 then Writeln(‘Hosil qilish mumkin’) else Writeln(‘Hosil qilish mumkin emas’);

readln; end.

V. Uyga vazifa

1-9-savollar. 2-mashq