Методика выполнения работы 1. программа имеет линейную структуру в соответствии с алгоритмом на рис. 5.2. s1 – блок ввода исходных данёных a, b, c. s2 – блоки расчета полупериметра треугольника p и площади s. s3 – блок вывода результата: площадь s. введите программу решения этой (см. пп. 1-3, лабораторная работа № 1). program geron; uses crt; var a,b,c,p,s: real; begin clrscr; {ввод исходных данных} writeln(‘введите значения сторон треугольника a,b,c’); readln(a,b,c); {расчет полупериметра и площади треугольника} p: = 0.5*(a+b+c); s: =sqrt(p*(p-a)*(p-b)*(p-c)); {вывод результата расчета} writeln(‘площадь треугольника = ’, s: 5: 3) end. 2. откомпилируйте программу и исправьте возможные ошибки. затем запустите программу на счет (см. пп. 4-5, лабораторная работа № 1). 3. проведите тестовый расчет, чтобы убедиться в правильности работы программы. введите значения сторон: a=1, b=1, c=1. должен получиться результат s=0.433. 4. проведите серию расчетов для различных значений сторон треугольника. 5. если значения сторон являются константами (например, все равны 1), то в данную программу можно ввести следующие изменения: перед разделом var надо добавить раздел констант – const a=1; b=1; c=1; из раздела var убрать a,b,c – var p,s: real; убрать ввод исходных данных – удалить операторы writeln(‘введите…’); readln(a,b,c); 6. сделайте указанные исправления и повторите пп. 1-3 данной работы. для самостоятельной работы составить программу на языке паскаль для нахождения значения выражения. константы a, b, c вводятся с клавиатуры. сложные аргументы функций вычислять отдельно, tan(x) вычислять как sin(x)/cos(x), ctan(x) → cos(x)/sin(x), xy → exp(y*ln(
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.
Решение:
//Pascal
const
n = 7;
var
a: array[1..n, 1..n] of integer;
i, j, min, ind: integer;
//Заполнение массива сл. числами и вывод на экран
begin
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := random(100);
write(a[i, j]:4);
end;
writeln;
end;
//Сортировка строки матрицы прямым выбором
for i := 1 to n - 1 do
begin
min := a[4, i];
ind := i;
for j := i + 1 to n do
if a[4, j] < min then
begin
min := a[4, j];
ind := j;
end;
a[4, ind] := a[4, i];
a[4, i] := min;
end;
writeln;
//вывод отсортированной строки
for j := 1 to n do
begin
write(a[4, j]:4);
end;
end.