zadvornovakrmst
?>

Нужно составить описание к программе( - составить список, содержащий сведения об n студентах. для каждого студента должно быть указано: - фамилия; - инн; - дата рождения; - год поступления в университет; - курс; - группа; - оценки текущей сессии по трем предметам. информацию о каждом студенте оформить в виде записи. совокупность записей объединить в массив. составить программу, которая обеспечивает ввод исходных данных, обработку и вывод на экран информации в соответствии с вариантом . вывести на экран фамилии трех самых молодых студентов) program pr5; const n = 5; type student = record fam: string; inn: string; year: integer; god_p: integer; kurs: 1..5; gruppa: string; b1, b2, b3: 1..5; end; var spisok: array [1..n] of student; ff: text; b, a: string; i, j, k1: integer; begin for i : = 1 to n do with spisok[i] do begin writeln('введите фамилию'); readln(fam); writeln('введите инн'); readln(inn); writeln('введите три оценки'); readln(b1, b2, b3); writeln('год поступления'); readln(god_p); writeln('курс'); readln(kurs); writeln('группа'); readln(gruppa); writeln('введите дату рождения(mmdd)без пробелов и точек всё пишем слитно(19971231)'); readln(year); end; for i : = 1 to n - 1 do for j : = 1 to n - i do if spisok[j].year > spisok[j + 1].year then begin k1 : = spisok[j].year; a : = spisok[j].fam; spisok[j].year : = spisok[j + 1].year; spisok[j].fam : = spisok[j + 1].fam; spisok[j + 1].year : = k1; spisok[j + 1].fam : = a end; writeln; for i : = 1 to 3 do begin write(spisok[i].fam); writeln; end; end.

Информатика

Ответы

ИльяАндреевич-Мария
Описывается список с полями согласно заданию
type
     student = Record
     fam: String;
     inn: string;
     Year: integer;
     god_p: integer;
     kurs: 1..5;
     gruppa: string;
b1, b2, b3: 1..5;
End;

Объявляются необходимые переменные и массив с типом записи
var
     spisok: Array [1..N] Of student;
     b, a: string;
     i, j, k1: Integer;
И заполняется от 1 до N (N=5 установлена константа)
for i := 1 To N Do // идем от 1 до N  и заполняем список
    with spisok[i] Do
        begin
            Writeln('Введите фамилию');Readln(fam);
            {}
end;
Потом обрабатывается согласно заданию по вариантам
Скорее всего, что-то типо сортировки по году рождения, самых молодых пихают в начало.(глупо. можно было не городить такой кусок кода, а уместить все в один цикл с проверкой и выводом ИМХО)
Затем выводится 3 фамилии самых молодых

for i := 1 to 3 do
begin
write(spisok[i].fam);
writeln;
end;
sherifovaelina
Программу надо сформатировать и тогда её структура будет видна лучше.
А чтобы понять, как идет выполнение, в нужных точках ставим промежуточную выдачу - это называется "трассировкой".

var
  s, k: integer;
label
  met;
begin
  s:=-12;
  k:=90;
  Writeln('s=',s,', k=',k);
  s:=s+10;
  Writeln('s=',s);
met:
  Writeln('Метка met:');
  k:=k+10; Write('k=',k);
  if k<200 then s:=50 else s:=s+k;
  Writeln(', s=',s);
  if k<200 then goto met;
  Writeln('Результат: s=',s)
end.

Результат выполнения программы:
s=-12, k=90
s=-2
Метка met:
k=100, s=50
Метка met:
k=110, s=50
Метка met:
k=120, s=50
Метка met:
k=130, s=50
Метка met:
k=140, s=50
Метка met:
k=150, s=50
Метка met:
k=160, s=50
Метка met:
k=170, s=50
Метка met:
k=180, s=50
Метка met:
k=190, s=50
Метка met:
k=200, s=250
Результат: s=250
mrilyushchenko6
//Pascal
  var a,b, I, maxsumm, max : integer;
 
  function summdel(x:integer):integer; //результат - сумма делителей х
  var k,sum:integer;
  begin
    sum:=0;
    for k := 1 to x div 2 + 1 do
      if x mod k = 0 then sum:= sum+k;
    summdel:=sum;
  end;
 
  begin
   writeln('Введите границы a,b ');
   readln(a,b);
    maxsumm := 1;
    max := 1;
    for i := a to b do
     begin
        if summdel(i) > maxsumm then
          begin maxsumm:= summdel(i);
            max := i;
          end;
     end;
     writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max)
  end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужно составить описание к программе( - составить список, содержащий сведения об n студентах. для каждого студента должно быть указано: - фамилия; - инн; - дата рождения; - год поступления в университет; - курс; - группа; - оценки текущей сессии по трем предметам. информацию о каждом студенте оформить в виде записи. совокупность записей объединить в массив. составить программу, которая обеспечивает ввод исходных данных, обработку и вывод на экран информации в соответствии с вариантом . вывести на экран фамилии трех самых молодых студентов) program pr5; const n = 5; type student = record fam: string; inn: string; year: integer; god_p: integer; kurs: 1..5; gruppa: string; b1, b2, b3: 1..5; end; var spisok: array [1..n] of student; ff: text; b, a: string; i, j, k1: integer; begin for i : = 1 to n do with spisok[i] do begin writeln('введите фамилию'); readln(fam); writeln('введите инн'); readln(inn); writeln('введите три оценки'); readln(b1, b2, b3); writeln('год поступления'); readln(god_p); writeln('курс'); readln(kurs); writeln('группа'); readln(gruppa); writeln('введите дату рождения(mmdd)без пробелов и точек всё пишем слитно(19971231)'); readln(year); end; for i : = 1 to n - 1 do for j : = 1 to n - i do if spisok[j].year > spisok[j + 1].year then begin k1 : = spisok[j].year; a : = spisok[j].fam; spisok[j].year : = spisok[j + 1].year; spisok[j].fam : = spisok[j + 1].fam; spisok[j + 1].year : = k1; spisok[j + 1].fam : = a end; writeln; for i : = 1 to 3 do begin write(spisok[i].fam); writeln; end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

dmitrievanata83538
innesagrosheva22
dmitrymakarov003
German
Вячеслав
nastyakrokhina87
zaretskaya37
mdubov59
Vova220
s-shulga
sales5947
Nikolaevich824
remontsalarievo2
Avshirokova51
burylin9