Страница 1 из 1
Задачи по Абрамову (Паскаль)
Добавлено: 01 ноя 2008, 19:40
Andrux
Доброго времени суток, Уважаемые программисты!
Прошу вас решить такие вот задачки, из задачника
С.А Абрамова(Задачи по программированию Гречникова Е.А)
если можно, то с блок схемой. На языке Паскаля.
Номера:
задачи на простейшие циклы ----- 81 ; 83-a ; 117-б
пошаговый ввод данных и вывод результатов ----- 136-в
сочетания цикла и разветвления ----- 179-в
вычисления с хранением последовательности значений ----- 271
вложенные циклы в матричных задачах ----- 367
Вот такие вот задачи...
Очень срочно нужно, пожалуйста решите мне...
http://www.photoshare.ru/photo2399087.html
ПАРОЛЬ к альбому: 555
Искреннее признателен и благодарен вам!
Re: Задачи по Абрамову...
Добавлено: 02 ноя 2008, 14:04
Andrux
Я буду сам их решать(писать) тогда, только от вас я прошу помочь мне в решении и объяснить почему там так, как вы написали.
Я хочу это сам все понять!
Заранее благодарю!
Вот например задача № 81.
Вот что я написал, но какая-то проблема со скобками, просьба помочь...
Код: Выделить всё
program zad81;
uses crt;
var p:longint;
n,i,x,a:integer;
begin
clrscr;
writeln('Vvedite znachenie n');
readln(n);
p:=((n((sqr(x+a)+sqr(a))+sqr(a))+a;
for i:=1 to n do p:=p*i;
writeln('P=',p:10);
readln;
end.
Вот еще одна задачка...
Тоже что получилось... дальше не получается
Код: Выделить всё
program andzad83a;
uses crt;
var a,p:integer;
s:longint;
begin
clrscr;
writeln('Vvedite a');
readln(a);
s:=1;
p:=1;
while p<=a do
begin
for s:=1 to a do
for s:=1+(1/2) to a do
for s:=1+(1/2)+(1/3) to a do
p:=p+1;
end;
writeln('S=' , s:8);
readln;
end.
Re: Задачи по Абрамову...
Добавлено: 02 ноя 2008, 14:59
Andrux
вот 117 почти получилась но в самом примере чтото не правильно написал.
Проверьте пожалуйста и напишите как правильно будет...
Код: Выделить всё
program anzad117;
uses crt;
var p:real;
n,i:integer;
begin
clrscr;
writeln('Vvedite znachenie n');
readln(n);
p:=1;
for i:=1 to n do
p:=p*((2*i-1)/i);
writeln('P= ' , p:6:2);
readln;
end.
Re: Задачи по Абрамову...
Добавлено: 02 ноя 2008, 16:08
Хыиуду
81. То, что вы написали -
p:=((n((sqr(x+a)+sqr(a))+sqr(a))+a;
for i:=1 to n do p:=p*i;
- это бредятина полная
p:=x+a;
for i:=1 to n do p:=p*p+a;
83. У вас тоже написана ерунда
Код: Выделить всё
p:=0;
i:=1;
while p<a do
begin
p:=p+1/i;
inc(i);
end;
117 на первый взгляд верный
Re: Задачи по Абрамову (Паскаль)
Добавлено: 02 ноя 2008, 16:19
Andrux
Большое Спасибо!
Re: Задачи по Абрамову (Паскаль)
Добавлено: 02 ноя 2008, 16:26
Andrux
или 81 так?
Код: Выделить всё
program andzad81;
uses crt;
var p,a:real;
n,i:integer;
begin
clrscr;
writeln('Vvedite znachenie n');
readln(n);
writeln('Vvedite znachenie a');
readln(a);
p:=0;
for i:=1 to n do
p:=sqr(p+a);
writeln('P=',p:6:2);
readln;
end.
Там ведь из под корня...
а 83 так?
Код: Выделить всё
program andzad83a;
uses crt;
var a,p:integer;
s:real;
begin
clrscr;
writeln('Vvedite a');
readln(a);
s:=1;
p:=1;
while s<=a do
s:=s+1/p;
p:=p+1;
writeln('S=' , s:6:2);
readln;
end.
или так как вы написали?
Re: Задачи по Абрамову (Паскаль)
Добавлено: 02 ноя 2008, 17:03
Andrux
Вот почти уже конец задачек...
Помогите пожалуйста.
Чета... я на 179в вообще встал.
Что смог? то написал, дальше уже не знаю что...
Напишите ее и объясните пожалуйста! как вы ее сделал, что использовали.
Код: Выделить всё
program anzad179v;
uses crt
var n,a1,an:real;
procedure(qi:real;var q1,qn:real);
begin
clrscr;
qi:=
end.
Еще вот 367 задачка, эт на массивы, чет не понимаю дальше как...
Помогите пожалуйста... кто знает, как решить.
Код: Выделить всё
program anzad367;
uses crt;
var
A:Array [1..3] Of Integer;
B:Array [1..3, 1..3] Of Integer;
I,J:Integer;
begin
clrscr;
writeln;
for I:=1 to 3 do
for J:=1 to 3 do
B[I,J]:=A[I]-3*A[J];
writeln;
readln;
end.
Теперь, что нужно дописать, чтобы программа считала по условию?...
Re: Задачи по Абрамову (Паскаль)
Добавлено: 02 ноя 2008, 19:29
Andrux
2 Задачи решены правильно, но не видно решения.
Пожалуйста, Подскажите где подправить чтоб было все видно и шел расчет?!
Код: Выделить всё
program anzad271;
uses crt;
var i: integer;
at: real;
a: array[1..15] of real;
sum: real;
begin
clrscr;
for i := 1 to 15 do
begin
read(a[i]);
at := at + a[i];
end;
at := at / 15;
sum := 0;
for i := 1 to 15 do
sum := sum + sqr(a[i] - at);
sum := sum / 14;
sum := sqrt(sum);
writeln(at:6:2,' ',sum:6:2);
readln;
end.
Код: Выделить всё
program anzad179v;
uses crt;
var n,qi,i,xx:integer;
begin
clrscr;
writeln('Vvedite chemu ravno n');
read(n);
for i:=1 to n do
begin
read(qi);
xx:=5-3*qi;
if qi*qi=xx then
write(qi,' ' );
end;
readln;
end.
Заранее благодарю!
Re: Задачи по Абрамову (Паскаль)
Добавлено: 03 ноя 2008, 18:01
Хыиуду
>> или 81 так?
for i:=1 to n do
p:=sqr(p+a);
Если делать так, в конце у вас никогда не получится +а. Будет а в квадрате.
>> а 83 так? или так как вы написали?
Два кода абсолютно идентичны, только имена переменных другие.
179 - непонятно условие. Что значит "обладают тем свойством, что корни уравнения такого-то"? Может быть просто являются корнями уравнения? Тем более это не уравнение, это выражение. Если надо найти корни выражения, надо четко задать либо х, либо Qi
367 - все сделано точно по заданию. Нигде же не сказано "Вывести эту матрицу на экран"

Впрочем, ничто не мешает в цикле по i и j вывести b[i,j]
271 - непонятно условие.