
- •Языки и системы программирования Алгоритмы
- •Языки программирования
- •Область применения языков программирования
- •Сложность и эффективность языков программирования
- •Трансляторы
- •Характеристика с/п Pascal abc
- •Используемые в с/п Pascal abc «горячие клавиши»
- •Структура программы на Паскале
- •Сообщения об ошибках. Отладка программы.
- •Система подсказок.
- •Команды вывода данных на экран
- •Константы
- •Переменные
- •Арифметические выражения. Приоритет арифметических операций
- •Стандартные арифметические функции
- •Процедуры инкремента и декремента
- •Примеры решения линейных задач
- •Ввод данных с клавиатуры
- •Примеры решения диалоговых задач
- •Линейные задачи для самостоятельной работы
- •Лаб. 1. Линеаризовать выражение:
- •Лаб. 2. Линейные диалоговые задачи (на одно действие)
- •Лаб. 3. Диалоговые задачи на несколько действий
- •Ветвление
- •Логические выражения
- •Вложенное ветвление
- •Лаб. 4. Задачи на ветвление:
- •Лаб. 5. Задачи на ветвление с вычислениями:
- •Выбор варианта
- •Лаб. 6. Задачи на выбор варианта:
- •Как выбрать цикл?
- •Экстренные события в теле цикла
- •Лаб. 7. Числовые задачи с циклом For
- •Лаб. 8. Сюжетные задачи с циклом For
- •Лаб. 9. Задачи с условными циклами
- •Библиотека crt
- •Библиотека sounds
- •Лаб. 10. Задачи с использованием циклов и библиотек crt и sounds
- •Порядковые типы данных
- •Перечислимый тип данных
- •Символьный тип данных
- •Ограниченный (интервальный) тип данных
- •Лаб. 11. Задачи со строками
- •Массивы
- •Решение задач с массивами
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива.
- •Двумерные и многомерные массивы
- •Лаб. 12. Задачи с одномерными массивами
- •Лаб. 13. Задачи с двумерными массивами
- •Множества
- •Файлы данных
- •Записи и базы данных
- •Библиотека GraphAbc
- •Действия с графическим окном:
- •Точечная графика
- •Графические примитивы
- •Текст в графическом окне
- •Использование готовых точечных рисунков
- •Вспомогательные алгоритмы
- •Рекурсия
- •Событийное программирование
- •Использование таймеров
- •Использование сторонней библиотеки ukeyb
Негосударственное образовательное учреждение
Абаканский техникум прикладной информатики
Сакерин В. А.
Методическое пособие для студентов специальности
«Программное обеспечение персонального компьютера»
Основы алгоритмизации и программирования
(на базе Pascal ABC)
Абакан, 2006 г.
Оглавление:
Языки и системы программирования 4
Алгоритмы 4
Языки программирования 4
Трансляторы 4
Характеристика с/п Pascal ABC 5
Используемые в с/п Pascal ABC «горячие клавиши» 6
Структура программы на Паскале 7
Сообщения об ошибках. Отладка программы. 7
Система подсказок. 7
Команды вывода данных на экран 8
Константы 8
Переменные 8
Арифметические выражения. Приоритет арифметических операций 9
Стандартные арифметические функции 10
Процедуры инкремента и декремента 10
Примеры решения линейных задач 10
Ввод данных с клавиатуры 11
Примеры решения диалоговых задач 12
Линейные задачи для самостоятельной работы 12
Лаб. 1. Линеаризовать выражение: 13
Лаб. 2. Линейные диалоговые задачи (на одно действие) 13
Лаб. 3. Диалоговые задачи на несколько действий 14
Ветвление 15
Логические выражения 15
Вложенное ветвление 17
Лаб. 4. Задачи на ветвление: 18
Лаб. 5. Задачи на ветвление с вычислениями: 19
Выбор варианта 20
Лаб. 6. Задачи на выбор варианта: 22
Циклы 23
Как выбрать цикл? 24
Экстренные события в теле цикла 25
Лаб. 7. Числовые задачи с циклом For 26
Лаб. 8. Сюжетные задачи с циклом For 26
Лаб. 9. Задачи с условными циклами 28
Библиотека CRT 30
Библиотека SOUNDS 32
Лаб. 10. Задачи с использованием циклов и библиотек CRT и SOUNDS 33
Порядковые типы данных 34
Перечислимый тип данных 34
Символьный тип данных 35
Ограниченный (интервальный) тип данных 36
Строки 36
Лаб. 11. Задачи со строками 38
Массивы 39
Решение задач с массивами 40
Поиск минимального (максимального) элемента массива 41
Сортировка массива. 41
Двумерные и многомерные массивы 42
Лаб. 12. Задачи с одномерными массивами 43
Лаб. 13. Задачи с двумерными массивами 45
Множества 46
Файлы данных 47
Записи и базы данных 49
Библиотека GraphABC 51
Действия с графическим окном: 51
Точечная графика 51
Графические примитивы 52
Вспомогательные алгоритмы 60
Рекурсия 61
Событийное программирование 62
Использование таймеров 63
Использование сторонней библиотеки UKEYB 64
Языки и системы программирования Алгоритмы
Алгоритмом называется последовательность инструкций, выполнение которой приводит к решению поставленной задачи.
Основные свойства алгоритма:
Результативность: В результате работы алгоритма будет получен и выведен результат.
Дискретность: Ход решения разбит на элементарные шаги - команды или инструкции, понятные исполнителю.
Конечность: решение задачи будет получено за конечное число шагов.
Массовость: Алгоритм решает не одну единственную задачу, а некоторый класс задач с различными исходными данными и настройками.
Интерактивность: Исходные данные для работы алгоритма задаются человеком в ходе его выполнения или вводятся из датчиков или других внешних устройств.
Однозначность: Для одних и тех же исходных данных всегда будет получен один и тот же результат.
Корректность: Алгоритм должен для любых допустимых исходных данных давать правильный результат. При вводе недопустимых исходных данных требуется сообщить об этом.
Эффективность: При выполнении алгоритма должны использоваться ограниченные ресурсы компьютера (время, объём оперативной памяти и т.д.)
Алгоритм может быть записан на естественном языке или в виде схемы (если его исполнитель – человек) или на одном из языков программирования (если исполнитель – компьютер).
Языки программирования
Алгоритм на естественном языке компьютеру анализировать очень сложно1, т. к. они являются недостаточно строгими. Одно и то же слово может обозначать разные понятия в зависимости от контекста. Поэтому для создания программ (инструкций компьютеру) используются специально разработанные языки программирования (или алгоритмические языки).
Уровни языков программирования
Языки низкого уровня (ЯНУ) – машинный язык, ассемблер, - предназначены для обращения к процессору и др. устройствам. Для человека неудобны. Переносимости на другие аппаратные платформы нет. По быстродействию и экономности использования ресурсов ЯНУ являются наиболее эффективными.
Языки высокого уровня (ЯВУ) – ближе к человеку. Используют термины решаемых задач и не требуют знания устройства компьютера. Одна команда ЯВУ выполняет множество команд ЯНУ. Есть переносимость на другие аппаратные и программные платформы. К ЯВУ относятся: Pascal, Delphi, Basic, Fortran, Prolog, Lisp, Java…
Языки среднего уровня (ЯСУ) – сочетают возможности ЯВУ и ЯНУ. Более эффективные, чем ЯВУ, для программиста проще, чем ЯНУ, но сложнее, чем ЯВУ. К ЯСУ относятся: C, C++
Область применения языков программирования
Специализированные языки высокоэффективно решают узкий класс задач. Например, язык Dolog – для программирования промышленных роботов. Универсальные языки решают любые задачи, но менее эффективно. К ним относится Паскаль.
Сложность и эффективность языков программирования
Профессиональные – наиболее мощные, но сложные в освоении. Учебные – простые в освоении, приспособленные для обучения, но недостаточно эффективные. Учебно-профес-сиональные – простые, но имеющие высокую эффективность. Кроме и использования в учебных целях их можно использовать для решения практических задач. К ним относится Паскаль.