Каталог :: Программирование и комп-ры

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

Министерство общего и профессионального образования
                              Российской Федерации                              
                Алтайский государственный технический университет                
                               им. И.И. Ползунова                               
     

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

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

Вариант 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. Составить структурную схему и написать программу вычисления значения у(х) для любого значения аргумента х. 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_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 aij = 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.