Записи. Тексты программ

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску

Ввод и вывод данных о персонах

type
  Person = record
    name: string;
    age: integer;
  end;

var p1,p2: Person;

begin
  readln(p1.name,p1.age);
  writeln(p1.name,' ',p1.age);
  p2.name := 'Иванов';
  p2.age := 20;
  p1 := p2;
  writeln(p1.name,' ',p1.age);
end.

Поиск в массиве персон по фамилии

type
  Person = record
    name: string;
    age: integer;
  end;

var a: array[1..5] of Person;

begin
  a[1].name :='Попова'; a[1].age := 20;
  a[2].name :='Петрова'; a[2].age := 18;
  a[3].name :='Крылов'; a[3].age := 23;
  a[4].name :='Иванов'; a[4].age := 25;
  a[5].name :='Сидоров'; a[5].age := 17;
  
  var fio: string;  
  write('Введите фамилию: ');
  readln(fio);
  
  var ind := 0;
  for var i:=1 to 5 do
    if a[i].name=fio then
    begin
      ind := i;
      break
    end;
  
  if ind>0 then
    writeln('Найдено: ',a[ind].name,' ',a[ind].age)
  else writeln('Человека с такой фамилией нет в списке'); 
end.

Подсчет количества персон с данным возрастом

type
  Person = record
    name: string;
    age: integer;
  end;

var 
  a: array [1..5] of Person;
  count: integer;
begin
  a[1].name :='Попова'; a[1].age := 20;
  a[2].name :='Петрова'; a[2].age := 20;
  a[3].name :='Крылов'; a[3].age := 23;
  a[4].name :='Иванов'; a[4].age := 20;
  a[5].name :='Сидоров'; a[5].age := 17;
  
  var age := 20;
  
  count := 0;
  for var i:=1 to 5 do
    if a[i].age=age then
      count += 1;
  
  writeln('Количество человек с возрастом ',age,' равно ',count);
end.

Выбор из массива точек точки, наиболее близкой к началу координат

Сортировка массива персон по возрасту

Ссылки

Алгоритмы для начинающих