Очередь (FIFO): студенты, чьи фамилии начинаются с буквы "Б" - Turbo Pascal
Формулировка задачи:
Очередь (FIFO)
Все студенты, чьи фамилии начинаются с буквы "Б"
Решение задачи: «Очередь (FIFO): студенты, чьи фамилии начинаются с буквы "Б"»
textual
Листинг программы
program lab; uses crt; type dt=record fam:string[14]; nam:string[14]; grp:string[10]; grd:integer; ray:array[1..5] of integer; end; pDat=^data; data=record dat:dt; nxt:pDat; end; procedure add(var pV:pDat); begin with pV^.dat do begin write('fam: '); readln(fam); write('nam: '); readln(nam); write('grp: '); readln(grp); write('grd: '); readln(grd); write('ray 1: '); readln(ray[1]); write('ray 2: '); readln(ray[2]); write('ray 3: '); readln(ray[3]); write('ray 4: '); readln(ray[4]); write('ray 5: '); readln(ray[5]); end; end; procedure shw(var pV:pDat; n:integer); var sr:real; begin if n=0 then begin with pV^.dat do begin sr:=(ray[1]+ray[2]+ray[3]+ray[4]+ray[5])/5; writeln('|',fam:10,'|',nam:10,'|',grp:5,'|',grd:5,'|',sr:5:1,'|'); end end else begin with pV^.dat do if fam[1]='B' then begin sr:=(ray[1]+ray[2]+ray[3]+ray[4]+ray[5])/5; writeln('|',fam:10,'|',nam:10,'|',grp:5,'|',grd:5,'|',sr:5:1,'|'); end; end; end; var pB,pE,pA,pBS:pDat; i,k:integer; begin write('Vvedite kol-vo zapisey : '); readln(k); clrscr; new(pB); pB^.nxt:=nil; add(pB); pE:=pB; for i:=1 to k-1 do begin new(pA); pA^.nxt:=nil; pE^.nxt:=pA; pE:=pA; add(pA); end; pBS:=pB; writeln('+-------------All list------------------+'); writeln('| Fam | Nam | Grp | Grd | Sr |'); writeln('|----------+----------+-----+-----+-----|'); while pB<>nil do begin shw(pB,0); pB:=pB^.nxt; end; writeln('+---------------------------------------+'); pB:=pBS; writeln;writeln; writeln('+---------------------------------------+'); writeln('| SELECT * FROM STUDENTS WHERE FAM[1]=B |'); writeln('+---------------------------------------+'); writeln('| Fam | Nam | Grp | Grd | Sr |'); writeln('|----------+----------+-----+-----+-----|'); while pB<>nil do begin shw(pB,1); pA:=pB; pB:=pB^.nxt; dispose(pA); end; writeln('+---------------------------------------+'); readln; end.
Объяснение кода листинга программы
Этот код написан на Turbo Pascal и выполняет следующую задачу: создает структуру данных для хранения информации о студентах, которые имеют фамилию, начинающуюся с буквы Б
. Затем он добавляет студентов в очередь, используя эту структуру данных. После этого он выводит информацию о каждом студенте в очереди, а затем выводит информацию о студентах, у которых фамилия начинается с буквы Б
.
Вот список переменных и их значений, представленных в виде кода:
fam
: строка, содержащая фамилию студента (например,Бабаев
)nam
: строка, содержащая имя студента (например,Иван
)grp
: строка, содержащая группу студента (например,101
)grd
: целое число, представляющее степень студента (например, 5)ray
: массив из пяти целых чисел, представляющих оценки студента (например, {5, 4, 3, 2, 1})pDat
: переменная типа^data
, которая указывает на текущий элемент данных в очередиdata
: запись типаrecord
, которая содержит информацию о студенте и ссылку на следующий элемент в очереди Вот пример вывода информации о студентах: +-------------All list------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ | SELECT * FROM STUDENTS WHERE FAM[1]=B | +---------------------------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ | Fam | Nam | Grp | Grd | Sr | |----------+----------+-----+-----+-----| +---------------------------------------+ Этот код использует структуры данных, такие как записи и массивы, для хранения информации о студентах и их оценках. Он также использует указатели для связи между записями данных в очереди.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д