Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MET1.doc
Скачиваний:
34
Добавлен:
16.11.2019
Размер:
1.02 Mб
Скачать
  1. Даны координаты вершин двух треугольников на плоскости. Определите, какой из них имеет большую площадь. Используйте процедуру вычисления площади треугольника.

  2. Составьте процедуру умножения двух квадратных матриц порядка n. С помощью подпрограммы вычислите матрицу В = А3.

  3. Имеются квадратные уравнения вида A(i)x2 + B(i)x +C(i) = 0, коэффициенты которых заданы в виде трех массивов вещественного типа А(8), В(8), С(8). Составьте процедуру вычисления действительных корней уравнений. Если таковых нет, то сделайте соответствующее сообщение.

  4. Имеется три массива А(10), В(8), С(6), сформируйте три новых массива, в каждом из которых сначала располагаются положительные элементы исходного массива, затем отрицательные и в конце формируемого массива размещаются нулевые элементы исходного. Используйте процедуру.

  5. Даны координаты трех вершин треугольника и даны координаты четвертой точки. Определите, является ли эта точка внутренней точкой треугольника, сделайте соответствующее сообщение в подпрограмме.

  6. Дан двухмерный массив вещественного типа А(5, 5). Вычислите произведение и сумму элементов данного массива, удовлетворяющих условию: 0 <= A(I,J) <=3, где I = 1, ..., 5, J = 1, ..., 5. Используйте процедуру.

  7. Вычислите среднее арифметическое и среднее геометрическое положительных элементов каждого столбца матрицы, состоящей из 10 строк и 5 столбцов. Предполагается, что в каждом столбце имеется хотя бы один положительный элемент. Для вычисления среднего арифметического и геометрического элементов столбца напишите процедуру.

  8. В данных действительных матрицах В(4,5) и С(5,6) поменяйте местами строку, содержащую элемент с наибольшим значением, cо строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны. Напишите процедуру.

  9. Даны матрицы А(5,3) и С(5,4), каждая из них содержит только два одинаковых числа. Найдите эти числа и их индексы. Напишите процедуру.

  10. Дана матрица Т(5,6). Найдите максимальный из минимальных элементов строк, а также номер строки и столбца, на пересечении которых он находится. Напишите соответствующие процедуры.

  11. Дана матрица А вещественных чисел с двумя строками и шестью столбцами, каждым столбцом которой заданы абсцисса и ордината одной из шести точек плоскости XOY. Номер столбца рассматривается как номер точки. Найдите индексы точек, которые вместе с началом координат представляют вершины треугольника с минимальным периметром.

  12. Даны три массива, элементы первого есть коды деталей из двух цифр; элементы второго есть коды деталей из трех цифр; элементы третьего есть коды деталей из четырех цифр. Сформируйте новые массивы, элементы которых есть коды деталей, рассортированные по убыванию (возрастанию). Распечатайте исходный и результирующий массивы. Используйте процедуры.

  13. Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.

  14. Три прямые на плоскости заданы уравнениями 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 = AB - CD, используйте при этом процедуры сложения и умножения матриц.

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]