Тема лекции: «Введение в алгоритмизацию»
Термин «Алгоритм» Алгоритм – это однозначное и детальное описание последовательности действий по преобразованию исходных данных в результат. Свойства алгоритма: 1)дискретность – разбивка описанной последовательности действий на отдельные шаги, операторы вплоть до уровня операторов входного языка программирования или машинных команд; 2)результативность (выполнимость) – обеспечение получения результата за фиксированное число шагов обработки информации; 3)детерминированность (однозначность) – получение одного и того же результата при многократном использовании алгоритма с одними и теми же исходными данными; 4)массовость – возможность использования алгоритма для решения сразу нескольких задач некоторого фиксированного класса.
Формы представления алгоритмов Словесное описание. Математические формулы. Графическая схема алгоритмов (ГСА). Таблица решений. Программа в виде исходного модуля (на алгоритмическом языке) или загрузочного модуля (на языке машинных команд).
Основные символы языка ГСА Процес с Данные ( Обобщенный ввод-вывод ) Решени е Линия Терминатор (Пуск/Останов) Подготовка ( Модификация )
Базовые алгоритмические структуры «Следование» - линейная структура
Базовые алгоритмические структуры «Развилка» - ветвление Условие Да Нет «ЕСЛИ-ТО-ИНАЧЕ»
Базовые алгоритмические структуры «Цикл» - повторение Да Нет Продожить? Цикл типа «ПОКА» с предусловием (WHILE)
Тема лекции: «Системы программирования»
Понятие «Транслятор» транслятор интерпретатор компилятор Основу любой системы программирования на алгоритмическом языке составляет транслятор, предназначенный для перевода текста программы со входного языка системы на язык системы команд компьютера (в машинный код). Трансляторы могут быть двух типов: - интерпретатор, переводящий в машинный код поочередно лишь один оператор входного языка с выполнением полученного машинного кода без запоминанием этого кода (программа хранится в компактном текстовом формате); - компилятор, переводящий в машинный код сразу весь текст программы на алгоритмическом языке с выявлением синтаксических и семантических ошибок (программа хранится в существенно более ёмком машинном коде).
Этапы обработки программ Вводредактирование исходного модуля Компиляция объектного модуля Компоновка загрузочного модуля 1. Ввод и редактирование текста программы на алгоритмическом языке – исходного модуля. 2. Компиляция программы с получением машинного кода головного модуля программы (ещё без подсоединения необходимых подпрограмм) – объектного модуля. 3. Компоновка (сборка, или редактирование связей) с подсоединением подпрограмм из библиотек объектных модулей и получением в результате загрузочного модуля.
Современные технологии программирования Нисходящеепроектированиесверху-вниз Модульноепрограммирование Структурноепрограммирование Объектно-ориентированное программирование Визуальноепрограммирование Событийноепрограммирование Нисходящее проектирование (сверху-вниз) с поэтапной детализацией сложной процедуры обработки информации. Модульное программирование, предполагающее выделение из сложной программы относительно независимых фрагментов (например, из 50 операторов входного языка), возможно, с оформлением модуля в виде процедуры (подпрограммы). Структурное программирование, основанное на использовании лишь трёх типов базовых алгоритмов: следование, ветвление и цикл. Объектно-ориентированное программирование (в отличие от «классического» процедурно-ориентированного), базирующее на принципах: инкапсуляции, полиморфизма, наследования и абстракции. Визуальное программирование, существенно упрощающее создание экранных форм для интерфейса пользователя программы. Событийное программирование, позволяющее обрабатывать события различного происхождения (внутренние и внешние события).