Ввод логических переменных с клавиатуры.

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

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Циклы и массивы

Рекурсивные вычислительные процессы.

Функция может вызывать другую функцию, та в свою очередь третью и т.д. В результате программы приобретают иерархическую структуру.

Инициализация одномерного массива.

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

Циклы в Паскаль представляют собой многократно - повторяющиеся действия. В этой статье мы рассмотрим операторы  цикла For To и For Downto. Эти операторы используются в том случае, если нам необходимо, чтобы какое-то действие повторилось несколько раз. 

Создадим программу, которая будет выводить на экран квадраты чисел от 1 до 10.

Использование цикла For..to.


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

Строка №3. Записываем переменну «N». Она будет использоваться в качестве счетчика цикла. Практически во всех программах, использующих цикл For применяется счетчик цикла

В строке №6 записываем цикл For..To..Do. Счетчик цикла «N» показывает сколько раз должен быть выполнен цикл. В нашем примере счетчик будет принимать 10 различных значений от 1 до 10. Соответственно, цикл будет выполнен 10 раз. После слова Do записываются операторы, которые должны выполниться 10 раз при разных значениях счетчика. В нашем примере за словом Do идет оператор вывода на экран Writeln, который выводит на экран квадрат переменной «N» (т.е. счетчика цикла).

В строке №7 выводим квадрат переменной «N» на экран. Благодаря циклу For квадрат переменной  будет выведен 10 раз. Сначала для числа 1, затем для 2, затем для 3 и т.д. до 10.
ciklih v pascal

ciklih v pascal.

В примере переменная «N» является счетчиком цикла. В операторе For указывается начальное значение счетчика «1» и конечное значение «10». Причем не обязательно, чтобы начально значение было равно 1. Можно поставить 2 или 3 или 4 и т.д. Соответственно, квадраты чисел будут выводиться, начиная с 2, 3 или 4. Следует также скажать, что счетчик цикла может увеличиваться только на 1.


Форма записи For N:=1 To 10 Do увеличивает счетчик на еденицу. Если вместо To записать DownTo, то это будет форма записи, которая уменьшает счетчик на еденицу.
Напишем программу, которая будет выводить на экран кубы чисел от 10 до 5

Использование For..To..Downto.


program ciklih2;
uses crt;
var N: integer;
begin
clrscr;
For N:=10 Downto 5 Do
writeln (N*N*N);
readln
end.

В строке №6 записываем цикл For. Однако, в отличии от предыдущего примера, здесь вместо «To» употребляется «Downto». Поэтому действие, которое стоит после слова Do (строка №7) будет выполнено 5 раз в порядке уменьшения переменной «N». Т.е. сначала выведется 10 в кубе, затем 9 в кубе, затем 8 в кубе и т.д. до 5 в кубе.

ciklih v pascal..

ciklih v pascal...


Предыдущая статья : Оператор выбора Case Of в Pascal.

Оглавление : Уроки Паскаль. Циклы.

Следующая статья : Оператор цикла While..Do.


Комментарии  

 
+3 # Кирито 27.11.2012 15:24
при вознесеии в куб можно было использовать
writeln(power(3 ,N));
Ответить
 
 
-6 # Нео 16.12.2012 14:35
Ты напомнил мне Power в Excel 8)
Ответить
 
 
+2 # Антон 23.02.2013 16:59
Поправочка: power(N, 3)
Ответить
 
 
-6 # anonim 15.12.2012 14:19
:o :o :o :o :o :o :o :o :o :o :o
Ответить
 
 
-7 # anonim 15.12.2012 14:20
;-) 8)
Ответить
 
 
+1 # Программм 10.02.2013 14:55
Спасибо)
Ответить
 
 
0 # Никит 21.07.2014 14:56
и во второй задаче не пять раз, а шесть
распространенная арифметическая ошибка
Ответить
 
 
-3 # Bahr 25.12.2015 18:45
Следует также скажать, что счетчик цикла может увеличиваться только на 1.

скажать
админ у вас опечатка :D :D :D
Ответить
 
 
-2 # лул 17.11.2017 06:46
Прикольно :D :lol: :lol: :lol: :lol: :D :D :D :D :lol:
Ответить
 
 
0 # фыва 30.06.2022 07:59
1. Как делать взаимно простые вложенные циклы? в смысле - что должно быть на входе, чтобы на выходе получилось примерно так (для простоты координата по диагонали меняется через 3 метки, улица через 5):

(а1, б2, в3, г4, д5 - массив координат.
первая, вторая, третья - массив улиц.
остальное - массив меток.)

(to:) Моя дорога в школу - а1, первая улица, дом, улица, клуб, б2, околица, правление колхоза, вторая улица, поле, в3, роща, река, мост, г4, горка, третья улица, деревня, переулок, д5, почта, площадь, школа.

(downto:) Моя дорога из школы - д5, третья улица, школа, площадь, почта, г4, переулок, деревня, вторая улица, горка, в3, мост, река, роща, б2, поле, первая улица, правление колхоза, околица, а1, клуб, улица, дом.

Мяу.
Ответить
 
 
0 # фыва 30.06.2022 08:31
По отдельности хорошо получается.

С улицами:
begin
write ('Моя дорога в школу - ');
for i:=1 to 3 do begin
write (avenue +' улица, ');
for j:=1 to 14 do if (j-1) div 5=i-1 then write (way [j]+', ');
end;
writeln (way [15]+'.';
readln;
write ('Моя дорога из школы - ');
for i:=3 downto 1 do begin
write (avenue +' улица, ');
for j:=15 downto 2 do if (j-1) div 5=i-1 then write (way [j]+', ');
end;
writeln (way [1]+'.';
readln;
end.
Ответить
 
 
0 # фыва 30.06.2022 08:32
С координатами:
begin
write ('Моя дорога в школу - ');
for i:=1 to 3 do begin
write (coord +', ');
for j:=1 to 14 do if (j-1) div 3=i-1 then write (way [j]+', ');
end;
writeln (way [15]+'.';
readln;
write ('Моя дорога из школы - ');
for i:=3 downto 1 do begin
write (coord +', ');
for j:=15 downto 2 do if (j-1) div 3=i-1 then write (way [j]+', ');
end;
writeln (way [1]+'.';
readln;
end.

Мяу.
Ответить
 
 
0 # фыва 30.06.2022 08:04
2. Бывают ли циклы с плавающим параметром типа: while...do begin if идти then i:=i+1; if бежать then i:=i+2; end? Мяу.
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЦиклы в ПаскальЦикл Repeat..Until.