Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Использование составного оператора




Если по смыслу задачи, в зависимости от условий, надо выполнять либо одну, либо другую группу операторов, то их надо их надо превратить в один составной оператор (заключить в операторные скобки):

Begin

операторы;

End;

If Q Then

Begin

A1;

A2;

:

An;

End

Else

Begin

B1;

B2;

:

Bn;

End;

Задача 2:

Даны 2 различных числа. Вычислить x=(y+z)2; - где y=max*2; z=max/min;

Решение:

Program Vet2;

Var A,C,Max,Y:Integer;

Z,X:Real;

Begin

Writeln(’Введите 2 различных числа’);

Readln(A,C);

If A>C Then

Begin

Y:=A*2;

Z:=A/C;

End

Else

Begin

Y:=C*2;

Z:=C/A;

End;

X:=SQR(Y+Z);

Write(’X = ’,X);

End.

Задача 3.

Даны числа A, C. Решить линейное уравнение A*X=C с полным анализом.

Решение:

Program Vet3;

Var A,C,X:Real;

Begin

Writeln(’Введите 2 числа’);

Readln(A,C);

If A=0 Then

If B=0 Then

Writeln(’X -любое’)

Else

Writeln(’Решений нет’)

Else

Begin

X:=C/A;

Writeln(’X=’,X);

End;

End.

Задачи:

1. Даны X,Y (Х<>Y). Меньшее из этих двух чисел заменить полусуммой, а большее их удвоенным произведением

2. Даны числа A, B, C. Решить уравнение AX2+BX+C=0 с полным анализом.

3. Даны 3 числа. Найти разность большего и меньшего из этих чисел

4. Если сумма трех различных чисел X,Y,Z меньше единицы, то меньшее из X,Y заменить полусуммой Y и Z, иначе большее из X и Y заменить произведением Х*Y.

 

6.3.Использование составных логических условий (связки “и”; “или”).

При записи составных логических условий следует помнить порядок выполнения операций.

Задача 3.

Даны числа X,Y,Z. Проверить, можно ли построить треугольник с данными сторонами.

Решение:

Program Vet3;

Var X,Y,Z:Integer;

Begin

Writeln(’Введите 3 числа’);

Readln(X,Y,Z);

If (X+Y>Z) and (X+Z>Y) and (Y+Z>X) Then

Writeln(’Треугольник существует.’)

Else

Writeln(’Треугольник не существует.’);

End.

Задачи

1. Даны числа А, В, С. Определить есть ли среди них отрицательные числа.

2. По введенной температуре определить здоров человек или болен.

3. Даны числа А, В, С. Определить какое из чисел лежит между двумя другими

4. Даны числа А, В, С. Вывести их на экран упорядоченными по возрастанию.

5. Дана точка M(X,Y). Определить, лежит ли данная точка внутри области D:

a) у б) у в) у г) у y=x

2

       
   
 


D 2 х -2 2 х -3 2 х х

D D -2 D

 

 

д) у у=х2 е) у ж) у з) у

2

               
 
   
     
 
 
 


D х 2 х -2 2 х х

D D -2 D

 

Оператор варианта

Case B of

<список меток 1>:S1;

<список меток 2>:S2;

:

<список меток n>:Sn;

[Else S;]

End;

S1, S2,…, Sn – любые операторы в единственном числе;

B – выражение, дающее значение порядкового типа, оно называется переключателем;

<список меток n> - это перечень констант того же типа, что и значение переключателя B. Разделяются запятой или (..).

Примеры:

1..50; 1,2,4; ’a’,’d’;

Выполняется:

1. Вычисляется значение переключателя B;

2. Отыскивается список меток, включающий это значение и выполняется соответствующий оператор;

3. Если значение переключателя не входит ни в один из списков меток, то в случае полной формы операторa Case, выполняется оператор S, а в случае неполной формы управление передается следующему оператору программы.

Здесь перед Else (;) ставится.

Задача 4:

По номеру дня недели вывести соответствующее ему название.

Решение:

Program Vet4;

Var Z:Integer;

Begin

Writeln(’Введите номер дня недели’);

Readln(Z);

Case Z of

1:Writeln(’Понедельник’);

2:Writeln(’Вторник’);

3:Writeln(’Среда’);

4:Writeln(’Четверг’);

5:Writeln(’Пятница’);

6:Writeln(’Суббота’);

7:Writeln(’Воскресенье’);

Else

Writeln(’Дня с таким номером не существует.’);

End;

End.

Задача 5:

По заданному символу определить, является ли он цифрой, латинской буквой или другим знаком.

Решение:

Program Vet5;

Var Z:Char;

Begin

Writeln(’Введите символ’);

Readln(Z);

Case Z of

’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’:Writeln(’Символ - цифра’);

’a’..’z’:Writeln(’Символ – латинская буква’);

Else

Writeln(’Другой знак.’);

End;

End.

Задачи:

1. Определить по введенному номеру месяца, количество дней в нем.

2. Определить, принадлежит ли введенное целое число к десяткам, сотням или тысячам.

3. По номеру квартала определить принадлежащие ему названия месяцев.

4. По номеру четверти координатной плоскости вывести знаки Х и У.

 

Оператор перехода

Оператор перехода имеет вид:

Goto M;

M- метка. Все метки должны быть описаны в разделе описания меток;

В рассмотренных выше программах операторы выполнялись в том порядке, в каком они были записаны. Изменить этот порядок можно с помощью оператора перехода. Он прерывает естественную последовательность операторов: следом за ним выполняется оператор, помеченный указанной меткой.

Оператор Goto Met; передает управление на оператор с меткой Met.

Пусть программа содержит последовательность операторов:

X:=2; A:=X; Goto Met;

1:A:=A*2; B:=A; Met:Writeln(B);

В этом случае сначала выполняются операторы X:=2; A:=X; затем следует переход к оператору, помеченному меткой Met т.е. к оператору Writeln(B);

Задача 6.

Даны 3 отрицательных числа. Найти предыдущее и следующее значение максимального из этих чисел.

Решение:

Program Vet6;

Label 1;

Var A,B,C:Integer;

Begin

1:Writeln(’Введите отрицательные числа’);

Readln(A,B,C);

If (A>0) or (B>0) or (C>0) Then Goto 1;

{далее задачу решаем самостоятельно}

End;






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных