Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Лекция на тему: "Язык программирования Паскаль"

Лекция на тему: "Язык программирования Паскаль"

Идёт приём заявок на самые массовые международные олимпиады проекта "Инфоурок"

Для учителей мы подготовили самые привлекательные условия в русскоязычном интернете:

1. Бесплатные наградные документы с указанием данных образовательной Лицензии и Свидeтельства СМИ;
2. Призовой фонд 1.500.000 рублей для самых активных учителей;
3. До 100 рублей за одного ученика остаётся у учителя (при орг.взносе 150 рублей);
4. Бесплатные путёвки в Турцию (на двоих, всё включено) - розыгрыш среди активных учителей;
5. Бесплатная подписка на месяц на видеоуроки от "Инфоурок" - активным учителям;
6. Благодарность учителю будет выслана на адрес руководителя школы.

Подайте заявку на олимпиаду сейчас - https://infourok.ru/konkurs

  • Информатика

Поделитесь материалом с коллегами:

Язык программирования Pascal » Тема 2 » Лекция 5

Операторы ветвления

В теории программирования доказано, что программу для решения задачи любой сложности можно составить только из трех структур, называемых следованием, ветвлением и циклом. Следованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов (простых или составных). Ветвление задает выполнение либо одного, либо другого оператора в зависимости от выполнения какого-либо условия. Цикл задает многократное выполнение оператора (рис.1).

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

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

Условный оператор if

Условный оператор if используется для разветвления процесса вычислений на два направления. Структурная схема оператора приведена на рис. 2 Формат оператора:

if выражение then оператор_1 [else оператор_2;]

Сначала вычисляется выражение, которое должно иметь логический тип. Если оно имеет значение true, выполняется первый оператор, иначе - второй. После этого управление передается на оператор, следующий за условным.

рис. 2). Операторы, входящие в состав условного, могут быть простыми или составными. Составной оператор (блок) обрамляется ключевыми словами begin и end. Блок применяют в том случае, когда по какой-либо ветви требуется выполнить несколько операторов. if a < 0 then b := 1; {1}


if (a < b) and ((a > d) or (a = 0)) then inc(b)

else begin

b := b * a; a := 0

end; {2}


if a < b then

if a < c then m := a else m := c

else

if b < c then m := b else m := c; {3}


Если требуется проверить несколько условий, их объединяют знаками логических операций. Так, выражение в примере 2 будет истинно в том случае, если выполнится одновременно условие a < b и хотя бы одно из условий a > d и a = 0.

Частая ошибка при программировании условных операторов - неверная запись проверки на принадлежность диапазону. Например, условие 0 < x < 1 нельзя записать непосредственно. Правильный способ: if(0 < x) and (x < 1) then..., поскольку фактически требуется задать проверку выполнения одновременно двух условий: x > 0 и x < 1.

Вторая ошибка - отсутствие блока после else, если на самом деле по этой ветви требуется выполнить более одного действия. Эта ошибка не может быть обнаружена компилятором, поскольку является не синтаксической, а семантической, то есть смысловой.

рис. 3).
  1. Ввести значение аргумента х.

  2. Определить, какому интервалу из области определения функции оно принадлежит и вычислить значение функции y по соответствующей формуле.

  3. Вывести значения х и y.

Второй пункт алгоритма следует детализировать. Сначала запишем определение функции в виде формул:

  • если x < -2, то присвоить переменной y значение 0;

  • если -2 <= x < -1, то присвоить переменной y значение -x - 2;

  • если -1 <= x < 1, то присвоить переменной y значение x;

и так далее.

program calc_function_1;

var x, y : real;

begin

writeln(' Введите значение аргумента'); readln(x);

if x < -2 then y := 0;

if (x >= -2) and (x < -1) then y := -x - 2;

if (x >= -1) and (x < 1) then y := x;

if (x >= 1) and (x < 2) then y := -x + 2;

if x >= 2 then y := 0;

writeln('Для x = ', x:6:2, ' значение функции y = ', y:6:2);

end.

Тестовые примеры для этой программы должны включать по крайней мере по одному значению аргумента из каждого интервала, а для проверки граничных условий - еще и все точки перегиба.

Оператор варианта case

Оператор варианта (выбора) предназначен для разветвления процесса вычислений на несколько направлений. Стрктурная схема оператора приведена на рис. 5. Формат оператора:

case выражение of

константы_1 : оператор_1;

константы_2 : оператор_2;

*

константы_n : оператор_n;

[ else : оператор ]

end;

else, а при его отсутствии управление передается оператору, следующему за case.

Выражение после ключевого слова case должно быть порядкового типа, константы - того же типа, что и выражение. Чаще всего после case используется имя переменной. Перед каждой ветвью оператора можно записать одну или несколько констант через запятую или операцию диапазона, обозначаемую двумя идущими подряд точками, например:

case a of

4 : writeln('4');

5, 6 : writeln('5 или 6');

7..12: writeln('от 7 до 12');

end;

ВНИМАНИЕ Если по какой-либо ветви требуется записать не один, а несколько операторов, они заключаются в блок с помощью ключевых слов begin и end.

Crt есть функция readkey, позволяющая получить код нажатой клавиши.

Функция readkey работает так: если нажата алфавитно-цифровая клавиша, функция возвращает соответствующий символ. Если нажата клавиша курсора, возвращается символ с кодом 0, а при повторном вызове можно получить так называемый расширенный код клавиши. Для простоты можно считать, что расширенный код - это номер клавиши на клавиатуре. Функция ord позволяет получить числовой код символа.

program cursor_keys;

uses Crt;

var key : char;

begin

writeln('Нажмите одну из курсорных клавиш ');

key := readkey;

if ord(key) <> 0 then writeln('обычная клавиша')

else begin

key := readkey;

case ord(key) of

77: writeln('стрелка вправо');

75: writeln('стрелка влево');

72: writeln('стрелка вверх');

80: writeln('стрелка вниз');

else writeln('не стрелка');

end;

end;

end.


Самые низкие цены на курсы профессиональной переподготовки и повышения квалификации!

Предлагаем учителям воспользоваться 50% скидкой при обучении по программам профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок".

Начало обучения ближайших групп: 18 января и 25 января. Оплата возможна в беспроцентную рассрочку (20% в начале обучения и 80% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru/kursy

Автор
Дата добавления 08.11.2016
Раздел Информатика
Подраздел Конспекты
Просмотров20
Номер материала ДБ-331596
Получить свидетельство о публикации

УЖЕ ЧЕРЕЗ 10 МИНУТ ВЫ МОЖЕТЕ ПОЛУЧИТЬ ДИПЛОМ

от проекта "Инфоурок" с указанием данных образовательной лицензии, что важно при прохождении аттестации.

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

Список всех тестов можно посмотреть тут - https://infourok.ru/tests

Похожие материалы

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