АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Краткие сведения из теории

Читайте также:
  1. C. Теории управления человеческими ресурсами
  2. I. Общие работы по теории культуры
  3. I. Сведения о заявителе
  4. I. Теоретические сведения
  5. II. Сведения о деятельности Администрации городского поселения Удельная, структурных подразделениях Администрации городского поселения Удельная
  6. WWW и Интернет. Основные сведения об интернете. Сервисы интернета.
  7. А) краткие методические указания к написанию контрольной работы
  8. А. Общие сведения
  9. А. Общие сведения
  10. А. Общие сведения
  11. А. Общие сведения
  12. А. Общие сведения

Лабораторная работа №4

Тема: Алгоритмы. Основы разработки алгоритмов. Блок-схемы алгоритмов

Цель работы: Получить практические навыкиразработки алгоритмов решения вычислительных задач в виде блок-схем.

 

Краткие сведения из теории

Алгоритм - это точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели. Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью графического или словесного описания, в виде псевдокодов, формул, или записанным на каком-либо языке программирования.

Наиболее популярным для решения задач на ЭВМ является графическая форма представления алгоритма в виде блок-схем. Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, что облегчает процесс написания программы, ее корректировки при возможных ошибках.

Алгоритм любой сложности может быть представлен комбинацией трех базовых структур:

· линейная;

· разветвляющая (альтернатива);

· циклическая.

Характерной особенностью этих структур является наличие у них одного входа и одного выхода.

Базовая структура "линейная" (следование) означает, что несколько операторов должны быть выполнены последовательно друг за другом и только один раз за время выполнения данной программы (рис. 1). Под оператором понимается формальная запись команды для выполнения некоторого действия.

       
 
   
 

 


Рисунок 1- Базовая структура «Линейная»

 

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

       
   

 

 


Рисунок 2- Базовая структура «Разветвляющая»

 

Алгоритм, в состав которого входит базовая структура " альтернатива или разветвляющая", называется разветвляющимся.

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

Различают три разновидности этой структуры:

· "цикл - пока" (рис. 3 а);

· "цикл - до" (рис. 3 в);

· Цикл с заданным числом повторений (рис. 3 с).

 

           
 
   
   
 
 

 

 


а) в) с)

 

а) – цикл - пока;

в) – цикл - до;

с) – цикл с заданным числом повторений.

 

Рисунок 3- Базовая структура «Циклическая»

 

Группа операторов, повторяющихся в цикле, называются телом цикла. Основное отличие структуры "цикл - пока" от структуры "цикл - до" заключается в том, что в первой структуре операторы тела цикла в зависимости от условия могут не выполняться совсем, тогда как в структуре "цикл - до" тело цикла будет выполняться хотя бы один раз. Можно заметить, что в структуре "цикл - пока" проверка выполнения условия осуществляется перед выполнением операторов тела цикла, а в структуре "цикл - до" - после прохождения тела цикла.

Цикл с заданным числом повторений обозначает повторение некоторых действий указанное число раз.

 

Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными циклами. Алгоритмы, имеющие в своем составе базовую структуру "цикл", называются циклическими.

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

 

Основные свойства алгоритмов: дискретность, определенность, конечность, повторяемость и универсальность (массовость).

Дискретность означает, что выполнение алгоритма разбивается на последовательность законченных действий - шагов.

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

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

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

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

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

 

Таблица 1. Основные блоки

Наименование Обозначение Функции
Процесс Выполнение операций, в результате которых изменяется значение, форма представления или расположение данных.  
Ввод-вывод (данные) Ввод данных в программу, или отображение (вывод) результатов работы программы на экране дисплея.
Условие (решение) Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.  
Модификация   Отображает цикл. В блоке указываются начальное значение цикла, его шаг и условие окончания цикла.
Предопределённый процесс (подпрограмма) Использование ранее созданных и отдельно написанных программ (подпрограмм).  
Документ Вывод данных на бумажный носитель.  
Пуск (начало) Начало процесса обработки данных (алгоритма).  
Стоп (конец)   Конец (завершение) процесса обработки данных (алгоритма).  
Соединитель (узел) Указание связи между прерванными линиями, соединяющими блоки. N – номер связи.

Содержание работы

1. Выбрать вариант задания.

2. Изучить теоретическую часть.

3. Для каждого задания выполнить постановку задачи.

4. Разработать алгоритмы задач в виде блок-схем.

5. Составить описание блок-схем алгоритмов.

Варианты заданий

Задание 1. Линейные алгоритмы.

Таблица 2.

№ Варианта Расчетные формулы Исходные данные
1. X=1.4 Y=-1.2 Z=3.4
2. X=1.8 Y=5.43 Z=2.95
3. X=1.7 Y=3.1
4. a=-0.5 b=1.7 t=0.44
5. a=-15 b=15.5 x=- 2.9
6. a=16.5 b=3.4 x=0.61
7. a=0.7 b=0.05 x=0.5
8. a=1.1 b=0.04 x=0.15  
9. a=4.52 b=3.18 x=1.5
10. a=3.2; b=17.5 x=- 4.8
11. a=10.2 b=9.2 x=0.5
12.   a=0.3; b=0.9 x=0.61
13. a=0.5; b=3.1 x=1.4
14. a=0.5 b=2.9 x=0.3
15. X=2.5 Y=1.78 Z=3.14
16. a=6.5 b=2.4 x=0.8
17. a=8.2; b=4.2 x=0.65
18. a=8.5; b=5.4 x=2.1
19. a=2.37 b=1.73 x=4.7
20. a=0.89; b=3.59 x=2.43

Задание 2. Алгоритмы ветвления.

Таблица 3.

№ Варианта Формула Условие Исходные данные
1.      
1. a=-0.5 b=2
2. x<1.3 x=1.3 x>1.3 a=1.5    
3. x<1.2 x=1.2 x>1.2 a=2.8 b=-0.3 c=4
4. x<1.4 x=1.4 x>1.4 a=1.65  
5. x<1 x=1 1<x<2 x>2 a=2.3
6. a=2.5
7. b=1.5; x=0.3
8. a=20.3
9. x<0.5 x=5 x>0.5 t=2.2
10. a=2.6 b=-0.39
11. a=0.9
12. a=2.1 b=1.8 c=-20.5
13. a=0.3 n=10
14. t<0.1 t=0.1 t>0.1 a=2.5 b=0.4
15. a=2.1 b=1.8 c=-20.5
16. a=1.9
17. a=2.1 b=1.8 c=-20.5
18. a=-0.5 b=2

 

 

Задание 3. Циклические алгоритмы.

Таблица 4.

Вариант Массив Действия
  X(75) Вычислить сумму нечетных элементов массива Xи их количество.
  A(42) Вычислить среднее арифметическое значение четных элементов массива A.
  X(70) Найти элементы массива больше 25. Выдать их сумму и количество на печать.
  B(50) Найти минимальный элемент массива B и его порядковый номер. Вывести результат на печать.  
  C(40) Найти максимальный элемент массива C и его порядковый номер. Вывести результат на печать.
  D(80) Найти максимальный и минимальный элементы массива D и поменять их местами.
  Y(20) Вычислить сумму и произведение положительных элементов массива Y.
  А(5,8) Найти сумму и количество элементов массива А меньше 15 и вывести на печать.
  A(8,8) Определить сумму элементов массива А, стоящих выше главной диагонали и выдать их на печать.
  X(5, 5) Определить сумму элементов матрицы X, стоящих выше дополнительной диагонали и выдать их на печать.
  Y(8, 8) Определить сумму элементов матрицы Y, стоящих на дополнительной диагонали и выдать их на печать.
  Y(9, 6) Найти сумму элементов нечетных столбцов и нечетных строк матрицы Y.

 

Содержание отчета

1. Постановка задач.

2. Разработка алгоритмов в виде блок-схемы.

3. Описание блок-схем алгоритмов.

4. Ответы на контрольные вопросы

Контрольные вопросы

1. Что такое алгоритм?

2. Назовите формы представления алгоритма.

3. Назовите основные базовые структуры алгоритма.

4. Откуда появилось слово алгоритм?

5. Что такое итерация?

6. Перечислите основные свойства алгоритма.

7. Какая геометрическая фигура предназначена для проверки условия в блок-схеме?

8. Что такое определенность алгоритма?

9. Какая геометрическая фигура предназначена для организации цикла в блок-схеме?

10. Назовите разновидности циклических структур.


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.)