Информатика и ВТ

Информатика и вычислительная техника


Задание.


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


yk
=1 + x + Ö x, где x < 5


yk
=Ö 2 – cosx, где 5 £ x £ 8


yk
=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.
Текст программы.


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


y =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.


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. Программирование алгоритмов циклической структуры с использованием массивов.


Задание 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.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Информатика и ВТ

Слов:609
Символов:6013
Размер:11.74 Кб.