Контрольная: Контрольная по информатике
Министерство общего и профессионального образования
Российской Федерации
Алтайский государственный технический университет
им. И.И. Ползунова
Контрольная работа
по дисциплине лИнформатика и вычислительная техника
Вариант 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, выбирается формула для вычисления значений y
k. Кроме того, есливыполняется условие 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_X<=B_DO
BEGIN
IF_X<5_THEN_IF_X>=0_THEN_Y:=1+X+SQRT(X);
ELSE_Y:=1;
ELSE_IF_X>8_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. Составить программу для вычисления значения х и
произвести вычисления на компьютере.
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. Составить структурную схему и написать программу
вычисления значения у(х) для любого значения
аргумента х.
sin
2Öx+cosÖx,, если x > 5
y =
x
3+x
2+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_X<=1_THEN_Y:=SQR(X)*X+SQR(X)+1;
WRITE(ТY=Т,Y:8:2);
ELSE_WRITE(ТY не определено при данном
значении Х);
END.
Тема 3. Циклический вычислительный процесс (структурный и итерационный).
Задание 3. Составить структурную схему и программу для
вычисления таблицы значений функции y=f(x) на
отрезке [a,b], если х на этом отрезке изменяется с шагом
h.
x Î [14, 16], h=0.5
PROGRAM_LR3;
VAR_A,B,H,X,Y:REAL;
BEGIN
WRITELN(ТВведите a,b,hТ);
READLN(A,B,H);
X:=A;
WRITELN(ТI___X___I___Y___IТ);
REPEAT
Y:=(X-SIN(X))/(LN(X)+1);
WRITELN(ТIТ,X:7:2,ТIТ,Y:7:2,ТIТ);
X:=X+H:
UNTIL_X>B;
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]<=0_THEN_X[K]:=SQR(X[K]);
WRITELN(X[K]);
END;
END.
Задание 6. Составить структурную схему и программу с
использованием двумерных массивов.
Получить элементы матрицы А=I IaijI I, i = 1..m, j = 1..n
i Ц j + 1, если i ¹ j
a
ij =
i / (Ö i + j), если i = j
m = n = 3
PROGRAM_LR6;
VAR_I,J,M,N:INTEGER;
A:ARRAY[1..10,1..10]_OF_REAL;
BEGIN
WRITELN(ТВведите m, nТ);
READLN(M,N);
FOR_I:=1_TO_M_DO
BEGIN
FOR_J:=1_TO_N_DO
BEGIN
IF_I=J_THEN_A[I,J]:=I/SQRT(J+1);
ELSE_A[I,J]:=I-J+1;
A[I,J]:=ABS(A[I,J]);
WRITELN(ТA[Т,I:2,Т,Т,J:2,Т]=Т,A[I,J]:10:3);
END;
END;
END.
Задание 7. Составить программу, в которой вычисление
факториала F = k! (k! = 1*2*3*.*k) выделить в
отдельный модуль.
PROGRAM_LR7;
VAR_M,N:INTEGER;
Y:REAL;
FUNCTION_FACT(K:INTEGER): INTEGER;
VAR_F,I,K:INTEGER;
BEGIN
F:=1;
FOR_I:=1_TO_K_DO
F:=F*I;
FACT:=F;
END;
BEGIN
WRITE(ТВведите m и nТ);
READLN(M,N);
Y:=(FACT(N)- FACT(M))/(2* FACT(N)- FACT(M+1));
WRITE(ТY=Т,Y:10:4);
END.