
- •Основные элементы языка. История создания и развитие языка программирования
- •Структурная схема программы на алгоритмическом языке.
- •Лексика языка. Типы данных.
- •Типы данных
- •Переменные и константы.
- •Выражения и операции.
- •Операторы языка. Синтаксис операторов присваивания.
- •Синтаксис операторов ввода-вывода.
- •Операторы Write и WriteLn
- •Операторы Read и ReadLn
- •Составление программ линейной структуры.
- •Синтаксис операторов безусловного и условного переходов.
- •Составной оператор.
- •Вложенные условные операторы.
- •Составление программ разветвляющейся структуры. Выберите из предложенного ниже списка задачи для самостоятельного решения.
- •Составление программ сложной разветвляющейся структуры.
- •Оператор case. Оператор выбора case. Решение задач.
- •Оператор goto.
- •Синтаксис операторов циклов.
- •Циклические конструкции.
- •Циклы с предусловием.
- •Задачи для самостоятельного решения:
- •Циклы со счетчиком.
- •Общая форма записи цикла со счетчиком
- •Циклы с постусловием.
- •Задачи для самостоятельного решения:
- •Составление программ циклической структуры.
- •Проверьте себя, ответив на вопросы:
- •Доступ к элементам массива.
- •Изменение значения некоторых элементов
- •Нахождение номеров элементов с заданным свойством
- •Нахождение количества элементов с заданным свойством
- •Задачи для самостоятельного решения
- •Вставка элементов в одномерный массив. Вставка одного элемента
- •Вставка нескольких элементов
- •Задачи для самостоятельного решения
- •Перестановка двух элементов
- •Перестановка части массива
- •Работа с несколькими массивами
- •Задачи на использование одномерных массивов
- •Самостоятельное решение задач.
- •Формирование значений элементов массива случайным образом и с клавиатуры и вывод их на экран
- •Нахождение количества элементов с данным свойством
- •Определить, отвечает ли заданный массив некоторым требованиям
- •Изменение значений некоторых элементов, удовлетворяющих заданному свойству
- •Заполнение массива по правилу
- •Задачи для самостоятельного решения
- •Вставка строк и столбцов
- •Удаление строк и столбцов
- •Задачи для самостоятельного решения Задачи на вставку элементов:
- •Задачи на удаление элементов:
- •Задачи для самостоятельного решения
- •Задачи на использованиедвумерных массивов
- •I. Заполнение и анализ элементов массива
- •II. Работа с одномерным и двумерным массивами
- •Дополнительные задачи (на усмотрение учителя)
- •Для любопытных Графические программы с применением массивов.
- •Сортировка выбором
- •Сортировка массива с помощью рекурсии
- •Рекурсивная сортировка слиянием (для любопытных)
- •Строка. Тип данных string. Строковые переменные, их описание. Длина строки. Операции над строками.
- •Задачи для самостоятельного решения
- •Задачи для дополнительного решения (на усмотрение учителя)
- •Стандартные функции для работы со строками (concat,copy,length, pos,upcase). Функция Length
- •Функция Upcase
- •Функция Copy
- •Функция Pos
- •Функция Concat
- •Задачи для самостоятельного решения
- •Стандартные процедуры для работы со строками (delete, insert,str,val).
- •Задачи для самостоятельного решения
- •Задачи для дополнительного решения (на усмотрение учителя)
- •Контрольная работа.
- •Сформулируйте тексты решенных ниже задач
- •Выберите с учителем задачи для самостоятельного решения:
- •Решение задач.
- •Бегущая строка. Пример программы осыпающихся букв. Строки в графическом режиме (для увлеченных программированием).
- •Тип данных char. Операции над символами.
- •1.Организовать ввод фио только на русском языке.
- •2.Вывести все совершенные числа в данном диапазоне.
- •3.Введенное число - полиндром?
- •2.Найти факториал числа с помощью рекурсии.
- •Задачи на построение процедур и функций
- •Самостоятельное решение задач.
- •I Выберите с учителем одну из предложенных ниже задач (тип Integer, real)
- •II Выберите с учителем одну из предложенных ниже задач (тип char)
- •III Выберите с учителем одну из предложенных ниже задач (тип string)
- •IV Выберите с учителем одну из предложенных ниже задач (тип record)
- •Текстовые файлы
- •Компонентные файлы
- •Бестиповые файлы
- •Последовательный и прямой доступ
- •Задачи на работу с файлами
- •Использование библиотеки crt
- •Программирование клавиатуры
- •Текстовый вывод на экран
- •Программирование звукового генератора
- •Использование библиотеки Graph
- •Переход в графический режим и возврат в текстовый
- •Краткая характеристика графических режимов работы дисплейных адаптеров
- •Процедуры и функции
- •Координаты, окна, страницы
Задачи на работу с файлами
1. Дан файл f, компоненты которого являются действительными числами. Найти:
а) сумму компонент файла f; б) произведение компонент файла f; в) сумму квадратов компонент файла f; г) модуль суммы и квадрат произведения компонент файла f; д) последнюю компоненту файла.
2. Дан файл f, компоненты которого являются действительными числами. Найти:
а) наибольшее из значений компонент; б) наименьшее из значений компонент с четными номерами; в) сумму наибольшего и наименьшего из значений компонент; г) разность первой и последней компонент файла.
3. Дано натуральное n. Записать в файл g целые числа b1, …, bn, где при i = 1, 2, …, n значение biравно:
а)
i ; б) i2
; в) i! ; г)
2i+1
; д) 2i
+ 3i+1 ; е)
(-1) i ×3i;
ж)
; з)
;
4. Даны символьные файлы f1и f2. Переписать с сохранением порядка следования компоненты файла f1 в файл f2, а компоненты файла f2- в файл f1. Использовать вспомогательный файл h.
5. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f:
а) являющиеся четными числами; б) делящиеся на 3 и не делящиеся на 7.
6. Дан файл f, компоненты которого являются целыми числами. Записать в файл g все четные числа файла f, а в файл h - все нечетные. Порядок следования чисел сохраняется.
7. Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке.
8. Даны символьные файлы f и g. Записать в файл h сначала компоненты файла f, а затем - компоненты файла g с сохранением порядка.
Использование библиотеки crt
Программирование клавиатуры
Текстовый вывод на экран
Программирование звукового генератора
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в использовании диалоговых программ. Например, процедуры Read/ReadLn вводят с клавиатуры только типизированные данные, причем с обязательным эхо-повтором набираемых символов на экране. С их помощью нельзя определить факт нажатия какой-либо специальной клавиши (функциональной клавиши, клавиши управления курсором и т.п.). Процедуры Write/WriteLn выводят сообщения, начиная с того места на экране, где в данный момент находится курсор, причем по мере вывода курсор автоматически сдвигается на экране, а если очередной символ выводится в самом нижнем правом углу экрана, осуществляется «прокрутка» экрана: его содержимое сдвигается вверх на одну строку. Все это сильно затрудняет создание и обновление различного рода окон, меню и других атрибутов современных диалоговых программ.
Разработчики Турбо Паскаля предусмотрели несколько подпрограмм, существенно увеличивающих возможности текстового ввода/вывода. Эти подпрограммы сосредоточены в библиотеке (модуле) CRT, входящей в комплект поставки Турбо Паскаля. В модуль включены также процедуры Sound, NoSound и Delay, которые позволяют программировать звуковой генератор ПК. В этой главе обсуждается использование подпрограмм модуля CRT.
Аббревиатура CRT соответствует русскоязычной аббревиатуре ЭЛТ - электронная лучевая трубка. На профессиональном жаргоне CRT означает устройство визуализации информации (дисплей) даже в том случае, когда вместо ЭЛТ используются иные физические устройства - плазменные панели, жидкокристаллические экраны и т.п.