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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2013, 23:36   #1
newgeniy
 
Регистрация: 09.02.2013
Сообщений: 6
По умолчанию счетчик цикла в Паскале

всем привет
не знаю можно ли здесь задавать вопросы касающиеся паскаля, ну была не была))
вообщем в паскале есть такая штука как циклы
цикл for to do
в описание программы мы описываем целочисленную переменную например var N:integer;
но её мы не инициализируем , лишь создали ячейку в оперативке, эта переменная будет как говорится счетчиком цикла
Теперь задача программы выводить квадраты чисел 1,2,3 до 10

в учебном пособии по которому учу паскаль програ записана так:

program ciklih1;
uses crt;
var N:integer;
begin
clrscr;
For N:=1 To 10 Do
writeln (sqr(N));
readln
end.

строка For N:=1 To 10 Do ( и вот здесь мое непонимание!)
прога работает но ведь эта запись лишь сохраняет в переменной лишь количество выполненых действий от 1 до 10 , а не числа которые нужно перевести в квадрат. Как прога узнала что нужно было выполнить функцию sqr именно над числами 1..10 , если 1..10 это то сколько раз нужно выполнить одно и тоже действие а именно writeln (sqr(N));
newgeniy вне форума Ответить с цитированием
Старый 14.02.2013, 23:44   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Код:
For N:=1 To 10 Do
writeln (sqr(N));
Эквивалентно (грубо говоря - скорее всего, компилятор создаст разный машинный код)
Код:
N:=1;
while (N < 11) Do
begin
  writeln (sqr(N));
  N:=N+1;
end;
Счетчик N пробегает значения от 1 до 10. На каждой итерации цикла N равно какому-то определенному числу из диапазона 1..10.

Да, вопросы здесь (в этом разделе) можно задавать.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 14.02.2013 в 23:47.
BDA вне форума Ответить с цитированием
Старый 14.02.2013, 23:46   #3
Firstchar
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 23
По умолчанию

writeln (sqr(N)) это значит "вывести(квадрат(N)), где N - номер шага (значение счетчика увеличивается на 1 при каждом шаге => на 1 шаге N=1, на втором N=2 и т.д.)
ну и собственно выводя на каждом шаге квадрат N, если N изменяется от 1 до 10, мы получим квадраты чисел от 1 до 10
Firstchar вне форума Ответить с цитированием
Старый 14.02.2013, 23:51   #4
newgeniy
 
Регистрация: 09.02.2013
Сообщений: 6
По умолчанию

то есть так задано в программе что если в записи for 1 to 10 do
то компилятор будет проходится строго от 1 до 10
а не 1 и только 10 и цикл выполнит 2 раза
а если я хочу проциклировать только цифры 20 и 40 ?) как сделать запись
newgeniy вне форума Ответить с цитированием
Старый 14.02.2013, 23:53   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Тут все зависит от Вашей фантазии
Код:
N:=20;
while (N <= 40) Do
begin
  writeln (sqr(N));
  N := N + 20;
end;
Или
Код:
for N := 1 to 2 do
  writeln (sqr(20*N));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.02.2013, 23:59   #6
newgeniy
 
Регистрация: 09.02.2013
Сообщений: 6
По умолчанию

Код:
for N := 1 to 2 do
  writeln (sqr(20*N));
[/QUOTE]

получается 20*N вначале выполняется умножение на значение переменной N (а значение зависит от того какое по числу действие выполняет цикл если первое то 20*1 20

Код:
writeln(N);
затем в переменную идет значение 2 как счетчик порядка и как значение ( как целое число) 20*n(2) = 40
Код:
writeln (N);
спасибо я понял
newgeniy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа - счетчик содержания фениналанина в продуктах питания (на Паскале) AS122 Помощь студентам 1 21.04.2012 08:38
Счетчик цикла в отладчике Elvisnya Общие вопросы Delphi 7 26.02.2011 15:08
помогите организовать счетчик на паскале Euforia_PZAS09_1 Помощь студентам 9 30.10.2009 16:54
Счетчик в Паскале NSvirus Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2009 13:06
Счетчик нажатия кнопки на Паскале !!! LeeoN Помощь студентам 1 04.05.2009 14:31