Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 21.01.2014, 18:58   #1 (permalink)
SProkhorenkov
Новичок
 
Регистрация: 21.01.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помощь в решении

Помогите написать алгоритм решения и Паскаль программу к задаче.Желательно с пояснениями.
Миниатюры
image.jpg  
SProkhorenkov вне форума   Ответить с цитированием

Старый 21.01.2014, 18:58
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Аналогичные темы создавались ранее, вы можете ознакомиться с ними

Помощь в решении
Нужна помощь в решении

Старый 21.01.2014, 20:41   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,872
Сказал(а) спасибо: 318
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от SProkhorenkov Посмотреть сообщение
Помогите написать алгоритм решения и Паскаль программу к задаче.Желательно с пояснениями.
Алгоритмами в смысле блок-схемами и прочим не занимаюсь, а программу - пожалуйста, легче легкого:
Код:
{Объявляем переменные:}
Var
 TF13:Array[1..22,1..5] of Byte;
 i,j,Max,Sum:Byte;
 b:boolean;
{Начинаем программу:}
Begin
{Запускаем генератор случайных чисел:}
 Randomize;
{Генерируем таблицу оценок в диапазоне от 2 до 5:}
 for i:=1 to 22 do
  for j:=1 to 5 do
   TF13[i,j]:=Random(4)+2;
{Выводим таблицу на экран в две колонки. Столбцы слева - порядковые номера студентов}
 for i:=1 to 11 do
  begin
   write(i:2,'     ');
   for j:=1 to 5 do write(TF13[i,j]:2);
   write((i+11):10,'     ');
   for j:=1 to 5 do write(TF13[i+11,j]:2);
   writeln;
  end;
 writeln;
{Ищем максимальную по студентам сумму баллов:}
 Max:=0;
 for i:=1 to 22 do
  begin
   Sum:=0;
   for j:=1 to 5 do Inc(Sum,TF13[i,j]);
   if Sum>Max then Max:=Sum;
  end;
{Выводим номера студентов, имеющих максимальную сумму баллов:}
 writeln('Students having maximal average mark (',Max/5:5:3,'):');
 for i:=1 to 22 do
  begin
   Sum:=0;
   for j:=1 to 5 do Inc(Sum,TF13[i,j]);
   if Sum=Max then write(i:3);
  end;
 writeln;
{Ищем студентов без двоек, и при нахождении выводим их номера на экран:}
 writeln('Students having no unsatisfactory marks:');
 for i:=1 to 22 do
  begin
   b:=true;
   for j:=1 to 5 do if TF13[i,j]=2 then b:=false;
   if b then write(i:3);
  end;
{Останавливаем программу:}
 readln
{Завершаем программу:}
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:28.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.