- •А.И. Газейкина Основы структурного программирования на языке Паскаль
- •Тема 1. Линейные программы 4
- •Некоторые стандартные функции языка Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 3. Циклические программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
- •Тема 6. Перечисляемый тип Краткое изложение теоретического материала
- •Тема 7. Тип-диапазон Краткое изложение теоретического материала.
- •Тема 8. Множество (множественный тип) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 9. Массивы в языке Паскаль Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
- •Контрольные задания
- •Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала
- •Процедуры в языке Турбо Паскаль
- •Функции в языке Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 12. Тип данных запись (Record) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 13. Работа с файлами в языке Паскаль Краткое изложение теоретического материала
- •Текстовые файлы
- •Примеры решаемых задач
- •Типизированные файлы
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированные указатели
- •Динамические структуры данных
- •Примеры решаемых задач
- •Контрольные задания
- •Список литературы
Контрольные задания
Составить программу, которая удалит из введенной строки все разделители.
Составить программу, которая удалит из введенной строки все цифры.
Составить программу, которая определит, является ли перевертышем введенное
слово;
предложение.
Составить программу, которая вводит предложение и выводит те его слова, которые:
имеют заданную длину;
имеют длину больше заданной;
имеют длину меньше заданной;
начинаются с заданной буквы;
заканчиваются на заданную букву.
Составить программу, которая заменит во введенном предложении одно слово на другое (слова могут разделяться произвольным набором разделителей).
Составить программу, которая вычислит сумму чисел (не цифр!) во введенном предложении.
Составить программу, которая вводит две строки и выводит символы, которые содержатся как в первой, так и во второй строке.
Составить программу, которая вводит две строки и выводит символы первой строки, которых нет во второй.
Составить программу, которая вводит строку и заменяет в ней все группы пробелов на один пробел (т.е. удаляет все лишние пробелы).
Составить программу, которая вводит предложение и находит самое длинное слово в нем.
Составить программу, которая вводит предложение и находит самое короткое слово в нем.
Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
Данные, обрабатываемые программой, записанной на языке Турбо Паскаль, принадлежат к одному из следующих типов, классификация которых представлена на Рис. 5:
Тема 6. Перечисляемый тип Краткое изложение теоретического материала
Перечисляемый тип задается перечислением тех значений, которые он может получать. Определяется как упорядоченный набор идентификаторов, заданных путем их перечисления. Например:
Type Colors = ( red, green, blue );
Var Col : Colors;
Переменная Col может принять одно из трех значений: red, green, blue.
Таким образом, каждое значение именуется некоторым идентификатором и располагается в списке, ограниченном круглыми скобками. Идентификаторы перечисляются через запятую.
Значения перечисляемого типа упорядочены: первое имеет порядковый номер 0, второе – 1 и т.д. Можно использовать следующие стандартные функции:
Ord (x) – возвращает порядковый номер элемента x;
Succ (x) – возвращает значение, следующее за х;
Pred (x) – возвращает значение, предшествующее х.
В приведенном выше примере:
a := ord (red); { Значение переменной a = 0 }
col := succ (green); { col = blue }
col := pred (col); { col = green }
Значения перечисляемого типа можно сравнивать: сравниваются их порядковые номера.
К данным этого типа нельзя применять стандартные команды ввода (Readln) и вывода (Write).
Назначение перечисляемого типа – сделать текст программы более наглядным (читабельным).
Тема 7. Тип-диапазон Краткое изложение теоретического материала.
Тип-диапазон называют также ограниченным и интервальным типом.
Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме самого типа-диапазона (т.е. типы Integer, Boolean, Char, перечисляемый тип).
Диапазон задается границами своих значений внутри базового типа:
<минимальное значение> .. <максимальное значение>
Причем минимальное значение должно быть меньше либо равно максимальному.
Например:
Type Digit = ’0’..’9’; { тип-диапазон, ограничение наложено на Char }
Year = 1900..2009; { тип-диапазон, ограничение на Integer }
Week = (mon, tues, wed, thur, fri, sat, sun); { перечисляемый тип (дни недели)}
Var d : Digit;
y : Year;
m : 1..12; { переменная m относится к ограниченному типу}
work : mon .. fri; { тип-диапазон, ограничение наложено на Week }
Тип-диапазон наследует все свойства своего базового типа.
Назначение типа-диапазона:
наглядность программы;
дополнительная проверка корректности данных.