2.17M
Category: programmingprogramming

Алгоритм. Языки программирования. Основные алгоритмические конструкции

1.

Алгоритм. Языки
программирования.
Основные алгоритмические
конструкции

2.

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

3.

Дискретность
Детерминированность
Свойства
алгоритма
Понятность
Результативность
Конечность
Массовость

4.

Дискретность
◦ Выполнение алгоритма разбивается
на отдельные действия (шаги).
◦ Выполнение очередного действия
возможно только после завершения
предыдущего.
◦ При этом набор промежуточных
данных конечен и получается по
определенным правилам из данных
предыдущего действия.

5.

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

6.

Понятность
◦ Алгоритм не должен содержать
команд, смысл которых исполнитель
может воспринимать неоднозначно.
◦ Запись алгоритма должна быть
четкой, полной и понятной.
◦ У исполнителя не должна возникать
необходимость в принятии какихлибо самостоятельный решений.

7.

Результативность
◦ При точном выполнении команд
алгоритма в результате должен быть
получен ответ на вопрос задачи.
◦ Если способ получения последующих
величин из каких-либо исходных не
приводит к результату, то должно быть
указано, что следует считать результатом
исполнения алгоритма.
◦ В качестве одного из возможных ответов
может быть установление того факта, что
задача не имеет решения.

8.

Конечность
◦ Реализуемый по заданному
алгоритму процесс должен
остановиться через конечное число
шагов и выдать искомый результат.
◦ Это свойство тесно связано со
свойством результативности.

9.

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

10.

Формы записи
алгоритма
◦ текстовое описание
◦ блок-схема
◦ запись в виде программы на
языке программирования
◦ др.

11.

Команда 1
I=1..N
Команда 2
Команда(ы)
Базовые
алгоритмические
конструкции
◦ Следование
◦ Цикл
◦ Ветвление
Да
Команда(ы) 1
Условие
Нет
Команда(ы) 2
Да
Команда(ы)
Условие
Нет

12.

Алгоритм и язык
программирования
◦ Любой алгоритм рассчитан на конкретного
исполнителя.
◦ Алгоритм для компьютера должен быть
записан с помощью элементарных команд,
которые компьютер может выполнять.
◦ Элементарными следует считать действия
процессора, которые называют машинными
командами, а их обозначения – машинными
кодами
◦ В языках программирования высокого уровня
используются команды, которые объединяют
последовательности машинных команд

13.

Транслятор
◦ Для преобразования текста
программы, написанной на языке
высокого уровня, в элементарные
машинные команды используются
специальные программы –
трансляторы
◦ Различают следующие виды
трансляции: компиляция и
интерпретация

14.

Настройки
Компилятора

15.

Парадигмы
программирования
◦ Структурное программирование
◦ Процедурное программирование
◦ Объектно-ориентированное
программирование
◦ Функциональное программирование
◦ Логическое программирование
◦ Др.

16.

Hexagony
Hexagony

первый
язык,
где
инструкции
расположены
внутри
шестиугольной
сетки.
Название
происходит
от
слов
«hexagon»
(шестиугольник) и «agony» (агония),
потому что программирование будет
сложным.
Особенные языки
программирования
◦ Мультипарадигменные
◦ Учебные
◦ Эзотерические
Hello, world!
◦ Псевдокод

17.

Язык
программирования
◦ Языки программирования высокого уровня
являются формальными языками – это
искусственные языки со строгим синтаксисом и
однозначным толкованием конструкций
◦ У каждого языка программирования можно
выделить две составляющие: синтаксис и
семантику

18.

Структурные элементы языка
программирования
Язык
программирования
◦ Алфавит
◦ Данные
◦ Операции и выражения
Алфавит
языка
Организация
действий
Данные
Ввод данных
Обработка
данных
Вывод
данных
◦ Операторы
◦ Подпрограммы
Операции и
выражения
Операторы
Подпрограммы

19.

Типы данных
Знаковые
Целочисленные
Беззнаковые
Порядковые
Логические
Вещественные
Символьные
Типы данных
Простые
Строки
Структурированные
Массивы

20.

оператор присваивания
оператор условного
перехода (ветвления)
оператор цикла
Операторы
пустой оператор
составной оператор
оператор выбора

21.

PascalABC
for var i := 1 to n do
s := s + i * i;
Python
for i in range(n + 1):
s += i * i
C++
for (int i = 1; i <= n; i++)
s += i * i;
Операторы
(оператор
цикла)

22.

Язык
программирования
◦ Язык программирования – это инструмент
для решения конкретной задачи.
◦ Не существует единственного самого лучшего
языка программирования.
◦ Для решения задач разного рода и уровня
сложности требуется применять разные языки
и технологии программирования.
◦ В простейших случаях достаточно освоить
основы структурного написания программ,
например, на языке PascalABC.
◦ Для создания же сложных проектов требуется
не только свободно владеть каким-то языком
в полном объеме, но и иметь представление о
других языках и их возможностях.
English     Русский Rules