
- •Основы алгоритмизации
- •Специфика решения задачи с использованием компьютера
- •Роль моделирования при решении сложных задач
- •Устройство компьютера как инструмента решения задач
- •Пример решения задачи с использованием компьютера
- •Вопросы для самоконтроля
- •Понятие алгоритма
- •Свойства алгоритмов и способы их задания
- •Понятие структурной алгоритмизации
- •Базовый набор алгоритмических структур
- •Примеры классических алгоритмов
- •Переменные-счетчики и аккумуляторы
- •Алгоритм перестановки значений двух переменных
- •Простейший алгоритм сортировки
- •Последовательный и двоичный поиск в массиве данных
- •Вопросы для самоконтроля
- •Основы программирования
- •Изучить три темы:
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Эволюция программирования как деятельности
- •Развитие вычислительной техники
- •Парадигмы современного программирования
- •Уровни языков программирования
- •Современные языки программирования высокого уровня
- •Программирование как вид деятельности
- •Вопросы для самоконтроля
- •Инструменты программирования
- •Основные понятия программирования
- •Этапы разработки программы
- •Функции транслятора в процессе создания программы
- •Средства создания программ
- •Современные системы программирования
- •Вопросы для самоконтроля
- •Проектирование и внедрение программ
- •Этапы разработки программного обеспечения
- •Методы маркетинга программного обеспечения
- •Вопросы для самоконтроля
- •Технология алгоритмического программирования
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Понятия алгоритмического программирования
- •Классификация данных
- •Базовые типы данных
- •Структурированные данные
- •Программа как совокупность операторов. Виды операторов
- •Вопросы для самоконтроля
- •Принципы структурного программирования
- •Понятие подпрограммы
- •Процедуры и функции как разновидность подпрограмм
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Программный код экранной формы
- •Вопросы для самоконтроля
- •Объектно-ориентированное программирование
- •Понятие объекта и класса
- •Концепции объектно-ориентированного программирования
- •Вопросы для самоконтроля
- •Заключение
- •3.3. Глоссарий (краткий словарь терминов)
- •3.4 Технические и программные средства обеспечения дисциплины
-
Инструменты программирования
-
Основные понятия программирования
-
Напомним, что алгоритм как вычислительный процесс – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых исходных данных к искомому результату.
Языки программирования предназначены для представления алгоритма в компьютерном виде.
Текст программы – это полное, законченное и детальное описание алгоритма на языке программирования.
Транслятор переводит текст программы в машинный код.
Синтаксис языка программирования – совокупность правил записи операторов.
Семантика языка программирования – смысл конструкций языка.
При нарушении формы записи программы на языке программирования транслятор выдает сообщение о синтаксической ошибке.
Правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим (логическим) ошибкам.
Процесс поиска семантических ошибок в программе – тестирование.
Процесс устранения ошибок – отладка.
-
Этапы разработки программы
-
Локализовать задачу из предметной области, вникнуть в ее суть.
-
Формализовать ее понимание до терминов ДАНО -> ТРЕБУЕТСЯ НАЙТИ ОТВЕТ.
-
Составить алгоритм решения задачи как последовательность действий, имеющих начало и конец (КАК ПОЛУЧИТЬ ОТВЕТ). Начало – это ДАНО, конец – ОТВЕТ.
-
Выбрать машинно-ориентированный язык для описания алгоритма фразами языка.
-
Написать программу с учетом требований языка.
-
Преобразовать языковые конструкции в машинные команды с помощью транслятора.
-
Запустить программу на выполнение (команда RUN).
-
Функции транслятора в процессе создания программы
Для перевода программы с языка программирования в машинные коды предназначен транслятор. По способу перевода и выполнения программы-трансляторы делятся на компиляторы и интерпретаторы (рис.2.4).
Программа-компилятор переводит текст программы, написанной на языке программирования, в машинный код для автономного выполнения. Программа-интерпретатор сразу выполняет команды языка, указанные в тексте программы.
Интерпретатор:
Интерпретатор моделирует виртуальную вычислительную машину с базовыми инструкциями на языке программирования. Программы с большим объемом повторяющихся вычислений могут работать медленно. Для выполнения программы на другом компьютере необходимо установить интерпретатор.
Рис. 2.4 Классификация трансляторов языков высокого уровня
Преимущество интерпретатора - высокая надежность работы:
-
в любой момент можно остановить работу программы,
-
исследовать содержимое памяти,
-
организовать диалог с пользователем,
-
выполнить сложные преобразования данных,
-
постоянно контролировать состояние окружающей программно-аппаратной среды.
Может рассматриваться как средство изучения программирования:
-
проверка множества характеристик операционной системы и подробная диагностика проблем,
-
позволяет понять принципы работы отдельного оператора языка.
Компилятор:
Законченная программа как результат работы компилятора:
-
компактна и эффективна,
-
работает в сотни раз быстрее интерпретируемой программы,
-
может быть перенесена на другие компьютеры с тем же машинным кодом.
Основной недостаток компилятора – трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, возможно заранее неизвестной или динамически меняющейся во время работы программы.