Практическое занятие № 2

 ТЕМА: Создание программ с операторами разветвления и выбора

ЦЕЛЬ РАБОТЫ: получить практические навыки по использованию операторов ветвления и выбора

 

Ход работы

 

1. Вывести заголовок программы «Пример расчета функций»;

2. Через строку вывести информацию о разработчике;

3. По центру экрана в отдельном окне выдать меню вида:

        1 – первая функция;

        2 – вторая функция;

        3 – третья функция;

        4 - выход

4. Предусмотреть обработку неверного выбора пользователя;

5. После выдачи результата выполнять возврат в главное меню до выбора пункта 4;

6. В качестве функций взять следующие:

1)    ;        2)     ;         3)

7. Привести блок-схему и текст программы;

8. Сделать вывод по работе

Пример выполнения задания

 

{Подключаем модуль для работы с экраном}

uses crt;

{Описываем метку для возврата в меню}

label m1;

{Описываем необходимые переменные}

var x,y,c,b,a:real;

    m:integer;

begin

{Очищаем экран. Помечаем строку меткой для возврата}

m1: clrscr;

{Выдаем заголовок и данные о разработчиках}

writeln ('Пример расчета функций');

writeln;

writeln ('Выполнили: Иванов и Петров');

{Делаем отступ на 2 строки и выдаем пункты меню}

writeln;

writeln;

writeln ('     1) 1-функция');

writeln ('     2) 2-функция');

writeln ('     3) 3-функция');

writeln ('     3) 4-выход');

writeln;

{Предлагаем пользователю выбрать нужный режим}

write (' Выберите действие ');

read (m);

{Обрабатываем выбор пользователя}

case m of

{Если выбран первый пункт, считаем первую функцию}

1:

begin

writeln;

{Вводим исходные данные}

write (' Введите с,x: ');

readln (c,x);

{Считаем значение функции}

if c>0 then

       y:=4*cos(x*Pi/180)-2

       else if c=0 then

                   y:=sqrt(x)+4

                   else

                   y:=x*x*x/2;

{Выводим ответ}

writeln (' Функция у= ',y:5:3);

{Пауза для просмотра}

readln;

{Возврат к меню программы}

goto m1;

end;

 

{Если выбран пункт 2, то считаем вторую функцию}

2:

begin

writeln;

{Вводим исходные данные}

write (' Введите x: ');

readln (x);

{Считаем функцию}

if x>6 then

       b:=exp((2/3)*ln(x))-1

       else if x=6 then

                   b:=0

                   else

                   b:=abs(x-5);

{Выводим ответ}

writeln (' Функция b= ',b:5:3);

{Пауза для просмотра ответа}

readln;

{Возврат в главное меню}

goto m1;

end;

 

{Если выбран пункт 3, считаем 3 функцию}

3:

begin

writeln;

{Вводим исходные данные}

write (' Введите b,x: ');

readln (b,x);

{Считаем функцию}

if b>2 then

       a:=5*ln(b)

       else if b=2 then

                   a:=sin(sqr(b)*Pi/180)+x*x*x

                   else

                   a:=abs(b)-x;

{Выводим ответ}

writeln (' Функция a= ',a:5:3);

{Пауза для просмотра}

readln;

{Возврат в главное меню}

goto m1;

end;

 

{Если выбран пункт 4, то ничего не делавем (конец)}

4: ;

 

{Если выбран другой, не предусмотренный режим, то вернуться в меню для повтора}

else

goto m1;

end;

end.

 

Решить самостоятельно:

1.      Даны радиус круга и сторона квадрата. У какой фигуры площадь больше?

 

2.      Написать программу вычисления значения функции

5fbb5a7f

 

3.      Даны три числа. Возвести в квадрат те из них, значения которых неотрицательны.

 

4.      Даны х и у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значение увеличить на 0,5; если оба значения неотрицательны, то оба значения увеличить в 10 раз.

 

5.      Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня (январь — 1 и т. д.). Определить возраст человека (число полных лет). В случае совпадения указанных номеров месяцев считать, что прошел полный год.

 

6.      Известны площади круга и квадрата. Определить:

а) уместится ли круг в квадрате?

б) уместится ли квадрат в круге?

 

7.      Написать программу вычисления значения функции

m66a87277

 

 

8.   Написать программу преобразования цифр в слова.

9.   Напишите программу, которая по введенному числу из промежутка 0..24, определяет время суток.

10.                       В зависимости от введенного символа L, S, V вычисляется длина окружности, площадь круга или объем цилиндра.

11.                       Написать программу, позволяющую получить словесное название оценок (2 – неудовлетворительно, 3 – удовлетворительно, 4 – хорошо, 5 – отлично).

12.                       Написать программу нахождения числа дней в месяце, если даны n – номер месяца, а – число, равное 1 для високосного года, и 0 – для обычного.

13.                       Определить, является введенная буква гласной.

14.                       Написать программу, классифицирующую треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы.

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