-ответы на контрольные вопросы по указанию преподавателя.
ТЕМА 1. Алгоритмизация задач
Цель лабораторной работы: ознакомиться с понятием алгоритма и алгоритмизацией задач. Научиться составлять алгоритмы решения задач на компьютере в виде блок-схем.
Понятие алгоритма, его свойства, этапы разработки, способы представления алгоритмов.
Алгори́тм – это точный набор инструкций, описывающих последовательность и порядок действий исполнителя для достижения результата решения задачи за конечное время. Какие-то действия алгоритма должны быть выполнены только друг за другом, но какие-то могут быть и независимыми. Алгоритм – это конечная последовательность действий, приводящая к определенному результату.
1. массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными;
2. определенность алгоритма – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования;
Понятие алгоритма и его свойства. Алгоритмы и структуры данных.
3. понятность – должен включать команды, которые входят в систему команд исполнителя;
4. дискретность – это свойство алгоритма, обеспечивающее возможность разбиения вычислительного процесса на отдельные самостоятельные этапы
5. результативность (конечность) – при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов.
6. эффективность – для решения задачи должны использоваться ограниченные ресурсы компьютера (процессорное время, объём оперативной памяти и т. д.).
Этапы разработки и решения задач на ЭВМ:
- постановка задачи;
- моделирование;
- алгоритмизация задачи;
- программирование;
- ввод программы и исходных данных в ЭВМ;
- тестирование и отладка программы;
- исполнение отлаженной программы и анализ результатов.
Способы представления алгоритмов:
2. структурированная схема алгоритма — графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия;
3. алгоритмический язык.
Представление алгоритмов в виде структурированных блок-схем.
Основные структуры алгоритмов:
1. линейные алгоритмы – это алгоритмы, в которых действия выполняются последовательно друг за другом.
2. условные алгоритмы – алгоритм, содержащий хотя бы одно условие, в результате проверки которого обеспечивается переход на один из двух возможных шагов.
3. алгоритмы с повторением (циклический алгоритм) – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Способы записи алгоритмов | Информатика 8 класс #18 | Инфоурок
Источник: studopedia.ru
Понятие алгоритма, свойства алгоритма, способы представления алгоритма
Существует множество понятий что такое алгоритм, но наиболее точным понятием использующееся во множествах учебных материалах применяется именно это понятие:
Алгоритм – понятная и точная последовательность действий исполнителю, описывающая процесс преобразования объекта из начального состояния в конечное, т.е. решение конкретной задачи.
Понятие исполнителя алгоритма
Исполнителем алгоритма может быть как человек (кулинарные рецепты, различные инструкции, алгоритмы математических вычислений), так и техническое устройство.
Различные машины (компьютеры, промышленные роботы, современная бытовая техника) являются формальными исполнителями алгоритмов.
От формального исполнителя не требуется понимание сущности решаемой задачи, но требуется точное выполнение последовательности команд.
Свойства алгоритмов
Для создания алгоритма (программы) необходимо знать:
- полный набор исходных данных задачи (начальное состояние объекта);
- цель создания алгоритма (конечное состояние объекта);
- систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить).
Полученный алгоритм (программа) должен обладать следующим набором свойств:
- дискретность (алгоритм разбит на отдельные шаги — команды);
- однозначность (каждая команда определяет единственно возможное действие исполнителя);
- понятность (все команды алгоритма входят в систему команд исполнителя);
- результативность(исполнитель должен решить задачу за конечное число шагов).
Большая часть алгоритмов обладает также свойством массовости (с помощью одного и того же алгоритма можно решать множество однотипных задач).
Виды алгоритмов
Всего существует несколько видов алгоритмов применяющиеся для их описания.
- Линейный
- Ветвящийся
- Циклический
Рассмотрим каждый из этих видов алгоритмов.
Линейным алгоритмом — называется такой вычислительный процесс, при котором все этапы решения задачи выполняется в естественном порядке (друг за другом) следования записи этих этапов
Ветвящимся типом алгоритмов – называется такой вычислительный процесс, при котором выбор направления зависит от исходных или промежуточных данных (результатов проверки условия)
Циклическим типом алгоритма – называется такой тип вычислительных процессов, при котором содержится один или несколько циклов.
Приведем пример Линейного алгоритмов, представленные в виде блок-схемы:
Рис1. Блок схема линейного алгоритма
Приведем пример алгоритмов ветвления, представленные в виде блок-схемы:
Рис 2. Блок схема алгоритма ветвления
Приведем пример циклического алгоритма, представленные в виде блок-схемы:
Рис 3. Блок-схема циклического алгоритма
Рекурсивный алгоритм
Существует так же и отдельный вид алгоритмов называемыми рекурсивными алгоритмами. Сначала введем понятие рекурсия.
Рекурсивным называется способ построения объекта, в котором определение объекта включает в себя аналогичные объекты в виде составных частей.
Рекурсия – метод определения функции через ее предыдущие и раннее определенные значения, а также способ организации вычислений, при котором функция вызывает сама себя с другим аргументом.
Рекурсивная функция – эта функция, которая вызывает саму себя. Это происходит в случае прямой рекурсии.
Существует так же и косвенная рекурсия – когда две и более функций вызывают друг друга. Когда функция вызывает саму себя, в стеке создается копия значений ее параметров после чего управление передается первому исполняемому оператору функции. При повторном вызове процесс повторяется.
Рекурсивные функции являются альтернативой циклам. Примерами рекурсии могут послужить вычисление факториала числа, возведение числа в степень или поиск Чисел Фибоначчи.
Формы представления алгоритмов
На практике распространены следующие формы представления алгоритмов необходимые для понимания действий исполнителя программы:
- Словесная (записи на естественном языке)
- Графический способ (в виде блок-схемы)
- Текст на языке программирования (в виде программного кода)
- Символьный (запись алгоритма с помощью условных знаков)
При словесном способе описания программы, алгоритм задается в произвольном изложении на естественном (человеческом) языке.
НЕДОСТАТКИ СЛОВЕСНОГО СПОСОБА:
- отсутствие наглядности;
- недостаточная точность.
ДОСТОИНСТВА: с его помощью можно описать любые алгоритмы, в том числе и вычислительные.
СПЕЦИАЛЬНЫЕ СОГЛАШЕНИЯ ДЛЯ СЛОВЕСНОЙ ЗАПИСИ АЛГОРИТМОВ:
1. Знак присваивания, слева от которого записывают ту переменную, которой присваивается значение, записанное справа от знака присваивания. Например, х: =х+1
2. Для задания значения исходных данных используют указания: ВВЕСТИ
3. Для запоминая промежуточных результата используют вспомогательные переменные.
4. Для указания начала и конца алгоритма используют указания: НАЧАЛО и КОНЕЦ.
5. Все шаги нумеруют.
При графическом представлении программы, алгоритм изображается в виде последовательности связанных между собой функциональных блоков и стрелок соединяющие это смысловые блоки (т.е. блок-схема).
Примеры блок схем были представлены ранее (см. рис 1-3)
Алгоритм, записанный на языке программирования, называется программой.
Словесная и графическая форма записи алгоритма предназначены для человека. Алгоритм, предназначенный для исполнителя на компьютере, записывается на языке программирования (языке, понятном ЭВМ). Сейчас известно несколько сот языков программирования. Наиболее популярные: Бейсик, Си, Паскаль, Пролог, ПЛ, Ада и т.д.
Пример программы на языке программирования Pascal ABC:
VAR A,B,C, max: INTEGER;
WRITE(‘ ВВЕДИТЕ A, B, C’);
IF A>B THEN max:=A
IF C>max THEN max:=C;
Пример решения задачи обработки каталога в системе на наличие подкаталогов с помощью рекурсивных алгоритмов, описанных с помощью блок-схемы:
Рис 4. Блок-схема примера рекурсивного алгоритма
Понятие блок-схема. Смысловые блоки блок-схемы.
Приведем точное определение блок-схемы
Блок-схема – способ графического представления алгоритма, в котором шаги изображаются в виде блоков различной формы, соединенных между собой стрелками.
На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» .
Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.
Для более точного преставления что такое блок-схема приведем пример картинки с изображениями смысловых блоков:
Рис 1. Виды смысловых блоков для блок-схем и их описание
К правилам оформления блок-схем так же относятся следующие пункты:
- Стрелки на линиях связи можно не ставить при направлении сверху вниз и слева направо; противоположные направления обязательно указывают стрелкой на линии.
- Для удобства блоки могут помечаться метками (буквами или цифрами).
- Внутри блока ввода/вывода пишется ВВОД или ВЫВОД и перечисляются имена данных, подлежащих вводу/выводу.
- Внутри блока действия для присваивания переменных значений используется знак присваивании
Литература
- Ефимова О., Морозов В., Угринович Н. Курс компьютерной технологии с основами информатики. Учебное пособие для старших классов. — М.: ООО «Издательство АСТ»; АВF, 2000 г.
- Задачник-практикум по информатике. В 2-х томах/Под ред. И.Семакина, Е.Хеннера. — М.: Лаборатория Базовых Знаний, 2001 г.
- Угринович Н. Информатика и информационные технологии. 10-11 класс- М.: Лаборатория Базовых Знаний, АО «Московские учебники», 2001 г.
- [Электронный ресурс]. URL: http://www.fvn2009.narod.ru/Examinations/Tickets/Tickets2.htm
- ГОСТ 19.701–90 (ИСО 5807–85) «Единая система программной документации».
- Алгоритм. Свойства алгоритма [Электронный ресурс]. URL: https://pro-prof.com/archives/578
- Алгоритмы сортировки слиянием и быстрой сортировки [Электронный ресурс]. URL: https://pro-prof.com/archives/813
- yEd Graph Editor [Электронный ресурс]. URL: https://www.yworks.com/products/yed
- Книги: алгоритмы [Электронный ресурс]. URL: https://pro-prof.com/books-algorithms
- Технологии электронного документооборота
- Основные черты уголовного права в «Тан люй шу и»
- Что такое нейронная сеть? (Преимущества нейронных сетей)
- Гарант (информационные технологии в юридической деятельности)
- Выделение основных информационных процессов в реальных системах
- Теория денег и законы денежного обращения
- Объекты патентного права: сравнительно – правовая характеристика (Основная часть)
- Принцип автоматического исполнения программ в ЭВМ
- Перечень, назначение и устройство основных элементов персонального компьютера
- Нахождение смыслового ядра с изъятием придаточных
- Культура питания Древнего Рима
- Поколения развития вычислительной техники
При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org
Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи
Сайт пишется, поддерживается и управляется коллективом преподавателей
Telegram и логотип telegram являются товарными знаками корпорации Telegram FZ-LLC.
Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.
Источник: www.evkova.org
Понятие алгоритма. Способы представления и типы алгоритмов.
Алгоритм — это предписание некоторому исполнителю выполнить конечную последовательность действий, приводящую к некоторому результату.
В программировании алгоритм является фундаментом программы, а основным исполнителем — компьютер. На стадии тестирования алгоритма исполнителем может быть сам программист.
Основными свойствами алгоритма являются:
- дискретность — представление алгоритма в виде последовательности шагов;
- массовость — применимость алгоритма к некоторому множеству исходных данных;
- определенность — за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
- однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
Из перечисленных свойств лишь дискретность является обязательным свойством алгоритма.
Способы представления алгоритмов:
1. Словесный способ – описание алгоритма состоит из словесных действий. Недостаток – отсутствие четкой формализации и наглядности выполнения процесса, но возможность описания алгоритма с любой степенью детализации.
2. Формульно-словесный способ. Основан на задании инструкций о выполнении конкретных действий в четкой последовательности в сочетании со словесными пояснениями.
Этап 1. Ввести А, В; Этап 2. Если А В, то переходим к этапу 3; иначе переходим к этапу 4. Этап 3. С=А-В, и переходим к этапу 5; Этап 4. С=А+В; Этап 5. Вывод С.
3. Табличный способ. Алгоритм задается в виде таблиц и расчетных формул. Наиболее часто используется в экономических расчетах.
4. Операторный (язык операторных схем). Вычислительный процесс изображается в виде последовательных символов (операторов). Они обозначают группы стандартных или нестандартных операций, реализующих законченную процедуру с указанием связи между отдельными операторами. Порядок выполнения – слева направо. Недостаток – малая наглядность, достоинство – значительно упрощает составление программы для компьютера.
5. Графический способ (метод блок-схемы). При таком представлении алгоритма, каждый этап отображается в виде геометрических фигур-блоков, форма которых зависит от выполняемой операции. Линия соединения блоков, показывает направление процесса обработки данных. Каждое направление называется ветвью.
Типы алгоритмов.
1)Линейный – это такой алгоритм, в котором все команды выполняются строго последовательно друг за другом.
Пример Вычисление площади круга по формуле: S = PI* R*R, где PI =3,14
Разветвляющийся алгоритм – это такой алгоритм, который содержит команду ветвления.
Команда ветвления — это составная команда, в которой та или иная серия команд выполняется после проверки условия. Признаком разветвляющегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения (проверяемое условие) и в зависимости от истинности или ложности проверяемого условия для выполнения выбирается та или иная ветвь алгоритма. Алгоритм предполагает выполнение Действия 1, если записанное условие истинно (выполняется), и выполнение Действия 2 (если условие ложно (не выполняется).
3) Циклический алгоритм — это такой алгоритм, который содержит команду повторения.
Параметр цикла – величина, с изменением значения которой связано многократное выполнение цикла. Шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.
Циклический алгоритм состоит из:
1. Подготовка цикла – связана с заданием данных для параметров цикла и других величин
2. Тело цикла – многократно повторяющиеся действия для вычисления: подготовка значений параметра цикла
3. Условие продолжения цикла – необходимость дальнейшего выполнения повторяющихся действий (тела цикла). Если параметр цикла превысил конечное значение, то выполнение цикла должно быть прекращено.
Источник: mydocx.ru