Ошибка в программе - PascalABC.NET (24771)

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

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

Листинг программы
  1. Program P1;
  2. type
  3. Individ = class
  4. FIO: string;
  5. Document: string;
  6. public
  7. constructor Create(nFIO, nDOc: string);
  8. begin
  9. FIO := nFIO;
  10. Document := nDoc;
  11. end;
  12. procedure Print;
  13. begin
  14. writeln('ФИО: ',FIO,' Документ: ', Document);
  15. end;
  16. end;
  17. Rebenok = class(Individ);
  18. FIO= string;
  19. Document= string;
  20. public
  21. constructor Create(nFIO, nDOc: string);
  22. begin
  23. FIO:=nFIO;
  24. Document:=nDoc;
  25. end;
  26. procedure Print;
  27. begin
  28. writeln('ФИО:',FIO,'Документ:', Document);
  29. end;
  30. end;
  31. Vzroslii =class(individ);
  32. FIO= Document; mesto_rab=string;
  33. constructor Create(nFIO, nDOc,nmesto: string);
  34. begin
  35. inherited Create:
  36. FIO := nFIO;
  37. Document := nDoc;
  38. mesto_rab:=nmesto;
  39. end;
  40. procedure Print;
  41. begin
  42. inherited Print;
  43. writeln('ФИО: ',FIO,' Документ: ', Document, 'Место работы:',mesto_rab);
  44. end;
  45. beginium
  46. var
  47. R: rebenok; V: Vzroslii;
  48. F;D;M: string;
  49. Begin
  50. Writeln('введите данные о ребенке');
  51. R:=Rebenok.Create; ;//создаем экземпляр класса
  52. Writeln ('- введите ФИО: ');readln(F);
  53. writLn('- введите документ: ');readln(d);
  54. R:=Rebenok.Create(F, d);//присваиваем значения его полям
  55. Writeln('введите данные о взрослом');
  56. V:=Vzroslii.Create; ;//создаем экземпляр класса
  57. Writeln ('- введите ФИО: ');readln(F);
  58. Writeln('- введите документ: ');readln(d);
  59. Writeln('- введите место работы: ');readln(m);
  60. V:= Vzroslii.Create(F, d,m);//присваиваем значения его полям
  61. writeln('Введенные сведения:'); writeln('Введенные сведения о ребенке:');
  62. R.Print;
  63. writeln('Введенные сведения о взрослом:');
  64. V.Print;
  65. end;
  66. end.

Решение задачи: «Ошибка в программе»

textual
Листинг программы
  1. program P1;
  2.  
  3. type
  4.   Individ = class
  5.     FIO: string;
  6.     Document: string;
  7.   public
  8.     constructor Create(nFIO, nDOc: string);
  9.     begin
  10.       FIO := nFIO;
  11.       Document := nDoc;
  12.     end;
  13.    
  14.     procedure Print;
  15.     begin
  16.       writeln('ФИО: ', FIO, ' Документ: ', Document);
  17.     end;
  18.   end;
  19.   Rebenok = class(Individ)
  20.     FIO: string;
  21.     Document: string;
  22.   public
  23.     constructor Create(nFIO, nDOc: string);
  24.     begin
  25.       FIO := nFIO;
  26.       Document := nDoc;
  27.     end;
  28.    
  29.     procedure Print;
  30.     begin
  31.       writeln('ФИО:', FIO, 'Документ:', Document);
  32.     end;
  33.   end;
  34.  
  35.   Vzroslii = class(individ)
  36.     FIO, Document, mesto_rab: string;
  37.     constructor Create(nFIO, nDOc, nmesto: string);
  38.     begin
  39.       inherited Create;
  40.       FIO := nFIO;
  41.       Document := nDoc;
  42.       mesto_rab := nmesto;
  43.     end;
  44.    
  45.     procedure Print;
  46.     begin
  47.       inherited Print;
  48.       writeln('ФИО: ', FIO, ' Документ: ', Document, 'Место работы:', mesto_rab);
  49.     end;
  50.   end;
  51.  
  52. var
  53.   R: rebenok;
  54.   V: Vzroslii;
  55.   F, D, M: string;
  56.  
  57. begin
  58.   Writeln('введите данные о ребенке');
  59.   R := Rebenok.Create; ;//создаем экземпляр класса
  60.   Writeln('- введите ФИО: ');readln(F);
  61.   writeLn('- введите документ: ');readln(d);
  62.   R := Rebenok.Create(F, d);//присваиваем значения его полям
  63.   Writeln('введите данные о взрослом');
  64.   V := Vzroslii.Create; ;//создаем экземпляр класса
  65.   Writeln('- введите ФИО: ');readln(F);
  66.   Writeln('- введите документ: ');readln(d);
  67.   Writeln('- введите место работы: ');readln(m);
  68.   V := Vzroslii.Create(F, d, m);//присваиваем значения его полям
  69.   writeln('Введенные сведения:'); writeln('Введенные сведения о ребенке:');
  70.   R.Print;
  71.   writeln('Введенные сведения о взрослом:');
  72.   V.Print;
  73. end.

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

  1. Объявление типов данных:
    • Individ (родительский класс для всех остальных)
    • Rebenok (класс-наследник Individ)
    • Vzroslii (класс-наследник Individ)
  2. Создание экземпляров классов:
    • R (экземпляр класса Rebenok)
    • V (экземпляр класса Vzroslii)
  3. Ввод данных с клавиатуры:
    • ФИО ребенка
    • Документ ребенка
    • ФИО взрослого
    • Документ взрослого
    • Место работы взрослого
  4. Присваивание значений полям экземпляров классов:
    • R (ребенок)
    • V (взрослый)
  5. Вывод введенных данных на экран:
    • Вывод информации о ребенке
    • Вывод информации о взрослом

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы