Лекции по "Языкам и методам программирования" (PascalABC)

Автор: Пользователь скрыл имя, 07 Марта 2013 в 02:12, курс лекций

Описание работы

Лекция 1. Представление алгоритмов на языке Программирования ПаскальАВС.
Лекция 2. Построение линейных алгоритмов
Лекция 3. Алгоритмы, содержащие структуру ветвления.
Лекция 4. Алгоритмы, содержащие структурные операторы циклов.
...
Лекция 9. Файловый тип данных

Работа содержит 10 файлов

Лекция 1.Представление алгоритмов на языке программирования Паскаль..doc

— 120.50 Кб (Открыть, Скачать)

Лекция 10. Интуитивное понятие алгоритма.doc

— 366.50 Кб (Открыть, Скачать)

Лекция 2. Построение линейных алгоритмов.doc

— 209.50 Кб (Открыть, Скачать)

Лекция 3. Алгоритмы, содержащие структуру ветвления..doc

— 68.00 Кб (Скачать)

Лекция 3.

Алгоритмы, содержащие структуру ветвления.

В лекции рассматриваются следующие  вопросы:

1.Понятие структурного оператора.

2.Полная структура ветвления.

3.Структурный оператор ветвления  IF.

4.Графическое представление структуры  ветвления.

5.Сложные логические выражения.

6.Неполная структура ветвления.

7.Структура выбора.

 

1. Понятие структурного оператора.

Структурными операторами являются такие, которые состоят из других операторов. К данному типу можно  отнести:

-  Составной оператор. Составной  оператор представляет собой последова-тельность операторов, заключенных в операторные скобки, состоящие из зарезервированных слов Begin и End.

- Условные операторы IF, CASE.

- Операторы циклов WHILE, FOR, REPEAT.

- Оператор присоединения WHITH.

Приведем пример составного оператора.

Begin

Readln(a,b);

C:=a*b;

Writeln(‘произведение ’, a,’ *’, b, ‘=’, c);

End;

Остальные структурные операторы  будем изучать позднее.

 

2. Полная структура ветвления

Задача 1. Вычислить значение выражения Y=(x2+5x-6)/(x-4), если значение х вводится с клавиатуры.

Сформулируем алгоритм решения задачи в словесно-формульном виде.

Начало.

1.Задать значение  х.

2.Вычислить  значение Y=(x2+5x-6)/(x-4).

3.Записать  значение у.

Конец.

Выполним этот алгоритм по пунктам.

1.Зададим значение  х=10.

2.Вычислим значение у=(102+5*10-6)/(10-4)=146/6=24,3333…

3.Записать  значение у=24.3

Кажется, что алгоритм работает нормально. Но если взять значение х=4, то вычислить значение у невозможно, так как происходит деление на 0. Отсюда делаем вывод, что алгоритм составлен неправильно. В алгоритме необходимо предусмотреть случай, когда есть деление на ноль. Составим новый алгоритм.

 

Начало.

1.Ввести значение  х.

2.Если х – 4=0, то перейти к пункту 3, иначе к пункту 4.

3.Вывести на  экран сообщение «Значение у  вычислить нельзя» и перейти на конец.

4.Вычислить  значение у.

5.Вывести на  экран полученное значение у.

Конец.

 

 

3. Структурный оператор ветвления IF.

В рассмотренном алгоритме есть предложение если х – 4 = 0, то …, иначе …

На языке Паскаль такая структура записывается с помощью структурного оператора:

IF условие

     Then Оператор 1

     Else  Оператор 2;

В этой структуре слова If (если), Then(то), Else(иначе) являются служебными словами; условие – это любое логическое выражение; оператор 1 и оператор 2 – это любые операторы языка Pascal, в том числе и составной оператор.

Оператор If работает следующим образом:

Если условие принимает значение True, то выполняется оператор 1 и не выполняется оператор 2; если условие принимает значение False, то выполняется оператор 2, а оператор 1 игнорируется.

Говорят, что оператор If является оператором условного перехода, так как позволяет выбрать некоторый путь исполнения программы согласно какого-то условия.

В соответствии с оператором  IF можно записать программу рассмотренного выше алгоритма:

Program a1;

Var x,y:Real;

Begin

   Writeln('Ввести значение x=');

   Readln(x);

   If x-4=0

       Then Writeln('y не существует')

       Else Begin

            y:=(x*x-5*x+6)/(x-4);

            Writeln('При x=',x:6:2,' y=',y:6:2);

            End;

End.

В приведенной  программе после служебного слова If записано логическое выражение х – 4 = 0. Если это логическое выражение принимает значение истина, то выполняется простой оператор Writeln('y не существует') (пункт 3 алгоритма). Если логическое выражение х – 4 = 0 принимает значение ложь, то выполняется составной оператор (пункты 4 и 5 алгоритма)

Begin

  y:=(x*x-5*x+6)/(x-4);

  Writeln('При x=',x:6:2,' y=',y:6:2);

End;

 

4. Графическое представление

Графическое представление  оператора IF:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Сложные логические выражения

Простые логические выражения с  помощью логических операций можно объединять в сложные логические выражения. Логические операции приведены в следующей таблице:

Запись операции на Pascal

Суть операции

Значение перемен-ной А

Значение перемен-ной В

Значение операции

Not(A)

Отрицание

( нет)

True

False

False

True

(A) and (B)

Логическое умножение

(союз и)

True

True

False

False

True

Ffalse

True

False

True

False

False

False

(A) or (B)

Логическое сложение

(союз или)

True

True

False

False

True

False

True

False

True

True

True

False


 

Например: (a>b) or (c=d),     (2=7) and (c<x+4),    not(3<8).

 

Задача 2. Даны три числа а, в, с. Найти наибольшее.

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

Program a2;

Var a,b,c,max:Real;

Begin

   Writeln(‘Ввести три числа');

   Readln(a,b,c);

   If (a>b)and(a>c)

      Then max:=a

      Else If (b>a)and(b>c)

              Then max:=b

              Else max:=c;

   Writeln('Наибольшее=',max:6:2);

End.

В операторах IF  записаны сложные логические выражения (a>b)and(a>c) и (b>a)and(b>c).

 

6. Неполная структура ветвления

На языке Паскаль  неполная структура ветвления реализуется  следующей структурой:

If  условие Then  Оператор 1;

Графическое представление неполной структуры ветвления:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 3. Дано число A. Вывести на экран модуль этого числа.

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

Program a3;

Var a,b:Real;

Begin

   Writeln('Ввести число');

   Readln(a);

   b:=a;

   If a<0 Then b:=-a;

   Writeln('|',a:6:2,'|=',b:6:2);

End.

 

7. Структура выбора

Задача 4. Дано целое число, которое обозначает номер месяца года. Определить, какому времени года принадлежит данный месяц.

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

Program a4;

Var n:Integer;

Begin

   Writeln('Ввести номер  месяца');

   Readln(n);

   If (n>=1) and (n<=12)

    Then If (n=1)or(n=2)or(n=12)

           Then Writeln('Зима')

           Else If (n=3)or(n=4)or(n=5)

                  Then Writeln('Весна')

                  Else If (n=6)or(n=7)or(n=8)

                        Then Writeln('Лето')

                        Else If (n=9)or(n=10)or(n=11)

                              Then Writeln('Осень')

                              Else Writeln('Неверный ввод');

End.

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

Case Селектор of

Диапозон 1: Оператор 1;

. . .

Диапозон n: Оператор n

Else Оператор к;

End;

Селектор –  это переменная или выражение  любого простого типа, кроме Real. Операторы 1, …, к  – это любые операторы языка Паскаль. Диапазон 1, …, Диапазон n – это значения, которые может иметь селектор.

Структура «Выбор»  работает следующим образом: Сначала  вычисляется значение селектора, затем  ищется тот диапазон, в который  входит это значение и выполняется то действие, которое соответствует этому диапазону. Если значение селектора не вошло ни в один из приведенных диапазонов, то выполняется действие, которое записано после слова else.

В операторе «Выбор» слово else может отсутствовать.

Задача 5. Дан возраст ребенка до 15 лет. Поставить этому числу в соответствие слово «год».

Программа на языке Паскаль:

Program a5;

Var n:Integer;

Begin

  Writeln('Ввести возраст  ребенка');

  Readln(n);

  Case n of

           1: Writeln(n:2,'год');

       2,3,4: Writeln(n:2,'года');

     5 .. 15: Writeln(n:2,'let')

     Else Writeln('Возраст >15 лет');

     End;

End.

В этой программе n селектор, диапазон 1 состоит из одного значения 1; диапазон 2 состоит из трех значений 2,3,4, которые перечислены через запятую; диапазон 3 состоит из целых значений из отрезка [5, 15].




Лекция 4. Алгоритмы, содержание циклы.doc

— 343.50 Кб (Открыть, Скачать)

Лекция 5.Процедуры и функции пользователя..doc

— 95.50 Кб (Открыть, Скачать)

Лекция 6. Символьные и строковые переменные.doc

— 69.00 Кб (Открыть, Скачать)

Лекция 7.Структурный тип данных (массивы).doc

— 128.50 Кб (Открыть, Скачать)

Лекция 8.Комбинированный тип данных.doc

— 62.00 Кб (Открыть, Скачать)

Лекция 9.Файловый тип данных.doc

— 114.50 Кб (Открыть, Скачать)

Информация о работе Лекции по "Языкам и методам программирования" (PascalABC)