Рефетека.ру / Информатика и програм-ие

Реферат: Контрольная по информатике

Министерство общего и профессионального образования

Российской Федерации

Алтайский государственный технический университет им. И.И. Ползунова

Контрольная работа

по дисциплине «Информатика и вычислительная техника»

Вариант 0

Выполнил: студент гр. 9М-91 заочн. ф-та

Проверил: преподаватель

Ильин Валентин Иванович

Барнаул 1999


Задание.

Вычислить произведение элементов массива, превышающих заданное число С, то есть yk > C, для х ? [a,b] и изменяющегося с шагом h.

1 + x + ? x, где x < 5 yk= ? 2 – cosx, где 5 ? x ? 8 ln (1+x), где x > 8
Этап 1. Обозначения.
X – значение аргумента x;
Y - значение yk;
C – заданное число;
А – начальное значение аргумента x;
В – конечное значение аргумента x;
Н – шаг изменения аргумента x;
Р – произведение элементов yk массива.

Этап 2. Обсуждение алгоритма.
Задается начальное значение аргумента x = a и начальное значение произведения элементов массива Р = 1. Так как, число повторений цикла заранее неизвестно, организуется циклический (итерациооный) вычислительный прцесс. Внутри цикла осуществляется проверка значений х, и в зависимости от того x < 5, или 5 ? x ? 8, или x > 8, выбирается формула для вычисления значений yk. Кроме того, есливыполняется условие x < 5, то проверяется еще одн условие х ? 0 (так как подкоренное выражение при вычислении yk не может быть отрицательным). Вслучае выполнения этого условия, значению yk присваивается значение yk = 1 (для того, чтобы при вычислении не изменилось значение произведения Р, а процесс перешел к вычислению следующего значения yk при следующем значении х). Затем, на основании полученного значения yk проверяется условие yk > С. Если оно выполняется, то значение произведения Р умножается на полученное значение yk. После этого, аргумент х увеличивается на шаг h. Цикл выполняется до тех пор, пока текущее значение х не превысит значения b – конечное значение аргумента х.

Этап 3. Структурная схема.
Структурная схема представлена на рис.1.


Рисунок 1.

Этап 4. Текст программы.

PROGRAM_KR0;
VAR_A,B,C,H,P,X,Y:REAL;
BEGIN
WRITELN(‘Введите значения a и b’);
READLN(A,B);
WRITELN(‘Введите шаг Н и число С’);
READLN(H,C);
X:=A;
P:=1;
WHILE_X8_THEN_Y:=LN(1+X);

ELSE_Y:=SQRT(2-COS(X));

IF_Y>C_THEN_P:=P*Y;

X:=X+H;

END;
WRITE(‘Произведение элеменьов массива равно’, P:8:2);
END.

Пояснения к программе.
Когда после запуска программы на экране появится текст:
Введите значения a и b, нужно на клавиатуре выбрать конкретные числа, которые будут присвоены этим переменным.
Затем появится сообщение:
Введите шаг Н и число С.
Необходимо ввести также конкретные значения этих переменых. После этого программа начнет выполнение вычислительного процесса. В результате работы программы на экране появится текст:
Произведение элеменьов массива равно число.

Лабораторные работы.

Вариант 10.

Тема 1. Линейный вычислительный процесс.

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

[pic]

PROGRAM_LR1;
VAR_A,B,D,P,G:REAL;
BEGIN
WRITE(’Введите через пробел значения a, b, d, p, g’);
READ(A,B,D,P,G);
Х:=A*SIN(SQR(P))+B*SQR(COS(P))/(A*D*(SQR(P)+SQR(G)));
WRITE(’X=’,X:7:2);
END.

Тема 2. Разветвляющиеся вычислительный процесс.

Задание 2. Составить структурную схему и написать программу вычисления значения у(х) для любого значения аргумента х. sin2?x+cos?x,, если x > 5 y = x3+x2+1, если x ? 1

PROGRAM_LR2;
VAR_X,Y:REAL;
BEGIN
WRITELN(’Введите х’);
READLN(X);
IF_X>5_THEN_Y:=SQR(SIN(SQRT(X)))+COS(SQRT(X));

WRITE(’Y=’,Y:8:2);

ELSE_IF_XB;
END.

Задание 4. Составить структурную схему и программу для вычисления значения функции:


PROGRAM_LR4;
VAR_K,M,N:INTEGER;

S,P:REAL;
BEGIN
WRITELN(’Введите m и n’);
READLN(M,N);
S:=0;
FOR_K:=M_TO_N_DO

BEGIN

P:=(SQR(K)+5)/(SQR(K)*K+K);

S:=S+P;

END;
WRITE(’S=’,S:10:4);
END.

Тема 4. Програмирование алгоритмов циклической структуры с использованием массивов.

Задание 5. Составить структурную схему и программу с использованием одномерных массивов.

В заданной последовательности x1,x2,x3,...,xn отрицательные числа заменить на их квадраты.

PROGRAM_LR5;
CONST_N1=100;
VAR_K,N:INTEGER;

X:ARRAY[1..N1]_OF_REAL;
BEGIN
WRITE(’Введите количество чисел в последовательности n=’);
READLN(N);
WRITELN(’Введите элементы последовательности’);
FOR_K:=1_TO_N_DO

BEGIN

READ(X[K]);

IF_X[K] 5

[pic]

Вывод «Y – не определено»

Конец

Ввод x

Начало


[pic]

[pic]

Вывод x, y

x > b

x = x + h

Конец

Ввод a, b, h

Начало


[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

S = S + P

k = m, n, +1

Вывод S

S = 0

Конец

Ввод m, n

Начало

xk ? 0

Ввод xk

xk = xk2

k = 1, n, +1

Вывод S

Конец

Ввод n

Начало

aij = IaijI

y = i / (? i + j)

j = 1, n, +1

i = j

aij = i – j + 1

i = 1, m, +1

Вывод aij

Ввод m, n

Начало

Конец


[pic]

Конец

Вывод P

P = P * y

y < C

x ? 0

[pic]

[pic]

x > 8

[pic]

[pic]

x < 5

x ? b

x = x + h

P = 1

x = a

Ввод a, b, C, h

Начало


Рефетека ру refoteka@gmail.com