В ДИСЦИПЛИНУ
"ОСНОВЫ
ПРОГРАММИРОВАНИЯ"
Никакая деятельность не может быть прочна,
если она не имеет основы в личном интересе.
Л.Н. Толстой
Основы программирования
Содержание
2
Основы программирования
Цель и задачи дисциплины
3
Основы программирования
Компетенции
4
Основы программирования
Распределение часов дисциплины
5
32
час.
40
час.
32
час. 40
час.
1 экзамен
Основы программирования
Литература и web-ресурсы
6
Основы программирования
Содержание дисциплины
7
Основы программирования
Базовые понятия программирования
8
Информация
Что такое информация и ИТ?
Как измеряется информация?
Компьютер
Из чего состоит и на основе каких принципов построен
компьютер?
Программирование
Это наука или ремесло?
Кто занимается программированием?
Какие бывают разновидности программирование?
В чем основная проблема программирования?
Основы программирования
Язык программирования
высокого уровня
9
Основы программирования
Алгоритмы
10
Входные данные
:
Компьютер Выходные данные
Основы программирования
Принципы Фон Неймана
14
1. Программное управление
Программа состоит из набора команд,
которые автоматически выполняются
процессором (без вмешательства
человека).
Джон фон
2. Однородность памяти
Нейман Программы и данные хранятся в одной и
(1903-1954), той же памяти.
в 1946 г.
3. Адресность памяти
Память состоит из пронумерованных
ячеек. Процессору в произвольный момент
времени доступна любая ячейка.
Основы программирования
Принципы построения компьютера
15
Арифметико-
логическое устройство Информационные
Регистры операндов
Данные
Сумматор
Устройство Устройство
ввода вывода
данных данных
Основы программирования
Процессор и память
16
Функции процессора:
обработкаданных по заданной программе путем
выполнения арифметических и логических операций;
программное управление работой устройств компьютера
Функции памяти:
прием данных из других устройств;
хранение данных;
Основы программирования
Регистры
17
Основы программирования
Алгоритм работы компьютера
18
0. НАЧАЛО
1. УУ: Выбрать команду по адресу
памяти из УУ.СчетчикКоманд
Память Процессор
2. УУ: Увеличить УУ.СчетчикКоманд
Устройство управления на длину команды
Программа Счетчик команд 3. УУ: Записать команду в
УУ.РегистрКоманд
Регистр команд
4. УУ: Если команда="СТОП" то
Арифметико- перейти к шагу 10.
логическое устройство
Данные 5. УУ: Выбрать операнды по адресам
Регистры операндов
памяти из УУ.РегистрКоманд
Сумматор 6. УУ: Записать операнды в
АЛУ.РегистрыОперандов
7. АЛУ: Выполнить операцию над
Устройство Устройство
операндами
ввода вывода 8. АЛУ: Сохранить результат (в
данных данных
памяти/регистре/…)
9. Перейти к шагу 1.
10. КОНЕЦ
Основы программирования
Программа
19
Основы программирования
Программирование
20
Основы программирования
Software, Hardware, Brainware
21
Основы программирования
Программирование: синонимы
22
Тестировщики
Библиотекари
…
Основы программирования
Промышленное программирование
26
Основы программирования
Техника разработки программ
27
1 2 3
4 5 6
Основы программирования
Программирование:
основная проблема
28
СЛОЖНОСТЬ
Основы программирования
Сложность предметной области
29
Основы программирования
Техника разработки программ
30
Разработка Компиляция,
алгоритмов Кодирование компоновка
Реализация
Основы программирования
Алгоритмы сортировки
36
Основы программирования
Поиск (хеш-таблицы)
38
h(k2)=h(k5) ?
…
U
Все возможные NULL
ключи h(k3) k3 Егорова Е.Е. Ж ?
… …
m-1
Основы программирования
Рекурсия
39
Основы программирования
Ханойские башни
40
Передвинуть (
диски,
пирамида-источник
пирамида-задание,
пирамида-промежуточная)
ЕСЛИ диски > 0 ТО
Передвинуть (диски-1, источник, промежуточная, задание);
Передвинуть (диски-1, промежуточная, задание, источник );
КОН
Основы программирования
Структуры данных
41
Основы программирования
ООП: принципы
42
Основы программирования
ООП: концепции
43
Инкапсуляция
Наследование
Полиморфизм
Основы программирования
Параллельные вычисления
44
Последовательная обработка
Основы программирования
Параллельные вычисления
45
Псевдопараллельная обработка
Основы программирования
Параллельные вычисления
46
Параллельная обработка
Основы программирования
Параллельная обработка
47
Покраска забора
Подготовка – 30 мин.
Покраска (одной доски) – 1 мин.
Уборка – 30 мин.
Суперкомпьютеры и их применение
Параллельная обработка
48
Количество
Время покраски
маляров Ускорение
6,0
1 30 + 300/1 + 30 = 360
5,0
2 30 + 300/2 + 30 = 210
4,0
10 30 + 300/10 + 30 = 90
3,0
100 30 + 300/100 + 30 = 63 2,0
1000 30 + 300/1000 + 30 60 1,0