жазбаның аты. өріс аты;
Мысал: S1. Fio -1-студенттің фамилиясы
S1. Fak -1-студенттің факультеті
S2. God_r -2- студенттің туған жылы
S1 жазбасын жадыға енгізу операторы төмендегіше жазылады:
read (S1. Fio, S1. Godr, S1. Fak, S1. Kurs, S1. Nom_ b );
Жазбаны жадыға былайша енгізу күрделі программаларды оқуға қиындық келтіреді.Оны оңайлату үшін программада With (қосу, біріктіру) операторы қолданылады.
With жазба атауы do begin
жазба өрістерінің аттары енгізілген операторлар
end;
Мысал62. 1- студент туралы жазбаны жадыға енгізу және экранға шығару программасы.
Program m1;
Type Student = record
Fio :string;
God_r: integer;
Kurs : byte;
Var S1:Student;
begin
With S1 do
begin
readln (Fio);
readln (God_r);
readln (Kurs);
writeln (Fio, God_r, Kurs)
end;
end.
Ескерту: Мәліметтерді компьютерге бірінің астына бірін енгізу қажет.
Бірнеше студент туралы мәліметтер берілген болса, онда ол массив түрінде сипатталады.
Мысалы: var A: array [1..5] of Student;
Мұндағы А- жазба атауы.
Мысал63. 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 Sti do
readln (fio, a, b, c);
жазбады шығару
for i:= 1 to 5 do
with Sti do
writeln (fio, a, b, c );
орташаны табу
for i:= 1 to 5 do
with Sti do
witeln (fio, (a+b+c)/3 )
end.
Мысал64. Студент жазбасын студент жастарының кемуі бойынша реттеңдер.
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 Sti do
witeln (fio, voz );
for i:= 1 to 4 do
for j:= i+1 to 5 do
if Sti. voz< Stj. voz then
begin R:= Sti. voz; Sti. voz:= Stj. voz; Sti. voz:=R; end;
for i:= 1 to 5 do
with Sti do
witeln ( fio, voz )
end.
Мысал65. Тауар атынан және бағасынан тұратын мәліметтер берілген. Ең қымбат тауар атын және бағасын табыңдар.
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 Ai do
readln (Name, baga);
max:= A1. baga;
for i:= 2 to 10 do
if max < Ai. baga then max:= Ai. baga;
writeln ('Ең қымбат тауар бағасы=', max);
{ең қымбат тауар атын және бағасын шығару}
for i:= 1 to 10 do
if Ai. baga=max then writeln (Ai. name, ' ', Ai. baga)
end.
Мысал66. Оқушының фамилиясы, туған жылы және класы туралы мәліметтер берілген. Фамилиясы берілген әріптен басталатын және берілген класта оқитын оқушылар тізімін шығаратын программа құрыңдар.
Program m4;
Type Okushi= record
fam:string;
God_r:word;
Kl: byte;
end;
Var Ok: array [1..10] of Okushi;
a:char; х:byte;
begin
for i:= 1 to 10 do
with Oki do
readln (fam, God_r, kl);
writeln ('әріпті енгіз'); readln (а);
writeln ('класты енгіз'); readln (х);
for i:= 1 to 10 do
if (copy (ok [i]. fam, 1, 1)=а ) and (ok [i]. kl=х ) then
writeln ( ok [i]. fam ');
end.
Достарыңызбен бөлісу: |