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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 15:51   #1
Alyonka
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию задача в паскале

Не могу найти ошибку.
Условие:
Напишите программу, которая выводит на экран последовательность чисел: 3, 6, 12, 24... не более указанного числа N.
Код:
program z1v4;         
uses crt;              
var  n :integer;
 x, a, b  :real;  
begin                 
clrscr;               
writeln ('введите n');
readln (n);
x:=1;
repeat
b:=exp(2*ln(x-1))*3;
write( b, ' ');
x:=x+1;
until b=n+1;
write (b);
readkey;              
end.

Последний раз редактировалось Stilet; 19.12.2010 в 18:10.
Alyonka вне форума Ответить с цитированием
Старый 19.12.2010, 15:59   #2
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Код:
until b>n;
Novi4ok_11 вне форума Ответить с цитированием
Старый 19.12.2010, 16:07   #3
Alyonka
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Все равно не получается. Пишет: "Error 207: Invalid floating point operation"
Alyonka вне форума Ответить с цитированием
Старый 19.12.2010, 16:11   #4
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Это в формуле
b:=exp(2*ln(x-1))*3;
Ошибка

Цитата:
x:=1;
Такого быть не может нада
Цитата:
x:=2;
хотя бы
Так как тогда Ln(0) берется

Код:
program z1v4;
uses crt; 
var n :integer;
x, a, b :real;
begin 
clrscr; 
writeln ('введите n');
readln(n);
x:=2;
repeat
b:=exp(2*ln(x-1))*3;
write( b, ' ');
x:=x+1;
until b=n+1;
write (b);
readkey; 
end.

Последний раз редактировалось Stilet; 19.12.2010 в 18:12.
Novi4ok_11 вне форума Ответить с цитированием
Старый 19.12.2010, 16:24   #5
Alyonka
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Это я исправила, но, похоже, там где-то ошибка в самой формуле. Вместо 3, 6, 12, 24... он выводит 3, 12, 27...
Alyonka вне форума Ответить с цитированием
Старый 19.12.2010, 16:33   #6
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Код:
program z1v4;
uses crt; 
var n,b :integer;
begin
clrscr; 
writeln ('введите n');
readln(n);
b:=3;
Write(b,' ');
repeat
b:=b*2;
write( b, ' ');
until b>=n;
readkey;
end.
Если нада вывести 3 6 12 24 48 96 ...
Novi4ok_11 вне форума Ответить с цитированием
Старый 19.12.2010, 16:34   #7
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

а если так:
Код:
var
n,m:integer;
begin
write('Введите N:');
readln(n);
m:=3;
while m<n do begin
writeln(m);
m:=m+m;
end;
end.
Цитата:
Сообщение от Novi4ok_11 Посмотреть сообщение
Код:
program z1v4;
Если нада вывести 3 6 12 24 48 96 ...
если ввести N=49 то у тебя выведет 3 6 12...96
а 96>49... т.е. 96>N

Последний раз редактировалось Stilet; 19.12.2010 в 18:10.
unbanned вне форума Ответить с цитированием
Старый 19.12.2010, 16:45   #8
Alyonka
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Novi4ok_11, числа, теперь получаются правильные, но он почему-то выводит еще и то число, которое превышает N.
Например, N=50, то результат должен быть 3, 6, 12, 24, 48, а он еще выводит 96.
Alyonka вне форума Ответить с цитированием
Старый 19.12.2010, 16:53   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Код:

program z1v4;
uses crt; 
var n,b :integer;
begin
clrscr; 
writeln ('введите n');
readln(n);
b:=3;
repeat
Write(b,' ');
b:=b*2;
until b>=n;
readkey;
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 16:56   #10
Alyonka
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Всё! Заработало! Спасибо вам большое! =) Чмок!
Alyonka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Паскале Have_idea Помощь студентам 7 01.11.2010 19:49
ЗАДАЧА НА ПАСКАЛЕ. ddeman666 Помощь студентам 2 01.11.2010 13:29
Задача в паскале Viktoria90 Помощь студентам 2 30.12.2009 17:51
Задача в Паскале! d00ker Помощь студентам 1 04.02.2009 23:22
задача в паскале __k1ll3r__ Помощь студентам 3 27.12.2007 05:41