русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор If, или условный оператор.


Дата добавления: 2014-11-27; просмотров: 2647; Нарушение авторских прав


Синтаксическая диаграмма:

полный условный оператор If <условие> Then <оператор 1 > Else <оператор 2>;

неполный условный оператор If <условие> Then <оператор> ;

Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Про­стые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логиче­ских операций. Как известно, значением логического выраже­ния является или True, или False. В первом случае выполняется <оператор 1>, во втором — <оператор 2>. В качестве <оператор 1> или < оператор 2> может выступать любой оператор языка программирования Турбо Паскаль, в частности и состав­ной оператор, и условный оператор. В последнем случае полу­чаемая конструкция называется вложенными условными опе­раторами. Допускается запись неполного условного оператора, без ветви Else. В этом случае при значении False никаких дей­ствий не производится. В записи условных операторов возника­ет неоднозначность типа:

If <условие 1> Then <оператор 1> If <условие 2> Then <оператор 2> Else <оператор 3>;

Неясно, к какому оператору If относится ветвь Else. Она (не­однозначность) разрешается по следующему правилу: «Else от­носится к ближайшему оператору If, у которого еще отсутству­ет данная ветвь».

 

2. Экспериментальный раздел работы

1. Разбор оператора можно выполнить на следующем простом примере: вывести на экран наибольшее из двух данных чисел.

Program Му5_1 ;

var

х, у: integer ;

begin

WriteLn (' Введите 2 числа' ) ;

ReadLn (x,y);

If x > y Then WriteLn (x)

Else WriteLn (у);

ReadLn;

End.

Поставьте « ; » после оператора WriteLn(x). Убедитесь, что по­явилась ошибка «Error 113: Error in statement». Конструкция (оператор) If — Then — Else неделима, поэтому разделитель « ; » недопустим. В случае равенства чисел Ваша программа выводит значение переменной у. Измените программу так, чтобы в этом случае она выводила на экран сообщение «Числа равны».



2. Попробуем найти наибольшее из трех чисел — значения пе­ременных х, у и z. Предположим, что нет равенств, т. е. все числа различны. Прежде чем набирать программу на ПК составьте алгоритм решения данной задачи на бумаге.

Программа определения значения наибольшего из трех чи­сел имеет вид:

Program Му5_2;

vаг

х, у, z: integer;

begin

WriteLn ( ' Введите три числа через пробел ' );

ReadLn (x, y, z) ;

If ( x > y) And ( x > z) Then WriteLn (x)

Else If (y > x) And ( y > z) Then WriteLn (y)

Else WriteLn (z) ;

{* If x>y Then If x>z Then WriteLn(x)

Else WriteLn(z)

Else If y>z Then WriteLn (y)

Else WriteLn (z); *}

ReadLn;

End.

Вторая версия решения заключена в фигурные скобки (ком­ментарии). Уберите их, включите первую реализацию как ком­ментарий, убедитесь в правильности решения. Измените про­грамму так, чтобы анализировался и случай равенства чисел. Обратите внимание на то, что при написании сложных условий простые условия заключаются в скобки. Это связано с тем, что операции сравнения имеют более низкий приоритет, чем логи­ческие операторы.

3. Задания для самостоятельной работы

1. Запишите условный оператор, в котором значение перемен­ной вычисляется по формуле:

а + b, если а — нечетное и а*b, если а — четное.

2. Вычислить значение функции:

х2 + 5, при х > 3

х - 8, при х < 3

3. Вывести на экран номер четверти, которой принадлежит точка с координатами (х,у), при условии, что х и у отличны от 0.

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

5. Даны три числа. Написать программу, подсчитывающий количество четных чисел.

6. Если целое число М делится нацело на целое число N, то вы­вести на экран частное от деления, в противном случае — со­общение «М на N нацело не делится».

7. Составьте программу, которая уменьшает первое число в пять раз, если оно больше второго по абсолютной величине.

8. Вычислить значение функции:

х - 12, при х > 0

5, при х = 0

х2, при х <0

9. Даны три целых числа, найти среднее из них. Средним на­зовем число, которое больше наименьшего из данных чисел, но меньше наибольшего.

10. Составьте программу нахождения произведения двух наибольших из трех введенных с клавиатуры чисел.

11. Найти количество положительных (отрицательных) чисел среди четырех целых чисел А, В, С и D.

12. Дано двузначное (трехзначное) число. Написать программу
определения:

§ входит ли в него цифра 5;

§ входят ли в него цифры 4 и 7;

§ входят ли в него цифры 3, 5, 7.

13. Даны целые числа х и у. Написать программу определения знака разности х-у. Разность не вычислять. Разрешается сравнивать числа х и у с нулем; а между собой можно срав­нивать только модули чисел х и у.

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

15. Даны два конверта прямоугольной формы с длинами сторон (a, b) и (c, d). Определить, можно ли один из конвертов вложить в другой?

Дополнительное задание:

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

2. Сколько общих точек у прямой y=kx+b и окружности x2+y2=R2?

3. Составьте программу для определения корней квадратного уравнения (биквадратного уравнения ax4+bx2+c=0).

Контрольные вопросы:

1. Что такое оператор?

2. Чем отличаются простые и структурные операторы?

3. Опишите оператор присваивания, назначение и порядок выполнения.

4. Опишите оператор безусловного перехода, его назначение и особенности применения.

5. Объясните назначение оператора вызова процедуры.

6. В чем особенности пустого оператора? Его назначение?

7. Какие служебные слова могут использоваться при записи условного оператора?

8. Какой тип должно иметь выражение, стоящее в условном операторе между словами if и then?

9. Приведите примеры составных операторов?

10. Какие операторы входят в состав разветвляющихся программ?



<== предыдущая лекция | следующая лекция ==>
Практическое занятие № 4. | Практическая работа №6.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.195 сек.