IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Голова отказываетса понимать алгоритм for? помогите пожалуйсто, мне нужно віучить алгоритм for, но проблема в том что я не понимая его
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


wacko.gif тихо схожу сума, после завтра на олимпиаду, мне пытаюста впихнуть очередной алгоритм, но голова загружена по некуда..что-то поняла, но вот что сам алгоритм делает нет..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


что не понятно?
это цикл, который проходит от начального значения до конечного с шагом +1 или -1

Сообщение отредактировано: Client -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(Client @ 8.12.2010 20:20) *

что не понятно?
это цикл, который проходит от начального значения до конечного с шагом +1 или -1

Да это и не понятно, я его напрочь не понимаю, при каких случаях он используетса
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


полагаю, что книги все таки читала?
цикл for... используется, если заранее известно количество итераций. Например, надо посчитать сумму от 1 до 10
for i := 1 to 10 do S := S + i;
. Здесь каждый раз проверяется условие, если i меньше чем конечное значение то тело цикла выполнится. можно сделать это и через while/repeat...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(Client @ 8.12.2010 20:35) *

полагаю, что книги все таки читала?
цикл for... используется, если заранее известно количество итераций. Например, надо посчитать сумму от 1 до 10
for i := 1 to 10 do S := S + i;
. Здесь каждый раз проверяется условие, если i меньше чем конечное значение то тело цикла выполнится. можно сделать это и через while/repeat...

книжки только нетовские, посчитать суму от одного до 10 как понимать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 113
Пол: Мужской
Реальное имя: Надир

Репутация: -  6  +


Цитата(Katucha @ 8.12.2010 20:49) *

книжки только нетовские, посчитать суму от одного до 10 как понимать?

1+2+3+4+5+6+7+8+9+10


--------------------
From ZERO to HERO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(Freedom @ 8.12.2010 20:55) *

1+2+3+4+5+6+7+8+9+10

Так уже лутше хоть что-то понимаю, огромное спасибо! rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 113
Пол: Мужской
Реальное имя: Надир

Репутация: -  6  +


Цитата(Katucha @ 8.12.2010 20:56) *

Так уже лутше хоть что-то понимаю, огромное спасибо! rolleyes.gif

Википедия цикл
может это как нибудь поможет. А лучший способ это запустить паскаль и пытаться узнать что же делает этот цикл.


--------------------
From ZERO to HERO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(Freedom @ 8.12.2010 21:05) *

Википедия цикл
может это как нибудь поможет. А лучший способ это запустить паскаль и пытаться узнать что же делает этот цикл.

методом научного тыка?Мне обьясняли, я что-то вроде как начала понимать, но потом запуталась, и поэтому не стала рисковать так делать что бы себя ещо больше не загрузить.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 113
Пол: Мужской
Реальное имя: Надир

Репутация: -  6  +


Цитата(Katucha @ 8.12.2010 21:09) *

методом научного тыка?Мне обьясняли, я что-то вроде как начала понимать, но потом запуталась, и поэтому не стала рисковать так делать что бы себя ещо больше не загрузить.

вот допустим вам нужно вывести на экран надпись 'Привет'.
так вот чтотбы не писать
writeln('Привет');
writeln('Привет');
......
writeln('Привет');
writeln('Привет');

Это можно сделать намного проще, тоесть цикл повторяет одно и то же действие.
For i:=1 to 10 do writeln('Привет');

Или тот же пример с суммой чисел от 1 до 10
1)a:=1+2+3+4+5+6+7+8+9+10;
переменной i во время цикла присваивается значение с начала 1, потом 2, потом 3 и т.д
2)For i:=1 to 10 do summa:=summa+i;
в первом примере для того чтобы считало сумму чисел от 1 до 10 нужно к переменной a прибавлять 11+12..,
а в цикле достаточно заменить 10 на 20

Сообщение отредактировано: Freedom -


--------------------
From ZERO to HERO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(Freedom @ 8.12.2010 21:18) *

вот допустим вам нужно вывести на экран надпись 'Привет'.
так вот чтотбы не писать
writeln('Привет');
writeln('Привет');
......
writeln('Привет');
writeln('Привет');

Это можно сделать намного проще, тоесть цикл повторяет одно и то же действие.
For i:=1 to 10 do writeln('Привет');

Или тот же пример с суммой чисел от 1 до 10
1)a:=1+2+3+4+5+6+7+8+9+10;
переменной i во время цикла присваивается значение с начала 1, потом 2, потом 3 и т.д
2)For i:=1 to 10 do summa:=summa+i;
в первом примере для того чтобы считало сумму чисел от 1 до 10 нужно к переменной a прибавлять 11+12..,
а в цикле достаточно заменить 10 на 20

окей, а если у нас допустим i:=2; то это будет
2+2=4;
4+2=6;
6+2=8 и тд и тп, да? или я тормоз?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


А если написать For i:=2 to 10 do summa:=summa+i;

это будет
2+3+4+5+6+7+8+9+10

то есть воспринимай заголовок цикла так:

(for i := ) (2 to 10) do что-то там

Первая часть (for i :=) просто говорит, как будет называться счётчик цикла, вторая (2 to 10) говорит, в каких пределах будет этот счётчик изменяться.

А такое, чтобы вычислить 2+4+6..., уже делается по-другому:
for i := 1 to 5 do summa := summa + i*2;


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Цитата(TarasBer @ 9.12.2010 11:28) *

А если написать For i:=2 to 10 do summa:=summa+i;

это будет
2+3+4+5+6+7+8+9+10

то есть воспринимай заголовок цикла так:

(for i := ) (2 to 10) do что-то там

Первая часть (for i :=) просто говорит, как будет называться счётчик цикла, вторая (2 to 10) говорит, в каких пределах будет этот счётчик изменяться.

А такое, чтобы вычислить 2+4+6..., уже делается по-другому:
for i := 1 to 5 do summa := summa + i*2;

Мм.. спасибо, я уже поняла мне обьяснили, огромное спсибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 16.12.2019 17:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name