
- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Даны координаты вершин двух треугольников на плоскости. Определите, какой из них имеет большую площадь. Используйте процедуру вычисления площади треугольника.
Составьте процедуру умножения двух квадратных матриц порядка n. С помощью подпрограммы вычислите матрицу В = А3.
Имеются квадратные уравнения вида A(i)x2 + B(i)x +C(i) = 0, коэффициенты которых заданы в виде трех массивов вещественного типа А(8), В(8), С(8). Составьте процедуру вычисления действительных корней уравнений. Если таковых нет, то сделайте соответствующее сообщение.
Имеется три массива А(10), В(8), С(6), сформируйте три новых массива, в каждом из которых сначала располагаются положительные элементы исходного массива, затем отрицательные и в конце формируемого массива размещаются нулевые элементы исходного. Используйте процедуру.
Даны координаты трех вершин треугольника и даны координаты четвертой точки. Определите, является ли эта точка внутренней точкой треугольника, сделайте соответствующее сообщение в подпрограмме.
Дан двухмерный массив вещественного типа А(5, 5). Вычислите произведение и сумму элементов данного массива, удовлетворяющих условию: 0 <= A(I,J) <=3, где I = 1, ..., 5, J = 1, ..., 5. Используйте процедуру.
Вычислите среднее арифметическое и среднее геометрическое положительных элементов каждого столбца матрицы, состоящей из 10 строк и 5 столбцов. Предполагается, что в каждом столбце имеется хотя бы один положительный элемент. Для вычисления среднего арифметического и геометрического элементов столбца напишите процедуру.
В данных действительных матрицах В(4,5) и С(5,6) поменяйте местами строку, содержащую элемент с наибольшим значением, cо строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны. Напишите процедуру.
Даны матрицы А(5,3) и С(5,4), каждая из них содержит только два одинаковых числа. Найдите эти числа и их индексы. Напишите процедуру.
Дана матрица Т(5,6). Найдите максимальный из минимальных элементов строк, а также номер строки и столбца, на пересечении которых он находится. Напишите соответствующие процедуры.
Дана матрица А вещественных чисел с двумя строками и шестью столбцами, каждым столбцом которой заданы абсцисса и ордината одной из шести точек плоскости XOY. Номер столбца рассматривается как номер точки. Найдите индексы точек, которые вместе с началом координат представляют вершины треугольника с минимальным периметром.
Даны три массива, элементы первого есть коды деталей из двух цифр; элементы второго есть коды деталей из трех цифр; элементы третьего есть коды деталей из четырех цифр. Сформируйте новые массивы, элементы которых есть коды деталей, рассортированные по убыванию (возрастанию). Распечатайте исходный и результирующий массивы. Используйте процедуры.
Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
Три прямые на плоскости заданы уравнениями ak x + bky + ck = 0 (k = 1; 2; 3). Если эти прямые попарно пересекаются и образуют треугольник, то вычислите его площадь. Используйте процедуру определения точки пересечения двух прямых.
16. Даны шесть квадратных уравнений. Подсчитайте сумму всех действительных корней этих уравнений, если таковые имеются. Выведите на печать номера уравнений, которые имеют хотя бы один действительный корень. Напишите для этого процедуру.
17. Решите систему линейных алгебраических уравнений
3х - 2y + 5z = 7;
7х + 4у - 8z = 3;
5x - 3y - 4z = - 12.
Вычисление определителей оформите в виде процедуры.
18. Даны четыре квадратные матрицы А, В, С, D порядка n (n 6). Получите матрицу F = AB - CD, используйте при этом процедуры сложения и умножения матриц.
19. Даны две квадратные матрицы, транспонируйте их. Составьте процедуру транспонирования матрицы. Перемножьте исходную матрицу с транспонированной и получите новую матрицу. Составьте процедуру перемножения двух матриц.
Указание. Транспонировать матрицу – это значит представить ее строки столбцами или наоборот, т.е. пусть исходная матрица имеет вид
А
=
,
тогда транспонированная матрица есть
АТ =
.
20. Даны две квадратные матрицы одинаковой размерности, транспонируйте ту из них, которая имеет минимальную сумму диагональных элементов. Составьте процедуру транспонирования матрицы (см. предыдущее задание).
21. Дана матрица В(m,n) вещественного типа, найдите максимальный элемент каждой строки матрицы, поменяйте местами этот элемент с диагональным, разделите все элементы строки на диагональный. Выведите преобразованную матрицу на печать. Составьте процедуру работы с каждой строкой матрицы.
22. Даны четыре прямые на плоскости, каждая из которых задается уравнением Aix + Biy + Ci = 0, где i = 1,...,4. Найдите площади всех треугольников, которые можно построить с помощью этих прямых. Используйте при расчетах процедуры нахождения: координат точек пересечения прямых; длин сторон треугольников и площадей этих треугольников.
23. Имеется n окружностей с радиусом R и координатами центра x и y. Определите длины окружностей С и площади S кругов, ограниченных этими окружностями, а также удаления L центра окружности от начала координат.
24. Даны матрицы А(4,4) и D(5,5). Сформируйте матрицы В(4,4) из А(4,4) и С(5,5) из D(5,5), разделив элементы каждой строки на соответствующий диагональный элемент, например: В(1,2) = А(1,2)/А(1,1) и т.д. Используйте при формировании новых матриц процедуры.
25. Дан двухмерный массив А(4,5). Подсчитайте суммы элементов каждой строки матрицы и запишите их в одномерный массив (вектор). Подсчитайте суммы элементов каждого столбца матрицы и запишите их в одномерный массив (вектор). Формирование этих векторов оформите в виде процедуры.
Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
Студенты изучают основные возможности языка при построении программ с применением символьных и строковых типов данных.
Язык Tурбо Паскаль поддерживает стандартный символьный (литерный) тип CHAR и строковый или "стринговый" тип, описываемый в разделе описаний STRING или STRING[N], где N – количество символов в строке.
Значение типа CHAR это символ из алфавита компьютера, заключённый в апострофы (одинарные кавычки), например ‘ ‘, ’a’, ’7’, ’*’ и т.д. (символы и соответствующие им ASCII-коды приведены в приложении). Значением строки может быть любая последовательность символов, заключённая в апострофы: 'abcde' или ‘_________’. Кроме того, значение символа может указываться числовым значением ASCII-кода, перед которым ставится знак "диез" - #, например h:=#65; что соответствует символу 'A'.
Максимальная длина строки составляет 255 символов. Строки являются динамическими, поскольку могут иметь различные длины в пределах объявленных границ. Например, описав переменные
VAR S:STRING[32];
S1:STRING[255];
мы можем хранить в S строчные значения длиной не более 32 символов, а в S1 не более 255. Описание STRING без указания длины (без квадратных скобок) будет аналогичным описанию STRING[255]. При попытке записать строку в переменную длиннее, чем объявлено в описании, "лишняя" часть будет отсечена.
Переменным строкового типа можно присваивать пустые строки. Их обозначение S:=' '.
Можно рассматривать строки как массив символов.
Пример
PROGRAM SD;
VAR
I:INTEGER;
S:STRING[18];
BEGIN
S:=' массив символов';
FOR I:=1 TO 18 DO WRITE(S[I]); END.