Знак логической операции AND, поставленный между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия
Begin Begin a:=98; a:=’Привет всем’; Writeln(a) writeln(a) End. End. Внимание! Текст в программе отмечен апострофами(одинарными кавычками).В противном случае компьютер откажется ее выполнять. Напишем программу, которая осуществляла бы следующий диалог человека с компьютером.
Компьютер выводит на экран: Здравствуй, я компьютер, а тебя как зовут? Человек вводит с клавиатуры: Коля Компьютер выводит на экран: Очень приятно, Коля. Сколько тебе лет? Человек вводит с клавиатуры: Компьютер выводит на экран: Ого! Целых 17 лет! Ты уже взрослый! Программа выглядит так: Var imya:string; vozrast:integer; Begin Writeln(‘Здравствуй, я компьютер, а тебя как зовут?’); Readln(imya); Writeln(‘Очень приятно,’, imya’. Сколько тебе лет?’); Readln(vozrast); Writeln(‘Ого! Целых’ ,vozrast,’ лет! Ты уже взрослый!’ End. Мы с вами составляли простейшие программы для линейных вычислений. Теперь поговорим о разветвляющихся алгоритмах. В большинстве случаев в программе необходимо делать выбор: например, игра в шахматы. В таких программах используется оператор, который имеет определенный шаблон записи. В русском языке существует такое понятие как «синтаксис». Это часть грамматики, состоящая из определенных правил для выстраивания предложения. В языках программирования тоже есть предложения, которыми являются операторы. Таким оператором является Условный оператор IF:
IF условие THEN оператор ELSE оператор Пример: IF a:=28 THEN Writeln(f) ELSE k:=44 Переводится так: если а=28 то печатай f иначе присвой переменной k значение 44. Другими словами мы предлагаем компьютеру сначала подумать, правда ли, что а=28. Если правда выполняется оператор writeln(f), в противном случае выполняется оператор k:=44. Мы видим, что оператор if включает в себя другие операторы, которые выполняются или не выполняются в зависимости от какого-то условия. Рассмотрим задачу: Компьютер должен перемножить два числа 167 и 121. Если их произведение превышает 2000, компьютер должен напечатать текст «ПРОИЗВЕДЕНИЕ БОЛЬШОЕ», иначе – текст «ПРОИЗВЕДЕНИЕ МАЛЕНЬКОЕ». После этого компьютер в любом случае должен напечатать само произведение. Программа: Var a,b,y:integer; Begin a:=167; b:=121; y:=a*b; if y>2000 then Writeln (‘ПРОИЗВЕДЕНИЕ БОЛЬШОЕ’) else Writeln (‘ПРОИЗВЕДЕНИЕ МАЛЕНЬКОЕ’); Writeln(y) End. Рассмотрим еще одну задачу и ее решение в трех вариантах. В компьютер вводятся два произвольных положительных числа – длины сторон двух кубиков. Компьютер должен подсчитать объем одного кубика – большего по размеру. 1 вариант: var a1, a2:real; Begin Readln(a1,a2); If a1>a2 then writeln (a1*a1*a1:15:5) Else writeln (a2*a2*a2:15:5) End. 2 вариант: var a1,a2,v:real; Begin Readln(a1,a2); If a1>a2 then v:=a1*a1*a1 else v:=a2*a2*a2; Writeln(v:15:5) End. 3 вариант: var a1,a2,bol,v:real; Begin Readln(a1,a2); If a1>a2 then bol:=a1 else bol:=a2; v:=bol*bol*bol; Writeln(v:15:5) END. Таким образом, мы видим, что оператор if избавил человека от труда выбирать какое из двух чисел больше другого. Оператор if можно записывать и без слова else. Например: if s<t then w:=a+1. Это означает, что если s<t, выполняется оператор w:=a+1, в противном случае ничего не делается. В синтаксической записи оператора IF используются знаки сравнения. Их шесть: > больше; < меньше; >= больше или равно; <= меньше или равно; = равно; <> не равно. Полезное замечание: Вычисляя выражения, стоящие в условиях оператора IF, Паскаль не записывает их значения в память. Например, после выполнения фрагмента b:=6; if b+1>0 then S:=20 в ячейке b будет храниться 6, а не7. То же относится и к выражениям из оператора Writeln. Например: b:=6; Writeln(b+1). И здесь в ячейке b останется храниться 6, а не 7. ВЫВОД: информация в ячейках памяти не меняется при вычислении выражений.
Составной оператор Рассмотрим два фрагмента программы: Writeln(‘Введите два числа’); Readln(a,b); Writeln(‘Сумма равна=’ ,a+b) Writeln(‘Введите число’); Readln(a); Writeln(‘Квадрат числа равен=’ ,a*a) Допустим нам нужно сделать программу, которая по желанию пользователя или складывала два числа, или возводила в квадрат. В этом случае мы можем воспользоваться конструкцией, которая называется составным оператором. Наша программа будет выглядеть следующим образом: Var a,b:integer; Otvet:string; Begin Writeln(‘Чем займемся – сложением или возведением в квадрат?’); Readln(Otvet); If Otvet=’сложением’ Then Begin Writeln(‘Введите два числа’); Readln(a,b); Writeln(‘Сумма равна=’ ,a+b) End Else Begin Writeln(‘Введите число’); Readln(a); Writeln(‘Квадрат числа равен=’ ,a*a) End; Writeln(‘Счет завершен’) End. Вложенные операторы Мы с вами рассмотрели самый простой выбор, т.е. один вариант из двух возможных. А если возникает необходимость выбора, к примеру: один из трех. В таком случае в синтаксическую схему оператора IF добавляется вложенный оператор. К примеру: В компьютер вводится число(пусть для конкретности это будет дальность выстрела). Если число находится в интервале от 28 до 30, нужно напечатать текст «ПОПАЛ», иначе – «НЕ ПОПАЛ». Задача осложняется тем, что здесь указан интервал. Как это отразить в программе? Попробуем написать программу. Var a:real; Begin Readln(a); If a>28 then if a<30 then writeln (‘ПОПАЛ’) Else writeln(‘НЕ ПОПАЛ’) Else Writeln(‘НЕ ПОПАЛ’) End. Такая программа кажется довольно трудной для восприятия. В среде Паскаль есть возможность применения логических операций, которые упрощают запись программы. Попробуем написать ту же самую программу, но с использованием знаков логических операций. Var a:real; Begin Readln(a); If (a>28) and (a<30) then writeln (‘ПОПАЛ’) Else writeln(‘НЕ ПОПАЛ’) End. Знак логической операции AND, поставленный между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия. Рассмотрим другую задачу, где применяется другой знак логической операции.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (479)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |