Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Алгоритмизация и программирование

Алгоритмизация и программирование

29.05.2020

Содержимое разработки

Алгоритмизация и программирование Презентацию разработала : Хоркина Виктория Дмитриевна Иркутск, 2020

Алгоритмизация и программирование

Презентацию разработала : Хоркина Виктория Дмитриевна

Иркутск, 2020

Введение

  • Процессор электронно-вычислительной машины, это чудо техники, умеет, тем не менее, выполнять лишь простейшие команды. Каким же образом компьютер решает сложнейшие задачи обработки информации? Для решения этих задач программист должен составить подробное описание последовательности действий, которые необходимо выполнить центральному процессору компьютера. Составление такого пошагового описания процесса решения задачи называется  алгоритмизацией  , а  алгоритмом  называется конечный набор правил, расположенных в определённом логическом порядке, позволяющий  исполнителю  решать любую конкретную задачу из некоторого класса однотипных задач. В разных ситуациях в роли исполнителя может выступать электронное или какое-либо иное устройство или человек (например, военнослужащий, охраняющий склад боеприпасов и действующий согласно алгоритмам, записанным в устав караульной службы).
  • Тема   алгоритмизации и программирования на сегодняшний день является очень важной. Алгоритмизация и программирование являются основными инструментариями информатики и применяются в различных областях человеческой деятельности.
Понятие алгоритма Алгоритмом называют точное предписание, которое задается вычислительному процессу и представляет собой конечную последовательность обычных элементарных действий, четко определяющую процесс преобразования исходных данных в искомый результат. Приведенная фраза представляет собой не определение, а объяснение сути, поскольку понятие алгоритма является фундаментальным и не может быть выражено через другие, поэтому его следует рассматривать как неопределяемое.

Понятие алгоритма

  • Алгоритмом называют точное предписание, которое задается вычислительному процессу и представляет собой конечную последовательность обычных элементарных действий, четко определяющую процесс преобразования исходных данных в искомый результат.
  • Приведенная фраза представляет собой не определение, а объяснение сути, поскольку понятие алгоритма является фундаментальным и не может быть выражено через другие, поэтому его следует рассматривать как неопределяемое.

Исполнители алгоритма

  • Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя хаpактеpизуют :  сpеда;  элементаpные действия;  cистема команд;  отказы.
  • 1. Сpеда (или обстановка) — это "место обитания" исполнителя. Напpимеp, для исполнителя человека – это общество или природа, для робота – помещение, в котором он функционирует.
  • 2. Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды. Напpимеp, команда Pобота "идти" может быть выполнена, если перед Pоботом нет стены или иных препятствий. Человек-водитель может вести общественный транспорт только в соответствии с дорожными знаками и отсутствии препятствий на дорогах.
  • 3. После вызова команды исполнитель совеpшает соответствующее элементаpное действие.
  • 4. Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды. Например, робот не может идти, так как перед ним стена. Водитель не может ехать, так как на дороге пробка из-за аварии.
  • В информатике универсальным исполнителем алгоритмов является компьютер.
Свойства алгоритмов 1 . Дискретность  — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно. 2. Детерминированность (определённость). Каждый шаг алгоритма должен быть однозначно и недвусмысленно определен и не должен допускать произвольной трактовки. После каждого шага либо указывается, какой шаг делать дальше, либо дается команда остановки, после чего работа алгоритма считается законченной.

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

1 . Дискретность  — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно.

  • 2. Детерминированность (определённость). Каждый шаг алгоритма должен быть однозначно и недвусмысленно определен и не должен допускать произвольной трактовки. После каждого шага либо указывается, какой шаг делать дальше, либо дается команда остановки, после чего работа алгоритма считается законченной.

Свойства алгоритмов 3. Элементарность(понятность)  — алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд. 4. Завершаемость (конечность)  — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов.  5. Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных. 6. Результативность. Алгоритм имеет некоторое число  входных величин — аргументов. Цель выполнения  алгоритма состоит в получении конкретного  результата, имеющего вполне определенное отношение  к исходным данным. Алгоритм должен останавливаться  после конечного числа шагов, зависящего от данных, с  указанием того, что считать результатом. Если  решение не может быть найдено, то должно быть  указано, что в этом случае считать результатом.

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

3. Элементарность(понятность)  — алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд.

4. Завершаемость (конечность)  — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. 

5. Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных.

6. Результативность. Алгоритм имеет некоторое число входных величин — аргументов. Цель выполнения алгоритма состоит в получении конкретного результата, имеющего вполне определенное отношение к исходным данным. Алгоритм должен останавливаться после конечного числа шагов, зависящего от данных, с указанием того, что считать результатом. Если решение не может быть найдено, то должно быть указано, что в этом случае считать результатом.

Способы записи алгоритмов Вербальный - алгоритм описывается на человеческом языке; Символьный - алгоритм описывается с помощью набора символов; Графический - алгоритм описывается с помощью набора графических изображений. Общепринятыми способами записи алгоритма являются графическая запись с помощью схем алгоритмов (блок‑схем) и символьная запись с помощью какого‑либо алгоритмического языка.

Способы записи алгоритмов

  • Вербальный - алгоритм описывается на человеческом языке;
  • Символьный - алгоритм описывается с помощью набора символов;
  • Графический - алгоритм описывается с помощью набора графических изображений.

Общепринятыми способами записи алгоритма являются графическая запись с помощью схем алгоритмов (блок‑схем) и символьная запись с помощью какого‑либо алгоритмического языка.

Способы записи алгоритмов Для описания алгоритма с помощью схем изображают связанную последовательность геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. В схемах алгоритмов используют следующие типы графических обозначений. Элемент блок-схемы Наименование Блок вычислений (вычислительный блок) Содержание Логический блок (блок условия) Вычислительные действия или последовательность действий Выбор направления выполнения алгоритма в зависимости от некоторого условия Блок ввода-вывода данных Начало (конец) Общее обозначения ввода (вывода) данных (вне зависимости от физического носителя) Начало или конец алгоритма, вход или выход в подпрограмме

Способы записи алгоритмов

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

Порядок выполнения действий указывается стрелками.

В схемах алгоритмов используют следующие типы графических обозначений.

Элемент блок-схемы

Наименование

Блок вычислений (вычислительный блок)

Содержание

Логический блок (блок условия)

Вычислительные действия или последовательность действий

Выбор направления выполнения алгоритма в зависимости от некоторого условия

Блок ввода-вывода данных

Начало (конец)

Общее обозначения ввода (вывода) данных (вне зависимости от физического носителя)

Начало или конец алгоритма, вход или выход в подпрограмме

Способы записи алгоритмов Элемент блок-схемы Наименование Содержание Процесс пользователя (подпрограмма) Вычисление по стандартной программе или подпрограмме Блок модификации Функция выполняет действия, изменяющие пункты (например, заголовок цикла) алгоритма Соединитель Указание связи прерванными линиями между потоками информации

Способы записи алгоритмов

Элемент блок-схемы

Наименование

Содержание

Процесс пользователя (подпрограмма)

Вычисление по стандартной программе или подпрограмме

Блок модификации

Функция выполняет действия, изменяющие пункты (например, заголовок цикла) алгоритма

Соединитель

Указание связи прерванными линиями между потоками информации

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

Запись алгоритма в виде псевдокода

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

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

Программная форма представления алгоритма Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование,   ветвление,   цикл. Программирование – это процесс составления компьютерной программы на основе некоторого алгоритма. Структурное программирование основывается на двух важнейших принципах: Структурное программирование основывается на двух важнейших принципах: Последовательной детализации алгоритма, Использование набора базовых структур (следование, ветвление, цикл) для построения алгоритма любой сложности.

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

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

  • Программирование – это процесс составления компьютерной программы на основе некоторого алгоритма.

Структурное программирование основывается на двух важнейших принципах:

  • Структурное программирование основывается на двух важнейших принципах: Последовательной детализации алгоритма,
  • Использование набора базовых структур (следование, ветвление, цикл) для построения алгоритма любой сложности.
Базовая структура «следование» Следование – это расположение действий друг за другом     Псевдокод Язык блок-схем действие 1  действие 2  . . . . . . . . .  действие n

Базовая структура «следование»

Следование – это расположение действий друг за другом

Псевдокод Язык блок-схем

действие 1 действие 2 . . . . . . . . . действие n

Базовая структура «ветвление»  Разветвляющийся алгоритм (если … то… иначе…) Это алгоритм, в котором есть структура ветвление. Ветвление – это выбор действия в зависимости от выполнения какого-нибудь условия. Структура  ветвление  существует в четырех основных вариантах: если—то; если—то—иначе; выбор; выбор—иначе.

Базовая структура «ветвление»

Разветвляющийся алгоритм (если … то… иначе…)

Это алгоритм, в котором есть структура ветвление.

Ветвление – это выбор действия в зависимости от выполнения какого-нибудь условия.

  • Структура  ветвление  существует в четырех основных вариантах:
  • если—то;
  • если—то—иначе;
  • выбор;
  • выбор—иначе.
0 то y:=sin(x) все " width="640"

Если-то

Псевдокод Язык блок-схем

если условие

то действия

Все

Пример:

если х0

то y:=sin(x)

все

b то a:=2*a; b:=1 иначе b:=2*b все " width="640"

Если—то—иначе

Псевдокод Язык блок-схем

если условие

то действия 1

иначе действия 2

все

Пример:

если ab

то a:=2*a; b:=1

иначе b:=2*b

все

Выбор Псевдокод Язык блок-схем Выбор  при условие 1: действия 1  при условие 2: действия 2   .. .    при условие N: действия N все  Пример: выбор     при n = 1: y := sin(x)    при n = 2: y := cos(x)    при n = 3: y := 0 все

Выбор

Псевдокод Язык блок-схем

Выбор

при условие 1: действия 1

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

при условие N: действия N

все

Пример:

выбор  

при n = 1: y := sin(x)  

при n = 2: y := cos(x)  

при n = 3: y := 0

все

5: i := i+1   при a = 0: j := j+1   иначе i := 10; j:=0 все " width="640"

Выбор—иначе

Псевдокод Язык блок-схем

выбор  

при условие 1: действия 1  

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

при условие N: действия N  

иначе действия N+1

все

Пример:

выбор  

при a 5: i := i+1  

при a = 0: j := j+1  

иначе i := 10; j:=0

все

Базовая структура «цикл»  Циклический алгоритм это алгоритм, в котором есть структура цикл. Цикл – это неоднократное повторение каких-либо действий. Структура  цикл  существует в основных вариантах: Цикл типа «пока» - предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока Цикл типа «для» -предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.

Базовая структура «цикл»

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

это алгоритм, в котором есть структура цикл.

Цикл – это неоднократное повторение каких-либо действий.

  • Структура  цикл  существует в основных вариантах:
  • Цикл типа «пока» - предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока
  • Цикл типа «для» -предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
Цикл типа «пока» Псевдокод Язык блок-схем нц пока условие    тело цикла     (последовательность действий) кц  Пример: нц пока i  S := S+A[i]    i := i+1  кц

Цикл типа «пока»

Псевдокод Язык блок-схем

нц пока условие  

тело цикла  

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

кц

Пример:

нц пока i

S := S+A[i]  

i := i+1

кц

Цикл типа «для» Псевдокод Язык блок-схем нц для i от i1 до i2  тело цикла  (последовательность действий) кц  Пример: нц для i от 1 до 5    X[i] := i*i*i     Y[i] := X[i]/2 кц

Цикл типа «для»

Псевдокод Язык блок-схем

нц для i от i1 до i2

тело цикла

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

кц

Пример:

нц для i от 1 до 5

  X[i] := i*i*i  

Y[i] := X[i]/2

кц

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

Комбинированный алгоритм

Комбинированный алгоритм

Алгоритм, в котором содержится несколько структур одновременно.

Язык программирования Языки программирования - это искусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка. Процесс поиска ошибок в программе называют тестированием, процесс устранения ошибок – отладкой программы.

Язык программирования

  • Языки программирования - это искусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка. Процесс поиска ошибок в программе называют тестированием, процесс устранения ошибок – отладкой программы.
Классификация языков программирования(примеры)

Классификация языков программирования(примеры)

Отличие программного способа записи алгоритмов от остальных способов    При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм. Однако на практике в качестве исполнителей алгоритмов используются— компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем. Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

Отличие программного способа записи алгоритмов от остальных способов

  • При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм. Однако на практике в качестве исполнителей алгоритмов используются— компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем. Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

Заключение

  • Создание алгоритма для решения задач какого-либо типа, его представление исполнителю в удобной для него форме – это творческий акт. Алгоритм может быть представлен различными способами: на разговорном естественном язык; на языке блок-схем; на языке программирования. Выбор и разработка алгоритма и численного метода решения задачи имеют важнейшее значение для успешной работы над программой. Тщательно проработанный алгоритм решения задачи – необходимое условие эффективной работы по составлению алгоритму.

Трофимов, В. В.

Основы алгоритмизации и программирования : учебник для СПО / В. В. Трофимов, Т. А. Павловская ; под ред. В. В. Трофимова. — М. : Издательство Юрайт, 2018 — 137 с. — (Серия : Профессиональное образование).

https://docviewer.yandex.ru/view/0/?page=15&*=ukoIDnnrSwZ4erzexA4V62h10g17InVybCI6Imh0dHA6Ly9wbnUuZWR1LnJ1L21lZGlhL2ZpbGVyX3B1YmxpYy8yMDEzLzAyLzI1L2Jvb2tfYmFzaWNzLnBkZiIsInRpdGxlIjoiYm9va19iYXNpY3MucGRmIiwibm9pZnJhbWUiOnRydWUsInVpZCI6IjAiLCJ0cyI6MTU5MDcyMjg4OTUwNywieXUiOiI1ODQxMDk5NzMxNTkwNzE0NzIyIiwic2VycFBhcmFtcyI6Imxhbmc9cnUmdG09MTU5MDcyMjg4MCZ0bGQ9cnUmbmFtZT1ib29rX2Jhc2ljcy5wZGYmdGV4dD0lRDAlQjAlRDAlQkIlRDAlQjMlRDAlQkUlRDElODAlRDAlQjglRDElODIlRDAlQkMlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDElOEYrJUQwJUIyKyVEMSU4MSVEMCVCRiVEMCVCRSZ1cmw9aHR0cCUzQS8vcG51LmVkdS5ydS9tZWRpYS9maWxlcl9wdWJsaWMvMjAxMy8wMi8yNS9ib29rX2Jhc2ljcy5wZGYmbHI9NjMmbWltZT1wZGYmbDEwbj1ydSZzaWduPTdiY2Q3MjU2MWRjNDk1M2NiNjllODJmMWJiZDBkZGNhJmtleW5vPTAifQ%3D%3D&lang=ru

-80%
Курсы дополнительного образования

Создание динамических веб-страниц с помощью PHP и MySQL

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Алгоритмизация и программирование (853.51 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт