Ошибка в программе - PascalABC.NET (24771)
Формулировка задачи:
Решение задачи: «Ошибка в программе»
textual
Листинг программы
program P1;
type
Individ = class
FIO: string;
Document: string;
public
constructor Create(nFIO, nDOc: string);
begin
FIO := nFIO;
Document := nDoc;
end;
procedure Print;
begin
writeln('ФИО: ', FIO, ' Документ: ', Document);
end;
end;
Rebenok = class(Individ)
FIO: string;
Document: string;
public
constructor Create(nFIO, nDOc: string);
begin
FIO := nFIO;
Document := nDoc;
end;
procedure Print;
begin
writeln('ФИО:', FIO, 'Документ:', Document);
end;
end;
Vzroslii = class(individ)
FIO, Document, mesto_rab: string;
constructor Create(nFIO, nDOc, nmesto: string);
begin
inherited Create;
FIO := nFIO;
Document := nDoc;
mesto_rab := nmesto;
end;
procedure Print;
begin
inherited Print;
writeln('ФИО: ', FIO, ' Документ: ', Document, 'Место работы:', mesto_rab);
end;
end;
var
R: rebenok;
V: Vzroslii;
F, D, M: string;
begin
Writeln('введите данные о ребенке');
R := Rebenok.Create; ;//создаем экземпляр класса
Writeln('- введите ФИО: ');readln(F);
writeLn('- введите документ: ');readln(d);
R := Rebenok.Create(F, d);//присваиваем значения его полям
Writeln('введите данные о взрослом');
V := Vzroslii.Create; ;//создаем экземпляр класса
Writeln('- введите ФИО: ');readln(F);
Writeln('- введите документ: ');readln(d);
Writeln('- введите место работы: ');readln(m);
V := Vzroslii.Create(F, d, m);//присваиваем значения его полям
writeln('Введенные сведения:'); writeln('Введенные сведения о ребенке:');
R.Print;
writeln('Введенные сведения о взрослом:');
V.Print;
end.
Объяснение кода листинга программы
- Объявление типов данных:
- Individ (родительский класс для всех остальных)
- Rebenok (класс-наследник Individ)
- Vzroslii (класс-наследник Individ)
- Создание экземпляров классов:
- R (экземпляр класса Rebenok)
- V (экземпляр класса Vzroslii)
- Ввод данных с клавиатуры:
- ФИО ребенка
- Документ ребенка
- ФИО взрослого
- Документ взрослого
- Место работы взрослого
- Присваивание значений полям экземпляров классов:
- R (ребенок)
- V (взрослый)
- Вывод введенных данных на экран:
- Вывод информации о ребенке
- Вывод информации о взрослом