Просмотр полной версии : Pascal. Задачи.
Привет всем. хочу спросить..кто-нибудь может помочь сделать пару задач на паскале?
1-ая
Решить задачу с использованием цикла. найти сумму к чисел, стоящих на четных местах в геометрической прогрессии 2,8,32,128,512
2-ая
Даны числа a и х. Вычтислить значение выражения sqr(sqr(...sqr(sqr(х+а)+а)+...+а))+а всего н скобок.
кто сможет помогите пожалуйста по ним..особенно по первой. они вообще не сильно сложные(информатика 11 класс)..но я чета не могу.
Zakary - если согласен за 5-10$ я возьмусь.
Блин, подправьте, а то без компилятора под рукой фигово.
1.var
i,k:integer;
begin
k:=2;
writeln('Skolko wagov??');
readln(n);
for i:=1 to n do begin
k:=k*4;
writeln(k) {для отладки}
end;
end.Сейчас вторую погляжу. Без компилятора фигово.
2.
sqr(sqr(...sqr(sqr(х+а)+а)+...+а))+а
var
x,a,sum,i,k:real;
begin
writeln('Vvedite X');
readln(x);
writeln('Vvedite A');
readln(a);
sum:=x+a;
writeln('Vvedite shag');
readln(k);
for i:=1 to k do begin
sum:=sqr(sum)+a;
writeln(sum) {для отладки}
end;
end.
Если ничего не путаю, то должно работать правильно.
Dronga - конечно хорошо, что на халяву выложил ему код, но я хотел бабосы срубить )
На этом????? Побойся бога!
вот не успел запостить ))
1.
var
i, n: integer;
pr_item, sum: longint;
begin
writeln('Enter num of progression elements (>=2):');
readln(n);
pr_item := 2;
sum := 0;
writeln('Summed progression elements:');
for i := 0 to n do
begin
pr_item := pr_item shl 2;
if (not odd(i)) then
begin
sum := sum + pr_item;
write(pr_item, ' ');
end;
end;
writeln;
writeln('sum = ', sum);
end.
Enter num of progression elements (>=2):
10
Summed progression elements:
8 128 2048 32768 524288 8388608
sum = 8947848
2. Банальная рекурсия
var
x, a, n, result: integer;
function f(var x:integer; var a:integer; n:integer):integer;
begin
if (n = 1) then
f := sqr(x+a)+a
else
f := sqr(f(x, a, n - 1)) + a;
end;
begin
writeln('Enter x, a and n:');
readln(x, a, n);
writeln('Result = ', f(x, a, n));
end.
Enter x, a and n:
1 1 3
Result = 677
Обьяснять код не буду - сам разберешся
На этом????? Побойся бога!ну ну ))
Deem3n, dronga
спасибо вам огромное!!! есть ещё добрые люди на свете...+
ещё. если можете объясните что значат эти две строчки
pr_item := pr_item shl 2;
if (not odd(i)) then
Deem3n, dronga
спасибо вам огромное!!! есть ещё добрые люди на свете...+
ещё. если можете объясните что значат эти две строчки
pr_item := pr_item shl 2;
if (not odd(i)) then
pr_item := pr_item shl 2; экивалентно pr_item := pr_item * 4 - логический сдвиг влево на 2 бита битовой строки (написал так по привычке потому что первая инструкция выполняется намного быстрее второй)
Odd(X) Возвращает булево True (истина), если Х — нечетное целое, и False (ложь) — в противном случае
[Zarakul]
13.05.2006, 11:26
они вообще не сильно сложные(информатика 11 класс)..но я чета не могу.Ни разу в 11-ом классе даже близко таких задач не решали...
Deem3n
ещё раз спасибо!
Zarakul
А у нас вот так вот)))
']Ни разу в 11-ом классе даже близко таких задач не решали...
вы чё серъёзно.блин а нас закидывают такие барахлом.приходится делать
Блин. Ведь я лет в 15 такие задачки щёлкал. Экзамены сдавл даже. А сейчас паскаль забыл совсем :(
Старею?
Вот здесь ну очень легкая задача...больше по математике надо))) Решить задачу с использованием условного оператора. Составить программу для определения вида треугольника по двум сторонам и углу меджду ними. Определяемое совйство: равностороний, равнобедренный или прямоугольный(обратите внимание, что треугольник может быть равнобедренным прямоугольным). Для корректного анализа нужно определить ещё третью сторону (например, по теореме косинусов sqr(c)=sqr(a)+sqr(b)-2*a*b*cos(a)). вот что получилось у меня, но не правильно работает.
program abc;
var a,b,c,d:real;
begin
write('enter 1 side:'); readln(a);
write('enter 2 side:'); readln(b);
write('enter angle:'); readln(c);
d:=sqrt(sqr(a)+sqr(b)-2*a*b*cos(a));
if c=90 then writeln('priamougolnii');
if (a=b) and (a=d) and (c=60) then writeln('ravnostoronii');
if (a=b) or (b=d) or (a=d) and (c<>60)then writeln ('ravnobedrenii');
readln;
end.(
Все ещё требуется ваш хелп.
1) 2Mobile ты мудак
2) все кто хотели на этом срубить деньги просто гады :) должно быть стыдно.
3) Zakary - программирование это лишь умение задачу вбить комуптеру чтобы он ее делал, но если ты сам не знаешь как решать задачу теб нужно сначала над первым работать, а не браться за второе - это так совет.
1) стандартные тригонометрические функции в паскале берут угол как аргумент не в градусах, а радианах, для перевода градусов в радианы : rad=gradus*pi/180;
2) замени:
if (a=b) then if (c=60) then writeln('ravnostoronii')
else writeln ('ravnobedrenii');
Li4inka вот закрыла бы твой маленький ротик. Програмист-тракторист широкого профиля тебе звание было бы.
Li4inka
Спасибо за сове. но оскорблять не надо.....Mobile ведь пошутил)))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot