Основы программирования: ТЕМА 04. УСЛОВНЫЙ ОПЕРАТОР.
презентация к уроку по информатике и икт (8 класс) на тему
ОСНОВЫ ПРОГРАММИРОВАНИЯ
ВВЕДЕНИЕ
Одним из популярных сегодня ЯП является Паскаль. Он позволяет составлять программы для решения математических задач, обработки текстов, построения изображений на экране дисплея. Создатель Паскаля Никлаус Вирт предложил первую версию строгого по форме и простого для написания программ языка в 1968 году, когда не существовало персональных компьютеров.
Данные презентации составлены по темам из раздела 3 учеб.для общеобразовательных учебных заведений авт. А.А.Кузнецов, Н.В.Ипатова «Основы информатики», 8-9 кл.:
ТЕМА 1. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
ТЕМА 2. СТРУКТУРА ПРОГРАММЫ В ПАСКАЛЕ. ВВОД И ВЫВОД ДАННЫХ.
ТЕМА 3. РАБОТА В СИСТЕМЕ ТУРБО-ПАСКАЛЬ. РАБОТА В СИСТЕМЕ ABC ПАСКАЛЬ.
ТЕМА 4. УСЛОВНЫЙ ОПЕРАТОР (+)
ТЕМА 5. ОРГАНИЗАЦИЯ ЦИКЛОВ.
ТЕМА 6. МАССИВЫ.
ТЕМА 7. АЛГОРИТМЫ ОБРАБОТКИ ТАБЛИЦ.
ТЕМА 8. ОПЕРАТОР ВАРИАНТА.
ТЕМА 9. ПОДПРОГРАММЫ.
ТЕМА 10. РЕКУРСИЯ.
ТЕМА 11. ОБРАБОТКА СТРОК В ПАСКАЛЕ.
ТЕМА 12. КОМПЬЮТЕРНАЯ ГРАФИКА.
ТЕМА 13. ЗАПИСИ.
ТЕМА 14. ФАЙЛЫ В ПАСКАЛЕ.
В каждой презентации теоретический материал, примеры, базовые задачи, программы, вопросы и задания к теме. Презентации могут быть использованы на уроках информатики.
ЛИТЕРАТУРА:
А.А.Кузнецов, Н.В.Ипатова
«Основы информатики», 8-9 кл.:
–Раздел 3. ОСНОВЫ ПРОГРАММИРОВАНИЯ
Скачать:
Вложение | Размер |
---|---|
tema4_uslovnyy_operator.pptx | 207.2 КБ |
Предварительный просмотр:
Подписи к слайдам:
Условный оператор Тема 4. 03.11.2013 Цыбикова Т.Р. 2
Условный оператор В рассмотренных до сих пор алгоритмах и программах все команды (операторы) выполнялись последовательно одна за другой в том порядке, в каком они были записаны. Однако таким образом может быть построен алгоритм для решения далеко не всякой задачи. В практике хорошо известны задачи, дальнейший ход решения которых зависит от выполнения какого-либо условия . 03.11.2013 Цыбикова Т.Р. 3
Рассмотрим простой пример из курса алгебры. Требуется построить алгоритм вычисления значения функции y=|x| . Она задаётся соотношением: 03.11.2013 Цыбикова Т.Р. 4
При решении этой задачи требуется выполнить следующие условия: проверить больше или равен нулю x ; если x больше или равен 0, то присвоить y значение x ( y:=x ) , если x меньше 0, то присвоить y значение - x ( y:= - x ) Коротко алгоритм решения этой задачи может быть записан так: ЕСЛИ x≥0, ТО y:=x, ИНАЧЕ y:=x 03.11.2013 Цыбикова Т.Р. 5
Команды ветвления Команды, с помощью которых записываются алгоритмы подобного типа (разветвляющиеся алгоритмы), называются командами ветвления . Команде ветвления в Паскале соответствует условный оператор . Условный оператор может иметь две формы (структуры), представленные на рисунках 1 и 2. 03.11.2013 Цыбикова Т.Р. 6
Рисунок 1 ? оператор IF THEN + - Неполная форма условного оператора На рис.1 показана неполная форма условного оператора: действие выполняется тогда и только тогда, когда выполняется записанное в ромбе условие. В случае невыполнения условия происходит переход к следующему оператору (выход из структуры). 03.11.2013 Цыбикова Т.Р. 7
Рисунок 2 На рисунке 2 изображена полная форма условного оператора: в случае выполнения условия (выход « + » из ромба) выполняется одно действие, в случае невыполнения (выход « - ») – другое действие. ? оператор _1 IF THEN + - ELSE оператор _2 Полная форма условного оператора 03.11.2013 Цыбикова Т.Р. 8
? оператор IF THEN + - Неполная форма условного оператора ? оператор _1 IF THEN + - ELSE оператор _2 Полная форма условного оператора Структуры условного оператора 03.11.2013 Цыбикова Т.Р. 9
Структуры условного оператора Каждая структура имеет один вход и один выход. Программу рекомендуется строить из последовательных, логически завершенных блоков, не допуская передачи управления из одного блока в другой. Такая программа содержит меньше ошибок при разработке, легче проверятся на правильность выполнения. Неполный условный оператор имеет вид: IF условие THEN оператор ; Полный условный оператор имеет вид: IF условие THEN оператор_1 ELSE оператор_2 ; 03.11.2013 Цыбикова Т.Р. 10
Условный оператор Если после слов THEN и ELSE надо выполнить не один оператор, а несколько, то эти операторы заключают в так называемые операторные скобки , открывающая скобка которых – слово BEGIN , а закрывающая - END : begin ( операторы ) end; Перед словом else точка с запятой не ставится. В операторных скобках BEGIN - END рекомендуется каждую пару записывать в одном столбце: так легче проверить соответствие каждой открывающей скобке закрывающую. 03.11.2013 Цыбикова Т.Р. 11
Примеры условного оператора if a
В качестве выполняемого в условном операторе действия может быть другой условный оператор. Например, If sqr (x) + sqr (y) >1 then if x>y then z:=0 else z:=1; При такой форме записи, использующей сдвиг вправо для каждого внутреннего действия, легко понять, к какому из двух слов IF относится слово ELSE . Если этот оператор записать в одну строку, то ответ будет неоднозначным. Транслятор поступает следующим образом. Встретив сложную конструкцию из вложенных условных операторов, он анализирует её с конца, приписывая последнее найденное ELSE первому встреченному при просмотре справа налево IF . 03.11.2013 Цыбикова Т.Р. 13
Пример программы Пусть для двух целых чисел надо определить, являются они четными или нет. Для проверки четности используем условие: остаток от деления на 2 четного числа равен 0. program E3; var a,b: integer; begin writeln ( ' введите два целых числа‘ ) ; readln (a,b); if a mod 2 = 0 then writeln ( 'a- четное' ) else writeln ( 'b- нечетное '); if b mod 2 = 0 then writeln ( 'b- четно е') else writeln ( 'a- нечетное ') end . 03.11.2013 Цыбикова Т.Р. 14
Логические выражения Алгоритм решения квадратного уравнения содержит проверку условия d<0 . Два значения, d и 0, связаны отношением < - меньше. Если условие выполняется, то говорят, что соответствующее выражение истинно , если не выполняется – выражение ложно . Речь идет о логическом выражении. Для построения сложных условий в Паскале имеются логические операции and ( и ), or (или) и not (не) . Обозначим истинное значение через 1 или ложное через 0, построим таблицы истинности для этих операций. 03.11.2013 Цыбикова Т.Р. 15
Таблицы истинности для логических операций 03.11.2013 Цыбикова Т.Р. 16 X Y X and Y 1 1 1 1 0 0 0 1 0 0 0 0 X Y X or Y 1 1 1 1 0 1 0 1 1 0 0 0 X not X 1 0 0 1
Примеры построения сложных логических выражений. Пример 1. Пусть требуется определить, принадлежит ли точка с координатой x отрезку [ a;b ] . Если записать это условие двойным неравенством, то читать его надо так: x меньше либо равен b и больше либо равен a ( a x b ). Отношение «меньше либо равно» в Паскале записывается двумя знаками. Аналогично записывается и «больше либо равно». Однако в Паскале нельзя записывать двойное неравенство. Используя логическую операцию and (и), запишем: ( x>=a ) and ( x <=b ). Отношения, между которыми стоит логическая операция, заключается в круглые скобки. 03.11.2013 Цыбикова Т.Р. 17
Примеры построения сложных логических выражений. Пример 2. Имеется прямоугольное отверстие со сторонами a и b и кирпич с ребрами x, y, z . Требуется составить условие прохождения кирпича в отверстие. (рис.3) Кирпич пройдет в прямоугольное отверстие, если выполняется сложное условие: ( a>=x ) and ( b >=y ) or ( a>=y ) and ( b >=x ) or ( a>=x ) and ( b >=z ) or ( a>=z ) and ( b >=x ) or ( a>=y ) and ( b >=z ) or ( a>=z ) and ( b >=y ) Рис.3 Для трех граней шесть условий получается потому, что можно каждую грань повернуть на 90° и проверить для каждой грани два случая. 03.11.2013 Цыбикова Т.Р. 18 x y z a b
Примеры построения сложных логических выражений. Пример 3. Определить принадлежность точки фигуре. Пусть фигура задана ограничивающими ее прямыми (рис.4). Для каждой прямой определим полуплоскость, в которой находится фигура – треугольник ABC . Полуплоскость задается неравенством. Рис.4 Полуплоскость, находящаяся выше оси x определяется неравенством y>0 . Полуплоскость, находящаяся справа от прямой, соединяющей точки A ( - 1;0) и B (0;2) задается неравенством y -2 x-2<0 . Полуплоскость, находящаяся слева от прямой, соединяющей точки C (1;0) и B (0;2) задается неравенством y+ 2 x-2<0 . 03.11.2013 Цыбикова Т.Р. 19 1 -1 2 y x A B C Условие принадлежности точки ( x;y ) фигуре: (y>0)and(y -2 *x-2<0)and(y+ 2 *x-2<0)
1 -1 2 y x A B C Условие принадлежности точки ( x;y ) фигуре: (y>0)and(y -2 *x-2<0)and(y+ 2 *x-2<0) 03.11.2013 Цыбикова Т.Р. 20
Примеры построения сложных логических выражений. Пример 4. Приведем пример программы определения существования треугольника со сторонами a , b и c . Условие существования треугольника известно из геометрии: сумма двух сторон должна быть больше третьей. Следовательно, для всех сторон «сумма двух больше третьей» должно выполняться. program E4; var a,b,c : real; begin writeln (' введите длины трех сторон треугольника '); readln ( a,b,c ); write (‘ треугольник со сторонами ', a,' , ',b,' , ',c); if ( a+b >c) and ( b+c >a) and ( a+c >b) then write (' существует ') else write (' не существует '); readln end . 03.11.2013 Цыбикова Т.Р. 21 В Турбо Паскале
03.11.2013 Цыбикова Т.Р. 22
Вопросы и задания Как транслятор анализирует вложенные условные операторы? Как работает неполный условный оператор? Как проверить, является ли целое число нечетным? Как выполняется логические операции и , или , не ? 03.11.2013 Цыбикова Т.Р. 23
Напишите программы на Паскале для решения следующих задач. Даны три числа a, b и c. Выясните, верно ли a
Напишите программы на Паскале для решения следующих задач. Даны три действительных числа. Выберите те из них, которые принадлежат отрезку [1;3]. Присвойте величине a значение наибольшего из трех заданных чисел. Даны два числа. Выведите первое из них, если оно больше второго, и оба числа, если это не так. Проверьте, есть ли среди трех заданных чисел равные. Даны два действительных числа. Меньшее из них замените полусуммой этих чисел, а большее – их произведением. 03.11.2013 Цыбикова Т.Р. 25
Напишите программы на Паскале для решения следующих задач. Вычислите наименьшее из трех заданных чисел. Найдите решение уравнения ax+b =0 , если оно существует. Если данное число x меньше 0, то z присвойте значение большего из двух чисел x и y , иначе z присвойте значение полусуммы этих чисел. Даны три действительных числа. Найдите наибольшее значение из их суммы и произведения. Даны действительные числа a , b и c . Удвойте эти числа, если они являются упорядоченными по возрастанию. 03.11.2013 Цыбикова Т.Р. 26
Литература А.А.Кузнецов, Н.В.Ипатова «Основы информатики», 8-9 кл .: Раздел 3. ОСНОВЫ ПРОГРАММИРОВАНИЯ, С.93-99 03.11.2013 Цыбикова Т.Р. 27
По теме: методические разработки, презентации и конспекты
Основы программирования: ТЕМА 01. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ.
ОСНОВЫ ПРОГРАММИРОВАНИЯВВЕДЕНИЕОдним из популярных сегодня ЯП является Паскаль. Он позволяет составлять программы для решения математических задач, обработки текстов, построения изображений на экране ...
Основы программирования: ТЕМА 08. ОПЕРАТОР ВАРИАНТА.
Условный оператор позволяет осуществить ветвление программы только по двум направлениям, одно из которых соответствует выполнению проверяемого условия, а другое – невыполнению этого же условия. Если д...
Программирование разветвляющихся алгоритмов. Условный оператор
Технологическая карта урока по теме: "Программирование разветвляющихся алгоритмов. Условный оператор"...
Конспект урока по информатике на тему: «Программирование разветвляющихся алгоритмов. Условный оператор».
Цели:- рассмотреть правила записи условного оператора;- рассмотреть формат и назначение сост...
Методическая разработка урока «Программирование разветвляющихся алгоритмов. Условный оператор»
Методическая разработка урока «Программирование разветвляющихся алгоритмов. Условный оператор»...
Программирование разветвляющихся алгоритмов. Условный оператор.
На уроке учащиеся получат умения записывать на языке программирования короткие алгоритмы, содержащие алгоритмическую конструкцию «ветвление»...
Презентация по теме "Вложенный условный оператор"
Цель:-повторить алгоритмическую структуру ветвление;- познакомиться с вложенным условным оператором....