Средний рост - Pascal

Узнай цену своей работы

Формулировка задачи:

Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком «+», рост мальчиков – знаком «-». Определить средний рост мальчиков. Вот такое мне задание попалось на контрольную работу, первый курс еще не проходили паскаль и толком ни чего не понимаю но алгоритм представляю себе. Помогите пожалуйста.

Решение задачи: «Средний рост»

textual
Листинг программы
const
  nd = 180;
  n = 25;
 
var
  a: array [1..n] of string[255];
  r, j, i, k: integer;
  s: real;
  st: string;
 
begin
  s := 0;
  r := 0;
  for i := 1 to n do
  begin
    j := random(2) + 1;
    k := random(nd + 1 - 120) + 120;
    if j = 1 then
      for j := 1 to k do
        a[i] := a[i] + '+'
    else  
      for j := 1 to k do
        a[i] := a[i] + '-';
    if a[i][1] = '+'    then //мальчик
    begin
      inc(r);
      s := s + length(a[i]);
    end;
    writeln(i:3, ' ', a[i], ' ', Length(a[i]));
  end;
  if r <> 0 then
  begin
    s := s / r;
    writeln('Средний рост мальчиков: ', s)
  end
  else
    writeln('Мальчиков нет')
end.

Объяснение кода листинга программы

  1. Объявлены константы: nd = 180, n = 25.
  2. Объявлены переменные: a: array [1..n] of string[255], r, j, i, k: integer, s: real, st: string.
  3. Переменная s инициализируется значением 0, переменная r - значением 0.
  4. Цикл for i := 1 to n выполняет следующие действия: 4.1. Внутри цикла определяется переменная j, которая принимает случайное значение от 1 до 2. 4.2. Определяется переменная k, которая принимает случайное значение от 120 до nd + 1. 4.3. Если j = 1, то к строке a[i] добавляется символ '+', иначе добавляется символ '-'. 4.4. Если a[i][1] = '+', то увеличивается значение переменной r, значение переменной s увеличивается на длину строки a[i], и выводится значение переменной s. 4.5. Выводится значение переменной i и значение строки a[i].
  5. Если значение переменной r не равно 0, то выполняются следующие действия: 5.1. Значение переменной s делится на значение переменной r. 5.2. Выводится значение переменной s с текстом Средний рост мальчиков:.
  6. Если значение переменной r равно 0, то выводится текст Мальчиков нет.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы