Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 21:55   #1
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
Смущение Задача на Паскаль

Здравствуйте!
Решаю задачи на тему «Цикл с параметром», но не могу понять как работает цикл.
Братцы растолкуйте поподробнее на примере следующей задачи:
For12°. Дано целое число N (>0). Найти произведение 1.1 • 1.2 • 1.3 •...(N сомножителей).
Моя программа считает неправильный результат:
var
a,p :real; {а – переменная для сомножителей, р – переменная для произведения}
i :integer;
begin
readln(a);
p :=1;
for i := 1 to 10 do
p :=p * (a + 0.1); writeln(p:5:2); read end.
Не соображу как написать тело цикла. А спросить, кроме как на Вашем форуме не у кого.
С уважением Виталий.
WitaliG вне форума Ответить с цитированием
Старый 12.11.2010, 22:00   #2
newStudent
Пользователь
 
Аватар для newStudent
 
Регистрация: 07.07.2010
Сообщений: 44
По умолчанию

Код:
var
p,a : real;
i,n : integer;
begin
readln(n);
p := 1;
i := 1;
a := 0.1;
while (i<=n) do
begin
p := p * (1 + a);
a := a + 0.1;
i := i + 1;
end;
writeln(p:5:2);
read
end.

Последний раз редактировалось newStudent; 12.11.2010 в 22:05.
newStudent вне форума Ответить с цитированием
Старый 12.11.2010, 22:02   #3
kitty19
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 24
По умолчанию

Если сомножителей N а р результат (шаг 0.1 начиная с 1.1) то будет так
Код:
var
N,i:integer;
p :real;
begin
readln(N);
p :=1;
for i := 1 to N do
p :=p * (1 + 0.1*i); 
writeln(p:5:2); 
read; 
end.
kitty19 вне форума Ответить с цитированием
Старый 12.11.2010, 22:13   #4
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
По умолчанию

Спасибо, красивый код, правильно считает. Но возник вопрос:
р - обьявлена переменная вещественного типа, а потом ей вдруг присвоено целое число. Как это обьяснить?!
WitaliG вне форума Ответить с цитированием
Старый 12.11.2010, 22:17   #5
newStudent
Пользователь
 
Аватар для newStudent
 
Регистрация: 07.07.2010
Сообщений: 44
По умолчанию

Идет преобразование целого числа в вещественное число
newStudent вне форума Ответить с цитированием
Старый 12.11.2010, 22:18   #6
kitty19
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 24
По умолчанию

А проблема то в чем?Если б наоборот было тогда понятно, а так паскаль воспримет p как 1.00
kitty19 вне форума Ответить с цитированием
Старый 12.11.2010, 22:46   #7
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
По умолчанию

Спасибо братцы.
WitaliG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Паскаль WitaliG Помощь студентам 7 24.10.2010 23:35
Задача на Паскаль WitaliG Помощь студентам 18 23.10.2010 08:05
задача по Паскаль... Вера123 Помощь студентам 3 09.06.2009 21:20
Задача на паскаль St1fler92 Помощь студентам 4 26.05.2009 16:21