1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.9 Упр.14 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.9 Упр.14 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 14. Получить фамилии тех учеников класса, которые являются хорошистами и отличниками по итогам года. Также указать, насколько их средний балл отличается от среднего балла класса. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-9/14 98

Подробный ответ

Сначала для каждого ученика вводятся фамилия и 10 оценок за четверти. Средний балл ученика вычисляется как сумма всех его оценок, делённая на 10:

$$srb=\frac{ocn_1+ocn_2+\dots+ocn_{10}}{10}$$

Одновременно накапливается сумма средних баллов всех учеников класса, а затем находится средний балл класса:

$$srk=\frac{srb_1+srb_2+\dots+srb_n}{n}$$

После этого просматриваются все записи. Ученик считается хорошистом или отличником, если все его оценки равны $$4$$ или $$5$$. Для таких учеников выводятся фамилия, оценки, средний балл и отклонение от среднего балла класса:

$$\Delta = srb — srk$$

Если $$\Delta > 0$$, выводится знак «+», иначе — само значение отклонения.

type Tuchen=record
  fam:string[15];
  ocn:array[1..10] of byte;
  srb:real;
end;
var sp:array[1..50] of Tuchen;
    n,i,j,k,f:byte;
    srk:real;
    c:char;
begin
  writeln(‘Введите данные об учениках, окончание ввода Esc:’);
  n:=0;
  srk:=0;
  repeat
    n:=n+1;
    writeln(‘Ученик ‘,n);
    write(‘Фамилия: ‘); readln(sp[n].fam);
    writeln(‘Оценки за четверть:’);
    sp[n].srb:=0;
    for j:=1 to 10 do
    begin
      repeat
        write(‘Оценка ‘,j,’=’);
        readln(sp[n].ocn[j]);
      until sp[n].ocn[j] in [2..5];
      sp[n].srb:=sp[n].srb+sp[n].ocn[j]/10;
    end;
    srk:=srk+sp[n].srb;
    c:=readkey;
  until c=#27;
  srk:=srk/n;
  clrscr;
  writeln(‘Список учеников, являющихся хорошистами и отличниками:’);
  writeln(‘Средний балл по классу=’,srk:0:2);
  writeln(‘————————————————‘);
  writeln(‘| Фамилия | Оценки за четверть | Ср.балл | Отклонение|’);
  writeln(‘————————————————‘);
  f:=0;
  for i:=1 to n do
  begin
    k:=0;
    for j:=1 to 10 do
      if (sp[i].ocn[j]=4) or (sp[i].ocn[j]=5) then k:=k+1;
    if k=10 then
    begin
      f:=1;
      write(‘| ‘,sp[i].fam);
      write(‘ | ‘);
      for j:=1 to 10 do write(sp[i].ocn[j],’ ‘);
      write(‘ | ‘,sp[i].srb:0:2,’ | ‘);
      if sp[i].srb>srk then write(‘+’,sp[i].srb-srk:0:2)
      else write(sp[i].srb-srk:0:2);
      writeln(‘ |’);
    end;
  end;
  if f=0 then writeln(‘Таких учеников нет!’);
end.

Программа выводит всех учеников, у которых за все 10 оценок стоят только $$4$$ и $$5$$, и показывает, насколько их средний балл отличается от среднего балла класса.



Общая оценка
4.7 / 5
Другие учебники
Другие предметы