Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_dlya_studentov_2_matematika.doc
Скачиваний:
56
Добавлен:
25.11.2018
Размер:
2.93 Mб
Скачать

3. Примеры выполнения задания к практическому занятию № 4

3.1. Программы линейных алгоритмов

Пример 11.

Написать программу линейного алгоритма примера 8 практической работы №1.

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

Y = sin (x+30)/(a + x)+b*a;

Значение х ввести в градусах.

Решение.

В программе примера 11 после слова «BEGIN» перед операторами в фигурных скобках даются комментарии, поясняющие действия этих операторов.

PROGRAM PR11;

VAR

a, b, x, y:real;

BEGIN

{На экран выводится подсказка – текст в скобках}

Writeln (‘ввести a, x, b’);

{Ввод с клавиатуры переменных a, x, b}

Readln (a, x, b);

{перевод из градусов в радианы переменной х}

x:=x*pi/180;

y: = sin (x+30*pi/180)/(a + x)+b*a;

{Вывод переменных a, x, b}

Writeln (‘a=’, a: 7:3,’ x=’, x: 7:3,’ y=’, y: 7:3);

END.

В примере11 вывод переменных записан в формате с фиксированной точкой.

Примечание.

Необходимо учесть последовательность действий при выполнении арифметического выражения с учётом приоритета арифметических действий:

а) вычисляются скобки: первая слева и вторая,

б) вычисляется синус первой скобки,

в) выполняется операция деления синуса на вторую скобку,

г) выполняется операция умножения b*a,

д) выполняется операция сложения

3.2. Программы разветвляющихся алгоритмов

Пример 12.

Написать программу разветвляющегося алгоритма примера 9 практической работы №1.

Если х>0, тогда вычислить:

y = lg(x) + (a-d)/(d+b);

иначе вычислить:

y=sin (x)/(a + b)-b/d.

PROGRAM PR12;

VAR

a, b,d, x, y:real;

BEGIN

{На экран выводится подсказка – текст в скобках}

Writeln (‘ввести a, x, b, d’);

{Ввод с клавиатуры переменных a, x, b,d}

Read (a, x, b, d);

{перевод из градусов в радианы переменной х}

x:=x*pi/180;

if x>0 then

y: = ln(x)/ln(10) + (a-d)/(d+b)

else

y:=sin (x)/(a + b)-b/d;

{Вывод результата}

Writeln (’y=’, y: 7: 3);

END.

Пример 13.

Дана точка А (X,Y) с координатами X,Y не равными нулю.

Найти четверть, в которой находится эта точка.

Program Pr 13;

Var

X, Y: integer;

Begin

writeln(‘ввести координаты т. А: X,Y’);

Readln (x,y);

IF (x>0 ) and (y>0) then writeln (‘т. A: в 1четверти’)

else

IF (x>0) and (y<0) then writeln (‘т. А в 4 четверти’)

else

IF y>0 then writeln (‘т. А во 2 четверти’)

else writeln (‘т. А в 3 четверти’);

End.

Каждому ELSE соответствует предыдущее свободное then.

4. Задания к практическому занятию № 4

  • Написать программу для линейного алгоритма, выполненного в практической работе №1.

  • Написать программу для разветвляющегося алгоритма, выполненного в практической работе №1.

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

  • Запустить каждую программу, исправить ошибки, ввести данные, получить результат.

  • Представить преподавателю программу с полученным результатом на компьютере.

  • Оформить и защитить работу преподавателю (тест по данной теме).

Задания ИДЗ №3 по теме: «Программирование. Линейные процессы. Ветвления» в Приложении №1 (Задание 4).

5. Вопросы для самоконтроля к практическому занятию № 4

1. Во фрагменте программы:

begin

writeln ( ‘ x,y’);

readln(x,y,z);

z:=x+y;

writeln ( x,y,z);

end.

Представлен раздел:

1) операторов; 2) описания переменных; 3) ввода данных; 4) вывода данных.

2. Во фрагменте программы:

var

x,y,z: real;

выполняется описание:

1) числовых переменных целого типа;

2) числовых переменных вещественного типа;

3) описание констант;

4) ввода данных.

3. Укажите правильно записанное логическое выражение на паскале:

1) r<0 and r>0;

2) 0 <x<1 and y >x;

3) (z>y) or (z<x) ;

4) A>B>C<0.

4. В программе паскаля оператор: writeln(‘z=’, z: 8: 4):

1) вводит данные с клавиатуры;

2) выводит на экран подсказку;

3) выводит переменную с плавающей запятой;

4) выводит переменную с фиксированной точкой.

5. В результате работы линейного алгоритма:

x:=5

y:=x+1;

x:=2*y;

y:=x+y;

вывод y.

Переменная У приняла значение:

1) 16; 2) 5; 3) 6; 4) 18.

6. В результате работы линейного алгоритма:

y:=x+3;

x:=2*y;

y:=x+y;

вывод y.

Переменная У приняла значение 18. Указать значение Х до начала работы алгоритма.

1) 7; 2) 3; 3) 5; 4) 10.

7. Укажите правильно записанный оператор присваивания на паскале:

1) z:= cos(x) + ln(y);

2) cos(x):= z+ln(y);

3) z =cos(x)+log(y);

4) a+b:=c+d.

8. При x, y: integer;

в результате выполнения фрагмента программы:

x := -5; y := -10;

if abs (x) > abs(y) then x := x + 15 else y:=x-y;

write (x,y);

на экран будет выведено:

1) 5; - 10;

2) 10; -10;

3) 10; 5;

4) -5; 5.