Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
64
Добавлен:
02.05.2014
Размер:
289.79 Кб
Скачать

15.8. Алгоритм вычисления таблицы умножения

Математическая модель

i=1(1)10:

j=1(1)10: y=i*j

Метод решения

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

i=1..10:

j=1..10: y=i*j

Информационная модель

Входные данные - отсутствуют;

выходные данные - последовательно все значения y;

промежуточные переменные - значения аргументов вычисляемой функции i, j , которые изменяются в диапазоне 1..10.

Алгоритмическая модель

Схема алгоритма вычисления таблицы умножения приведена на рис. 15.12.

Программная модель

program tabumn;

var i,j,y:integer;

begin

for i:=1 to 10 do

begin

{вычисление одного столбца - при фиксированном значении i}

for j:= 1 to 10 do

Рис. 15.12. – Схема алгоритма вычисления таблицы умножения

begin

y:=i*j;

writeln (i,'*',j,'=',y)

end; {for j}

{"остановка" при просмотре результатов - до тех пор, пока не будет нажата клавиша ввод, программа будет находится в приостановленном состоянии}

writeln(' Для продолжения нажмитеEnter')

readln

end {for i}

end.

Два других варианта решения этой задачи (с циклами пока и повторять до):

Вариант с циклом пока Метод решения

i:=1

пока i10:

Алгоритмическая модель

Рис. 15.13. – Схема алгоритма с циклом с предусловием

Программная модель

program tabumn;

var i,j,y:integer;

begin

i:=1;

while i<= 10 do

begin

{вычисление одного столбца - при фиксированном значении i}

j:= 1;

while j<=10 do

begin

y:=i*j;

writeln (i,'*',j,'=',y);

j:=j+1

end; {while j}

{"остановка" при просмотре результатов - до тех пор, пока не будет нажата клавиша ввод, программа будет находится в приостановленном состоянии}

writeln(' Для продолжения нажмитеEnter')

readln;

i:=i+1

end {while i}

end.

Вариант с циклом повторять

Метод решения

i:=1

повторять

до i>10

Программная модель

program tabumn;

var i,j,y:integer;

begin

i:=1;

repeat

{вычисление одного столбца - при фиксированном значении i}

j:= 1;

repeat

y:=i*j;

writeln (i,'*',j,'=',y);

j:=j+1

until j>10;

Алгоритмическая модель

Рис. 15.14. – Схема алгоритма с циклом с постусловием

{"остановка" при просмотре результатов - до тех пор, пока не будет нажата клавиша ввод, программа будет находится в приостановленном состоянии}

writeln(' Для продолжения нажмитеEnter')

readln;

i:=i+1

until i>10

end.

15.9. Алгоритм накопления суммы

Такой алгоритм часто встречается в нашей повседневной жизни, например, подсчет продавцом стоимости товаров. Технология подсчета сумму стоимости заключается в том, что в начале устройство, с помощью которого ведется подсчет стоимости должно находиться в исходном состоянии (если подсчет ведется с помощью счет, то они должны быть "сброшены"; если с помощью калькулятора, то он должен быть "обнулен" - на индикаторе должен быть 0). В вычислительной технике устройство, в котором накапливается сумма, называется сумматором. Поэтому в алгоритме должна быть переменная - сумматор, которая в начале алгоритма должна быть обнулена. Затем последовательно к сумматору добавляются значения суммируемых величин - происходит процесс суммирования или накопления суммы. После выполнения этих действий в сумматоре находится общая сумма.

Соседние файлы в папке Лекции по Паскалю