Ветвление в Паскале - Программирование, компьютеры и кибернетика реферат

Условия и выражения, значением которых является величина логического (Boolean) типа. Вложенность условных операторов. Организация ветвлений в программах на Паскале, логические операции, их выполнение. Последовательности, связанные логическими операциями.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Одной из основных алгоритмических структур является ветвление (альтернатива).
Если условие выполняется, то будет выполнена инструкция "1", если нет, то - инструкция "2". Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Нет никакого сомнения, что число задач такого рода огромно. Более того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже примитивный пример, взятый из курса математики, как вы увидите, не может быть решен без использования ветвления. Итак, необходимо вычислить значение выражения y=1/x. Вам известно, что данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке не трудно:
2. Если x=0, то сообщить, что выражение значения не имеет, иначе - вычислить y как 1/x.
Таким образом используется приведенная выше алгоритмическая структура. Она может быть выражена простыми словами:
Если <усл.> {Если выполняется условие}
то <действие 1> {то выполнить действие № 1 }
иначе <действие 2> {иначе - выполнить действие № 2 }
Как это записать на Паскале? Да точно так же, только по-английски.
Формат условного оператора на языке Паскаль:
Обратите внимание на то, что в Then- и Else- части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.
Вариант условного оператора в этом случае:
Then Begin <группа операторов 1> end
Else Begin < группа операторов 2> end;
Знак "точка с запятой" не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.
Теперь поговорим об условиях. В программах на языке Паскаль условия представляют собой выражения, значением которых является величина логического (Boolean) типа. Это может быть как просто переменная указанного типа, так и сложная последовательность высказываний, связанных логическими операциями.
В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно).
A=5 {Значение переменной А равно 5}
(C+D3)>=(D1*(45-2)) {Значение выражения в левой части больше либо равно значению выражения из правой части}
S<>'ABC' {Значение переменной S не равно строковой константе 'ABC'}
Приведем пример решения еще одной задачи: "Из двух чисел выбрать наибольшее".
На первый взгляд решение очевидно, но оно не столь тривиально, как кажется.
Var A,B,C: Real; {A,B - для хранения аргументов, C - результат}
Readln(A,B); {Вводим аргументы с клавиатуры}
If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}
Writeln(C); {Выводим результат на экран}
Еще один классический пример: "По заданным коэффициентам решить квадратное уравнение". Эта задача сложнее, поэтому перед тем как писать программу составим алгоритм, записав его в виде блок-схемы.Сначала вводим коэффициенты, затем вычисляем дискриминант. Теперь возникает две возможности: либо отсутствие действительных корней в случае отрицательного дискриминанта, либо эти корни можно все-таки вычислить и вывести на экран в случае неотрицательного дискриминанта (случай равенства дискриминанта нулю входит сюда же, корней - два, только они одинаковые J).
При записи алгоритма на языке программирования следует учесть, что в ветви "нет" не одно действие, а три, поэтому следует применить составной оператор. Арифметические выражения не забывайте записывать в соответствии с правилами языка Паскаль. В остальном, эта программа не сложнее предыдущей.
Writeln ('Введите коэффициенты квадратного уравнения');
If D<0 Then Writeln ('Корней нет! ')
Writeln ('X1=', X1:8:3, ' X2=',X2:8:3)
Интересно, что в качестве оператора, который выполняется по выполнению или невыполнению условия, может выступать условный же оператор. В этом случае говорят о вложенности условных операторов. Я настоятельно рекомендую при решении такого рода задач составлять блок-схему алгоритма в тетради. Только потом, при составлении программы, вам остается лишь аккуратно прописывать сначала всю Then- часть, а затем переходить к Else- части. Обычно при записи условных операторов на языке Паскаль (особенно при множественных ветвлениях) команды записывают уступом вправо и вниз. Это повышает наглядность, и, поверьте, снижает потери времени на отладку.
Для иллюстрации решим еще одну задачу: "решить уравнение вида A*x^2 + B*x + C = 0". Прошу не путать с квадратным уравнением, для которого нам было известно, что коэффициент А не равен нулю. Здесь же коэффициенты могут быть любыми числами. Исходя из элементарных математических рассуждений, получаем следующий алгоритм:
Writeln ('Введите коэффициенты уравнения (A, B, C) ');
If C=0 Then Writeln('X - любое число')
Else Begin X:=-C/B; Writeln('X=',X:8:3) End
If D<0 Then Writeln ('Корней нет! ')
Writeln ('X1=', X1:8:3, ' X2=',X2:8:3)
Существуют условия, которые имеют много вариантов, в зависимости от которых необходимо выполнить то или иное действие, например: при вводе месяца необходимо вывести сезон, которому соответствует данный месяц. В паскале есть специальный оператор выбора case, который оформляется следующим образом:
'Декабрь','Январь','Февраль': writeln('Зима');
'Март','Апрель','Май': writeln('Весна');
'Июнь','Июль','Август': writeln('Лето');
'Сентябрь','Октябрь','Ноябрь': writeln('Осень');
else wrteln('Такого месяца не существует!');
Где в операторе перечисляются все варианты для которых выполняются те или иные действия, оператор else выполняет действия если операнд имеет значение, которое не перечислено в case.
Повествовательное предложение, о котором можно сказать верно оно или нет называют высказыванием. Например:
Высказывания могут объединяться с помощью слов (операций) И, Или, НЕ. Эти операции называют логическими операциями. Объединённые высказывания называют связками. Например:
Число может быть чётным или нечётным.
Логическую операцию И(AND) обозначают ^, операцию ИЛИ(OR) V, отрицание НЕ(NOT) ---.
Верность или неверность связки двух высказываний (истинность) определяют по правилам истинности.
Например: Определить истинно или ложно следующее высказывание:
ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ В ПРОГРАММАХ НА ПАСКАЛЕ. ОПЕРАТОР IF THEN... ELSE
IF условие THEN оператор 1 ELSE оператор 2;
2. Если условие истинно, то выполняется оператор1
3. Если условие ложно, то выполняется оператор2.
Допустим сокращенный формат записи оператора:
2. Если условие истинно, то выполняется оператор1.
3. Если условие ложно, то выполняется оператор следующий после IF.
Под условием понимается логическое (булевское) выражение.
ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ - это выражение, которое принимает значение TRUE(истина) или FALSE(ложь), и включает в себя арифметические выражения, связанные операциями отношения и логическими операциями.
Имеют один и тот же приоритет и соединяют два выражения одного и того же типа. Результатом любой операции сравнения является значение TRUE или FALSE.
ЛОГИЧЕСКИЕ ОПЕРАЦИИ:: NOT - НЕ; AND - И; OR - ИЛИ
1. - (унарный минус, т.е. отрицание числа) NOT
Оператор ветвления (условный оператор)
где условие - логическое выражение (т.е. в него обязательно входит знак отношения, и можно определить, истинно выражение или ложно)
оператор1 - любой оператор Паскаля; этот оператор исполняется, когда условие истинно;
оператор2 - любой оператор Паскаля, в том числе и условный; этот оператор исполняется, когда условие ложно.
При выполнении этого оператора сначала вычисляется значение условия.
Если условие истинно (true), то выполняется оператор после слова THEN, а оператор2 пропускается;
если условие ложно (false), то оператор1 пропускается, а выполняется оператор после слова ELSE.
Операторы 1 и 2 могут быть любыми, в том числе и условными. В этом случае их называют вложенными.
Части ELSE оператор2 может и не быть, тогда формат оператора:
Если условие истинно, то выполняется оператор после слова THEN, а иначе он пропускается.
В условном операторе после слов THEN и ELSE можно помещать по несколько операторов. В этом случае их надо объединить в СОСТАВНОЙ оператор, который начинается словом BEGIN и заканчивается словом END; (на конце не точка, а точка с запятой!)
Составить программу, которая перераспределит заданные значения x, y так, что в х окажется большее значение, а в y - меньшее.
конъюнкция условий (условия связываются при помощи логической операции and),
дизъюнкция условий (условия связываются при помощи логической операции or);
инверсия условий (отрицание условия not)
Выяснить, принадлежит ли точка с координатами (x, y) кольцу с центром в точке (0, 0), внешним радиусом r1 и внутренним радиусом r2
write ('Введите координаты точки: ');
writeln ('Введите радиусы r1, r2:: ');
if (sqrt(sqr(x)+sqr(y))r2) then
writeln ('Точка принадлежит кольцу');
else writeln ('Точка не принадлежит кольцу');
Понятие и принципы реализации оператора ветвления, его значение и роль в языке программирования Паскаль. Основные логические операции и сложные логические выражения, их содержание. Программа упорядочения значений двух переменных, ее этапы и методы. презентация [187,9 K], добавлен 02.04.2014
Правила описания множественных типов данных, приемов использования множеств и операций над множествами в Паскаль-программах. Разработка в Турбо Паскале программы вывода всех согласных букв, которые входят хотя бы в одно слово заданного предложения. контрольная работа [30,8 K], добавлен 25.12.2010
Международный стандарт на язык программирования Паскаль. Приемы объектно-ориентированного программирования в Турбо Паскале. Символы языка, его алфавит. Этапы разработки программы. Понятие алгоритмов и алгоритмизации. Структура программ на Паскале. курсовая работа [29,8 K], добавлен 28.02.2010
Система программирования Турбо Паскаль. Главные особенности языка С++. Составной и условный оператор в Паскале, алгоритм работы. Метка в Турбо Паскале. Счетный оператор цикла FOR. Описание логической структуры. Свойства функции PieSlice и initgraph. курсовая работа [20,8 K], добавлен 23.12.2010
Структура программы в Турбо Паскале и определение переменной в ней. Понятие идентификатора и его основные ограничения. Операторы присваивания в языке программирования. Процедура ввода-вывода информации. Способы описания массива, обработка его элементов. контрольная работа [134,5 K], добавлен 28.09.2012
Линейная программа на Паскаль, примеры составления алгоритмов вычисления и обмена значений переменных. Программа с ветвлениями и циклическая программа, массивы, процедуры и функции, файловые данные и записи в Паскале, строки, графика в Турбо-Паскале. отчет по практике [99,8 K], добавлен 20.07.2010
Описание конструкций языка программирования Паскаль, обеспечивающих ветвление. Организация циклических процессов. Создание программы для ввода последовательности вещественных чисел до появления 0, расчет среднего арифметического данной последовательности. лабораторная работа [189,8 K], добавлен 17.04.2012
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Ветвление в Паскале реферат. Программирование, компьютеры и кибернетика.
Реферат по теме Государственная управленческая мысль в виде полицеистики и камералистики
Драгоценные Книги Сочинение 9.3 Лиханов
Контрольная работа: Теневая экономика и экономическая преступность
Отравляющие и сильно действующие ядовитые вещества общеядовитого действия. Клиника, диагностика и лечение
Сочинение На Тему Мой Друг Штольц
Сочинение Катерина Сильная Или Слабая Личность
Реферат: Хронический гепатит, неуточненной этиологии, выраженной активности, с явлениями холестаза
Реферат по теме Украина в процессах международного движения рабочей силы
Курсовая работа по теме Выбор объема производства акционерного общества в условиях несовершенной конкуренции
Реферат по теме Анализ банковской системы на примере банков Крыма
Курсовая Работа Одаренный Ребенок
Реферат по теме Сборные железобетонные ребристые плиты перекрытия
Виды Банковских Кредитов Реферат
Контрольная работа по теме Великая Яса
Что Нужно Писать В Введение Реферата
Курсовая работа по теме Малое предпринимательство в Республике Беларусь
Реферат по теме Проблемы внедрения пластиковых карточек на примере Ставропольского банка Сбербанка РФ
Оформление Заявки Описания И Формулы Изобретения Реферат
Реферат На Тему Основи Ринкової Економіки
Медицинская Профилактика Реферат
Вдосконалення форм та методів контролю знань початкової освіти - Педагогика курсовая работа
Работа на контрольно-кассовой машине - Маркетинг, реклама и торговля презентация
Русский язык в Азербайджане: прошлое, настоящее и будущее (социолингвистический аспект) - Иностранные языки и языкознание дипломная работа