Где косяк program i_2; const c=2; f=4; g=6; var r: real; begin writeln('определение площади треугольника по теореми герона'); write('нахождение площади'); readln(r); r; sqrt(p(p-c)(p-f)(p-g)); p; (c+f+g); 2: end.
В таком виде программа, хотя бы запустится: program i_2; const c=2; f=4; g=6; var r,p: real; begin writeln('определение площади треугольника по теореми Герона'); write('нахождение площади'); readln(r); p:=(c+f+g)/2; r:=sqrt(p*(p-c)*(p-f)*(p-g)) end.
Но есть куча вопросов: 1) Если c, f, g - стороны треугольника, то что такое - r ? 2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать? 3) Где вывод полученной информации (writeln(r))? 4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя: program i_2; var a,b,c,p,s: real; begin writeln('Определение площади треугольника по теореме Герона'); write('Введите стороны треугольника: '); readln(a,b,c); if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с такими сторонами не существует') else begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('Площадь треугольника равна ',s:0:3) end end.
А) var s:string; mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице} c:char; i:longint; begin read(s); for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице} mas[c]:=0; for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)} mas[s[i]]:=mas[s[i]]+1; for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся} if(mas[c]=1) then writeln(c); end.
Исходное число 665675757 1)665675757:2=332837878 и в остатке 1 значит пишем 1 2)332837878:2=166418939 и в остатке 0 значит пишем 0 3)166418939:2=83209469 и в остатке 1 значит пишем 1 4)83209469:2=41604734 и в остатке 1 значит пишем 1 5)41604734:2=20802367 и в остатке 0 значит пишем 0 6)20802367:2=10401183 и в остатке 1 значит пишем 1 7)10401183:2=5200591 и в остатке 1 значит пишем 1 8)5200591:2=2600295 и в остатке 1 значит пишем 1 9)2600295:2=1300147 и в ост 1 зн пишем 1 10)1300147:2=650073 и в ост 1 зн пишем 1 11)650073:2=325036 и в ост 1 зн пишем 1 12)325036:2=162518 и в ост 0 зн пишем 0 13)162518:2=81259 и в ост 0 зн пишем 0 14)81259:2=40629 и в ост 1 зн пишем 1 15)40629:2=20314 и в ост 1 зн пишем 1 16)20314:2=10157 и в ост 0 зн пишем 0 17)10157:2=5078 и в ост 1 зн пишем 1 18)5078:2=2539 и в ост 0 зн пишем 0 19)2539:2=1269 и в ост 1 зн пишем 1 20)1269:2=634 и в ост 1 зн пишем 1 21)634:2=317 и в ост 0 зн пишем 0 22)317:2=158 и ост 1 зн пишем 1 23)158:2=79 и ост 0 зн пишем 0 24)79:2=39 и ост 1 зн пишем 1 25)39:2=19 и ост 1 зн пишем 1 26)19:2=9 и ост 1 зн пишем 1 27)9:2=4 и ост 1 зн пишем 1 28)4:2=2 и ост 0 зн пишем 0 29)2:2=1 и ост 0 зн пишем 0 30)1:2=0 и ост 1 зн пишем 1 число в двоичной системе 10110111110011010110101111001
program i_2;
const c=2; f=4; g=6;
var r,p: real;
begin
writeln('определение площади треугольника по теореми Герона');
write('нахождение площади');
readln(r);
p:=(c+f+g)/2;
r:=sqrt(p*(p-c)*(p-f)*(p-g))
end.
Но есть куча вопросов:
1) Если c, f, g - стороны треугольника, то что такое - r ?
2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать?
3) Где вывод полученной информации (writeln(r))?
4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя:
program i_2;
var a,b,c,p,s: real;
begin
writeln('Определение площади треугольника по теореме Герона');
write('Введите стороны треугольника: ');
readln(a,b,c);
if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с
такими сторонами не существует')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s:0:3)
end
end.