Вычислительная циклическая программа

  • docx
  • 06.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

0.1. Вычислительная циклическая программа
Иконка файла материала 38.docx

0.1. Вычислительная циклическая программа

Задача: Во дворце 40 залов. Известны длина, ширина и высота каждого зала. Вычислить площадь пола и объем каждого зала.

Сначала напишем фрагмент для одного зала:

ReadLn (dlina, shirina, visota);

S:=dlina*shirina;                                   {Площадь пола}

V:=S*visota;                                        {Объем}

WriteLn(S,’  ‘,V)

Для решения задачи этот фрагмент нужно выполнить 40 раз, для чего вполне естественно использовать оператор for:

VAR i, dlina, shirina, visota, S, V: Integer;
BEGIN

     for i:=1 to 40 do begin

          ReadLn (dlina, shirina, visota);

          S:=dlina*shirina;

          V:=S*visota;

          WriteLn(S,’  ‘,V)

     end {for}
END.

Обратите внимание, что здесь мы несколько модифицировали описанный нами в 5.4 ступенчатый стиль, а именно записали end не под соответствующим ему begin, а под соответствующим ему for. Эта практика также распространена, так как экономит место по вертикали. Мне она нравится больше, поэтому я буду ее придерживаться. Чтобы не спутаться, откуда взялся end, пишем рядом комментарий  {for}.

Теперь создадим более дружественный интерфейс, для чего, кроме всего прочего, дадим возможность пользователю самому задавать число залов во дворце:

VAR   i, dlina, shirina, visota, N, S, V : Integer;
BEGIN

     WriteLn(’Введите число залов‘);

     ReadLn (N);               {N - число залов}

     for i:=1 to N do begin

          WriteLn(’Введите длину,ширину и высоту зала‘);

          ReadLn (dlina, shirina, visota);

          S:=dlina*shirina;

          V:=S*visota;

          WriteLn(‘Площадь пола=’,S,’ Объем зала=‘,V)

     end
END.

Здесь курсивом я обозначил новые по сравнению с предыдущей программой элементы.

Пусть во дворце три зала размерами 20*15*4, 30*20*5 и 10*5*3. В этом случае мы вводим N=3 и оператор for выполняет цикл три раза. На каждом выполнении цикла компьютер останавливается на операторе ReadLn (dlina, shirina, visota), мы вводим числа и получаем результаты:

Площадь пола=300 Объем зала=1200

Площадь пола=600 Объем зала=3000

Площадь пола=50 Объем зала=150

Задание 43:   Даны стороны N кубиков. Вычислить объем каждого.


 

Скачано с www.znanio.ru