Самарский национальный исследовательский университет имени академика С.П. Королева
Институт двигателей и энергетических установок,
кафедра Автоматические системы энергетических установок
Отчёт по лабораторной работе
по дисциплине Программирование и алгоритмизация
"Алгоритмы"
Выполнил: студент группы 2114
Сухова Ксения Михайловна
Принял: доцент Федотов Ю.А.
Самара, 2016
Контрольные вопросы:
1. Что называют алгоритмом?
Алгоритм - это точно определенная последовательность действий
для некоторого исполнителя, выполняемых по строго определенным
правилам и приводящих через некоторое количество шагов
к решению задачи; это набор конкретных действий, следующих в определенном порядке, приводящих к заданному результату.
2. Определите понятие «исполнитель алгоритмов».
Исполнитель алгоритмов - это человек или техническое устройство (в том числе ЭВМ), который определяет элементарные действия, из которых формируется алгоритм.
3. Каковы особенности алгоритмов?
Особенности алгоритмов заключаются в том, что они должны решать задачи в обобщенном виде и могут выполнять действия по решению задачи для конкретных значений.
4. Перечислите свойства алгоритмов.
Свойства алгоритма:
определенность – выполнив очередное действие, исполнитель должен точно знать, что ему делать дальше;
дискретность – прежде, чем выполнить определенное действие, надо выполнить предыдущее;
массовость – по одному и тому же алгоритму решаются однотипные задачи и неоднократно;
понятность – алгоритм строится человеком для конкретного исполнителя и должен быть ему понятен. Это облегчает его проверку и модификацию при необходимости;
результативность – алгоритм всегда должен приводить к результату.
5. Каким образом используются алгоритмы при решении задач?
Алгоритм является промежуточным звеном при решении задач, так как сначала мы должны определить метод решения задачи и только потом перейти к её непосредственному решению. Тогда алгоритм помогает нам в описании решения задачи.
6. Для чего применяют алгоритмы?
Алгоритмы применяют для решения различных задач. С помощью алгоритмов детализируются метод решения для его дальнейшей реализации.
7. Укажите способы задания алгоритмов и их соотношения.
Алгоритм, реализующий решение задачи, можно задать различными способами на основе различных языковых средств: графических, текстовых, табличных.
Алгоритмы, представленные графически, проще воспринимаются и читаются, благодаря визуальности и явному отображению процесса решения задачи.
Текстовое описание алгоритма довольно компактное и может быть реализовано на абстрактном или реальном языках программирования.
Табличные алгоритмы лучше всего применять для проверки правильности функционирования разработанного алгоритма на конкретных тестовых наборах входных данных.
Текстовые алгоритмы наиболее распространены в качестве программ на различных языках программирования, так как они быстрее и проще пишутся.
8. Каковы средства и основные блоки визуального представления алгоритмов?
В визуально представленных алгоритмах основными блоками являются терминаторы, блоки ввода и вывода данных, блок процесса.
9. Сформулируйте общие правила при проектировании визуальных алгоритмов.
Общие правила при проектировании визуальных алгоритмов:
в начале алгоритма должны быть блоки ввода значений входных данных;
после ввода значений входных данных могут следовать блоки обработки и блоки условия;
в конце алгоритма должны располагаться блоки вывода значений выходных данных;
в алгоритме должен быть только один блок начала и один блок окончания;
связи между блоками указываются направленными или ненаправленными линиями.
10. Как используется системный подход к построению алгоритмов?
Системный подход используется при построении алгоритмов для сложной задачи. Производится последовательная декомпозиция решаемой задачи на ряд подзадач до тех пор, пока не будут определены задачи, для которых алгоритмическое решение известно или может быть оперативно найдено.
11. В чем заключается метод структурной алгоритмизации?
Метод структурной алгоритмизации заключается в визуальном представлении алгоритма в виде последовательности управляющих структурных фрагментов.
12. Какие существуют базовые алгоритмические структуры? Приведите
пример.
Существуют три базовые алгоритмические (управляющие процессом обработки информации) структуры: композиция, альтернатива и итерация.
13. Чем отличаются алгоритмические структуры композиция и альтернатива?
Композиция (следование) – это линейная управляющая конструкция, предназначена для описания единственного процесса обработки информации.
Альтернатива – это нелинейная управляющая конструкция, предназначена для описания процессов решения различных задач обработки информации, выбор которых зависит от значений входных данных.
14. Чем отличаются алгоритмические структуры альтернатива и итерация?
Итерация в отличие от альтернативы является циклической управляющей конструкцией. Она предназначена для организации повторяющихся процессов обработки последовательности значений данных, тогда как альтернатива предназначена для описания процессов решения различных задач.
15. Как классифицируются алгоритмы по структурному признаку?
По структурному признаку алгоритмы классифицируют на линейные, разветвленные и циклические алгоритмы.
16. Приведите примеры линейных и разветвленных алгоритмов.
Линейный алгоритм:
Вычислить значение уравнения y=21*x+14.
Начало
Ввод: X
Y=21*X+14
Вывод У
Конец
Разветвленный алгоритм:
Если x>0, то вычислить значение уравнения y=21*x+14.
Если x<=0, то вычислить значение уравнения y=21*(-x)+14.
НАЧАЛО
ВВОД: X
X>0
Y=21*X+14
+
-
Y=21*(-X)+14
ВЫВОД Y
КОНЕЦ
Цель заданий. Приобрести умения в синтезе формальной и
алгоритмической моделей решения задач. Сформировать компетенции
анализа и синтеза алгоритмических моделей при решении простых задач.
Задание 1: В книжном магазине вы желаете купить три книги. У вас имеется
небольшая сумма наличных денег и пластиковая карта, на счету которой
большая сумма денег. Вам бы не хотелось сегодня пользоваться
пластиковой картой, так как Вы в дальнейшем запланировали крупную
покупку. Определите способ покупки.
Решение:
Если нужно обязательно купить три книги и ни одной меньше, то мы либо платим наличными, либо картой. Если количество наличных денег больше и равно стоимости всех трёх книг, то мы оплачиваем покупку наличными. Если же их не хватает, то мы платим картой.
A,B,C - стоимость каждой книги
S - суммарная стоимость книг
N - количество наличных денег
НАЧАЛО
ВВОД: A,B,C,N
S=A+B+C
N>=S
ВЫВОД: платим наличными
+
-
ВЫВОД: платим картой
КОНЕЦ
Задача 2: Определите вариант пути от дома до места учебы, в зависимости от
времени выхода из дома и времени начала учебных занятий.
