Главная | Случайная
Обратная связь

ТОР 5 статей:

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

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

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

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

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

КАТЕГОРИИ:






Операторные скобки. Составной оператор.




Операторные скобки

После служебного слова then, или после служебного else будет выполняться только один оператор. Если необходимо, чтобы выполнялось несколько операторов их нужно взять в операторные скобки:

Begin

 

End;

Группу операторов находящуюся внутри операторных скобок будем называть составным оператором. Фактически, весь раздел операторов, внутри операторных скобок, представляет собой один составной оператор.

Для того, чтобы при большом количестве операторных скобок, программа была более читаемая, end желательно записывать под begin.

Даны действительные числа x, y (x≠y). Меньшее из этих двух чисел заменить их суммой, а большее - их произведением.

program zadacha3_8;

var a,b,sa,sb:longint;

Begin

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

readln(a,b);

sa:=a; sb:=b;

if a>b then

begin

b:=sa+sb;

a:=sa*sb;

end

else

begin

a:=sa+sb;

b:=sa*sb;

end;

writeln ('первоначальные числа a=',sa,' b=',sb);

writeln ('полученные числа a=',a,' b=',b);

End.

Составить программу решающую квадратное уравнение вида ax2+bx+c=0.

program zadacha3_9;

var a,b,c:integer;

x,d,x1,x2:real;

Begin

writeln('введите коэффициенты а,b,c');

readln(a,b,c);

d:=b*b-4*a*c; {вычисление дискриминанта}

 

if d<0 then writeln('уравнение не имеет корней');

 

if d=0 then

begin

writeln('уравнение имеет 1 корень');

x:=-b/(2*a);

writeln('x= ',x);

end;

 

if d>0 then

begin

writeln('уравнение имеет 2 корня');

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln('x1= ',x1);

writeln('x2= ',x2);

end;

End.

Вопросы для повторения:

1. В каких случаях после служебных слов then и else нужно писать begin … end, а в каких нет?

2. Что представляет собой составной оператор?

3. Почему end желательно записывать под begin?

4. Для чего в задаче 3_8 введены переменные sa, sb?

45. В какой из следующих структур допущена ошибка? Какая?

 

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

1. Даны действительные числа x, y (x≠y). Меньшее из этих двух чисел заменить их полусуммой, а большее - их удвоенным произведением.

2. Даны два целых числа M, N. Если M делится нацело на N, то вывести на экран частное от деления, в противном случае - сообщение "M на N нацело не делится".

3. Даны три числа. Удвоить их, если они упорядочены по возрастанию, иначе отрицательные заменить их модулями.

4. Даны три числа. Удвоить их, если они целые, иначе нецелые заменить их целыми частями.

5. Дано натуральное число n (n £ 9999). Если число четырёхзначное, то получите и выведите перевёртыш этого числа (3528 → 8253), иначе выведите ответ "Число не четырехзначное".

6. Дано натуральное число n. Если оно двухзначное, то впишите в середину ноль (для 56 → 506), иначе выведите ответ "Число не двухзначное".

7. * Даны натуральные числа k, l ( 1£ k, l £ 8). На клетке (k, l) расположена шахматная фигура:

a) конь b) ферзь

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

Оператор выбора.

Оператор выбора.

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы.

Структура оператора выбора такова:

case <ключ выбора> of

<список выбора>

[else <операторы>]

end;

Рассмотрим несколько примеров:

Вводиться число от 1 до 4, определяющее пору года. Дать название этой поры года (1 - зима, 2 - весна, 3 - лето, 4 - осень).

 

program zadacha3_10;

var

n:byte;

Begin

writeln('Введите номер поры года');

readln(n);

case n of

1: writeln('зима');

2: writeln('весна');

3: writeln('лето');

4: writeln('осень');

else

writeln('неправильно ввели номер поры года');

end;

End.

 

Составим программу "КАЛЬКУЛЯТОР", которая после ввода двух чисел и одного из знаков +, -, *, / произведёт вычисления, а результат выдаст на экран.

 

program zadacha3_11;

var

a,b,s:real;

sim:char;

Begin

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

readln(a,b);

writeln('Введите знак операции');

readln(sim);

case sim of

'+': s:=a+b;

'-': s:=a-b;

'*': s:=a*b;

'/': s:=a/b;

end;

writeln ('результат ',a,sim,b,' = ',s);

End.

 

В данной программе отсутствует часть else и поэтому, если ввести вместо рассматриваемых арифметических знаков, ввести любой символ, то программа будет работать, но будет работать неверно.

 

 

Вопросы для повторения:

46. Сколько строк может быть записано в списке выбора?

47. Может ли в операторе выбора отсутствовать часть else?

48. Сформулируйте, что может являться ключом выбора?

49. Можно ли оператор выбора заменить условным оператором if … then?

50. Сколько операторов if then понадобилось бы для решения задачи 3_10?

 

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

1. Отредактируйте задачу zadacha3_11 так, чтобы при вводе произвольного символа программа выдавала ответ: "Введена некорректная арифметическая операция";

2. Вводится число от 1 до 10. Дать название этого числа (1 - один , 2 - два , …, 10 - десять);

3. Вводится число от 1 до 7, определяющее день недели. Дать название этого дня (1 - понедельник, 2 - вторник, …, 7 - воскресенье);

4. В спортивных соревнованиях Шарик, кот Матроскин, дядя Фёдор и почтальон Печкин заняли соответственно 1, 2, 3 и 4 места. Составить программу, которая по номеру места выдаёт имя участника соревнований.

5. Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами (I, II, III, IV, V, VI, …., XV);

6. Вводится число от 1 до 15. Вывести данное число, записанное в двоичной системе счисления (1, 10, 11, 100, 101, …., 1111);

7. Вводится число от 1 до 12, определяющее месяц года. Дать название этого месяца года (1 -Январь, 2 - Февраль, …, 12 Декабрь);

8. Вводится номер месяца. Вывести пору года для этого месяца (1 - зима, …, 3 - весна, …, 8 - лето, …);

9. Вводиться номер поры года. Вывести названия месяцев для этой поры года (1 – декабрь, январь, февраль, . . .);

10. *Вводится число от 1 до 100. Дать название этого числа (1 - один , 2 - два , …, 100 - сто);

11. Дано натуральное число N (N<20), определяющее сумму денег в рублях. Дать для этого числа наименование: "рубль", "рубля", "рублей";

12. Дано натуральное число N (N<100), определяющее возраст человека в годах. Дать для этого числа наименование: "год", "года", "лет";

Вводится число от 1 до 7, определяющее день недели. Вывести расписание уроков в вашем классе в этот день.




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

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