Главная Фотогалерея Скачать Викторина Форум О нас
Главная arrow Спорт и общество arrow Люблю Паскаль, пишу на Паскале, думаю на Паскале - 5
О спорт, ты - мир!
Пьер де Кубертен

Люблю Паскаль, пишу на Паскале, думаю на Паскале - 5

Версия для печати Отправить на e-mail
Рейтинг: / 3
ХудшаяЛучшая 
Написал Алексей Абрамов   
05.04.2010 г.

Люблю Паскаль, пишу на Паскале, думаю на Паскале

Заметка 5.

Цикл FOR.

Часто встречается ситуация, когда надо многократно (а иногда и бесконечно) повторять одни и те же действия. К примеру, выведем на экран несколько рядов звездочек.  

program Project5;

{$APPTYPE CONSOLE}

begin

 

  writeln ('************************');

  writeln ('************************');

  writeln ('************************');

  writeln ('************************');

  readln;

end.

 

Программирование на Паскале

Многократное повторение вызова процедуры writeln загромождает код программы. А если мы, когда пишем программу еще не знаем, сколько строчек звездочек пользователь захочет вывести на экран? На помощь нам приходит оператор цикла. Изучение циклов (а их в традиционном паскале 3 вида, в последних версиях Delphi добавился еще один) мы начнем с «цикла по параметру» — цикла for.

Конструкция оператора цикла по параметру выглядит следующим образом:

for I:= 0 to 9 do writeln (‘*’);

После ключевого слова for указывается имя переменной – счетчика повторений, и через оператор присваивания «:=» (не путать с «=» — это оператор сравнения) в переменную счетчика записывается некоторое начальное значение. В данном случае «0».

После ключевого слова to указывается, до какого значения должен дойти счетчик, прежде чем цикл будет прерван. У нас это число «9». Наш цикл выполнится ровно 10 раз. После ключевого слова do пишется оператор (процедура) который должен быть многократно выполнен.

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

program Project5;

  {$APPTYPE CONSOLE}

var

  I: Integer; //счетчик

  Count: Integer;//количество повторов

begin

  writeln ('Enter count');//просим ввести количество строк

  readln (Count);//получаем в переменную Count количество строк введенных пользователем

  for I:= 1 to Count do

    writeln ('************************');

  readln;

end.

Циклы в языке Паскаль

  Давайте еще немного модифицируем код нашей программы – будем выводить номера строчек.

 

program Project5;

{$APPTYPE CONSOLE}

var

  I: Integer; //счетчик

  Count: Integer;//количество повторов

begin

  writeln ('Enter count');//просим ввести количество строк

  readln (Count);//получаем в переменную Count количество строк введенных пользователем

  for I:= 1 to Count do

  begin

    write (I);

    writeln ('************************');

  end;

  readln;

 

end. 

 В данном примере нам понадобилось вызвать процедуру write, которая в отличие от writeln выводит информацию на экран без перехода на следующую строчку. А вслед за ней, уже процедуру writeln.

Однако, оператор for позволяет многократно выполнять лишь один оператор или процедуру. На помощь нам приходит так называемый «составной оператор». Если заключить любой фрагмент программы между ключевыми словами begin и end, причем end должен заканчиваться «;» — компилятор паскаля будет считать такой фрагмент за один оператор.

 Программирование на Pascal

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

program Project6;

{$APPTYPE CONSOLE}

const

  StarCount = 10;//количество звездочек в строчке

var

  I,J: Integer; //счетчики

  Count: Integer;//количество повторов

begin

  writeln ('Enter count');//просим ввести количество строк

  readln (Count);//получаем в переменную Count количество строк введенных пользователем

  for I:= 1 to Count do

  begin

    write (I);//выводим номер строки

    for J:= 1 to StarCount do

      write('*'); //этот оператор будет повторен StarCount раз

    writeln; //переходим на следующую строку

  end;

  readln;

end.

 

 

Программа на языке Pascal

Ну на сегодня, пожалуй, достаточно. Впереди — знакомство еще с двумя видами циклов — по предусловию и по постусловию. А завершим мы знакомство с циклами довольно необычной конструкцией, которая появилась в языке pascal относительно недавно.

Последнее обновление ( 05.04.2010 г. )
 

Комментарии  

 
0 #1 контуровец 2010-08-18 14:42 просто супер!!!!!!!!! Цитировать
 

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


Защитный код
Обновить

< Пред.   След. >

На нашем сайте много полезной информации. Возможно Вас заинтересуют и эти странички:

Где купить разрядные значки и книжки

Расписание электричек. Самара, 2011 г.


...

Реклама:

...
Rambler's Top100
RSS-лентаRSS20

Данный ресурс является официальным сайтом Самарской городской общественной организации `Детско-молодежный спортивно-технический клуб `Контур` и не имеет никакого отношения к официальным интернет-ресурсам РОСТО (ДОСААФ) и Союза Радиолюбителей России.Публикуемые материалы выражают точку зрения авторов, которая может не совпадать с точкой зрения спортивного клуба `Контур` и тем более с позицией руководящих органов СРР.

Рейтинг O-сайтов на O-sport.ru Экстремальный портал VVV.RU Яндекс цитирования
Система Orphus