Автор работы: Пользователь скрыл имя, 09 Сентября 2014 в 16:52, лабораторная работа
1. Цель работы
Изучение способов задания алгоритмов, приобретение практических навыков составления блок - схем решения задач на ЭВМ.
Тема: Составление блок-схем алгоритмов
1.Цель работы
Изучение способов задания алгоритмов, приобретение практических навыков составления блок - схем решения задач на ЭВМ.
2 Краткие сведения из теории
Алгоритмом называется конечная последовательность точно определённых действий, приводящих к однозначному решению поставленной задачи.
Алгоритмы могут быть заданы: словесно, таблично, графически (с помощью блок - схем). Словесное задание описывает алгоритм с помощью слов и предложений естественного языка. Табличное задание служит для представления алгоритма в форме таблиц и расчётных формул. Графическое представление, или блок - схема,- это способ представления алгоритма с помощью геометрических фигур, называемых блоками, соединённых линиями связи. Описание алгоритмов с помощью блок -схем - наиболее простой и наглядный способ задания алгоритмов.
Правила выполнения и условные обозначения схем алгоритмов определяются соответствующими ГОСТами.
Основные типы блоков приведены в таблице 1.
Таблица 1.
Символы в схемах алгоритмов по ГОСТ 19.003-80
№ п/п |
Наименование |
обозначение |
Функции |
1 |
Начало -конец |
Начало и конец обработки | |
2 |
Процесс |
Выполнение операции или группы операций | |
3 |
Проверка условия |
Выбор направления вычислительного процесса в зависимости от результатов выполнения некоторого условия | |
4 |
Дисплей |
Ввод - вывод данных на экран дисплея | |
5 |
Данные |
Ввод данных | |
6 |
Модификация |
Заголовок цикла | |
7 |
Документ |
Вывод результатов на бумагу /печать | |
8 |
Соединитель |
Указание номера блока, к которому переходит процесс | |
9 |
Типовой процесс |
Вычисление по подпрограмме | |
10 |
Комментарий |
Текст комментария | |
11 |
Линии потока |
Соединительные линии между блоками алгоритмами |
При записи алгоритма константы изображаются своими значениями, а переменные обозначаются именами.
Использование знака присваивания "=" указывает на то, что необходимо выполнить действия, стоящие справа от знака, и результат присвоить переменной, стоящей слева от него. Использование записи X=X+A означает, что переменной X присваивается старое значение X, увеличенное на значение переменной A. Заметим, что к моменту выполнения присваивания все объекты, стоящие справа от знака "=", должны получить конкретные значения.
Существуют три основных типа процессов обработки информации: линейный, разветвляющийся и циклический.
ЛИНЕЙНЫЙ вычислительный процесс - это такой процесс, при котором существует единый путь выполнения, действия производятся последовательно, одно за другим, и каждый этап алгоритма выполняется только один раз.
Базовая конструкция линейного вычислительного процесса имеет следующий вид:
Рис 1
Пример.
Составить блок - схему алгоритма вычисления:
Блок-схема имеет вид:
Структура алгоритма называет РАЗВЕТВЛЯЮЩЕЙСЯ, если выбранный метод решения задачи предполагает выполнение различных действий в зависимости от значений каких-либо исходных или промежуточных переменных, но при этом каждая ветвь алгоритма в процессе решения задачи проходится не более одного раза.
Базовые конструкции разветвляющего вычислительного процесса имеют следующий вид:
Пример 2. Составить блок - схему алгоритма, реализующего вычисление по формуле
Рис 4
ЦИКЛИЧЕСКИМ называют процесс многократного повторения некоторых участков алгоритма при различных значениях входящих в них величин по одним и тем же математическим зависимостям. Повторяющийся участок алгоритма называют телом цикла. Циклические процессы бывают следующих видов: с заданным (известным) числом повторений (рис.4а); с переадресацией; с неизвестным числом повторений (итеративные).
Циклический вычислительный процесс с известным числом повторений - это такой процесс, в котором до его начала можно вычислить количество повторений по формуле N=(B-A)/H, где (A,B-начальное и конечное значения переменной цикла, Н-длина шага)
Циклический процесс с неизвестным числом повторений можно задать одним из следующих способов:
цикл с предусловием (базовая конструкция Рис.4б);
цикл с постусловием (базовая конструкция Рис.4в);
Базовые структуры циклического вычислительного процесса:
Пример 4. Даны действительные числа X,E (X>0,E>0)
Составить блок-схему алгоритма вычисления суммы членов бесконечного ряда
с точностью E=0,001.
Решение
Вычислять текущий член будем непосредственно по формуле
Блок-схема алгоритма
Задание1
Даны числовые значения а и в. Составить блок-схему вычисления z по указанным в варианте формулам. Предусмотреть ввод значений переменных а , в с клавиатуры и вывод значения Z на экран монитора.
Расчет выполнить для а=2.1, в=3.
Вариант |
Задание |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
, где , |
9 |
|
10 |
Задание 2 Даны числовые значения а и в. Составить блок-схему вычисления Y по указанным в варианте формулам. Предусмотреть ввод значений переменных а , в с клавиатуры и вывод значения У на экран монитора..
Вариант |
Задание |
1 |
|
2 |
|
3 |
|
4 |
, где и |
5 |
|
6 |
|
7 |
|
8 |
, |
9 |
|
10 |
Задание 3.1
Составить блок-схему алгоритма вычисления функции, используя схему циклического вычислительного процесса с известным заранее числом повторений.
Вариант |
Функция |
Интервал |
Шаг |
1 |
(-2, +2) |
0.5 | |
2 |
(0.2, 2 ) |
0.2 | |
3 |
(0, 1) |
0,2 | |
4 |
Y= |
(2, 4) |
0,5 |
Задание 3.2
Составить блок-схему алгоритма решения задачи своего варианта.
Вариант |
Задание |
1 |
|
2 |
|
3 |
|
4 |
Найти первый элемент последовательности, больший 100
Вычисление провести при Х=2. |
5 |
|
6 |
|
7 |
|
8 |
Y=n!= 1*2*3*4*…*n , где n вводится с клавиатуры |
9 |
|
10 |
|
11 |
|
12 |
Дополнительное задание
Вариант |
Задание |
Дана матрица M(4 ´ 5). Найти сумму положительных и произведение отрицательных элементов. | |
Вычислить и напечатать только положительные значения функции .Значение x меняется в интервале от 0 до 2 с шагом 0.2. | |
Контрольные вопросы
1). Что такое алгоритм решения задачи и способ её задания?
2). В чём преимущество задания алгоритма в виде блок-схем?
3). Перечислите основные виды вычислительных процессов, поясните их особенности?
4). Какие бывают разновидности циклических процессов. Приведите базовые конструкции для них. Какими элементами они отличаются?