Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа (Багаутдинов Р.М.).doc
Скачиваний:
22
Добавлен:
18.03.2015
Размер:
2.55 Mб
Скачать

2.3.5Тестирование алгоритма задачи

2.4 Выводы по ветвящимся алгоритмам

В данной теме решены три задачи. Суть ветвящихся алгоритмов в том, что из блока может выходить два и более потока данных. Таким блоком является блок условия, внутри блока записывается логическое выражение по которому определяется дальнейшие переходы в программе. Всем задачам по данной теме дано математическое обоснование их решения, составлены словесно формульные описания, составлены блок-схемы, и реализованы программы по данным схемам в алгоритмическом языкеPascal. Проведенные тесты свидетельствую о правильности выполнения реализованных алгоритмов в каждой задаче.

3 Программирование циклических алгоритмов

3.1 Задача 6 (3.7)

Составить программу для проверки утверждения: «результатами вычислений по формуле x2+x+17 при 0≤х≤15 являются простые числа». Все результаты вывести на экран.

3.1.1 Математическое описание задачи

Простое число – это натуральное число, имеющее ровно два различных натуральных делителя: единицу и само себя.

Чтобы проверить является ли число yпростым, зададим цикл, в котором будем выполнять проверку деления этого на числа от 1 доy. Пустьk– количество чисел, являющиеся делителями числаy. Так как простое число имеет два различных натуральных делителя, то приk=2 числоyбудет простым, приk>2 числоyбудет являться составным.

3.1.2 Словесно формульное описание задачи

1. Выполнять цикл с пункта 2 по пункт 5 для всех xотвечающих условию 0≤х≤15, далее перейти к пункту 6.

2. Вычислить k=0;y=x2+x+17, перейти к пункту 3.

3. Выполнять цикл для пункта 4 для всех iотвечающих условию 0≤i≤y, далее перейти к пункту 5.

4. Если ymodi=0, то вычислитьk=k+1, перейти к пункту 5.

5. Если k=2 вывести на экран “При данномxчислоy- простое”, в противном случае вывести на экран “При данномxчислоy- составное”

6. Конец программы.

3.1.3 Блок схема алгоритма

3.1.4 Реализация алгоритма на языке Pascal

Program Zadacha6;

uses crt;

var x,y,k,i:integer;

Begin clrscr;

For x:=0 to 15 do

begin

k:=0;

y:=sqr(x)+x+17;

For i:=1 to y do

begin

if (y mod i = 0) then k:=k+1;

end;

if k=2 then writeln('При x=',x, ' k=',k,' y=',y,' - является простым числом')

else writeln('При x=',x, ' k=',k,' y=',y,' - является составным числом');

end;

readln;

End.

3.1.5Тестирование алгоритма задачи

3.2 Задача 7 (3.12)

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

3.2.1 Математическое описание задачи

Таблица умножения, она же таблица Пифагора — таблица, где строки и столбцы озаглавлены множителями, а в ячейках таблицы находится их произведение. Для составления таблицы умножения создадим 2 цикла, перемножая строки и столбцы в циклах согласно правилу z=i*j.

Таблицу сложения чисел будем формировать по правилу: z=i+j.

3.2.2 Словесно формульное описание задачи

1. Вывести на экран сообщение “ Таблица умножения натуральных чисел”, перейти к пункту 2.

2 Выполнять цикл с пункта 3 по пункт 5 для всех iотвечающих условию 1≤i≤9, далее перейти к пункту 6.

3. Выполнять цикл с пункта 4 по пункт 5 для всех jотвечающих условию 1≤j≤9, далее перейти к пункту 2.

4. Вычислить z=i*j, перейти к пункту 5.

5. Вывести на экран “ z”, перейти к пункту 3.

6. Вывести на экран сообщение “ Таблица сложения натуральных чисел”, перейти к пункту 7.

7 Выполнять цикл с пункта 8 по пункт 10 для всех iотвечающих условию 1≤i≤9, далее перейти к пункту 11.

8. Выполнять цикл с пункта 9 по пункт 10 для всех jотвечающих условию 1≤j≤9, далее перейти к пункту 7.

9. Вычислить z=i+j, перейти к пункту 10.

10. Вывести на экран “ z”, перейти к пункту 8.

11. Конец программы.