Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Glava5_6.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
563.2 Кб
Скачать

5.3. Составление программы

Рассмотрим пример программирования линейных вычислительных процессов.

Пример 5.9

Дан шар радиуса R. Вычислить площадь боковой поверхности S и объём шарового сегмента высотой h.

Схема алгоритма

Ввод исходных данных

Вычисление радиуса основания сегмента

Радиус основания

сегмента

Вычисление боковой поверхности сегмента

Вычисление объема сегмента

Вывод результатов счета

Комментарии к каждому символу алгоритма не являются обяза­тельными и используются по усмотрению программиста.

Разработку программы начнем с заголовка, присвоив ей ка­кое-нибудь имя, например, segment:

program segment;

Объектами, с которыми будет работать программа, являются: константа , переменные R, h (исходные данные) и переменные S и V (результаты счёта). Величина  является стандартной системной константой с именем pi, а переменные R, h, S и V необходимо описать в разделе описаний как вещественные:

var

R, a, h, S, V : real;

Таким образом, раздел описаний нашей программы сформирован.

Раздел описания операторов начнем со служебного слова begin. В этом разде­ле прежде всего необходимо предусмотреть ввод исходных данных, используя процедуру ввода.

begin

readln(r,h);

Далее, согласно алгоритма задачи, должны быть вычислены вели­чины a, S и V, для чего в программе необходимо использовать три оператора присваивания:

a:= sqrt (h * (2 * r - h));

s:= pi * (sqr ( a ) + sqr ( h ));

v:= pi * (3 * sqr ( a )+sqr ( h )) / 6;

Завершить раздел операторов следует процедурой вывода, снаб­див при желании выводимые данные поясняющим текстом

writeln ('результаты счета:',s:10:2,v:10:2)

В целом, программа, дополненная комментариями, будет выгля­деть так:

program segment;

var

r, a, h, s, v : real;

begin

write ('введите радиус шара ');

write ('и высоту сегмента ');

readln (r,h);

{ радиус основания сегмента }

a := sqrt (h * ( 2 * r – h ));

{ площадь боковой поверхности }

s := pi * (sqr ( a ) + sqr ( h ));

{ объём сегмента }

v := 1 / 6 * pi * h * (3 * sqr ( a ) + sqr ( h ));

write (' S =', s:10:2, ' V =', v:10:2)

end.

Комментарии в программу можно не включать, если программист не считает их необходимыми.

5.4. Вопросы для самоконтроля

  1. Приведите общую структуру программы, написанной на языке TurboPascal?

  2. Как строится заголовок программы?

  3. Какие объекты должны быть описаны в разделе описаний программы?

  4. Что представляет собой раздел операторов программы и как он оформляется?

  5. Что такое комментарий, для чего он служит и как оформляется?

  6. Что представляет собой оператор; какие функции выполняют операторы в программе?

  7. Какова структура оператора присваивания, как он выполня­ется, в чем его отличие от математического равенства?

  8. Как осуществляются операции ввода и вывода данных?

  9. Что представляет собой линейный вычислительный процесс, каковы его особенности?

Глава 6. Программирование ветвящихся

вычислительных процессов

К ветвящимся относятся вычислительные процессы, алгоритм ко­торых содержит хотя бы одну типовую ветвящуюся структуру.

Для организации ветвлений в программах используют операторы передачи управления (операторы перехода), которые делятся на условные и безусловные.

6.1. Условный оператор if

Допускается запись условного оператора в двух формах - пол­ной и краткой.

6.1.1. Полная форма условного оператора if

Предназначена для программирования разветвлений и имеет вид:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]