Способы записи алгоритмов: Методические указания к выполнению лабораторной работы, страница 2

вывода значения переменных на блок-схеме

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

Рис.3. Элемент отображения линейного

действия на блок-схеме

Разветвление в алгоритме на алгоритмическом языке представляется следующим образом:

если ? то <действие1> иначе <действие2>

где ? – проверяемое условие;

действие1 – действие, которое выполняется, если проверяемое условие истинно;

действие2 – действие, которое выполняется, если проверяемое условие ложно;

Представление разветвления алгоритма на блок-схеме изображено на рисунке 4.

Рис.4. Представление разветвления алгоритма на блок-схеме

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

для <переменная цикла>=НЗ до КЗ нц

<тело цикла>

кц

где НЗ – начальное значение переменной цикла

КЗ – конечное значение переменной цикла

Представление алгоритма, реализованного с помощью цикла с заданным количеством итераций, изображено на рисунке 5.

Рис.5. Представление алгоритма, реализованного с помощью цикла с заданным количеством итераций

Вложенные циклы с заданным количеством итераций на алгоритмическом языке представляются следующим образом:

для <переменная цикла1>=НЗ до КЗ нц

для <переменная цикла2>=НЗ до КЗ нц

<тело цикла>

кц

кц

Представление вложенных циклов с заданным количеством итераций изображено на рисунке 6.

 

Рис.6. Представление вложенных циклов с заданным

количеством итераций

Цикл с предусловием на алгоритмическом языке будет записан в виде:

пока ?

нц

<тело цикла>

кц

где ? – условие повторения тела цикла

Представление цикла с предусловием на блок-схеме изображено на рисунке 7.

Рис.7. Представление цикла с предусловием на блок-схеме

Цикл с постусловием на алгоритмическом языке будет записан в виде:

нц

<тело цикла>

до ?

Представление цикла с постусловием на блок-схеме изображено на рисунке 8.

Рис.8. Представление цикла с постусловием на блок-схеме

СОДЕРЖАНИЕ И ТЕХНОЛОГИЯ РАБОТЫ

Составим алгоритмы на алгоритмическом языке и блок-схемы для решения следующих задач:

Задача 1. Составить алгоритм определения ускорения, с которым движется автомобиль. Начальная скорость, время движения, конечная скорость определяется пользователем.

Решение.

Определим переменные, которые будут использоваться в решении задачи:

a – ускорение автомобиля;

vk – конечная скорость движения автомобиля;

v0 – начальная скорость движения автомобиля;

t – время движения автомобиля.

Запишем алгоритм решения задачи на алгоритмическом языке.

нач

ввод t,v0,vk

a=(v0-vk)/t

вывод а

кон

Блок-схема решения данной задачи представлена на рисунке 9.

Рис.9. Блок-схема решения задачи линейного алгоритма

Задача 2. Даны действительные числа x, y. Определить, лежит ли точка с координатами (x, y) выше параболы, на параболе, или ниже этой параболы. Составить алгоритм для решения данной задачи

Решение.

Определим входные переменные данной задачи:

х – ордината точки;

у – абсцисса точки;

a,b,c – коэффициенты параболы

Определим условия, которые необходимо проверить при решении данной задачи:

 - точка лежит выше параболы

 - точка лежит на параболе

 - точка лежит ниже параболы

Данные условия являются взаимоисключающими, поэтому проверять будем только два из них.

Выходными данными задачи будет являться сообщение пользователю

Запишем алгоритм решения задачи на алгоритмическом языке.

нач

ввод x,y,a,b,c

если  то "Точка лежит выше параболы" иначе

если  то "Точка лежит на параболе"

иначе "Точка лежит ниже параболы"

кон

Блок-схема решения данной задачи представлена на рисунке 10.


Рис.9. Блок-схема решения задачи алгоритма ветвления

Задача 3. Составить алгоритм вычисления значения функции

где х изменяется от 12 до 13,5 с шагом 0,1.

Решение.

В данной задаче входных переменных нет

Определим условия, которые необходимо проверить при решении данной задачи:

 - точка лежит выше параболы

  - функция вычисляется по формуле (0,08*х)х

В остальных случаях функция равна нулю

Выходными данными задачи будет являться множество значений вычисленной функции

Вариант 1. Решим представленную задачу с помощью цикла с заданным количеством итераций.

Запишем алгоритм решения задачи на алгоритмическом языке.

нач

нц для х=12 до 13,5 шаг 0,1 делать

если х<=13  то у=(0,08*х)^х иначе у=0

    вывод у

    кц

кон

Блок-схема решения данной задачи представлена на рисунке 11.

Рис.11. Блок-схема решения задачи с помощью цикла

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

Вариант 2. Решим представленную задачу с помощью цикла с предусловием.

Запишем алгоритм решения задачи на алгоритмическом языке.

нач

х=12

нц пока х=12 £ делать

если х<=13,5  то у=(0,08*х)^х иначе у=0

х=х+0,1

    вывод у

    кц

кон

Блок-схема решения данной задачи представлена на рисунке 12.

Рис.12. Блок-схема решения задачи с помощью цикла с предусловием

Вариант 3. Решим представленную задачу с помощью цикла с постусловием.

Запишем алгоритм решения задачи на алгоритмическом языке.

нач

х=12

нц делать

если х<=13,5  то у=(0,08*х)^х иначе у=0

х=х+0,1

    вывод у

    до х >13,5 кц

кон

Блок-схема решения данной задачи представлена на рисунке 13.

Рис.13. Блок-схема решения задачи с помощью цикла с постусловием

СОДЕРЖАНИЕ ОТЧЕТА

В ходе выполнения лабораторной работы студенту необходимо решить задачи на составление линейного алгоритма, алгоритмов ветвления и циклического алгоритма. Отчет о выполнении лабораторной работы должен содержать:

1. Титульный лист.

2. Цель работы

3. Исходные данные.

4. Блок-схемы алгоритмов.

5. Записи решения задач на алгоритмическом языке

6. Вывод.

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

1. Дайте определение алгоритма.

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

3. Раскройте свойство алгоритма "конечность".

4. Раскройте свойство алгоритма "понятность".

5. Раскройте свойство алгоритма "Доступность".

6. Раскройте свойство алгоритма "Последовательность"

7. Перечислите основные характеристики алгоритма.

8. Раскройте характеристику алгоритма "Базовость".

9. Раскройте характеристику алгоритма "Определенность".

10. Раскройте характеристику алгоритма "Разрешимость".

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

12. Дайте определение линейного алгоритма.

13. Дайте определение алгоритма ветвления.

14. Какой элемент блок-схемы служит для отображения линейных действий?

15. Какой элемент блок-схемы служит для обозначения начала и конца алгоритма?

16. Что подразумевает под собой условие в алгоритмах ветвления?

17. Дайте определение простого условия в алгоритме ветвления.