Организация программ разветвляющейся структуры.




















Оператор сравнения.ppt
- Количество слайдов: 20
Организация программ разветвляющейся структуры. Условный оператор. © М. Е. Макарова http: //www. uchinfo. com. ua
• На этом занятии мы познакомимся с реализацией ветвления алгоритмов с помощью условного оператора. • Рассмотрим полное и неполное ветвление. • Рассмотрим способы ветвления на три и более ветки. • Научимся сравнивать текстовые величины.
В жизни часто приходится принимать решения в зависимости от сложившейся ситуации. Если идет дождь, мы надеваем плащ, если жарко и солнечно, идем в легкой одежде. Встречаются и более сложные положения, когда нужно сделать тот или иной выбор в зависимости от того, выполняется или не выполняется некоторое условие.
Для записи на языке Турбо-Паскаль разветвляющихся алгоритмов используется условный оператор Полная (расширенная)форма оператора IF If логическое выражение Then оператор 1 Else оператор 2; Пример: If A
Пример 1 Составить программу, которая выводит на экран компьютера пример на умножение двух однозначных чисел, запрашивает ответ пользователя, проверяет его и выводит сообщение «Правильно» или «Вы ошиблись» и правильный результат.
Program Pr 6; Uses Crt; Var m 1, m 2, p, otv: integer; Begin Randomize; M 1: =random(9)+1; M 2: =random(9)+1; P: =m 1*m 2; Writeln (‘Сколько будет’, m 1, ‘ x ’, m 2, ’ ? ’); Writeln (‘Введите ответ и нажмите
Вторая серия команд в условном операторе может отсутствовать. При этом признак ее начала – служебное слово Else – опускается. Неполная команда ветвления выглядит так: If условие Then действие; Здесь при справедливости условия выполняется действие, а если условие нарушено, то сразу переходим к оператору, который следует за условным оператором.
Пример 2 Составьте программу, удваивающую значение целой переменной а, если а>5. Program Pr 2; Решение Var а : Integer; Если а > 5, то значение а Begin надо заменить на 2 а. В Write. Ln (‘Введите число’); противном случае (а <= 5) Read. Ln (а); никаких действий If а >5 Then а : = а*2; производить не нужно. Write. Ln (‘а =', а); End.
Использование нескольких команд после слов Then и Else Выполнив эту программу, вы заметите, что подчеркнутые строки выполняются вне зависимости от того, какие числа вы ввели. Такая ошибка связана с тем, что после ключевого слова Then в условном операторе If выполняется только одна команда, стоящая после него. Остальные же строки выполняются вне зависимости от условных операторов, стоящих перед ними.
Чтобы после ключевых слов Then или Else могла выполняться последовательность операторов, они должны быть заключены в операторные скобки – ключевые слова Begin и End. Операторные скобки охватывают фрагмент исходного текста программы, который необходимо считать одним оператором. В качестве операторов, используемых в составном операторе, могут использоваться любые операторы, допустимые в Турбо- Паскале, в том числе условные операторы, а также составные операторы. Составной оператор: Begin оператор 1; оператор 2; ……. оператор n; End;
Способы ветвления алгоритма на несколько рукавов.
Один из способов реализации ветвления на несколько рукавов – использование вложенных операторов IF Рассмотрим этот способ на примере:
Программа для нашего примера примет вид: Program Pr 4; Var a, x: integer; Begin Writeln('Введите x') Read (x); If x<0 then a: =x+1 Else If x<10 Then a : = 2*x Else a : = 0; Writeln (a); End.
Второй способ реализации ветвления на несколько рукавов – использование нескольких неполных операторов IF Пример 5 Составьте программу, определяющую наибольшее значение переменных X, Y, Z. Program Pr 5; Var x, y, z, p: integer; Begin Write. Ln (‘Задайте значения x, y, z’); Read. Ln (x, y, z); p: =x; If p
Для упорядочивания слов люди давно придумали замечательный способ – алфавитный. Именно так, например, упорядочены слова в словарях. Будем считать большим из двух слов то, которое в словаре стоит дальше. Если первая буква первого слова стоит в алфавите дальше, чем первая буква второго слова, то второе слово больше первого. Если у сравниваемых слов первые буквы совпали, то сравниваются вторые буквы, и т. д. Сравнение строк на компьютере основано на том, что каждый символ имеет свой АSСII-код , и при сравнении строк сравниваются коды составляющих их символов.
Пример 6. Составить программу, проверяющую правильность пароля Предположим, что пароль – это слово «груша» . Программа запрашивает у пользователя пароль, сравнивает его с нашим паролем. Если пользователь ввел правильный пароль, то для него доступ открыт, а если пароль не правильный, то доступ закрыт. Program Pr 6; Var parol : string; Begin Write. Ln (‘Какой пароль? ’); Read. Ln (parol); If parol=‘груша’ then write. Ln (‘Доступ для Вас открыт’) Else write. Ln (‘Доступ закрыт!!!’); Read. Ln; End.
Пример 7. Составить программу, которая предлагает Ивану-Царевичу выбрать правильное направление пути. У Ивана-Царевича есть три варианта дальнейшего пути: • направо, • налево, • вперед. Program Pr 7; Var p : string; Begin Write. Ln (‘Куда путь держишь? ’); Read. Ln (p); If p=‘направо’ then write. Ln (‘Коня потеряешь’); If p=‘налево’ then write. Ln (‘Голову сложишь’); If p=‘прямо’ then write. Ln (‘Невесту найдешь’); Read. Ln; End.
Сегодня мы узнали: Ветвление на три и более рукава можно организовывать с помощью вложенных команд IF, нескольких неполных команд IF, а также, комбинируя обе возможности. Сравнение строк на компьютере основано на том, что каждый символ имеет свой АSСII-код, и при сравнении строк сравниваются коды составляющих их символов.
1. Написать программу, которая проверяет, делится ли на 3 целое число, введенное с клавиатуры. 2. Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендации о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: рост (в сантиметрах) – 100. 3. Из трех данных чисел выбрать наибольшее.
1. Выучить конспект 2. Выучить § 13. 3. Стр. 108 № 4, 11, 13.

