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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.10.2014, 12:35   #1
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
Восклицание Алгоритм циклической структуры

Добрый день! Помогите пожалуйста с задачей. Не знаю как сделать начало, БЕЗ МАССИВА. Дальше то вроде понятно, а вот как начать, чтобы вводилась какая-то последовательность, а знак окончания её был ноль. Задача: Вводится последовательность натуральных чисел. Признак конца ввода – 0. определить является ли последовательность геометрической прогрессией.
Ilai вне форума
Старый 19.10.2014, 12:50   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Вам алгоритм, как я понимаю?

Так устроит?
1) Считываем первое число - если ноль - выход с ошибкой - последовательности НЕТ
2) Считываем второе число- если ноль - выход с ошибкой - последовательность из одного числа не является последовательностью.
3) если оба числа не ноль (раз дошли до данного пункта) вычисляем шаг (делим второе число на первое).
4) устанавливаем признак того, что последовательность ЯВЛЯЕТСЯ геометрической (признак в TRUE)
5) дальше в цикле - считать очередное число.
Если оно ноль - выход из цикла, иначе (не ноль) делим данное число на предыдущее - если полученное значение НЕ совпадает с шагом, вычисленном в п.3) - устанавливаем признак того, что последовательность НЕ ЯВЛЯЕТСЯ геометрической (признак в FALSE).
взять текущее число как предыдущее
повторить цикл

5) после выхода из цикла
проверить признак, если он ИСТИНА, то сообщение, что последовательность ЯВЛЯЕТСЯ геометрической последовательностью
иначе - последовательность НЕ ЯВЛЯЕТСЯ геометрической последовательностью


всё.
Serge_Bliznykov вне форума
Старый 19.10.2014, 12:53   #3
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
По умолчанию

Спасибо, но я немного не то имел ввиду. Извините. Я имел ввиду как написать в Pascal начало ввода последовательности чисел до Begin
Ilai вне форума
Старый 19.10.2014, 12:56   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
Хорошо

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вам алгоритм, как я понимаю?

Так устроит?
1) Считываем первое число - если ноль - выход с ошибкой - последовательности НЕТ
2) Считываем второе число- если ноль - выход с ошибкой - последовательность из одного числа не является последовательностью.
3) если оба числа не ноль (раз дошли до данного пункта) вычисляем шаг (делим второе число на первое).
4) устанавливаем признак того, что последовательность ЯВЛЯЕТСЯ геометрической (признак в TRUE)
5) дальше в цикле - считать очередное число.
Если оно ноль - выход из цикла, иначе (не ноль) делим данное число на предыдущее - если полученное значение НЕ совпадает с шагом, вычисленном в п.3) - устанавливаем признак того, что последовательность НЕ ЯВЛЯЕТСЯ геометрической (признак в FALSE).
взять текущее число как предыдущее
повторить цикл

5) после выхода из цикла
проверить признак, если он ИСТИНА, то сообщение, что последовательность ЯВЛЯЕТСЯ геометрической последовательностью
иначе - последовательность НЕ ЯВЛЯЕТСЯ геометрической последовательностью


всё.
Очень даже годный православный алгоритм.

Цитата:
до Begin
а до этого священного заклинания в паскакалях ничего не делается!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось Stilet; 25.10.2014 в 18:07.
min@y™ вне форума
Старый 19.10.2014, 13:03   #5
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
По умолчанию

Имею ввиду как написать в Pascal без массива, что у меня будет некая последовательность, конец которой будет обозначен 0
Ilai вне форума
Старый 19.10.2014, 13:06   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
ReadLn(t);
что-то
while t <> 0 do begin
   что-то
   ReadLn(t)
end;
Poma][a вне форума
Старый 19.10.2014, 13:19   #7
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
По умолчанию

Большое спасибо)
Ilai вне форума
Старый 20.10.2014, 00:24   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от min@y™
Очень даже годный православный алгоритм.
дык, во истину так!


Цитата:
Сообщение от Poma][a
Код:
ReadLn(t);
что-то
while t <> 0 do begin
   что-то
   ReadLn(t)
end;
ну, вот так всегда, я пыхтел, расписывал и всё зря.
А Ромаха несколько строчек кода написал и в точку!!
Молодца!
Serge_Bliznykov вне форума
Старый 25.10.2014, 17:12   #9
Ilai
Пользователь
 
Регистрация: 10.09.2014
Сообщений: 90
По умолчанию

Всем большое спасибо! Вы мне очень помогли)))
Ilai вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм циклической структуры С++ sofalina Помощь студентам 5 12.11.2012 23:22
Алгоритмы циклической структуры лекси Помощь студентам 3 11.11.2012 01:26
программа циклической структуры Irishka_F Помощь студентам 2 06.02.2012 01:10
Программы циклической структуры vlad19_94 Помощь студентам 2 26.01.2012 19:04
Алгоритм циклической структуры(Pascal) ksu04061992 Помощь студентам 0 30.11.2011 01:02