Голова отказываетса понимать алгоритм for? помогите пожалуйсто, мне нужно віучить алгоритм for, но проблема в том что я не понимая его |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Голова отказываетса понимать алгоритм for? помогите пожалуйсто, мне нужно віучить алгоритм for, но проблема в том что я не понимая его |
Katucha |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
тихо схожу сума, после завтра на олимпиаду, мне пытаюста впихнуть очередной алгоритм, но голова загружена по некуда..что-то поняла, но вот что сам алгоритм делает нет..
|
Client |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
что не понятно?
это цикл, который проходит от начального значения до конечного с шагом +1 или -1 Сообщение отредактировано: Client - |
Katucha |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
|
Client |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
полагаю, что книги все таки читала?
цикл for... используется, если заранее известно количество итераций. Например, надо посчитать сумму от 1 до 10 for i := 1 to 10 do S := S + i;. Здесь каждый раз проверяется условие, если i меньше чем конечное значение то тело цикла выполнится. можно сделать это и через while/repeat... |
Katucha |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
полагаю, что книги все таки читала? цикл for... используется, если заранее известно количество итераций. Например, надо посчитать сумму от 1 до 10 for i := 1 to 10 do S := S + i;. Здесь каждый раз проверяется условие, если i меньше чем конечное значение то тело цикла выполнится. можно сделать это и через while/repeat... книжки только нетовские, посчитать суму от одного до 10 как понимать? |
Freedom |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: 6 |
книжки только нетовские, посчитать суму от одного до 10 как понимать? 1+2+3+4+5+6+7+8+9+10 -------------------- From ZERO to HERO
|
Katucha |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
|
Freedom |
Сообщение
#8
|
Пионер Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: 6 |
Так уже лутше хоть что-то понимаю, огромное спасибо! Википедия цикл может это как нибудь поможет. А лучший способ это запустить паскаль и пытаться узнать что же делает этот цикл. -------------------- From ZERO to HERO
|
Katucha |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
Википедия цикл может это как нибудь поможет. А лучший способ это запустить паскаль и пытаться узнать что же делает этот цикл. методом научного тыка?Мне обьясняли, я что-то вроде как начала понимать, но потом запуталась, и поэтому не стала рисковать так делать что бы себя ещо больше не загрузить. |
Freedom |
Сообщение
#10
|
Пионер Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: 6 |
методом научного тыка?Мне обьясняли, я что-то вроде как начала понимать, но потом запуталась, и поэтому не стала рисковать так делать что бы себя ещо больше не загрузить. вот допустим вам нужно вывести на экран надпись 'Привет'. так вот чтотбы не писать 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
|
Katucha |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
вот допустим вам нужно вывести на экран надпись 'Привет'. так вот чтотбы не писать 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 и тд и тп, да? или я тормоз? |
TarasBer |
Сообщение
#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; -------------------- |
Katucha |
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Катя Репутация: 0 |
А если написать 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; Мм.. спасибо, я уже поняла мне обьяснили, огромное спсибо |
Текстовая версия | 27.04.2024 2:24 |