Вам ниже представлена программа на языке Кумир. Напишите эту же программу на языке Паскаль. Какое значение получится в переменной s. Алгоритмический язык: алг цел s, k нач s:=0 k:=0 нц пока k<6 s:=s+2 k:=k+1 кц вывод s кон
Type num=double; { в этом месте можно сменить тип на иной }
function Legal(a,b,c:num):boolean; { возвращает True, если из отрезков длиной a,b,c можно построить треугольник } begin Legal:=(a+b>c) and (a+c>b) and (b+c>a) end;
function Med(a,b,c:num):num; { возвращает длину медианы, проведенную к стороне а } begin Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2 end;
procedure Med3(a,b,c:num; var m1,m2,m3:num); { возвращает длины m1,m2,m3 всех медиан треугольника, построенного из отрезков длиной a,b,c. При этом m1- длина медианы, проведенной к стороне а, m2- дилна медианы,проведенной к стороне b и т.д. Если треугольник построить нельзя, m1=m2=m3=0 } begin if Legal(a,b,c) then begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end else begin m1:=0; m2:=0; m3:=0 end end;
{ основная программа } var a,b,c,m1,m2,m3:num; begin Write('Введите длины сторон треугольника: '); Readln(a,b,c); Med3(a,b,c,m1,m2,m3); if m1>0 then begin Med3(m1,m2,m3,m1,m2,m3); if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3) else Writeln('Из полученных медиан нельзя построить треугольник.') end else Writeln('Невозможно построить треугольник с такими сторонами.') end.
Тестовое решение: Введите длины сторон треугольника: 14.3 18.9 8.6 Длины медиан: 10.725, 14.175, 6.45
Program test; const n=14 var i, i1, x, s, mx : integer; t: string; m1: array [1..n] of integer; begin for i := 1 to n do //ввод данных begin writeln ('введите очередной элемент --> '); read (x); m1[i] := x; end;
mx := m1[2]; // поиск максимального элемента for i := 4 by 2 to n do begin x := m1[i]; if (x > mx) then mx := x; end; writeln('максимальный элемент ',mx);
mx := m1[1]; // поиск минимального элемента for i := 2 to n do begin x := m1[i]; if (x < mx) then begin mx := x; i1 := i; end; end; for i := i1 to (n-1) do m1[i] := m1[i+1]; //удаление минимального элемента
x := m1[1]; //меняем местами 1-й и последний элементы m1[1] := m1[n-1]; m1[n-1] := x;
for i := (n-1) by (-1) to 8 do m1[i-1] := m1[i]; //вставляем. освобождаем место m1[7] := 10; //вставили.
for i := 1 to n do writeln(i, ' --> ', m1[i]); //результат end; end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку