
- •§1. Первое знакомство с системой программирования Турбо Паскаль
- •§2. Основные элементы языка
- •§3. Команды редактора Команды управления движением курсора
- •§4. Первая программа
- •Пояснения к программе
- •Запуск программы
- •Сохранение программы
- •§5. Управление позициями и цветом вывода
- •§6. Арифметический квадрат. Абсолютная величина
- •§7. Типы данных
- •§8. Целый тип данных
- •Пример 6
- •Пример 7
- •Пример 8
- •§9. Вещественный тип данных
- •Пример 7
- •Пример 8
- •§10. Логический тип данных
- •§11. Условный оператор
- •Пример 1
- •Пример 2
- •Решение
- •§12. Оператор безусловного перехода. Раздел описания меток
- •§13. Вложенные условные операторы
- •Решение
- •Задание
- •Решение задач Задача 1
- •Задача 2
- •Задача 7
- •Задача 8
- •Задача 9
- •Задача 10
- •§14. Цикл с параметром
- •Пример 1
- •Решение:
- •Пример 2
- •Пример 3
- •§15. Работа с окнами. Метод пошагового выполнения программ
- •§16. Решение задач с использованием цикла с параметром Задача 1
- •Решение
- •Задача 2.
- •Фрагмент решения
- •Задача 8
- •Задача 9
- •Циклы с условиями
- •§17. Цикл с предусловием
- •Оператор цикла с предусловием
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§18. Цикл с постусловием
- •Пример 1
- •Решение
- •Пример 2
- •§19. Алгоритм Евклида
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§20. Вложенные циклы Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •Решение
- •Пример 5
- •§21. Решение задач с использованием
- •§22. Символьный тип данных
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§23. Ограниченный тип данных
- •Var b:3..8; а не просто Vаг b:Integer;
- •Решение
- •§24. Оператор варианта (выбора)
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •§25. Перечисляемый тип данных
- •§26. Описание переменных, констант и типов Раздел описания констант
- •Раздел описания типов
- •§27. Преобразование типов. Совместимость типов
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение.
- •§28. Процедуры
- •Описание процедуры
- •Описательная часть
- •Пример 1
- •Решение
- •Begin {основная программа}
- •Пример 2
- •Решение
- •Пример 3
- •§29. Функции
- •Пример 1
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§30. Примеры рекурсивного
- •Пример 3
- •Решение
- •Задачи, которые можно решить как частный случай обобщенной
- •Решение
- •Задание
- •Задачи, в которых можно использовать характеристику или свойство функции Пример
- •Решение
- •§31. Файловый тип данных Операции для работы с файлами последовательного доступа
- •§32. Обработка файлов Связь переменной файлового типа с файлом на диске
- •Чтение из файла
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •§33. Прямой доступ к элементам файла
- •Пример 2
- •{Проверка на конец файла f1}
- •§34. Текстовые файлы
- •Обработка текстовых файлов
- •Пример 1
- •Решение
- •{Переходим к следующей строке файла}
- •Пример 2
- •Решение
- •Нетипизированные файлы
- •§35. Одномерные массивы.
- •Пример 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. Строковый тип данных Описание
- •Операции со строками
- •Склеивание
- •Сравнение
- •Примеры
- •Решение задач Пример 1
- •Решение
- •Пример 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] − полное множество (взяты все элементы базового типа).