- •Долинер л.И., Данилина и.И., Пашкова р.Р., Емельянов д.А. Языки и системы программирования
- •Содержание
- •Теоретическая работа а. Что такое «программирование»
- •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
- •Список рекомендуемой литературы
2.3. Вывод данных на экран дисплея
Примеры программ, приведенных выше, иллюстрируют команду присваивания, но для Вас их выполнение на компьютере бессмысленно. Ведь программа записывает данные в память компьютера и заканчивает работу. Вы ничего не увидите. Чтобы увидеть, в языке есть процедура2 ВЫВОДА WriteLn.
Задание 2
Считайте с диска файл lab2_1a.pas . Разберитесь в тексте программы. Выполните предложенные там задания.
Задание 3
Считайте с диска файл lab2_1b.pas . Разберитесь в тексте программы. Выполните предложенные там задания. Выпишите в тетрадь порядок копирования фрагмента текста в редакторе среды Turbo Pascal.
Задание 4
Считайте с диска файл lab2_1c.pas. Разберитесь в тексте программы. Выполните предложенные там задания. Запишите в тетрадь команду подключения стандартной библиотеки CRT, название и назначение процедуры CLRSCR.
Задание 5
Считайте с диска файл lab2_1d.pas. Выполните предложенные там задания.
Задание 6
Считайте с диска файл lab2_1e.pas. Разберитесь в тексте программы и выполните предложенные там задания. Выпишите в тетрадь различие между командами WRITE и WRITELN. Запишите в тетрадь назначение процедуры TextColor .
2.4. Форматированный вывод информации
На экран дисплея можно поместить строго определенное количество символов. В частности, на стандартном дисплее можно разместить 25 строк по 80 символов в строке. Место для одного символа принято называть “позицией”. Таким образом, на экране имеется 25х80=2000 позиций для размещения текста.
При использовании процедур вывода WriteLn (Write) Вам предоставляется возможность самим определять количество позиций, которое отводится для данного вида информации. Вывод данных с указанием числа позиций принято называть “форматированный вывод”.
Задание 7
Считайте с диска файл lab2_1f.pas. Разберитесь в тексте программы. Отметьте в тетради способы форматированного вывода целых чисел.
Задание 8
Считайте с диска файл lab2_1g.pas. Разберитесь в тексте программы. Отметьте в тетради способы форматированного вывода строк.
Задание 9
Считайте с диска файл lab2_1h.pas. Разберитесь в тексте программы. Отметьте в тетради способы форматированного вывода вещественных чисел.
Задание 10
Считайте с диска файл lab2_1i.pas и выполните предложенное там задание. Продемонстрируйте его преподавателю.
Задание 11
Считайте с диска файл lab2_1j.pas и выполните предложенное там задание.
Задание 12
Пригласите преподавателя и продемонстрируйте ему все выполненные Вами задания. После этого закройте все окна (<ALT>+<F3>) и выйдите из среды Turbo Pascal.
Задание 13
Удалите из Вашего каталога файлы, имена которых начинаются на lab2_.
Теоретическая работа б. Введеhие в язык пpогpаммиpоваhия pascal
1. Алфавит языка
Как и любой дpугой язык пpогpаммиpования, Pаscal имеет свой алфавит - набор символов, разрешенных к использованию и воспринимаемых компилятором. Допустимые в языке символы (или группы символов, рассматриваемых как единое целое) можно условно разбить на четыре группы:
символы, используемые в идентификаторах;
разделители;
специальные символы;
неиспользуемые символы.
1.1. Символы, используемые в идентификаторах
Идентификатор - имя любого объекта программы - может включать буквы, цифры и символ подчеркивания. В качестве букв можно использовать латинские строчные и прописные буквы: A,B,C,D, ... ,Z и a,b,c,d, ... ,z.
При этом компилятор не различает прописные и строчные буквы. Идентификаторы FILENAME, filename и FileName - это одно и тоже.
В идендификатор можно включать 10 арабских цифр от 0 до 9. В идентификаторе они могут присутствовать в любой позиции кроме первой. Примеры идентификаторов с использованием цифр:
A101, name2, pr1m
Символ подчеркивания “_” может находиться в любой позиции идентификатора. Примеры идентификаторов с использованием подчеркивания:
-
My_name
Squre_1
His_family
Squre_2 _House
Именно из этих символов (и только из них!) конструируются идентификаторы. Длина идентификаторов формально не ограничена, но различаются в них лишь первые 63 символа, остальные игнорируются. Рекомендуется при выборе идентификаторов использовать содержательные идентификаторы, т.е. выбирать такие имена, которые отражают их назначение. Например, если программа предназначена для сортировки массива чисел, то ее можно назвать sort, если в переменной хранится год рождения - Year, если в переменной вычисляется сумма чисел - Sum и т.п.
Помимо идентификаторов буквы могут использоваться в строковых константах, служебных словах и комментариях. Следует подчеркнуть, что в строках символов и комментариях строчные и прописные буквы различаются!
Цифры также могут использоваться в изображении числовых констант. Например:
-
10.85
0.07
1689