Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 114 стр.

UptoLike

114
10.
Пункты с 6 по 9 повторяются для всех остальных данных.
Операторная запись алгоритма.
{ ************************************************************** }
{ * Программа ввода и контроля данных * }
{ ************************************************************** }
Program Interf;
Uses Crt;
Const
MaxNumberStud = 30;
{ массив имен вводимых данных }
NameDat : array[1..5] of string =
('Фамилия','Имя','Отчество','Год рождения', 'N группы');
Type
RecStud = record { запись данных по студенту }
Fam, Name, Otch : string[15];
GodR : word;
NGrup : string[10];
end;
Var
i : integer;
Key : char;
Flag : boolean; { флаг корректности ввода }
Stud : array[1..MaxNumberStud] of RecStud;
{ ************************************************************* }
{ * Процедура проверки значений на не цифру * }
{ ************************************************************* }
Procedure TestData(name: string; var Flag: boolean);
begin
if IOResult <> 0 then
begin
Window(10,3, 70,22); { возврат в первое окно }
GotoXY(14,19);
Write('Не цифра при вводе ', name, ' !') ;
Delay(3000); { задержка }
GotoXY(14,19);
{ удаление диагностического сообщения с экрана }
Write(' ') ;
Window(22,8, 58,18); { переход в окно ввода }
GotoXY(23,8);
Write(' '); { удаление с экрана старого значения}
end
else Flag := True;
end;
{ ************************************************************** }
{ * т е л о п р о г р а м м ы * }
{ ************************************************************** }
Begin
{ установка цвета фона и цвета символов, очистка экрана }
TextBackGround(White); { процедура установки цвета фона }
TextColor(White); { процедура установки цвета символов }
10. Пункты с 6 по 9 повторяются для всех остальных данных.

Операторная запись алгоритма.
{ ************************************************************** }
{*         Программа ввода и контроля данных                      *}
{ ************************************************************** }
Program Interf;
Uses Crt;
Const
 MaxNumberStud = 30;
 { массив имен вводимых данных }
 NameDat : array[1..5] of string =
         ('Фамилия','Имя','Отчество','Год рождения', 'N группы');
Type
   RecStud = record { запись данных по студенту }
                   Fam, Name, Otch : string[15];
                   GodR        : word;
                   NGrup        : string[10];
               end;
Var
   i    : integer;
   Key : char;
   Flag : boolean; { флаг корректности ввода }
   Stud : array[1..MaxNumberStud] of RecStud;

{ ************************************************************* }
{*        Процедура проверки значений на не цифру                    *}
{ ************************************************************* }
Procedure TestData(name: string; var Flag: boolean);
begin
 if IOResult <> 0 then
 begin
   Window(10,3, 70,22); { возврат в первое окно }
   GotoXY(14,19);
   Write('Не цифра при вводе ', name, ' !') ;
   Delay(3000);        { задержка }
   GotoXY(14,19);
   { удаление диагностического сообщения с экрана }
   Write('                     ') ;
   Window(22,8, 58,18); { переход в окно ввода }
   GotoXY(23,8);
   Write('      '); { удаление с экрана старого значения}
 end
 else Flag := True;
end;
{ ************************************************************** }
{*                      тело программы                               *}
{ ************************************************************** }
Begin
 { установка цвета фона и цвета символов, очистка экрана }
 TextBackGround(White); { процедура установки цвета фона }
 TextColor(White);            { процедура установки цвета символов }

                                                                          114