Программа на Паскале

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Milkyway
Полковник
Полковник
Сообщения: 4470
Зарегистрирован: 19.11.2008
Благодарил (а): 62 раза
Поблагодарили: 133 раза
Контактная информация:

#1 Сообщение 05.12.2010, 13:49

Задание:
Напишите программу, которая определяет, является ли заданное число степенью 3.

Ограничение:
1)Обязательно использовать неопределенный цикл(While).

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#2 Сообщение 05.12.2010, 13:56

Синтаксис не помню но семантика проста :)
Ну и это всё без объявления переменных и работает, конечно, только для целых положительных

Код: Выделить всё

begin
 n := число
 i := 1
 while (i*i*i < n)
  i:=i+1;
 end;
 if(i*i*i = n) then
  writeln('true');
 else
  writeln('false');
 end;
end.

Milkyway
Полковник
Полковник
Сообщения: 4470
Зарегистрирован: 19.11.2008
Благодарил (а): 62 раза
Поблагодарили: 133 раза
Контактная информация:

#3 Сообщение 05.12.2010, 14:12

MOZGIII
Почему ты присваиваешь i:=1?

Добавлено спустя 13 минут 33 секунды:
В общем-то все работает с небольшой корректировкой. Спасибо.

Аватара пользователя
olegv11
Полковник
Полковник
Сообщения: 2329
Зарегистрирован: 16.03.2007
Откуда: От мамы

#4 Сообщение 05.12.2010, 15:56

Milkyway666
Как ты к переменной, не имеющей значения прибавишь 1?
Изображение
Garry Newman писал(а):Atheists don't hate religious people, they just think they're stupid.

Milkyway
Полковник
Полковник
Сообщения: 4470
Зарегистрирован: 19.11.2008
Благодарил (а): 62 раза
Поблагодарили: 133 раза
Контактная информация:

#5 Сообщение 05.12.2010, 16:51

olegv11
я просто сначала не понял почему именно 1, но уже догнал. а если не указать значение, то она просо будет равна 0.

Аватара пользователя
olegv11
Полковник
Полковник
Сообщения: 2329
Зарегистрирован: 16.03.2007
Откуда: От мамы

#6 Сообщение 05.12.2010, 22:27

Milkyway666
Разве? Зачем же тогда нас учили обнулять переменные?
Изображение
Garry Newman писал(а):Atheists don't hate religious people, they just think they're stupid.

Аватара пользователя
1nquIz
Полковник
Полковник
Сообщения: 5022
Зарегистрирован: 22.05.2008
Откуда: Lemberg, UA
Поблагодарили: 9 раз

#7 Сообщение 05.12.2010, 22:31

Если не указать значение, то она будет неинициализированной же, а это совсем не ноль. Или конпелятор паскалевский сам инициализирует их?
[txtspoil]:3[/txtspoil]

Аватара пользователя
x_000
Полковник
Полковник
Сообщения: 4889
Зарегистрирован: 25.02.2008
Откуда: Deutsches Reich
Благодарил (а): 6 раз
Поблагодарили: 18 раз

#8 Сообщение 05.12.2010, 23:08

паскаль не сишка же, он вроде как сам инициализирует нулем по дефолту

Milkyway
Полковник
Полковник
Сообщения: 4470
Зарегистрирован: 19.11.2008
Благодарил (а): 62 раза
Поблагодарили: 133 раза
Контактная информация:

#9 Сообщение 12.12.2010, 12:34

x_000 писал(а):он вроде как сам инициализирует нулем по дефолту
именно

_____

Выкладываю очередную задачу:
Дана непустая последовательность целых чисел, оканчивающаяся нулем.
Найти:
а) сумму всех чисел последовательности;
б) коичество всех чисел последовательности.
а,б - в одной программе.

Ограничения:
- Использовать неопределенный цикл До(Repeat ... Until)
Кто поможет, тому печенька.
Последний раз редактировалось Milkyway 12.12.2010, 14:52, всего редактировалось 1 раз.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#10 Сообщение 12.12.2010, 14:12

Логика должна быть понятна, синтаксис может быть с косяками...

n: integer;
sum: integer;
count: integer

begin
readln(n);
sum:=0;
while n<>0 do
begin
sum:=sum+n;
count:=count+1;
readln(n);
end;
end.

Добавлено спустя 2 минуты 51 секунду:
а откуда и зачем задачки то такие?)))
fixd
Последний раз редактировалось MOZGIII 12.12.2010, 14:23, всего редактировалось 2 раза.
Причина: fix

Аватара пользователя
Nice_Smile
Модератор
Модератор
Сообщения: 2540
Зарегистрирован: 07.11.2007
Откуда: Москва
Благодарил (а): 13 раз
Поблагодарили: 23 раза
Контактная информация:

#11 Сообщение 12.12.2010, 14:15

MOZGIII писал(а):n:= readline?

Код: Выделить всё

readln(n); 
Не?

Добавлено спустя 1 минуту 45 секунд:
MOZGIII писал(а):while n<>0

Код: Выделить всё

while n<>0 do
Изображение
Изображение

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#12 Сообщение 12.12.2010, 14:20

я последний раз на паскале кодил лет 6 назад

Аватара пользователя
Nice_Smile
Модератор
Модератор
Сообщения: 2540
Зарегистрирован: 07.11.2007
Откуда: Москва
Благодарил (а): 13 раз
Поблагодарили: 23 раза
Контактная информация:

#13 Сообщение 12.12.2010, 14:28

Изображение
Изображение
Изображение

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#14 Сообщение 12.12.2010, 14:30

И как, работает? xD

Аватара пользователя
Nice_Smile
Модератор
Модератор
Сообщения: 2540
Зарегистрирован: 07.11.2007
Откуда: Москва
Благодарил (а): 13 раз
Поблагодарили: 23 раза
Контактная информация:

#15 Сообщение 12.12.2010, 14:32

Да, вроде всё отлично.
Изображение
Изображение

Ответить