Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки программирования на Turbo Pascal


Информационный Канал Subscribe.Ru


Уроки программирования на Turbo Pascal #13

Подписчиков на 2002-08-31 - 2192 человек(а).

Рассылка проекта "Олимпиада.com.ru".


Главная Архив задач Конкурс Обучение Рассылки Форум Контакты

Здравствуйте, уважаемые подписчики!


  Прошу извинения, но в связи с началом учебного года наша рассылка будет выходить один раз в неделю.


Урок 13


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

 
13.1. Цикл ПЕРЕСЧЕТ (прямой).
  Формат оператора:

  FOR переменная := выражение 1 ТО выражение 2 DO оператор;

  Переменная должна быть порядкового типа. Порядковыми называются все простые типы, значения которых можно расположить в возрастающем порядке. Из известных нам это: INTEGER, WORD, LONGINT, BYTE, CHAR. Выражение 1 и Выражение 2 должны быть того же типа, что и переменная. Чтобы цикл выполнился хотя бы раз выражение1 должно быть не больше выражения2.


  Выполнение начинается с вычисления значений выражения1 и выражения2. затем переменная получает значение выражения1 и делается проверка, не превышает ли значение переменной выражения2. Если не превышает, выполняется оператор стоящий после служебного слова DO. После завершения оператора переменная получает следующее по порядку значение, и все повторяется, начиная с проверки.


  Когда значение переменной становится равным выражению2, оператор выполняется последний раз.


ПРИМЕР 1. Напечатать ряд из повторяющихся чисел 20 в виде:
20 20 20 20 20 20 20 20 20 20

Код программы:

var  i: byte;
begin
  for I:=1 to 10 do write(20,' ');
  readln;
end.


ПРИМЕР 2. Напечатать числа следующим образом:
10 10.4
11 11.4
. . .
25 25.4

Код программы (переменная используется не только для управления циклом но и для вывода на экран в качестве результата):
var  i: byte;
begin
  for I:=10 to 25 do write(I,' ',I+0.4:0:1);

  {при сложении целого I и вещественного 0.4 получаем
  вещественный результат, значит надо выполнить его
  форматирование при выводе на экран}
readln;
end.


13.2. Цикл ПЕРЕСЧЕТ (обратный).
  Возможен вариант оператора, когда переменная принимает последовательно убывающие значения.
  Формат оператора:
 

  FOR переменная := выражение 1 DOWNТО выражение 2 DO оператор;

  В этом случае, чтобы цикл выполнился хотя бы раз, выражение1 должно быть не меньше выражения2. Например:

  For c:='z' downto 'а' do writeln(с);

Тренировочные задания.
1.Напечатать столбиком:
  а) все целые числа от 20 до 35;
  б) квадраты всех целых чисел от 10 до b ( значение d вводится с клавиатуры; b>=10);
  в) третьи степени всех целых чисел от а до 50 (значение а вводится с клавиатуры; а<=50);
  г) все целые числа от а до b ( значения а и b вводятся с клавиатуры; d>=a).


2. Напечатать числа следующим образом
25 25.5 24.8
26 26.5 25.8
. . .
35 35.5 34.8

3. Распечатать в столбик таблицу умножения на 7.

4. Вывести столбиком следующие числа: 2,1 2,2 2,3 . . . , 2,8

5. Вывести столбиком следующие числа: 2,2 2,4 2,6 . . . , 4,0 4,2

6. Вывести столбиком следующие числа: 4,4 4,6 4,8 . . . , 6,2 6,4

Разбор заданий урока 12.
1. CHR(ORD(X))=Х
2. Определить значения следующих функций (как правило таблица аски кодов есть в любом справочнике по программированию):
CHR(68)=D
ORD('d')=100
PRED(1) =0
SUCC('Я')=а
3. С клавиатуры вводится два числа. Составить программу сравнивающую эти числа и в зависимости от результата сравнения выводящую на экран нужный знак. Например: 3<5 или 3=3 или 3>2. Процедуру WRITE для вывода результата разрешается использовать только один раз.

Var x,y:integer;
    C:char;
Begin
  Write('Введите два числа');
  Readln(x,y);
  If x=y then c:='=';
  If x>y then c:='>';
  If x<y then c:='<';
  Writeln(x,c,y);
  Readln;
End.



Желаю успехов!
Ганилова Татьяна Евгеньевна school6@rikt.ru
Гимназия #6, г. Междуреченск.


Архив рассылки:

  Архив предыдущих выпусков рассылки: http://subscribe.ru/catalog/comp.soft.prog.bpascal ;

Урок 1 Урок 2 Урок 3 Урок 4 Урок 5
Урок 6 Урок 7 Урок 8 Урок 9 Урок 10
Урок 11 Урок 12

Реклама в рассылке:

RLE    

  


Подпишитесь на наши рассылки:

Новости проекта "Олимпиада.com.ru" [Алексей Шамис]
Новости проекта "Olimpiada.com.ru". Новые темы на форуме. Информация о пополнениях в архиве задач. Оперативно и своевременно!

Уроки программирования на Turbo Pascal [Татьяна Ганилова]
Хотите стать Великим Программистом? Начните свой путь к вершине славы с изучения языка Turbo Pascal. Он как нельзя лучше подходит для начинающих программистов и в то же время используется для разработки сложных "профессиональных" программ.

Олимпиадные задачи с решениями на Turbo Pascal [Алексей Шамис]
В рассылке публикуются решения интересных олимпиадных задач различного уровня. Содержит много теоретической информации. Периодичность - 2-3 раза в неделю.

Задача в неделю. Олимпиадные задачи по информатике [Александр Алексеев]
Каждый понедельник в рассылке публикуется задача, которую необходимо решить и в следующий понедельник прислать программу на тестирование. Решения проверяются, и в пятницу публикуется разбор и итоги тестирования.



Всегда рады видеть Вас на нашем сайте. Жду ваших предложений и замечаний, Алексей Шамис

Copyright © 2002 by Tatyana Ganilova.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное