Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодАлгКП.doc
Скачиваний:
109
Добавлен:
18.02.2016
Размер:
2.27 Mб
Скачать

Практикалық жұмыс №12 Тақырыбы: Жазуларға қолданылатын негізгі амалдар

Жұмыс мақсаты: Жазуларға қолданылатын негізгі амалдарды программа құруда қолдануға үйрету

Жұмыстың орындалу тəртібі:

  1. Теориялық мəліметтермен танысу.

  2. Жеке нұсқада тапсырмалар орындау.

  3. Бақылау сұрақтарына жауап беру.

  4. Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, листингі болуы қажет.

12.1 Негізгі түсініктер

12.1.1 Жазулар. With операторы

Жазу деп типті элементтерден құралған күрделі типті мәліметтік берілгендерді айтайды. Жазуды құрайтын элементтер жазу өрістері деп аталады.

Жазудың сипатталу үлгісін:

Type тип атауы=Record

1-өріс атауы:1-өріс типі;

2-өріс атауы:2-өріс типі;

...

n- өріс атауы:n-өріс типі;

end;

var жазу атауы:тип атауы;

Мұндағы Record-жазу.

Мысал1: 2 студент туралы 5 өрістен тұратын мәлімет берілсін: фамилиясы, туған жылы, факультет, курс,студент билетінің нөмірі. Сипаттаған кезде жазудың, өрістердің атауларын оқуға ыңғайлы етіп, түсінікті түрде таңдап алған жөн.Сонда Student жазуын былайша сипаттауға болады:

Туре Student=record

Fio:string;

God_r:integer;

Fak:string;

Kurs:byte;

Nom_b:integer;

Var S1,S2: Student;

Жазудың кез-келген элементі былайша көрсетіледі:

Жазудың аты.өріс аты;

Мысал2: S1.Fio -1-студенттің фамилиясы

S1.Fak -1- студенттің факультеті

S2.God_r -2- студенттің туған жылы

S1жазуын жадыға енгізу операторы төмендегіше жазылады:

Read (S1.Fio,S1.Godr,S1.Fak,S1.Kurs,S1Nom_b);

Жазуды жадыға былайша енгізу күрделі программаларды оқуға қиындық келтіреді.Оны оңайлату үшін программада With (қосу, біріктіру) операторы қолданылады.

With жазу атауы do

begin

жазу өрістерінің аттары енгізілген операторлар

end;

Мысал3: 1-студент туралы жазуды жадыға енгізу және экранға шығару программасы.

Program m1;

Type Student=record

Fio: string;

God_r. integer;

Kurs : byte;

Var S1: student;

begin

With Si do

begin

readln (Fio);

readln (God_r);

readln (kurs);

writeln (Fio, God_r, Kurs);

end;

end.

Ескерту: Мәліметтерді компьютерге бірінің астына бірін енгізу қажет.

Бірнеше студент туралы мәліметтер берілген болса, онда оны массив түрінде сипаттаймыз.

Мысалы: var A: array [1..5] of Student;

Мұндағы А-жазу атауы.

1-жаттыгу. 5 студенттің фамилиясы және үш емтиханнан алған бағасы берілген.

Әр студентің фамилиясын және орташа бағасын шығарындар.

Program m1;

Type Stud = record

fio:string;

a, b, c : byte;

end;

Var St: arry [1..5] of Stud;

i: byte;

begin {жазуды енгізу}

for i:=I to 5 do

with St[i] do

readln (fio, a, b, c);

{жазуды шығару}

for i:=1 to 5 do

with St [j] do

writeln (fio, a, b, c);

{орташаны табу}

for i:=1 to 5 do

with St [i] do

writeln (fio, (a+b-c)/3);

end.

2-жаттығу.Студент жазуын студент жастарының кему бойынша реттендер.

Program m2;

type Stud=record

fio:string;

voz:byte; {voz-жасы өрісі}

end;

var St:array [1..5]of stud;

R,i,j:byte;

begin

for i:= 1 to 5 do

with St[i] do

writeln (fio,voz);

for i:=1 to 4 do

for j:=i+1to 5 do

if St[i]. voz<St[j]voz then

begin R:=St[i].voz;St[i].voz:=;St[i].voz:=R;end;

for i:= 1to 5 do

with St[i] do

writeln (fio,voz);

end.

3-жаттығу. 5 студенттің фамилиясы және үш емтиханнан алған бағасы берілген. Әр студенттің фамилиясын және орташа бағасын шығарыңдар.

Program m1;

Type Stud = record

fio :string;

a, b, c : byte;

end;

Var St: array [1..5] of Stud; i : byte;

begin жазбаны енгізу

for i:= 1 to 5 do

with Sti do

readln (fio, a, b, c);

жазбаны шығару

for i:= 1 to 5 do

with Sti do

writeln (fio, a, b, c );

орташаны табу

for i:= 1 to 5 do

with Sti do

writeln (fio, (a+b+c)/3 );

end.

4-жаттығу. Қоймадағы тауар атынан және бағасынан тұратын мәліметтер берілген. Ең қымбат тауар атын және бағасын табыңдар.

Program m3;

type Tovar= record

Name :string;

Baga:word;

end.

var A: array [1..10] of Tovar; i, Max: word;

begin

for i:= 1 to 10 do

with Ai do

readln (Name, baga);

max:= A1. baga;

for i:= 2 to 10 do

if max < Ai. baga then max:= Ai. baga;

writeln ('Ең қымбат тауар бағасы=', max);

{ең қымбат тауар атын және бағасын шығару}

for i:= 1 to 10 do

if Ai. baga=max then writeln (Ai. name, ' ', Ai. baga);

end.

ЖЕКЕ ТАПСЫРМАЛАР НҰСҚАЛАРЫ

  1. Ойыншықтар туралы: ойыншықтар аттары, бағалары және олар арналған балалардың жас шамалары туралы деректер берілген. Бағасы 200 теңгеден аспайтын ойыншықтар атын және 5 жасқа дейінгі балаларға жарамды ойыншықтар атын шығарыңдар.

  2. Оқушы фамилиясы, жасы өрістерінен тұратын жазбаның

а) “Жасы” өрісін кемуі бойынша реттеңдер

б) фамилиясы берілген әріптен басталатын оқушылар тізімін шығарыңдар.

  1. Кондитерлік фабрика шығаратын конфет аттары, бағасы өрістерінен тұратын жазбаның

а) бағасы ең арзан 3 конфет атын

б) конфет бағасының жартысын табыңдар.

  1. Студент фамилиясы, және 3 пәннен емтихан бағасы берілген.

а) топтың орташа бағасын

б) орташа бағасы ең жоғары 3 студенттің фамилиясын анықтаңдар.

  1. Оқушы фамилиясын және оның 3 пәннен алған бағасы өрістерінен тұратын жазу берілген.

А) үздік оқушылар фамилиясын;

Б) әр оқушы фамилиясын және орташа бағасын табыңдар.

  1. Оқушы фамилиясы, жасы өрістерінен тұратын жазудың

А) “Жасы” өрісін кемуі бойынша реттеңдер;

Б) фамилиясы берілген әріптен басталатын оқушылар тізімін шығарыңдар.

  1. Кондитерлік фабрика шығаратын конфет аттары, бағасы өрістерінен тұратын жазудың

А) бағасы ең арзан 3 конфет атын

Б) конфет бағасының жартысын табыңдар.

  1. Студент фамилиясы және 3 пәннен емтихан бағасы берілген.

А) топтың орташа бағасын;

Б) орташа бағасы ең жоғары 3 студенттің фамилиясын анықтаңдар.

  1. Оқушы фамилиясы, бойы, 3 сабақтан алған бағасы берілген

а) жалпы кластың әр пәннен орташа бағасын

б) бойы ең ұзын және ең қысқа оқушы фамилиясын анықтаңыз

  1. Тауар қоймасындағы телевизор маркаларының аттары, бағалары өрістерінен тұратын жазу берілген.

а) бағасы ең қымбат телевизор маркасын

б) телевизордың бұрынғы бағасы мен 5%-ке қымбаттағаннан кейінгі жаңа бағасын шығарыңдар.

  1. Студент аты мен 3 пәннен емтихан бағасы берілген. “2” және “3” бағасы жоқ студенттер атын алфавит бойынша реттеңдер.

  2. Студент фамилиясы, телефоны өрістерінен тұратын жазудың телефоны берілген цифрдан басталатын тізімін табыңдар.

Бақылау сұрақтары

    1. Жазба деген не?

    2. Жазба өрістері деген не?

    3. Жазба программада қалай сипатталады?

    4. Жазбаның кез- келген элементі қалай көрсетіледі?

    5. With операторы не үшін қолданылады? Оның жалпы жазылуы қандай?

    6. Жазба элементтері Паскальда компьютерге қалай енгізіледі?

    7. Жазба турiндегi мəндер типi дегенiмiз не?

    8. Жазба қалай хабарланады?

    9. Жазба элементтерiмен (өрiсiмен) қандай операциялар орындауға болады?

    10. Жазба мен жиымның айырмашылығы неде?

    11. Жазбалармен қандай операциялар орындауға болады?

    12. Бiрiктiру операторының қызметi қандай?

    13. Нұсқалы жазба дегенiмiз не?

    14. Жазбалар қалай қолданылады?

Ұсынылатын әдебиеттер: 1, 4, 6