Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка 2 курс Паскаль.doc
Скачиваний:
47
Добавлен:
14.05.2015
Размер:
295.42 Кб
Скачать

Контрольные вопросы:

  1. Опишите оператор ветвления и правила его использования.

  2. Опишите используемые в вашей программе операторы ввода и вывода информации.

Лабораторная работа №6

Тема работы: Создание программ, содержащих оператор цикла.

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

Задание:

        1. Используя оператор for реализовать программу на паскале.

        2. Ответить на контрольные вопросы.

Варианты:

  1. запрашивает с клавиатуры два произвольных числа X и Y. Если X больше Y, то вычисляет и выводит на экран сумму всех целых чисел от 1 до X, иначе вычисляет и выводит на экран произведение всех целых чисел от X до Y;

  2. запрашивает произвольное число N, вычисляет произведение всех целых чисел от 1 до N. Если полученное произведение больше 50, то выводит на экран ее значение, иначе выводит на экран сообщение «Произведение меньше 50»;

  1. запрашивает с клавиатуры два произвольных числа X и Y. Если X больше Y, то вычисляет и выводит на экран произведение всех целых чисел от 1 до X, иначе вычисляет и выводит на экран сумму всех целых чисел от 1 до Y;

  1. запрашивает с клавиатуры два произвольных числа X и Y, вычисляет их разность. Если разность больше 10, то вычисляет и выводит на экран произведение всех целых чисел от Y до X, иначе выводит на экран значение разности;

Теоретический материал.

1. Цикл с предусловием. Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки. В общем виде цикл реализуется записью:     while <условие> do <действие>; Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки:     while <условие> do     begin       <оператор 1>;       <оператор 2>;       ...       <оператор n>;     end;

Пример. Найти все делители целого положительного числа (кроме 1 и самого числа).

program EXAMPLE; var    X: Integer;    Half: Integer;    Divider: Integer;    i : Integer; begin    repeat       Write('Введите число больше нуля: ');       ReadLn(X);       if X <= 0 then          WriteLn('Неправильный ввод')    until X > 0;    Half := X div 2;    Divider := 2;    I := 0;    while Divider <= Half do       begin          if X mod Divider = 0 then             begin               Inc(i);                {увеличение счетчика на единицу}               WriteLn(i, ' -й делитель равен: ', Divider)             end ;          Inc(Divider)                {увеличение делителя на единицу}       end;    if i = 0 then       WriteLn('Делителей нет');    WriteLn('Конец решения') End.

2. Цикл с постусловием. Для реализации цикла используется составной оператор, состоящий из операторов repeat и until. В общем виде цикл записывается так:     repeat       <действие>;     until <условие>; Пример: задано целое число. Вывести на печать все цифры введенного числа. 1 способ:

    var a,b: integer;     Begin       read(a);       repeat         b:=a mod 10;         writeln(b);         a:=a div 10;       until a=0;     End.

2 способ:

    var a,b: integer;     Begin       read(a);       while a<>0 do         begin           b:=a mod 10;           write(b);           a:=a div 10;         end;     End.

3. Цикл с параметром. Для реализации в языке Pascal используется составной оператор, состоящий из операторовfor, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов. Если при изменении переменной параметра необходимо использовать переход к следующему значению, то используется оператор to; если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так:     for I:=I0 to In do       begin         <оператор 1>;         <оператор 2>;         ...         <оператор n>;       end;

Пример: Вывести на экран буквы от Z до A.

program EXAMPLE; var i: Char; begin    for i : = 'Z' downto 'A' do       Write(’ ’,i); end.

Пример. Вычислить 101 значение sin x с заданным шагом и вывести первое отрицательное значение синуса.

program EXAMPLE; label l; var   Si: array[0..100] of Real;         {массив вещественных чисел}   Step: Real;   X: Real;   i: Integer; begin   Write('Введите шаг вычисления: ');   ReadLn(Step);   X := 0;                               {начальный аргумент}   for i := 0 to 100 do     begin       Si[I]:=Sin(X);       X := X + Step     end;   for i :=0 to 100 do     if Si[I] < 0 then       begin         WriteLn('Первое отрицательное значение синуса: ', Si[I], ' Номер элемента: ', i);         goto 1;       end;     WriteLn('Нет отрицательного значения'); 1: end.