Задача на организацию цикла
Помогите прогу написать. Сформировать последовательность,элементы которой вычисляются по формуле A=N/(N+1),N=1,2,...20.
Ув. natus!
У меня к вам большая просьба, что бы вы давали название ветке по теме.
Читайте правила, пожалуйста.
Также для вас будет лучше, если вы сами попытаетесь решить задачу. А на форум будете обращаться с конкретными проблемами выкладавая код который вы уже написали.
п.с. по правилам форума ваше сообщение нужно было бы удалить. Удачи :).
Var N,A;integer;
begin
N:=1;
for N:=1 to 20 do;
A:=N/(N+1);
writeln(A=N/(N+1));
readln;
end.
Что можно с этим сделать?
Program 111;
Var N,A;integer;
begin
N:=1;
for N:=1 to 20 do;
A:=N/(N+1);
writeln(A=N/(N+1));
readln;
end.
Что можно с этим сделать?
Ну ты даешь...ошибка почти в каждом слове...я немного не понял вопрос...
ну вроде вот то, что ты хотел:
begin
for N:=1 to 20 do
A:=N/(N+1);
writeln(A);
readln;
end.
Нафиг оно те вобще надо?
===================================
Редактировал
===================================
ага точно забыл, ведь integer - эт целые числа
A:real;
begin
for N:=1 to 20 do
A:=N/(N+1);
writeln(A);
readln;
end.
иль так
begin
for N:=1 to 20 do
A:=round(N/(N+1));
writeln(A);
readln;
end.
И мне кажется, что надо будет написать так:
Здесь [COLOR=red]^[/COLOR] нельзя ставить цифры (ругаться будет)!
...
[COLOR=green] Begin[/COLOR]
A:=N/(N+1);
WriteLn(A);
[COLOR=green] End;[/COLOR]
...
Если не округлять N/(N+1), то переменной A не помешало бы сделать тип Real
И мне кажется, что надо будет написать так:
[COLOR=green] Begin[/COLOR]
A:=N/(N+1);
WriteLn(A);
[COLOR=green] End;[/COLOR]
...
Все правильно, но одна проблема есть: деление целочисленных переменных (integer) даст целый результат. Например:
5 / 2 = 2
но
5.0 / 2 = 2.5
Не думаю что Паскаль в данном вопросе исключение => нужно преобразовать в тип real одно из целых чисел. В С это так делают:
А := N*1.0/(N+1);
OR
A := (real)N/(N+1);
Может быть один из вариантов в Паскаль сработает.
Не думаю что Паскаль в данном вопросе исключение => нужно преобразовать в тип real одно из целых чисел.
Паскаль - исключение. Можно не преобразовывать.
Паскаль - исключение. Можно не преобразовывать.
Очень интересное исключение, и на мой взгляд весьма стрнное :).
Все правильно, но одна проблема есть: деление целочисленных переменных (integer) даст целый результат. Например:
5 / 2 = 2
Видимо в C автоматически выводит целое число, отсекая все остальное (в паскале такое можно провернуть при помощи функции Trunc() ).
В pas немного подругому, здесь безразницы 5 или 5.0 результат получается один и тотже (2.5000000000E+00), который можно исправить при выводе на экран таким образом ( Write(5/2:0:1) - выведет 2.5 )
А := N*1.0/(N+1);
OR
A := (real)N/(N+1);
Может быть один из вариантов в Паскаль сработает.
К сожалению ни один из этих вариантов не работае в паскале. Если в var указывается переменной тип integer, то хрен этой переменной присвоешь другой тип в другом месте проги, если конечно var не относиться к какой-нибудь процедуре или функции. Хотя менять тип в runtime можно при помощи указателей т.е. динамических переменных
>
В Паскале операция "/" трактуется единственным образом - как вещественное деление и операнды автоматически приводятся в нужный вещественный формат. И в паскале есть операция DIV - это целочисленное деление (с остатком) операнды должны быть только одного из целочисленных типов.
Program 111;
Var N,A:integer;
begin
N:=1;
for N:=1 to 20 do;
A:=N/(N+1);
writeln(A=N/(N+1));
readln;
end.
Что можно с этим сделать?
Program iii;
Var N:integer;
begin
for N:=1 to 20 do writeln(N/(N+1):1:7);
readln;
end.
Program iii;
Var N;integer;
begin
for N:=1 to 20 do writeln(N/(N+1):1:7);
readln;
end.
Эх ты периписал с ошибкой!
Var N:integer;
А идея хорошая))
Эх ты периписал с ошибкой!
Var N:integer;
А идея хорошая))
апшивбки есчо бивайут )). шифт недожал .:D
procedure Schet;
var
n:integer;
begin
for N:=1 to 20 do writeln(N/(N+1):1:7);
readln;
end;
begin
Schet;
end.
А ещё так мона!!=)
глазки наверх подыми, и увидишь что такое решение уже было :-)
не надо флудить плиз