Привет всем. хочу спросить..кто-нибудь может помочь сделать пару задач на паскале? 1-ая Решить задачу с использованием цикла. найти сумму к чисел, стоящих на четных местах в геометрической прогрессии 2,8,32,128,512 2-ая Даны числа a и х. Вычтислить значение выражения sqr(sqr(...sqr(sqr(х+а)+а)+...+а))+а всего н скобок. кто сможет помогите пожалуйста по ним..особенно по первой. они вообще не сильно сложные(информатика 11 класс)..но я чета не могу.
Блин, подправьте, а то без компилятора под рукой фигово. 1. Code: 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(х+а)+а)+...+а))+а Code: 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. Если ничего не путаю, то должно работать правильно.
вот не успел запостить )) 1. Code: 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. Code: Enter num of progression elements (>=2): 10 Summed progression elements: 8 128 2048 32768 524288 8388608 sum = 8947848 2. Банальная рекурсия Code: 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. Code: Enter x, a and n: 1 1 3 Result = 677 Обьяснять код не буду - сам разберешся ну ну ))
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 бита битовой строки (написал так по привычке потому что первая инструкция выполняется намного быстрее второй)
Блин. Ведь я лет в 15 такие задачки щёлкал. Экзамены сдавл даже. А сейчас паскаль забыл совсем Старею?
Вот здесь ну очень легкая задача...больше по математике надо))) Решить задачу с использованием условного оператора. Составить программу для определения вида треугольника по двум сторонам и углу меджду ними. Определяемое совйство: равностороний, равнобедренный или прямоугольный(обратите внимание, что треугольник может быть равнобедренным прямоугольным). Для корректного анализа нужно определить ещё третью сторону (например, по теореме косинусов sqr(c)=sqr(a)+sqr(b)-2*a*b*cos(a)). вот что получилось у меня, но не правильно работает. Code: 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) замени: Code: if (a=b) then if (c=60) then writeln('ravnostoronii') else writeln ('ravnobedrenii');
Li4inka вот закрыла бы твой маленький ротик. Програмист-тракторист широкого профиля тебе звание было бы.