
- •§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
- •Решение
Создание массива
Рассмотрим два примера.
Пример 1
Даны два одномерных массива одинаковой размерности. Получить третий массив такой же размерности, каждый элемент которого равен сумме соответствующих элементов данных массивов.
Решение
Пусть даны два массива − А и В, состоящие из пяти элементов. Получим из них массив С, тоже состоящий из пяти элементов, причем первый элемент этого массива равен сумме первых элементов массивов А и В, второй − сумме вторых элементов данных массивов − и так далее.
i |
1 |
2 |
3 |
4 |
5 |
A |
14 |
2 |
7 |
8 |
9 |
B |
3 |
6 |
5 |
12 |
4 |
C |
17 |
8 |
12 |
20 |
13 |
Для решения этой задачи опишем процедуру, которой передаются три параметра. Первые два − это два исходных одномерных массива, третий − это одномерный массив той же размерности, который является результатом и заполняется по указанному правилу.
Program Example_100;
Procedure Sum_Ar(a, b: myarray;
Var с: myarray);
Var i: Integer;
Begin
For i:=1 To n Do c[i]:=a[i]+b[i];
End;
Пример 2
Даны первый член арифметической прогрессии и ее разность. Записать в массив первые n членов прогрессии.
Решение
Пусть а1 − первый член прогрессии, a k − ее разность, тогда i−й член можно найти по следующему правилу: a[i]:=a[i-1]+k, или
a[i]:=a1+k*(i-1); если i=1, тo a[i]:=a1. Опишем процедуру, в которую передаются два параметра, а результатом является одномерный массив. Его первый элемент равен первому члену прогрессии, второй − второму − и так далее.
Program Example_101;
Procedure Progress (a1, k: Integer;
Var a: myarray);
Var i: Integer;
Begin
a[1]:=a1;
For i:=2 To n Do
Begin
a[i]:=a[i-1]+k;
Write(a[i]:5);
End;
End;
Работа с несколькими массивами Пример
Даны два одномерных массива − А и В. Найти их скалярное произведение.
Решение
Скалярным произведением двух массивов одинаковой размерности называется сумма произведений соответствующих элементов:
a[1]*b[1]+a[2]*b[2]+...+a[n-1]*
*b[n-1]+...+а[n]*b[n],
где n − количество элементов в массивах.
Program Example_102;
Function Sp (a, b: myarray): longint;
Var i: Integer;
s: Longint;
Begin
s:=0;
For i:=1 To n Do s:=s+a[i]*b[i];
Sp:=s;
End;
§38. Удаление элементов из одномерного массива Пример 1
Удалить из массива, в котором все элементы различны, максимальный элемент. После удаления максимального элемента массив "уплотнить", сдвинув все следующие за ним элементы влево. Последнему (самому правому) элементу массива присвоить 0.