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

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

20.12.2009, 14:21. Показов 106839. Ответов 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
64315 / 47611 / 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
64315 / 47611 / 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru