Материал: 3876

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

 

 

;

 

 

a2

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

Источник: https://studfile.net/preview/16711784/