Программирование на языке C++
Что такое алгоритм?
Свойства алгоритма
Как работает алгоритм?
Способы записи алгоритмов
Способы записи алгоритмов
Программирование на языке C++
Простейшая программа
Вывод на экран
Подключение библиотечных функций
Если не подключить пространство имён…
Вывод в поток
449.50K
Категория: ПрограммированиеПрограммирование

Программирование на языке C++. Алгоритм и его свойства

1. Программирование на языке C++

1
Программирование
на языке C++
Алгоритм и его
свойства
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

2. Что такое алгоритм?

Алгоритмизация и программирование, язык C++, 10 класс
2
Что такое алгоритм?
Алгоритм — это точное описание
порядка действий, которые должен
выполнить исполнитель для решения
задачи за конечное время.
Исполнитель – это устройство или
одушёвленное существо (человек),
способное понять и выполнить
команды, составляющие алгоритм.
Мухаммед ал-Хорезми
(ок. 783–ок. 850 гг.)
Формальные исполнители: не понимают
(и не могут понять) смысл команд.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык C++, 10 класс
3
Свойства алгоритма
Дискретность — алгоритм состоит из отдельных команд,
каждая из которых выполняется за конечное время.
Детерминированность (определённость) — при каждом
запуске алгоритма с одними и теми же исходными
данными получается один и тот же результат.
Понятность — алгоритм содержит только команды,
входящие в систему команд исполнителя.
Конечность (результативность) — для корректного
набора данных алгоритм должен завершаться через
конечное время.
Корректность — для допустимых исходных данных
алгоритм должен приводить к правильному результату.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

4. Как работает алгоритм?

Алгоритмизация и программирование, язык C++, 10 класс
4
Как работает алгоритм?
дискретный
объект
1234
алгоритм
2345
шаг 1
5432
шаг 2
шаг 3
дискретный
объект
25 16 9 4
• получает на вход дискретный объект
• в результате строит другой дискретный объект (или
выдаёт сообщение об ошибке)
• обрабатывает объект по шагам
• на каждом шаге получается новый дискретный объект
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык C++, 10 класс
5
Способы записи алгоритмов
• естественный язык
установить соединение
пока не принята команда «стоп»
принять команду
выполнить команду
завершить сеанс связи
• псевдокод
установить соединение
начало цикла
принять команду
выполнить команду
конец цикла при команда = 'stop'
завершить сеанс связи
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык C++, 10 класс
6
Способы записи алгоритмов
• блок-схема
установить
соединение
принять
команду
выполнить
команду
нет
• программа
установитьСоединение
начало цикла
cmd= получитьКоманду
выполнитьКоманду(cmd)
конец при cmd = 'stop'
закрытьСоединение
«стоп»?
да
завершить
соединение
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

7. Программирование на языке C++

7
Программирование
на языке C++
Простейшие программы
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

8. Простейшая программа

Алгоритмизация и программирование, язык C++, 10 класс
8
Простейшая программа
это основная программа
комментарии после //
main()
не обрабатываются
{
// это основная программа
/* здесь записывают
операторы */
}
это тоже комментарий
? Что делает эта программа?
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

9. Вывод на экран

Алгоритмизация и программирование, язык C++, 10 класс
9
Вывод на экран
main()
console output – выходной
поток [символов] на консоль
{
cout << "2+";
"\n" – новая строка
cout << "2=?\n";
cout << "Ответ: 4";
}
Протокол:
2+2=?
Ответ: 4
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

10. Подключение библиотечных функций

Алгоритмизация и программирование, язык C++, 10 класс
10
Подключение библиотечных функций
#include <iostream>
стандартные потоки
ввода и вывода
using namespace std;
main()
стандартное
{
пространство имен
cout << "2+";
cout << "2=?\n";
cout << "Ответ: 4";
cin.get();
ждать нажатия любой
}
клавиши
console input – выходной
поток [символов] c консоли
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

11. Если не подключить пространство имён…

Алгоритмизация и программирование, язык C++, 10 класс
11
Если не подключить пространство имён…
#include <iostream>
main()
пространство имен std
{
std::cout << "2+";
std::cout << "2=?\n";
std::cout << "Ответ: 4";
std::cin.get();
}
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

12. Вывод в поток

Алгоритмизация и программирование, язык C++, 10 класс
12
Вывод в поток
cout << "2+" << "2=?" << "\n"
<< "Ответ: 4";
cout << "2+" << "2=?" << endl
<< "Ответ: 4";
end of line – конец
строки
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
English     Русский Правила