Лабораторная работа № 6.
Составление линейных алгоритмов решения задач.
Цель работы: освоить навыки решения типовых задач на составление алгоритмов с использованием линейных.
Ход работы:
Задача 1. По кулинарному рецепту приготовления орехового напитка составить словесный алгоритм:
орехи истолочь в деревянной ступке, растворить в горячем молоке, затем варить 10 минут на слабом огне, подавать охлажденным.
Продукты: 250 г очищенных грецких орехов, 0,8 л молока, 120 г сахара.
1._________________________________________________________________
2._________________________________________________________________
3._________________________________________________________________
4._________________________________________________________________
5._________________________________________________________________
Задача 2. Составьте блок-схему алгоритма, который по двум заданным вещественным числам вычисляет коэффициенты приведенного квадратного уравнения, корнями которого являются эти числа (рис.1).
Задача 3. Дано а. Не используя никаких функций и операций, кроме умножения, получить а8 за три операции. Заполните шаблон, используя таблицу значений при а = 2 (рис.2).
Шаг алгоритма | Аргумент | Промежуточные величины | Результат | Пояснения | |
a | b | c | y | ||
Вывод | |||||
Конец |
Задача 4. Составьте словесный алгоритм деления отрезка пополам с помощью циркуля и линейки.
1._________________________________________________________________
2._________________________________________________________________
3._________________________________________________________________
4._________________________________________________________________
5._________________________________________________________________
Задача 5. Дана длина ребра куба. Составьте блок-схему алгоритма нахождения площади грани, площади полной поверхности и объема этого куба (рис.3).
|
|


Задача 6. Найти произведение цифр заданного четырёхзначного числа n. Заполните шаблон, используя таблицу значений при n=8341 (рис.4)
Шаг алгоритма | Аргумент | Промежуточные величины | Результат | Пояснения | ||||
n | m | a | b | c | d | p | ||
Вывод 96 | ||||||||
Конец |
|
|

Контрольные вопросы: ОПР. Линейного и ветвящегося алгоритма.
Порядок выполнения отчета по лабораторной работе.
1. Выполнить 6 заданий лабораторной работы (воспользоваться теоретическим материалом)
Отразить выполнение лабораторной работы в отчете
3. Фото или отсканированный написанный отчет прислать на эл. почту Lena_Danukova@Mail.ruили в контакте (вступить в сообщество Математика и Информатика на страничке Шарафутдиновой Е.М. по ссылке https://vk.com/public193953220).
4. Подготовить устно ответы на вопросы для защиты Л.р. по контр.вопросам
Основные теоретические положения
ПОНЯТИЕ ГРАФА И БЛОК-СХЕМЫ. ЛИНЕЙНЫЕ АЛГОРИТМЫ.
Граф – это средство для наглядного представления состава и структуры системы (Пр: Структура молекулы водорода).
Вершины графа – Это компоненты системы изображаемые кругами, овалами, прямоугольниками и пр.
Дуги – это направленные линии (стрелки), связывающие компоненты между собой определенным образом.
Ребра – это ненаправленные линии, связывающие компоненты между собой определенным образом.
Дерево – это граф, предназначенный для отображения вложенности, подчиненности, наследования и т.п. между объектами. В таком графе нет связанных по замкнутой линии вершин. Каждая вершина связана только с верхней и не связана больше ни с чем.
Сеть – это граф, в котором вершины связаны между собой по принципу «многие ко многим».
Блок-схема – это граф, отображающий последовательность выполнения действий. Его вершины отображают отдельные действия и изображаются определенными геометрическими фигурами, а связи изображаются дугами.
Геометрические фигуры, которые используются для обозначения вершин, следующие:
ОВАЛ - начало и конец последовательности действий; ПАРАЛЛЕЛОГРАММ - исходные данные и результат. ПРЯМОУГОЛЬНИК - действия; РОМБ -условие (вопрос, на который можно ответить только «Да» или «Нет»)
2. Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков и повторений. Такую алгоритмическую структуру иногда называют «следование». Структура такого алгоритма выглядит следующим образом (рис.1).
|
![]() | |||||||||
![]() | |||||||||
![]() | |||||||||
![]() | |||||||||
![]() | |||||||||
![]() | |||||||||
![]() | |||||||||
Рис.1
Рис.2
Линейный алгоритм решения имеют простейшие задачи, таким будет, например, алгоритм вычислений по самым простым формулам, не имеющим ограничений на значения входящих в неё переменных.
В качестве примера можно рассмотреть задачу вычисления площади круга S при заданном значении радиуса R. Блок-схема данного алгоритма будет выглядеть следующим образом (рис.2).
Если данный алгоритм записать в словесной форме, то получим:
1) Прочесть значение R;
2) Умножить значение на R на 3,14;
3) Умножить результат на значение R;
4) Сохранить полученный на предыдущем шаге результат как значение S.
3.Величины в алгоритмах. Чаще всего алгоритмы предполагают обработку некоторых величин. При разработке алгоритма данные можно разбить по смыслу на входные – аргументы, выходные – результаты и промежуточные. Исходные (входные) – это данные, известные перед выполнением задачи. Выходные данные – результат решения задачи. Переменные, которые не являются ни аргументом, ни результатом алгоритма, а используются только для обозначения вычисляемого промежуточного значения, называются промежуточными. Чаще всего требуется указать имена и типы данных – целый, вещественный, логический и символьный.
Таким образом, с понятием величины связаны следующие характеристики (атрибуты).
- имя – это её обозначение и место в памяти;
- тип – множество допустимых значений и множество применимых операций к ней, объем занимаемой памяти и способ представления в памяти ЭВМ;
- значение – динамическая характеристика, может меняться многократно в ходе исполнения алгоритма. Во время
выполнения алгоритма в каждый конкретный момент величина имеет какое-то значение или не определена.
Постоянной называется величина, значение которой не изменяется (и не может быть изменено в принципе) в процессе исполнения алгоритма, а остается одним и тем же, указанным в тексте алгоритма.
Переменной называется величина, значение которой меняется в процессе исполнения алгоритма. Для того чтобы переменная величина могла определить или изменить свое значение, новое значение должно быть ей присвоено.
4.Команды присваивания. Оператор присваивания – один из самых простых и наиболее часто используемых операторов в любом языке программирования. Он предназначен для вычисления нового значения некоторой переменной. В общем виде оператор присваивания можно записать так: <имя переменной>:= <выражение>.
Оператор выполняется следующим образом. Вычисляется выражение в правой части команды присваивания. После этого переменная, указанная в левой части, получает вычисленное значение. При этом тип выражения должен быть совместим по присваиванию с типом переменной, а значения всех переменных, входящих в выражение были определены. Часто в программировании используется такая операция присваивания, когда слева и справа используется одна и та же переменная, например, i:=i+1. Заметим, что с точки зрения математики такое выражение просто бессмысленно, т.к. является тождественно ложным. Однако с точки зрения программирования такая запись означает, что сначала должна быть выполнена операция сложения (i+1), а затем полученная сумма присвоена переменной i в качестве её нового значения. При этом старое значение пропадает, «стирается». После выполнения этой операции переменная i будет иметь значение на единицу больше, чем перед её выполнением.
Свойства операции присваивания: 1) пока переменной не присвоено значение, она остается неопределенной; 2) значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующего присваивания этой переменной этого значения; 3) новое значение, присвоенное переменной, заменяет её предыдущее значение.