void TriangleArea(double a, double b, double c) { double p = (a + b + c) / 2; double ss = p * (p - a) * (p - b) * (p - c); // Using Heron's formula if (ss > 0) cout << "Area of triangle = " << sqrt(ss); else cout << "The three sides will not form a triangle."; }
cout << "\n\nThree side lengths to a triangle (a, b, c):\n"; TriangleArea(a, b, c); cout << "\n\nThree side lengths to a triangle (a, b, d):\n"; TriangleArea(a, b, d); cout << "\n\nThree side lengths to a triangle (b, c, d):\n"; TriangleArea(b, c, d); cout << "\n\nThree side lengths to a triangle (a, c, d):\n"; TriangleArea(a, c, d); cout << "\n\n"; }
1. var x1,x2,x3,y1,y2,y3,a,b,c,p,s:real; begin readln(x1,y1); readln(x2,y2); readln(x3,y3); a:=sqrt(sqr(x1-x2)+sqr(y1-y2)); b:=sqrt(sqr(x3-x2)+sqr(y3-y2)); c:=sqrt(sqr(x1-x3)+sqr(y1-y3)); p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('S=',s,';'); end.
2. var n,i,j,Sn,si:int64; begin readln(n); Sn:=0;
for i:=1 to n do begin Si:=1; for j:=i to i*2 do Si:=Si*j; Sn:=Sn+Si; end;
writeln('Sn=',Sn,';');
end.
Для составления блок-схемы могу объяснить довольно простой алгоритм: Ты проходишься одной переменной от 1 до n, и в каждом проходе ты Вычисляешь произведение чисел от значения той переменной до ее удвоенного значения другим циклом И в конце прохода главного цикла ты прибавляешь к результирующей переменной (которая в начале программы была обнулена) то произведение, которое ты только что вычислил.
P.S. Возможно на словах это звучит довольно-таки непонятно, но для этого есть код, который поясняет весь алгоритм
Информационный объём текста:
I = K · i
Мощность алфавита:
N = 2^i
I - информационный объём текста
K - кол-во символов в тексте
i - информационный вес символа
N - мощность алфавита
Дано:
I = 10,5 Кб = (10,5 · 1024 · 8) бит = 86016 бит
K = 5680 (симв.)
N - ?
1)
Информационный вес символа:
i = I / K = 86016 / 5680 ≈ 15 (бит)
2)
Мощность данного алфавита:
N = 2^15 = 32768 (симв.)