- •Долинер л.И., Данилина и.И., Пашкова р.Р., Емельянов д.А. Языки и системы программирования
- •Содержание
- •Теоретическая работа а. Что такое «программирование»
- •1. Что такое «программа» и как ее исполняет компьютер
- •2. Что такое “Среда программирования Turbo Pascal”
- •Вопросы для контроля
- •Лабораторная работа 1. Знакомство со средой turbo pascal
- •1. Как начать работу со средой Turbo Pascal
- •1.1. Структура каталогов среды Turbo Pascal
- •1.2. Запуск среды программирования Turbo Pascal
- •1.3. Структура экрана после запуска среды
- •1.4. Вход в меню
- •1.5. Среда Turbo Pascal как рабочий стол программиста
- •1.6. Работа со страницами
- •1.7. Компиляция и исполнение программ
- •2. Резюме
- •Вопросы для контроля
- •Лабораторная работа 2. Простейшие программы на языке pascal, или как это делается...
- •1. Структура программы на языке Pascal
- •2. Простейшие операторы
- •2.1. Резервирование памяти для работы
- •2.2. Запись данных в память, или оператор присваивания
- •2.3. Вывод данных на экран дисплея
- •2.4. Форматированный вывод информации
- •Теоретическая работа б. Введеhие в язык пpогpаммиpоваhия pascal
- •1. Алфавит языка
- •1.1. Символы, используемые в идентификаторах
- •1.2. Разделители
- •1.3. Специальные символы
- •1.4. Неиспользуемые символы
- •2. Структура программы
- •3. Типы данных
- •3.1. Целый тип
- •3.2. Вещественный тип
- •3.3. Символьный тип
- •3.4. Логический тип
- •3.5. Строковый тип данных
- •3.5. Пример описания данных
- •4. Команда присваивания
- •4.1. Операции
- •4.2. Стандартные функции
- •4.3. Запись выражений
- •5. Простейшие команды ввода и вывода информации
- •5.1. Вывод информации
- •5.2. Ввод информации
- •Вопросы для контроля
- •Лабораторная работа 3. Как организовать диалог
- •1. Команда ввода данных
- •2. Библиотека Crt
- •2.1. Определение цвета символов
- •2.2. Определение цвета фона
- •2.3. Очистка экрана
- •Вопросы для контроля
- •Лабораторная работа 4. Графика в языке pascal (первое знакомство)
- •1. Включение графического режима
- •2. Библиотека Graph
- •Задачи для самостоятельной работы. Линейные алгоритмы
- •Лабораторная работа 5. Операции с целыми и вещественными числами
- •Теоретическая работа в. Алгоритмические конструкции: условный оператор
- •4.1. Составной оператор
- •4.2. Условные операторы
- •4.2.1. Команда ветвления
- •5. Сложные условия
- •5.1. Что такое True и False
- •5.2. Логический тип данных
- •5.3. Сложные условия
- •6. Оператор выбора case
- •Лабораторная работа 6. Операторы ветвления и выбора
- •1. Что такое ветвление и как оно организуется в языке Pascal?
- •2. Условный оператор if
- •2.1. Теория
- •2.2. Практика
- •Контрольное задание
- •3. Оператор выбора case
- •3.1. Теория
- •3.2. Практика
- •Теоретическая работа г. Введение в систему типов языка pascal
- •1. Стандартные типы данных
- •2. Перечислимый тип
- •3. Ограниченный тип данных
- •4. Множества
- •5. Вопросы для самоконтроля
- •Теоретическая работа д. Циклы с параметром: быстрое начало
- •1. Когда используется цикл с параметром
- •2. Форма записи цикла с параметром
- •3. Вычисление сумм
- •4. Выборки
- •5. Максимумы и минимумы
- •Лабораторная работа 7. Циклы с параметром
- •Лабораторная работа 8. Как нарисовать забор
- •Лабораторная работа 9. Звездное небо и прочие странности
- •1. Получение случайного числа
- •2. Рисование точек в графическом режиме
- •Лабораторная работа 10. Проектирование программ и процедуры
- •1. Зачем нужна технология программирования
- •2. Знакомство с технологией проектирования “сверху вниз”
- •Решение Часть 1. Уточнение постановки задачи (эскиз)
- •Часть 2. Первый вариант решения
- •Часть 3. Уточнение решения
- •Часть 4. Уточнение решения
- •Часть 5. Уточнение решения
- •Часть 6. Уточнение решения
- •Это вам пригодится
- •Теоретическая работа е. Конструкции цикла в языке pascal
- •Оператор цикла с параметром
- •2. Цикл с предусловием while
- •3. Цикл с постусловием repeat
- •4. Вопросы для самоконтроля
- •Лабораторная работа 11. Разные конструкции цикла
- •1. Теория
- •1.1. Цикл со счетчиком (for)
- •1.2. Цикл с предусловием (while)
- •1.3. Цикл с постусловием (repeat)
- •2. Практика
- •Вопросы для контроля
- •Лабораторная работа 12. Как управлять движением на экране дисплея, или след слона
- •Теоретическая работа ж. Построение графиков функций
- •Лабораторная работа 13. Построение графиков функций
- •Лабораторная работа 14. Дополнительные возможности при работе с графикой
- •Теоретическая работа г. Динамические объекты: считывание картинок в память и вывод их на экран
- •Лабораторная работа 15. Как делается движущееся изображение
- •Теоретическая работа д. Использование страниц памяти для организации движения объектов по экрану
- •Как рисовать сложные картинки
- •Лабораторная работа 16. Мультипликация с использованием страниц видеопамяти
- •Лабораторная работа 17. Технология представления картинок в виде числового массива
- •Лабораторная работа 18. Движение объектов по многоцветному фону
- •1. Как вывести на экран картинку формата pcx
- •2. Технология движения объектов по многоцветному фону
- •Лабораторная работа 19. Мыши и модули
- •I. Как работать с мышью
- •1.1. Как работает манипулятор "мышь"
- •1.2. Начинаем программировать управление мышью
- •2. Модули
- •Implementation {начало раздела реализации}
- •Лабораторная работа 20. Работа со строковыми переменными
- •1. Теория
- •1.1. Описание строковых переменных
- •1.2. Сравнение строк
- •1.3. Операции со строками
- •2. Практика
- •Вопросы для контроля
- •Лабораторная работа 21. Работа с символьными переменными -1
- •Лабораторная работа 22. Работа с символьными переменными - 2
- •Лабораторная работа 23. Процедуры - 1
- •1. Теория
- •2. Практика
- •Лабораторная работа 24. Процедуры - 2
- •Лабораторная работа 25. Строковый редактор
- •1. Что такое «строковый редактор»
- •2. Зачем писать строковый редактор
- •3. Несколько вспомогательных задач
- •4. Постановка задачи на разработку
- •5. Необходимая информация для написания процедуры
- •6. Подсказка: алгоритм работы строкового редактора
- •Лабораторная работа 26. Поиск среднего и другие неожиданности
- •Лабораторная работа 27. Как работать с массивами: первые шаги
- •1. Теория
- •2. Практика
- •Вопросы для контроля
- •Лабораторная работа 28. Массивы и деловая графика
- •Теоретическая работа е. Строковые массивы. Алгоритмы поиска
- •Лабораторная работа 29. Строковые массивы. Алгоритмы поиска
- •Лабораторная работа 30. Нечисловые индексы в массиве
- •Теоретическая работа ж. Сортировка массивов
- •Лабораторная работа 31. Сортировка массивов
- •Лабораторная работа 32. Программа обслуживания конькобежных соревнований
- •Теоретическая работа з. Двумерные и многомерные массивы
- •Вопросы для контроля
- •Лабораторная работа 33. Шахматный турнир
- •Лабораторная работа 34. Подпрограммы - функции
- •1. Теория
- •2. Практика
- •Лабораторная работа 35. Работа с текстовыми файлами -1
- •1. Теория
- •1.1. Что такое текстовый файл
- •1.2. Принцип работы с текстовыми файлами
- •2. Практика
- •Лабораторная работа 36. Работа с текстовыми файлами - 2
- •Вопросы для контроля
- •Лабораторная работа 37. Работа с типизированными файлами - 1
- •1. Теория
- •2. Практика
- •Лабораторная работа 38. Работа с типизированными файлами - 2
- •1. Теория : тип данных «запись»
- •2. Практика
- •Лабораторная работа 39. Работа с типизированными файлами как с файлами прямого доступа
- •1. Теория
- •2. Практика
- •Лабораторная работа 40. Дополнительные возможности, или что можно еще натворить...
- •1. Что можно делать с файлами и каталогами
- •2. Процедуры и функции библиотеки dos
- •2.1. Работа с часами и календарем
- •2.2. Работа с каталогами и файлами
- •2.3. Типы и константы модуля dos для работы с файлами
- •3. Практика
- •Приложение 1 Зарезервированные слова Turbo Pascal
- •Приложение 2 Знаки пунктуации в языке Pascal
- •Приложение 3 Операции в языке Pascal
- •3.1. Арифметические операции
- •3.2. Логические операции
- •3.3. Операции отношения
- •Приложение 4 Стандартные функции языка Pascal
- •4.1. Арифметические функции
- •4.2.Функции преобразования типов
- •4.3. Функции для величин порядкового типа
- •Приложение 5 Команды pедактоpа сpеды Turbo Pascal 7.0
- •5.1. Команды перемещения курсора
- •5.2. Команды поиска фрагментов
- •5.3. Команды вставки и удаления информации
- •5.4. Команды работы с блоками информации
- •5.5. Клавиши быстрого управления средой Turbo Pascal 7.0
- •Список рекомендуемой литературы
1.5. Среда Turbo Pascal как рабочий стол программиста
С точки зрения внешнего наблюдателя программирование - это процесс, схожий с писательским трудом. Программисту приходится много писать, опробовать это “писание” на “читателях” (компьютерах и людях, использующих эти компьютеры), выяснять, что тем “не нравится”, исправлять написанное, снова проверять - и так до тех пор, пока не получится нечто, являющееся “законченной” работой.
Что требуется программисту для работы? Понятно, что стол, листы бумаги, ручка и компьютер с необходимыми программами. Все это и предлагает среда программирования Turbo Pascal.
Когда Вы запускаете среду Turbo Pascal, Вы получаете пустой “стол”. На этот стол можно положить пустой лист “бумаги” (пункт меню File, подрежим New) либо уже подготовленные листы (пункт меню File, подрежим Open или сразу <F3>). Одновременно “стол” позволяет поместить до 10 пронумерованных “листов” - от 0 до 9. На этих “листах” можно писать любой текст. Для этого в среду Turbo Pascal включен текстовый редактор. Все тексты можно сохранить в файлах на диске (пункт меню File, подрежимы, начинающиеся со слова Save...).
Если текст представляет собой программу на языке программирования Pascal, то можно дать команду на компиляцию и исполнение написанной программы.
1.6. Работа со страницами
Лист, на котором будем размещать программу, будем называть страницей.
1.6.1. Как создать страницу (<F3>)
Возможны два варианта. Первый предполагает создание новой пустой страницы. Для этого используется подрежим New режима меню File. В этом случае появится страница, а информация с этой страницы будет записываться в файл с именем NONAME.PAS (NONAME переводится с английского как “без имени”). Как правило, этот режим практически не используется, ибо потом все равно придется переписывать текст в файл с другим именем.
Чаще всего используется подрежим Open режима File. Через меню этот процесс долог, поэтому просто нажимают клавишу <F3>.
Задание 10
Считайте с диска файл demo0.pas. Для этого:
войдите в подрежим Open режима меню File (можно просто нажать клавишу <F3>). Вам будет выведено окно, общий вид которого приведен на рис. 5;
рассмотрите внимательно это окно. Обратите внимание на “окошки” Name и Files. Выделенные буквы в именах этих “окошек” указывают на “горячие” клавиши (т.е. для работы в окошке Name требуется нажать <ALT>+<N>, для выбора имени файла в окошке Files - <ALT>+<F>, для перемещения по “окошкам” - <Tab>);
окно Name обеспечивает задание имени файла. Окно Files - выбор имени имеющегося файла из каталога. Перейдите в окно Files. Подвигайте курсор с помощью клавиш <ВВЕРХ> и <ВНИЗ>. Обратите внимание на изменение содержимого самой нижней части окна. Там содержится информация о подкаталоге, с которым Вы работаете, имя файла, на который указывает курсор, а также размеры файла, время и дата его создания;
установите курсор на файл с именем demo0.pas и нажмите <Enter>. Имя этого файла появится в окне Name. Еще одно нажатие <Enter> (т.е. Вы соглашаетесь работать с данным файлом) обеспечивает чтение текста программы из файла demo0.pas и появление на Вашем рабочем “столе” первого листа текста. Номер листа показан в правом верхнем углу.
Задание 11
Считайте с диска файлы demo1.pas, demo2.pas, demo3.pas, demo4.pas и demo5.pas и demo6.pas.
Рис. 5. Общий вид окна Open a File
Итак, на вашем рабочем “столе” 7 страниц текста, пронумерованных от 0 до 6. Имена файлов, в которых хранились считанные тексты, указаны на верхней кромке страницы. В любой момент времени Вы можете работать только с одной страницей. Ту страницу, с которой в данный момент Вы работаете, принято называть “активной страницей”. Естественно, если Вы считали 7 страниц, Вы можете сделать активной любую из имеющихся. Для этого используется комбинация клавиш <ALT>+<N>, где N - номер страницы, которую Вы хотите сделать активной. Например, если Вам необходимо сделать активной страницу с номером 3, необходимо нажать <ALT>+<3>.
Задание 12
Попробуйте сделать активной каждую из имеющихся у Вас страниц.
1.6.2. Как убрать имеющуюся страницу со “стола” (<ALT>+<F3>)
Если изменений в текстах Вы не производили, а текст больше не нужен для текущей работы, страницу можно убрать со “стола”. Для этого используется комбинация клавиш <ALT>+<F3>. Имейте в виду, что закрыть можно только активную страницу.
Чтобы не перегружать компьютер, возьмите за правило держать на столе только те программы, которые Вам необходимы для работы.
Задание 13
Выполните следующие действия:
а) уберите страницы 1,3,5,7;
б) уберите страницы 2,4,6;
в) выйдите из среды Turbo Pascal;
г) снова запустите Turbo Pascal;
д) считайте еще раз файлы demo0.pas - demo6.pas.
1.6.3. Как сохранить текст страницы в файле (<F2>)
Записать текст страницы на диск можно либо в текущий файл (т.е. в файл, имя которого стоит в верхней части страницы), либо в новый.
Для записи в текущий файл достаточно нажать <F2>. Для записи в файл с другим именем необходимо войти в меню, там - в режим File, затем - в подрежим Save as... (переводится “сохранить как...”). В появившемся вспомогательном окне Save file as можно задать новое имя. Работать с этим окном следует точно так же, как и с окном “Open a File” (см. раздел 1.6.1.).
Задание 14
Сделайте активной страницу с файлом demo0.pas. Прочитайте комментарий к программе. Вместо фамилии «Хайям» поставьте свою. Затем:
а) сохраните текст в файле с текущим именем;
б) сохраните текст в файле с именем demon.pas;
в) закройте окно с этим файлом;
г) считайте с диска файл demon.pas.
Покажите окно с этим файлом преподавателю.