Студенты живущие по данному адресу - Pascal

Узнай цену своей работы

Формулировка задачи:

Ребята, помогите пожалуйста доделать программу. Нужно описать, используя структуру данных запись, данные на студентов (фамилия, улица, дом, квартира). Составить программу, определяющую сколько студентов живет на улице Свердлова, списки студентов, живущих в доме номер 45. Программа работает, но я не могу понять куда нужно вставить условие, для того чтобы вместе со списками студентов, живущими в доме 45, происходил вывод количества студентов, живущих на улице свердлова.
type spisok=record
familia:string[10];
ulica:string[5];
dom:integer;
kvartira:integer;
end;
var student: array[1..10] of spisok;
i:integer;
k:integer;
begin
//последовательно вводим каждую запись//
for i:=1 to 10 do
begin
writeln('введите сведения о',i,'студенте');
writeln('введите фамилию');
readln(student[i].familia);
writeln('введите улицу');
readln(student[i].ulica);
writeln('введите номер дома');
readln(student[i].dom);
writeln('введите номер квартиры');
readln(student[i].kvartira);
end;
writeln('ввод закончен');
writeln;
writeln(student);
writeln;
writeln('Студенты живущие в доме номер 45');
for i:=1 to 10 do
if student[i].dom=45 then //поиск и вывод нужных студентов//
writeln('Фамилия студента:',student[i].familia);
end.

Решение задачи: «Студенты живущие по данному адресу»

textual
Листинг программы
const
  sStreet='Свердлова';
...
  {k:=0;}
  for i:=1 to 10 do with student[i] do begin
    if dom=45 then WriteLn(familia);
    if ulica=sStreet then Inc(k);
  end;
  WriteLn('На улице ',sStreet,' студентов: ',k);

Объяснение кода листинга программы

  1. Объявляется константа sStreet со значением Свердлова, которая предположительно представляет название улицы.
  2. Цикл for выполняется от 1 до 10, с переменной i, которая предположительно представляет номер студента.
  3. Внутри цикла for выполняется блок with для доступа к полям студента.
  4. Проверяется условие, если поле dom студента равно 45, то выводится фамилия студента.
  5. Проверяется условие, если поле ulica студента равно значению sStreet (т.е. Свердлова), то переменная k увеличивается на 1.
  6. После цикла for выводится сообщение о количестве студентов, у которых улица равна Свердлова.

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы