• О группе студентов из след. Данных 1) кол-во студентов, 2) дата рождения, 3) кол-во экзаменов, 4) фамилия и имя каждого студента, 5) пол студента, 6) отметка получен. На экзамене
    А) Напишите программу, которая выведит на экран список студентов заложников. Б) Программу, которая выводит на экран список студентов, которым исполнилось 20 лет.

Ответы 1

  • // PascalABC.Net 3.0, сборка 1052const  nstud=100;  npred=10;type  date=record    den:byte;    mes:byte;    god:integer  end;  St=record    datr:date;    famnam:string;    gender:0..1;    ball:array[1..npred] of 2..5  end;var  ns,np,nd,i,j:byte;  R:array[1..nstud] of St;  Dolg,flagp:boolean;  cdate:date;begin  Write('Количество студентов: '); Read(ns);  Write('Количество предметов: '); Read(np);  Writeln('Вводите данные по каждому студенту');  Writeln('В первой строке через пробел дата рождения ДД ММ ГГГГ');  Writeln('Во второй строке фамилия, пробел, имя');  Writeln('В третьей строке пол (0 - мужской, 1 - женский)');  Writeln('В четвертой строке полученные баллы через пробел');  for i:=1 to ns do begin    Writeln('*** Студент ',i,' ***');    With R[i] do begin      Readln(datr.den,datr.mes,datr.god);      Readln(famnam); Readln(gender);      for j:=1 to np do Read(ball[j])    end  end;  { *********** 1 *************** }  Writeln;  Writeln('Список студентов-задолжников');  nd:=0;  for i:=1 to ns do begin    With R[i] do begin      j:=1; Dolg:=false;      repeat        if ball[j]=2 then begin Dolg:=true; Inc(nd) end;        Inc(j)      until Dolg or (j>np);      if Dolg then Writeln(famnam)    end  end;  if nd=0 then Writeln('Задолжников нет!');  { *********** 2 *************** }  Writeln;  Writeln('Введите дату запроса в формате ДД, ММ, ГГГГ: ');  Read(cdate.den,cdate.mes,cdate.god);  Writeln;  Writeln('Список студентов, которым исполнилось 20 лет');  nd:=0;  for i:=1 to ns do begin    With R[i] do begin      flagp:=false;      if cdate.god-datr.god>20 then flagp:=true      else        if cdate.god-datr.god=20 then begin          if cdate.mes>datr.mes then flagp:=true          else begin            if cdate.mes=datr.mes then flagp:=(cdate.den>=datr.den)          end        end;      if flagp then begin Writeln(famnam); Inc(nd) end;    end  end;  if nd=0 then Writeln('Нет студентов, которым исполнилось 20 лет!');end.Тестовое решение:Количество студентов: 5Количество предметов: 4Вводите данные по каждому студентуВ первой строке через пробел дата рождения ДД ММ ГГГГВо второй строке фамилия, пробел, имяВ третьей строке пол (0 - мужской, 1 - женский)В четвертой строке полученные баллы через пробел*** Студент 1 ***5 10 1996Иванов Иван04 3 5 5*** Студент 2 ***12 8 1997Петров Петр03 2 3 4*** Студент 3 ***9 10 1998Сидорова Наталья13 4 4 2*** Студент 4 ***6 9 1994Козлова Ирина15 4 4 5*** Студент 5 ***12 3 1995Тарасов Константин03 5 5 4Список студентов-задолжниковПетров ПетрСидорова НатальяВведите дату запроса в формате ДД, ММ, ГГГГ: 2 11 2015Список студентов, которым исполнилось 20 летКозлова ИринаТарасов Константин
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years