Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2014, 16:24   #1
Diana93
 
Регистрация: 05.03.2014
Сообщений: 5
По умолчанию В классе 20 учеников писали диктант по русскому языку.Напишите программу подсчитывающую кол-во оценок(двоек,троек...) Паскаль

В классе 20 учеников писали диктант по русскому языку.Напишите программу ,напишите программу подсчитывающую кол-во двоек,троек,четверок и пятёрок,полученных за диктант.
Нужно на завтра.Заранее Спасибо.
Diana93 вне форума Ответить с цитированием
Старый 12.03.2014, 17:40   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Пожалуйста.
Наработки где?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 12.03.2014, 17:47   #3
Diana93
 
Регистрация: 05.03.2014
Сообщений: 5
По умолчанию

Блок-схема есть.

Последний раз редактировалось Diana93; 12.03.2014 в 18:08.
Diana93 вне форума Ответить с цитированием
Старый 12.03.2014, 19:19   #4
Diana93
 
Регистрация: 05.03.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Пожалуйста.
Наработки где?
Код:
program N_8;
var a: array[1..20] of integer;
var i, b, c, d, e: integer;
begin cls;
  for i := 1 to 20 do
    a[i] := random(4) + 2;
  writeln('a[i]=', a[i]);
  begin
    for i := 2 to 5 do
      if a[2] = 2 then b := b + 1;
    writeln('b=', b);
  end;
  begin
    for i := 2 to 5 do
      if a[3] = 3 then c := c + 1;
    writeln('c=', c);
  end;
  begin
    for i := 2 to 5 do
      if a[4] = 4 then d := d + 1;
    writeln('d=', d);
  end;
  begin
    for i := 2 to 5 do
      if a[5] = 5 then e := e + 1;
    writeln('e=', e);
  end;
  writeln('b=', b, 'c=', c, 'e=', e, 'd=', d)
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.03.2014 в 20:19.
Diana93 вне форума Ответить с цитированием
Старый 12.03.2014, 20:26   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ну, вот, видно, что Вы пытались что-то сделать. Это похвально.

А такой вариант программы Вас не устроит?
Код:
program N_8;
var a: array[1..20] of integer;
var i, ot2, ot3, ot4, ot5: integer;
begin

  Randomize; {иницилизируем генератор псевдослучайных чисел}
  
  for i := 1 to 20 do begin
    a[i] := random(4) + 2;
    write('a[i]=', a[i],' ');
  end;
  WriteLn;
  
  {сначала обнулим счётчики оценок}
  ot2 := 0;
  ot3 := 0;
  ot4 := 0;
  ot5 := 0;
  
  {теперь подсчитаем количество отметок}
  for i := 1 to 20 do begin
    if a[i]=2 then ot2 := ot2 +1;
    if a[i]=3 then ot3 := ot3 +1;
    if a[i]=4 then ot4 := ot4 +1;
    if a[i]=5 then ot5 := ot5 +1;
  end;
  
  {вывод результатов}
  writeln('Dvoek =', ot2, ' Troek =', ot3, ' Chetverok =', ot4, ' Paterok =', ot5)
end.

или вариант 2, вместо кучи переменных для подсчёта отметок заводим массив.
Код получается и проще и нагляднее и более универсальным...
Код:
program N_8;
var a: array[1..20] of integer;
var i, k : integer;
  otmetki : array[2..5] of integer;
begin

  Randomize; {иницилизируем генератор псевдослучайных чисел}

  for i := 1 to 20 do begin
    a[i] := random(4) + 2;
    write('a[i]=', a[i],' ');
  end;
  WriteLn;

  {сначала обнулим счётчики оценок}
  for k:=2 to 5 do otmetki[k] := 0;

  {теперь подсчитаем количество отметок}
  for i := 1 to 20 do
    if (a[i]>=2) and (a[i]<=5) then Inc( otmetki[ a[i] ]);

  {вывод результатов}
  for k:=2 to 5 do
    WriteLn('otmetka ',k,' kolichestvo ocenok = ',otmetki[k]);

end.

p.s. если есть вопросы - задавайте!

Последний раз редактировалось Serge_Bliznykov; 12.03.2014 в 20:32.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Валентин77 Общие вопросы C/C++ 4 13.12.2013 12:39
Вычислить средний бал учеников в классе, если известны оценки каждого ученика (Паскаль) Tolya92 Помощь студентам 1 14.12.2012 11:31
Напишите программу(паскаль-ассемблер) 4 арифм. операций CapuchiNO Фриланс 3 05.03.2010 21:16
(паскаль)напишите программу за деньги! mistertvister Фриланс 4 19.01.2010 18:17
Напишите пожалуйста паскаль-программу Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 3 23.04.2009 20:35