- •Оглавление
- •§1. Первое знакомство с системой программирования Турбо Паскаль
- •§2. Основные элементы языка
- •§3. Команды редактора Команды управления движением курсора
- •§4. Первая программа
- •Пояснения к программе
- •Запуск программы
- •Сохранение программы
- •§5. Управление позициями и цветом вывода
- •§6. Арифметический квадрат.Абсолютная величина
- •§7. Типы данных
- •§8. Целый тип данных
- •Пример 6
- •Пример 7
- •Пример 8
- •§9. Вещественный тип данных
- •Пример 7
- •Пример 8
- •§10. Логический тип данных
- •§11. Условный оператор
- •Пример 1
- •Пример 2
- •Решение
- •§12. Оператор безусловного перехода. Раздел описания меток
- •§13. Вложенные условные операторы
- •Решение
- •Задание
- •Решение задач Задача 1
- •Задача 8
- •Задача 9
- •Задача 10
- •§14. Цикл с параметром
- •Пример 1
- •Пример 2
- •Пример 3
- •§15. Работа с окнами. Метод пошагового выполнения программ
- •§16. Решение задач с использованием цикла с параметром Задача 1
- •Решение
- •Задача 2.
- •§17. Цикл с предусловием
- •Оператор цикла с предусловием
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§18. Цикл с постусловием
- •Пример 1
- •Решение
- •Пример 2
- •§19. Алгоритм Евклида
- •§20. Вложенные циклы Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •Решение
- •Пример 5
- •§21. Решение задач с использованием циклов с условием Задача 1
- •Решение
- •Задача 2
- •§22. Символьный тип данных
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§23. Ограниченный тип данных
- •Var b:3..8; а не просто Vаг b:Integer;
- •Решение
- •§24. Оператор варианта (выбора)
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •§25. Перечисляемый тип данных
- •§26. Описание переменных, констант и типов. Раздел описания констант
- •Раздел описания типов
- •§27. Преобразование типов. Совместимость типов
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение.
- •§28. Процедуры
- •Описание процедуры
- •Решение
- •Begin {основная программа}
- •Пример 2
- •Решение
- •Пример 3
- •§29. Функции
- •Пример 1
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§30. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Пример 3
- •Задачи, которые можно решить как частный случай обобщенной
- •Задание
- •Задачи, в которых можно использовать характеристику или свойство функции Пример
- •Решение
- •§31. Файловый тип данных Операции для работы с файлами последовательного доступа
- •§32. Обработка файлов Связь переменной файлового типа с файлом на диске
- •Чтение из файла
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •§33. Прямой доступ к элементам файла
- •Удаление файлов. Процедура
- •Переименование файлов. Процедура
- •Пример 2
- •§34. Текстовые файлы
- •Обработка текстовых файлов
- •Пример 1
- •Решение
- •Пример 2
- •Нетипизированные файлы
- •§35. Одномерные массивы. Работа с элементами(разбор на примерах) Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Begin {Считываем очередную строку}
- •§36. Работа с элементами массива (разбор на примерах)
- •Пример 2
- •§37. Методы работы с элементами одномерного массива
- •Создание массива
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Работа с несколькими массивами Пример
- •Решение
- •§38. Удаление элементов из одномерного массива Пример 1
- •Решение
- •Begin {Сдвиг элементов на один влево}
- •Пример 2
- •Решение
- •§39. Вставка элементов в одномерный массив
- •Вставка нескольких элементов
- •Решение
- •§40. Перестановки элементов массива
- •§41. Двухмерные массивы Описание. Работа с элементами
- •§42. Найти сумму элементов
- •Решение
- •§43.Нахождение количества элементов с данным свойством
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§44. Работа с несколькими массивами Пример
- •Решение
- •§45. Определить, отвечает ли заданный массив некоторым требованиям Пример 1
- •Решение
- •Пример 2
- •Решение
- •§46. Изменение значений некоторых элементов, обладающих заданным
- •§47. Заполнение двухмерного массива по правилу
- •Пример 2
- •Решение
- •§48. Вставка и удаление элементов Вставка строки
- •Решение
- •Примечания
- •Удаление строки Пример
- •Решение
- •Примечания
- •§49. Перестановка элементов массива Перестановка двух элементов Пример 1
- •Решение
- •Пример 2
- •§50. Строковый тип данных
- •Операции со строками
- •Склеивание
- •Сравнение
- •Примеры
- •Пример 8
- •Пример 9
- •Пример 10
- •§51. Множественный тип данных
- •Операции над множествами
- •Примеры
- •Сравнение множеств
- •Пример 1
- •Пример 2
- •Вопросы для обсуждения
- •Пример 3
- •Вопросы для обсуждения
- •Пример 4
- •Решение
- •Пример 5
- •Решение
- •§52. Комбинированный тип данных (записи)
- •Пример 1
- •Пример 2
- •Пример 3
- •Решение
Пример 8
Подсчитать, сколько букв а в тексте.
Program Example_136;
uses crt;
var a: string;
i, s: integer;
begin
clrscr;
writeln('Введите текст');
readln(a);
s:=0;
for i:=1 to length(a) do
begin
if (copy (a, i, 1)= 'a') or
(copy(a, i, 1)= 'A') then
s:=s+1;
end;
writeln('В заданном тексте буква <a>
встречается ', s, ' раза');
end.
Пример 9
Найти сумму двух целых чисел, которые вводятся с клавиатуры, а также сумму цифр каждого из цифр.
Program Example_137;
uses crt;
var a, b, c1, c2, i, k, s, sa, sb: integer;
ca, cb: string[5];
begin
clrscr;
s:=0; sa:=0; sb:=0;
write('Задайте 1-е число'); readln(a);
write('Задайте 2-е число'); readln(b);
s:=a+b;
str(a, ca); str(b, cb);
for i:=1 to length(ca) do
begin
val(copy(ca, i, 1), c1, k);
sa:=sa+c1;
end;
for i:=1 to length(cb) do
begin
val(copy(cb, i, 1), c2, k);
sb:=sb+c2;
end;
writeln(' Сумма чисел равна ',s);
writeln(' Сумма цифр 1-го числа= ', sa)
writeln(' Сумма цифр 2-го числа= ', sb);
readln;
end.
Пример 10
Определить, каких цифр в числе больше: четных или нечетных.
Program Example_138;
uses crt;
var a: string[5];
b: string[1];
i, k, s, sn, x: integer;
begin
clrscr;
s:=0; sn:=0
write('Задайте число'); readln(a);
for i:=1 to length(a) do
begin
b:=copy(a, i, 1);
val(b, x, k);
if x mod 2=0 then s:=s+1
else sn:=sn+1;
end;
if s>sn then
writeln('четных цифр больше');
if s<sn then
writeln('нечетных цифр больше');
if s=sn then writeln('Одинаково');
end.
§51. Множественный тип данных
Множество в языке Паскаль представляет собой набор различных элементов одного (базового) типа.
Базовый тип − это совокупность всех возможных элементов множества. Всего в базовом типе должно быть не более 256 различных элементов. Значение переменной множественного типа может содержать любое количество различных элементов базового типа − от нуля элементов (пустое множество) до всех возможных значений базового типа (напомним, что их должно быть не более 256). Иными словами, возможными значениями переменных множественного типа являются все подмножества базового типа.
Множества, используемые в программе, могут быть описаны либо в разделе Type:
Type <имя типа>=Set Of <тип элементов>;
Var <имя множества>: <имя типа>;
либо непосредственно в разделе описания переменных Var:
Var <имя множества>:
Set Of <тип элементов>;
Пример
Type mnog_Char=Set Of Char;
Var mn1: Set Of Char;
mn2: mnog_Char;
mn3: Set Of 'A'..'Z';
s1: Set Of Byte;
s2: Set Of 1000..1200;
Здесь mn1 и mn2 − это множества символов; так как различных символов всего 256, то тип Char можно использовать в качестве базового;
mn3 − множество больших латинских букв;
s1 − множество целых чисел (от 0 до 255); так как тип Byte содержит только целые числа от 0 до 255 (всего 256 различных чисел), его тоже можно использовать в качестве базового типа элементов;
s2 − множество целых чисел от 1000 до 1200.
Формирование (конструирование) множеств. В программе элементы множества задаются в квадратных скобках, через запятую. Если элементы идут подряд друг за другом, то можно использовать диапазон.
Пример
Type digit=Set Of 1..5;
Var s: digit;
Переменная s может принимать значения, состоящие из любой совокупности целых чисел от 1 до 5:
[ ] − пустое множество;
[I], [2], [3], [4], [5] − одноэлементные множества;
[1, 2], [1, 3], ..., [2, 4], [4, 5] − двухэлементные (пара любых элементов);
[1, 2, 3], [1, 2, 4],..., [3, 4, 5] − трехэлементные (тройка элементов);
[1, 2, 3, 4], [1, 2, 3, 5], [1, 2 , 4, 5], [1, 3, 4, 5], [2, 3, 4, 5] − четырехэлементные;
[1, 2, 3, 4, 5] − полное множество (взяты все элементы базового типа).