Close(f)

end;

{----------------------------------------------------------------}

Begin N:= 10; { создание симметричной матрицы }

for i:= 1 to N do for j:= i to N do

x[i, j]:= 0.5 + random(50); { заполнение верхней треугольной матрицы }

for i:= 1 to N do for j:= i to N do

x[j,i]:= x[i,j]; { заполнение нижней, симметричной части матрицы }

Wr_M(x, 'file_1.out', N, N); { вызов процедуры записи массива в файл }

End.

Для правильного считывания данных, записанных в файл бесформатным выводом необходима запись пробела для разделения чисел.

Практическое задание N 1. 28

Написать и отладить программы с использованием процедур:

1. Вывести на экран визитную карточку программиста с указанием текущей даты.

2. Вывести на экран визитную карточку программиста с указанием времени.

Примечание к п. п. 1, 2: рассмотреть случаи задания фамилии разработчика в качестве глобального, локального и формального параметра.

3. Рассчитать массив из N значений функции Y= ex + Cos(x) при изменении аргумента с постоянным шагом в диапазоне x1.. x2, и записи массива в файл. Значения N, x1, x2 и имя файла задаются оператором ввода

4. Рассчитать массив из N значений функции Y=ln(x) - x3 при изменении аргумента с постоянным шагом в диапазоне x1.. x2, и записи массива в файл. Значения N, x1, x2 и имя файла задаются оператором ввода.

5. Создать единичную матрицу NxN (N<=50). Элементы матрицы на главной диагонали равны единице, остальные - нулю. Вывести на экран массив 20х20.

6. Заменить элементы матрицы NxN (N<=30), расположенных в строках на элементы, расположенные в столбцах, т. е. a[i, j] на a[j, i]. Вывести на экран исходный и транспонированный массивы размером 10х10.

Приведем пример функции для расчета высоты треугольника по заданным значениям его сторон.

Program TR;

Var a, b, c, ha, hb, hc: real;

{----------------------------------------------------------------}

Function H_TR(a, b, c: real): real; { a, b, c - Стороны треугольника }

Var p, s: real;

Begin

If (a<0) or (b<0) or (c<0) Then begin

Writeln('Стороны треугольника >0?'); readln; Halt end;

If (a>(b+c)) or (b>(a+c)) or (c>(a+b)) Then begin

Writeln('a<(b+c), b<(a+c), c<(a+b)?'); readln; Halt end;

p:= (a+b+c)/2; { полупериметр }

s:= Sqrt(p*(p-a)*(p-b)*(p-c)); { площадь }

H_TR:= 2*s/a; { Присвоение функции значения }

End;

{----------------------------------------------------------------}

Begin

Writeln('Введите значения сторон треугольника a,b,c'); Readln(a,b,c);

ha:= H_TR(a, b, c); hb:= H_TR(b, a, c); hc:= H_TR(c, b, a);

Writeln('Высоты треугольника:');

Writeln('ha=',ha:-10:4, 'hb=',hb:-10:4, 'hc=',hc:-10:4); Readln

End.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: