Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/533: Рейтинг темы: голосов - 533, средняя оценка - 4.61
7 / 7 / 3
Регистрация: 06.12.2009
Сообщений: 33

Оператор цикла for с шагом 2

20.12.2009, 14:21. Показов 107358. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такая задача:
Использовать оператор цикла for (и только for), при этом шаг должен быть равен двум.
Как это сделать? Ввести новую переменную?
Прошу привести пример. Заранее благодарен.
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2009, 14:21
Ответы с готовыми решениями:

Используя оператор цикла с параметром, протабулировать функцию с шагом dx=0,1
Используя оператор цикла с параметром, протабулировать функцию с шагом dx=0,1. Найти и напечатать также минимальное, максимальное и среднее...

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры.
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения...

Показать, что любой оператор цикла while можно записать с помощью цикла repeat
Показать, что любой оператор цикла с предусловием можно записать с помощью условного оператора и оператора цикла с постусловием.

32
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
27.12.2009, 13:09
Студворк — интернет-сервис помощи студентам
Глубокоуважаеммый CPU66!
Вы же у нас начитаный человек. Пожалуйста подскажите нам, невеждам, как только с помошью for, и только for (см. условие задачи), обеспечить шаг равным двум.
0
3 / 3 / 0
Регистрация: 22.12.2009
Сообщений: 8
27.12.2009, 22:17
ну в общем то не сложно поставить элементарную проверочку,чтобы не зациклился)))
а вот ответ LeBron23 мне очень понравился)
спс )

Добавлено через 19 минут
Pascal
1
2
3
4
5
for i:=1 to n do
begin
<тело цикла>;
if (n mod 2 <> 0) and (i=n) then break else i:=i+1;
end;
так прога ОДНОЗНАЧНО НЕ ЗАЦИКЛИТСЯ и шаг = 2 !!!

что неясно спрашивайте)))

Добавлено через 3 минуты
аналогично же можно делать цикл с ЛЮБЫМ шагом...
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.12.2009, 22:27
nikkka, Вам какую конкретно задачу нужно решить? Шаг в цикле всегда или 1 или -1, но приращение можно делать абсолютно любое, что и делают всегда, например при построениях в цикле.
Если нужно вывести точки через 60 пикселей, то пишут
Pascal
1
2
3
x0:=0;
for i:=1 to 10 do
x:=x0+(i-1)*60;
1
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
28.12.2009, 07:59
Разумеется шаг в цикле всегда будет 1. Но положим вам надо вывеси все ЧЕТНЫЕ числа от одного до n. Тогда вам надо будет делить i на два, проверять, и т.д. Но такое решение уже было предложено, и автор попросил другое. Можно ведь запустить цикл for i:=1 to trunc(n/2), а использовать не саму переменную i, а переменную а, которой мы должны будем (в конце каждого цикла) писать a:=trunc(a*2);. Что тут не правильного?
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.12.2009, 09:02
nikkka, Да все правильно, я же и пишу, нужно знать конкретную задачу, а не изобретать велосипед.
1
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
28.12.2009, 09:19
и чего мучаются с этим шагом в цикле for?
сказали же по-русски: возьмите цикл до половины диапазона и умножайте на 2
с теми же чётными числами (от 1 до 10):
Pascal
1
2
for i:=1 to 5 do
write i*2;
вот вам и шаг=2
1
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
28.12.2009, 09:38
ALEXEVT, шаг всё равно будет 1. А умножать на два а или i, это уже дело хозяйское...
Так что в принципе, вы написали то же самое, хотя всё таки лучше брать отдельную переменную, чтобы не запутаться.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
28.12.2009, 09:59
шаг будет 1, но из него легко сделать любой другой
что поделать, паскаль не бейсик, это там можно писать for i=1 to 10 step 0.12
0
3 / 3 / 0
Регистрация: 22.12.2009
Сообщений: 8
28.12.2009, 10:15
а зачем нам вводить новую переменную?
бессмысленный расход оперативной памяти...
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
28.12.2009, 11:34
CPU66, а как по другому?
0
3 / 3 / 0
Регистрация: 22.12.2009
Сообщений: 8
28.12.2009, 12:13
я же писал
жаль, что приходится использовать break, но что поделать...
Pascal
1
2
3
4
5
for i:=1 to n do
begin
<тело цикла>;
if (n mod 2 <> 0) and (i=n) then break else i:=i+1;
end;
вот так обеспечивается шаг = 2
1
7 / 7 / 3
Регистрация: 06.12.2009
Сообщений: 33
16.01.2010, 12:44  [ТС]
Огромное спасибо всем за предоставленные варианты

Все способы хороши, но самым эффективным мне показался этот:

Цитата Сообщение от alexevt Посмотреть сообщение
берём цикл for, но проходим до середины интервала, удваиваем i и получаем шаг=2
Pascal
1
2
3
4
5
for i:=1 to 5 do
begin
a:=i*2;
writeln(a);
end;
Тут и делить ничего не надо и условных операторов нет
1
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
26.12.2012, 13:36
Цитата Сообщение от katuha13 Посмотреть сообщение
var i,n:integer;
begin
for i:=1 to n do
begin
...
inc(i);
end;
...
end.
ты сам пробовал это делать? Нельзя изменять значение переменной цикла внутри этого цикла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2012, 13:36

Оператор цикла, условный оператор
сделайте, пожалуйста, кому не сложно

Построить график функции y=x^2 в точках от -10 до 10 с шагом 2 через оператор if.
Построить график функции y=x^2 в точках от -10 до 10 с шагом 2 через оператор if.

Оператор цикла
Вводиться последовательность из N целых чисел, найти разность между произведением нечетных чисел и наибольшим среди отрицательных чисел.

оператор цикла WHILE
задание: написать програму при помощи оператора цикла WHILE для подсчета суммы ряда с точность Е=10-4 общий член которого a(c индексом...

Оператор цикла While
По формуле члена последовательности с номером k: (3(k+1))/((7k^2)+9), найти сумму первых n членов последовательности (k=1,2,3..,n). ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru