Запись алгоритма на естественном языке

Лекция I

АЛГОРИТМИЗАЦИЯ (2ч.)

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

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

Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль-Хорезми — Algorithmi.

Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством.

Свойства алгоритмов.

1. Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов.
2. Понятность. Алгоритм должен быть понятен исполнителю.
3. Детерминированность. Будучи понятным, алгоритм не дол­жен содержать команды, смысл которых может восприниматься неоднозначно.
4. Результативность.  Алгоpитм должен пpиводить к pешению задачи за конечное число шагов.
5. Массовость. Алгоритмы, обеспечивающие решение всего класса задач данного типа.

Три типа алгоритмов:

1. Линейный;

2. Ветвящийся;

3. Циклический (цикл с постусловием, цикл с предусловием, цикл с параметром).

 

Способы описания алгоритма:

1. естественный язык;

2. блок - схемы;

3. алгоритмический язык.

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

 

Название блока Обозначение блока Назначение блока
1 2 3
Терминатор Начало/Конец программы или подпрограммы
Процесс Обработка данных (вычислительное действие или последовательность вычислительных действий)
Решение Ветвление, выбор, проверка условия. В блоке указывается условие или вопрос, который определяет дальнейшее направление выполнения алгоритма
Подготовка Заголовок счетного цикла
Предопределенный процесс Обращение к процедуре
Данные Ввод/Вывод данных
Соединитель Маркировка разрыва линии потока
Комментарий Используется для размещения пояснений к действиям
Горизонтальные и вертикальные потоки Линии связей между блоками, направление потоков

ЗАПИСЬ АЛГОРИТМА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ.

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

Пример:

Найти значение выражения:  у=2а-(х+6).

Алгоритм решения этой задачи:

1. Ввести значения а и х.

2. Сложить х и 6.

3. Умножить а на 2.

4. Вычесть из 2а сумму (х+6).

5. Вывести у как результат вычисления выражения.

 

К основным структурам построения блок схем относятся:

  1. Базовая структура следование. Образуется из последовательности действий, следующих одно за другим:

 

алгоритмический язык Язык блок-схем
действие 1 действие 2......... действие n

 

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

Каждый из путей ведет к общему выходу независимо от того, какой путь будет выбран.

Структура ветвление существует в четырех основных вариантах:

 

алгоритмический язык Язык блок-схем

1. если-то

 если условие то действия все

2. если-то-иначе

 если условие то действия 1 иначе действия 2 все

3. выбор

 выбор при условие 1: действия 1 при условие 2: действия 2............ при условие N: действия N все

4. выбор-иначе

 выбор при условие 1: действия 1 при условие 2: действия 2............ при условие N: действия N иначедействия N+1 все

 

  1. Базовая структура цикл. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

Основные разновидности циклов представлены в таблице:

алгоритмический язык Язык блок-схем

Цикл типа пока. (цикл с предусловием)

проверка условия проводится до выполнения тела цикла, и если при первой проверке условие выхода цикла выполняется, то тело цикла не выполняется ни разу.

На естественном языке циклу Пока соответствует последовательность операторов:

1. Операторы начальных присвоений

2. Если условие идти к 5

3. Операторы тела цикла

4. Идти к 2

5. ………

выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

 нц пока условие тело цикла (последовательность действий) кц

Цикл типа для.

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

 нц для i от i1до i2 тело цикла (последовательность действий) кц

1.

Начальные присваивания
Тело цикла
условие
да
нет
Цикл До (цикл с постусловием). Применяется при необходимости выполнить какие - либо вычисления несколько раз до выполнения некоторого условия.

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

Тело цикла - та последовательность действий, которая выполняется многократно (в цикле).

Начальные присвоения - задание начальных значений тем переменным, которые используются в теле цикла.

На естественном языке циклу До соответствует последовательность операторов:

1. Операторы начальных присвоений

2. Операторы тела цикла

3. Если условие идти к 2

 

 

Практический материал (рассмотреть и усвоить способы записи и решения)

 

1)

 

 

2) После выполнения фрагмента программы

a = 30

b = a/2+1

ЕСЛИ (a<b*2) И (b>15) ТО

a = a+1

ИНАЧЕ

a = 20

КОНЕЦ ЕСЛИ

ВЫВОД а

 

значение переменной а будет равно …

20

31

30

21

Пояснение к ответу:

а=30, вычисляем b=30/2+1=16

проверяем условие (a<b*2) И (b>15) – (30<16*2) и (16>15) – условие верно

а=а+1=30+1=31

 

 

3) Дана блок-схема алгоритма

Определить результат выполнения алгоритма при определённых значениях исходных данных

Например, при x=16 и y=2

 

Ввод: х=16 y=2

x=√16=4

y=y2=4

x=4+1=5

y=4+5=9

Вывод: y=9


 


Лекция II


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: