русс | укр

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

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

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

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


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

Вложенные операторы условия


Дата добавления: 2015-09-15; просмотров: 1726; Нарушение авторских прав


Часто приходится выбирать путь решения задачи не из двух, а из нескольких возможных. В программировании это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор.

Пример:

Даны целые числа a, b, c. Если a<=b<=c, то все числа заменить их квадратами, если a>b>c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.

Решение

Условие задачи перепишем следующим образом:

a = a2, b = b2, c = c2, если a <= b <= c

a = c, b = c, если a>b>c

a = -a, b = -b, c = -c, в остальных случаях.

Program Example_4;
Var a,b,c: Integer;
Begin
Writeln('Введите числа a, b, c');
Readln(a,b,c);
If (a<=b) And (b<=c) Then Begin a:=sqr(a);
b:=sqr(b); c:=sqr(c)
End
Else If (a>b) And (b>c) Then Begin a:=c; b:=c End
Else Begin a:=-a; b:=-b; c:=-c End;
Writeln(a:3,b:3,c:3);
Readln
End.

Примечание. Если элементами вложенных условных операторов служат неполные условные операторы (как например, в задаче, рассмотренной выше), то могут возникать неясности, связанные с установлением границ условных операторов. В таких случаях служебное слово else относится к ближайшему if.

Задание

В приведенной выше программе изменим условный оператор следующим образом:

If (a<=b) And (b<=c) Then Begin a:=sqr(a); b:=sqr(b); c:=sqr(c)
Else If (a>b) And (b>c) Then Begin a:=c; b:=c End;
Else Begin a:=-a; b:=-b; c:=-c End;
End;

Как изменится выполнение данной программы? Сформулируйте условие задачи, выполняемой данной программой.

Решение

  1. Определить значение логического выражения:

(-3>=5) Or Not(7<9) And(0<3)

  1. Имеется условный оператор: If D<>10 Then writeln('ура!') Else Writeln('плохо...');. Можно ли заменить его следующими операторами:

If D=10 Then Writeln('ура!') Else Writeln('плохо...');



If Not(D=10) Then Writeln('ура!') Else Writeln('плохо...');

If Not(D=10) Then Writeln('плохо...') Else Writeln('ура!');

If Not(D<>10) Then Writeln('плохо...') Else Writeln('ура!').

  1. Какими будут значения переменных j, k после выполнения условного оператора: If j>k Then j:=k-2 Else dec(k,2);, если исходные значения переменных равны:
    1. j = 3, k = 5;
    2. j = 3, k = 3;
    3. j = 3, k = 2.
  2. Запишите условный оператор, в котором значение переменной вычисляется по формуле: a + b, если a - нечетное и a*b, если a - четное.
  3. Вычислить значение функции:

{ x2 + 5, при x>3 , x-8, при x<=3

  1. Найти наибольшее из трех данных чисел.
  2. Вывести на экран номер четверти, которой принадлежит точка с координатами (x, y), при условии, что x и y отличны от 0.

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

{ x-12, при x>0, 5, при x=0, x2, при x<0

  1. Даны три целых числа, найти среднее из них. Средним назовем число, которое больше наименьшего из данных чисел, но меньше наибольшего.
  2. Написать фрагмент программы, подсчитывающий сумму только положительных из трех данных чисел.
  3. Даны три числа. Написать фрагмент программы, подсчитывающий количество чисел, равных нулю.
  4. После выполнения операторов

a := 0;

If a<>0 Then; a := 2

значение переменной равно двум. Объясните почему.

  1. Используя составной оператор, упростите следующий фрагмент программы:

If a>b Then c := 1;
If a>b Then d := 2;
If a<=b Then c := 3;
If a<=b Then d := 4.

Каким будет значение переменной a после выполнения операторов:

a := 3;

If a<4 Then Begin Inc(a,2); Inc(a,3); End.

  1. Составьте программу нахождения произведения двух наибольших из трех введенных с клавиатуры чисел
  2. Если целое число M делится нацело на целое число N, то вывести на экран частное от деления, в противном случае - сообщение ''M на N нацело не делится''.
  3. Найти количество положительных (отрицательных) чисел среди четырех целых чисел A, B, C и D
  4. Чему равны значения переменных a и b после выполнения последовательности действий:

a := 15 Div (16 Mod 7); b := 34 Mod a *5 - 29 Mod 5*2;
a := 4 * 5 Div 3 Mod 2; b :=4 * 5 Div ( 3 Mod 2);
a := a*b; b:= b*b.

  1. Составьте программу, которая определяла бы вид треугольника (если данные отрезки позволяют его построить).
  2. Составьте программу, которая уменьшает первое число в пять раз, если оно больше второго по абсолютной величине.
  3. Составьте программу вычисления выражения:
    1. max(x + y + z, xyz) + 3;
    2. min(x2 + y2, y2 + z2) - 4, если x, y, z введены с клавиатуры.

 

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


<== предыдущая лекция | следующая лекция ==>
Условный оператор | Целый тип данных. Цикл с параметром


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


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

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

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


 


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

 
 

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

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