Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3897

.pdf
Скачиваний:
0
Добавлен:
13.11.2022
Размер:
417.77 Кб
Скачать

N

K=0

S=0

I=1

I<=N

Т.Ц.

I=I+1

S/K

END

11

Схема циклического процесса с разработанным телом цикла и блоком начальных значений

А

А <0

K=K+1

S= S +А

Обозначает выход из цикла, если выполняется условие окончания цикла, т. е. I > N, и продолжение программы

Программа: PROGRAM PR1;

VAR N, S, K, I, A: INTEGER; {описание переменных } BEGIN

WRITELN (‘Введите количество обрабатываемых чисел’);

READLN (N);

{блок начальных}

S: =0;

 

K: =0;

{значений}

 

12

WRITELN(‘введите последовательность’, N, ‘целых чисел, через пробел’);

FOR I : = 1 TO N DO

 

BEGIN

{тело цикла начало}

READ (A);

 

IF A<0 THEN

 

BEGIN

{начало составного оператора}

S: =S+A;

 

K:= K+1;

 

END;

{конец составного оператора}

END;

{конец тела цикла}

WRITELN (‘среднее арифметическое =’, S/K);

READLN;

{конец строки, переход на новую строку экрана}

READLN;

{задержка экрана для просмотра результатов}

END.

Пример 2. Задана последовательность символов, заканчивающаяся символом ‘*’. Определить максимальную цифру и её номер в последовательности. В этом примере неизвестно, сколько раз будет выполняться цикл, но известно, что его надо закончить, как только обрабатываемый символ будет ‘*’. Поэтому следует использовать схему варианта б) параметр цикла обрабатываемое значение С.

C

C<>’*’

Схема циклического процесса с заполненными блоками параметра цикла

Т.Ц.

С

NOM=1

MAX=’0’

I = 1

C

C<>’*’

Т.Ц.

С

NOM,

MAX

END

13

Схема циклического процесса с разработанным телом цикла и блоком начальных значений

С цифра?

MAX<C

MAX=C

NOM=I

I=I + 1

Программа: PROGRAM PR2;

VAR I, NOM : INTEGER; MAX, C : CHAR ; BEGIN

MAX : =’0’; {блок начальных} NOM:=1;

MAX=’0’

I:=1; {значений}

WRITELN(‘Введите последовательность символов, в конце *’);

 

14

READ (C);

 

WHILE C<>’*’ do

 

BEGIN

{тело цикла начало}

IF C in '0'..'9'

THEN

IF MAX< C THEN

BEGIN

{начало составного оператора}

MAX : =C;

NOM : =I;

END;

{конец составного оператора}

I: =I+1;

 

READ(C);

 

END;

{конец тела цикла}

WRITELN (‘MAX=’, MAX, ’NOM=’, NOM);

READLN;

{задержка экрана для просмотра результатов}

END.

3. Лабораторный практикум 3.1. Лабораторная работа 1.

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

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

Задания для самостоятельной подготовки

1.Изучить:

запись констант, переменных, стандартных функций;

правила записи выражений на языке Паскаль;

оператор присваивания;

организацию простейшего ввода-вывода данных;

2.Разработать алгоритм решения в соответствии с заданием, составить схему алгоритма.

3.Составить программу решения задачи.

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

5.Реализовать программу на ЭВМ, сравнить результаты счёта с тестовыми.

6.Оформить отчёт по приведённому ниже образцу.

Постановка задачи

15

1.Вычислить на ЭВМ значения переменных, указанных в варианте, по заданным расчётным формулам и наборам исходных данных.

2.Записать выражение, зависящее от координат точек X1 и Y1 и принимающее значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если точка не принадлежит этой области. Для заданных точек вычислить выражение и результат выдать на печать.

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

а) вычислить значения Y и P, для заданных значений a, z ,x по приведённым ниже формулам.

Y

a tg 3 x2

 

 

z 2

 

 

;

 

 

a 2

x2

 

 

 

 

 

 

 

2

 

2

z

 

P

ln(a x

 

)

Sin

 

 

 

 

a

 

 

 

 

 

 

 

при a = 0,59; z = -4,8; x = 2,1;

б) определить, принадлежит ли точка T(x1,y1) к заштрихованной области.

y

0

1

х

Структурная схема для а)

А,Х,Z

C=SIN (X)/COS( X)

Y=A*C*SQR(С)+SQRT(Z*Z/(A*A+X*X));

P= ln(A+X*X)+SQR(Sin(Z/A));

Y, P

16

Структурная схема для б)

X1, Y1

L=(x1 =0)AND(y1 =0)AND(SQR(x1)+SQR(y1) =1);

ТОЧКА С КООРДИНАТАМИ

L

ПРИНАДЛЕЖИТ

НЕ ПРИНАДЛЕЖИТ

ЗАДАННОЙ ОБЛАСТИ

program Prim1;

{ лабораторная работа 1}

{студент группы ИСЭ X1 Иванов И.И.} var A, X, Z, Y, P, C: REAL;

X1, Y1: REAL;

L: BOOLEAN;

BEGIN

{вариант а) }

WRITELN (' введите A, X, Z'); READLN (A, X, Z);

C: = Sin(x*x)/Cos(x*x);

Y: = A*C*SQR(С)+SQRT(Z*Z/(A*A+X*X)); P: = ln(A+X*X)+SQR(Sin(Z/A));

WRITELN ('Y = ', Y:8:3, 'P = ', P:8:3);

17

{вариант б) }

WRITELN ('введи координаты: X1, Y1'); READLN (X1, Y1);

L:=(X1 =0)AND(Y1 =0)AND(SQR(X1)+SQR(Y1) =1);

WRITELN(‘Точка с координатами’,X1:8:2,Y1:8:2);

IF L THEN WRITELN(‘принадлежит’)

ELSE WRITELN(‘ не принадлежит’); WRITELN(‘заданной области’);

READLN; {задержка экрана для просмотра результатов}

END.

В качестве тестового набора исходных данных используем следующие значения переменных: a = 1, z = 1, x =0,5. Тогда вычисляемые значения Y и P будут равны:

y

1 tg3(05,)2

 

 

1

 

0911, ;

 

 

 

(05,)2

 

1

 

 

p

ln(1 0,25) Sin2 (1)

0,931

 

 

Для варианта б) при x1 = 0,5; y1 = 0,5 результат TRUE, при x1 = 1,5; y1 = 1,5 результат FALSE.

3.2. Варианты задания к лабораторной работе 1

Вариант 1

А. Вычислить значения a , b для заданных значений y z ,x по приведённым ниже формулам:

a

2Cos( x

 

/ 6)

;

1 / 2

Sin

2

 

 

y

 

b

1

 

z 2

 

,

 

 

 

 

3

z 2 / 5

 

при x = 1,26; y = 0,5; z = -0,85.

Б. Определить, принадлежит ли точка T(x1,y1) к замкнутой области – прямоугольнику.

y

1

0

2 x

18

Вариант 2

А. Вычислить значения s , φ для заданных значений y, x по приведённым ниже формулам:

 

x2

 

x3

x4

x 0,335;

s 1 x

 

 

 

 

 

 

при

2!

3!

 

 

4!

 

 

 

 

 

x(sin x3

cos2 y)

 

при y

0,025 .

Б. Определить, принадлежит ли точка T(x1,y1) к замкнутой области – прямоугольнику.

y

0

-2

x

-1

Вариант 3

А. Вычислить значения y, s для заданных значений a, b, t по приведённым ниже формулам:

y

e bt sin(at b)

 

 

bt a

 

;

s

b sin(at 2 cos2t)

1 ,

 

 

при a = -0,5; b = 1,7; t = 0,44.

Б. Определить, принадлежит ли точка T(x1,y1) к замкнутой области – ромбу.

y 1

-1

1

х

-1

19

Вариант 4

А. Вычислить значения y, ω для заданных значений a, b, x по приведённым ниже формулам:

w

x2 b

b2 sin3 (x

a) / x ;

 

 

 

 

 

y

cos2 x3

x / a2 b2

,

при x = -2,9; a = 1,5; b = 5,5.

Б. Определить, принадлежит ли точка T(x1,y1) к залитой области – окружности.

y

1

-1

0

1

x

-1

Вариант 5

А. Вычислить значения a , b для заданных значений y z ,x по приведённым ниже формулам:

s x3 tg 2 (x b)2 a / x b ;

Q

bx2

a

,

eax

1

 

 

при x = 0,64; a = 1,5; b = 0,8.

Б. Определить, принадлежит ли точка T(x1,y1) к залитой области – четверти окружности.

y

0

1 x

-1

20

Вариант 6

А. Вычислить значения r, s для заданных значений a, b, ,x по приведённым ниже формулам:

R

x 2 (x 1) / b sin2 (x

a) ;

 

 

 

 

 

s

 

xb / a cos2 (x

b)3

 

 

 

 

,

при a = 0,7; b = 0,05; x = 0,2.

Б. Определить, принадлежит ли точка T(x1,y1) к залитой области – четверти окружности.

y

-1

x

-1

Вариант 7

А. Вычислить значения y, z для заданных значений a, b, x по приведённым ниже формулам:

 

sin3 (x2 a)2

 

 

y

x / b ;

 

x2

 

 

z

 

cos(x b)3

,

 

 

 

 

a

 

 

при a = 1,1; b = 0,4; x = 0,5.

Б. Определить, принадлежит ли точка T(x1,y1) к заштрихованной области.

y

1

-1

1

-1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]