Автор работы: Пользователь скрыл имя, 03 Декабря 2014 в 17:41, контрольная работа
ЗАДАНИЕ 1. Составить блок-схему алгоритма и программу на языке ПАСКАЛЬ вычисления значения функции Y=F(x) для аргумента x, изменяющегося от xн до xк с шагом изменения Hx.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА»
По дисциплине: компьютерный практикум
Работу выполнила
Маренникова А.В.
студент гр. БМНз - 101
Номер зачетной книжки
ИЗО/12/2/199
Проверил:
Тольятти 2012 г.
Содержание
ЗАДАНИЕ 1. Составить блок-схему алгоритма и программу на языке ПАСКАЛЬ вычисления значения функции Y=F(x) для аргумента x, изменяющегося от xн до xк с шагом изменения Hx.
Схема алгоритма
Назначение переменных
Xn - начальное значение интервала для переменной Х.
Xk - конечное значение интервала.
H - шаг изменения переменной Х.
Y - искомое значение функции при текущем значении аргумента.
Описание алгоритма
1. Начало.
3. Ввод значений Xn,Xk,h.
4. Присвоение переменной X значения Xn.
5. Проверка условия x>1. Если выполняется, то переход к блоку 6, иначе к блоку 7.
7. Проверка условия x>-8.3. Если условие выполняется, то переход к блоку 8, иначе к блоку 9.
6,8,9. Вычисление значения функции для текущего значения аргумента.
10. Вывод на печать значений Х и У.
11. Увеличение числа Х на значение h.
12. Проверка условия X>Xk. Если условие выполняется, то переход к блоку 13, иначе к блоку 5.
13.Конец.
Текст программы
Var Xn,Xk,X,Y,H:real;
begin
writeln('Введите через пробел Xn,Xk,h');
readln(xn,xk,h);
x:=xn;
repeat
if x>0 then y:=13*ln(2*x)-5 *sin(x)
else begin
if x>-8.3 then
y:=(3*x*x+1)*(x-sqrt(abs(1-2.
else y:=abs(x+exp(ln(3*x)))
end;
writeln('X=',x:6:2,' Y=',y:8:2);
x:=x+h;
until x>xk;
readln
end.
Результат:
Введите через пробел Xn,Xk,h
-8 9 0.5
X= -8.00 Y=-2394.08
X= -7.50 Y=-1998.30
X= -7.00 Y=-1648.01
X= -6.50 Y=-1340.58
X= -6.00 Y=-1073.33
X= -5.50 Y= -843.60
X= -5.00 Y= -648.70
X= -4.50 Y= -485.91
X= -4.00 Y= -352.49
X= -3.50 Y= -245.69
X= -3.00 Y= -162.70
X= -2.50 Y= -100.69
X= -2.00 Y= -56.76
X= -1.50 Y= -27.97
X= -1.00 Y= -11.27
X= -0.50 Y= -3.44
X= 0.00 Y= -1.00
X= 0.50 Y= -2.40
X= 1.00 Y= 4.80
X= 1.50 Y= 9.29
X= 2.00 Y= 13.48
X= 2.50 Y= 17.93
X= 3.00 Y= 22.59
X= 3.50 Y= 27.05
X= 4.00 Y= 30.82
X= 4.50 Y= 33.45
X= 5.00 Y= 34.73
X= 5.50 Y= 34.70
X= 6.00 Y= 33.70
X= 6.50 Y= 32.27
X= 7.00 Y= 31.02
X= 7.50 Y= 30.51
X= 8.00 Y= 31.10
X= 8.50 Y= 32.84
X= 9.00 Y= 35.51
Имя массива |
Размер |
Надо вычислить |
AN |
17 |
Найти сумму элементов, следующих за элементом 1.3. Вывести результат и исходный массив в линейном виде. |
Назначение переменных
N - переменная, вводимая с клавиатуры, значение которой используется для указания количества обрабатываемых элементов
An – имя одномерного массива
I - переменная, используемая в цикле for для организации обращений к элементам массива
SUM - переменные, используемая для хранения суммы элементов
K – переменная, для хранения индекса элемента со значением 1,3
Описание алгоритма
1. Начало
2. Ввод количества элементов
3,4. Цикл, обеспечивающий ввод значений в массив
5,6. Цикл, обеспечивающий вывод результата на экран
7. Присвоение начальных значений переменной sum
8. Цикл нахождения индекса элемента равного 1,3
9. Проверка условия, an[i]1.3. Если условие выполняется, то переход к блоку 10
10. Присвоение переменной k значения индекса
11. Цикл нахождения суммы элементов
12. Нахождение суммы элементов
13. вывод результата на экран
14. Конец
Текст программы
Type mas=array[1..100] of real;
Var an:mas;
sum:real;
n,i,k:integer;
begin
write('Введите количество
readln(N);
writeln('Введите элементы массива:');
For i:=1 to N do
Begin
Write('an(',i:2,'): ');
Readln(an[i]);
End;
Writeln('Исходный массив:');
For i:=1 to n do
Write(an[i]:7:1);
Writeln;
sum:=0;
For i:=n downto 1 do
If an[i]=1.3 then
k:= i;
For i:=k+1 to n do
sum:=sum+an[i];
Writeln;
Writeln('Результат обработки
End.
Результат
Введите количество элементов массива: 17
Введите элементы массива:
an( 1): 1.4
an( 2): 1.1
an( 3): 2.3
an( 4): 4
an( 5): 5
an( 6): 4
an( 7): 3
an( 8): 2
an( 9): 1
an(10): 1.3
an(11): 3
an(12): 2
an(13): 1
an(14): 3
an(15): 1
an(16): 2
an(17): 1
Исходный массив:
1.4 1.1 2.3 4.0 5.0 4.0 3.0 2.0 1.0 1.3 3.0 2.0 1.0 3.0 1.0 2.0 1.0
Результат обработки сумма :13.000
Составить блок-схему алгоритма обработки матрицы, используя для построения цикла графический символ «модификация». Написать программу на алгоритмическом языке Паскаль с использованием оператора цикла FOR.
№-номер матрицы варианта |
Имя матрицы |
Кол-во строк |
Кол-во столбцов |
Вычислить (или найти) |
49 |
Y |
32 |
26 |
Произведение элементов, отличных от 45 |
Назначение переменных
y - имя двумерного массива (матрицы)
n,m - количество строк и столбцов обрабатываемого массива
I,j - переменные для хранения текущего значения строки и столбца в организованном для обработки матрицы циклическом процессе
p - произведение элементов массива, отличных от 45
Описание алгоритма
3,4,5. Цикл, обеспечивающий ввод элементов двумерного массива.
6. Подготовка переменной p, (задание им начальных значений).
7. Цикл, обеспечивающий обращение
к элементам двумерного
8. Цикл, обеспечивающий обращение к элементам двумерного массива по столбцам.
9. Определение отличного от 45 элемента. Если условие выполняется, то переход к блоку 10, иначе на начало цикла (к следующему элементу).
10. Учет положительного элемента в переменной P в соответствии с их назначением.
11. Вывод результатов.
12. Конец.
Текст программы
const n=32;
m=26;
Var y : array [ 1..n, 1..m ] of real ;
i, j : integer;
P : real ;
begin
(* ввод элементов массива *)
randomize;
writeln ( 'Формирование массива : ' ) ;
for i := 1 to n do begin
for j:= 1 to m do
begin
y[i,j]:=random(100)/100+1;
writeln ( ' y ( ', i , ',', j ,' ) = ',y[i,j]:5:3 ) ;
end ;
end;
(* Подготовка
цикла, присвоение переменным
p:=1;
(* Цикл обработки матрицы *)
for i:=1 to n do
for j:=1 to m do
if (y[ i, j ] <>45) then
begin
p :=p*y [ i, j ] ;
end ;
(* Вывод результатов *)
writeln ; writeln ( ' Результат: ' ) ;
writeln ;
writeln ( ' Исходная матрица: ' ) ;
for i := 1 to n do
begin
for j:= 1 to m do
write ( y [ i, j ]:7:2 ) ;
writeln;
end ;
writeln;
writeln ( 'Произведение элементов, отличных от 45: ' , p:7:2) ;
readln ;
end.
Результат
Формирование массива :
y ( 1,1 ) = 81.000
y ( 1,2 ) = 5.000
y ( 1,3 ) = 50.000
y ( 1,4 ) = 60.000
y ( 1,5 ) = 28.000
y ( 1,6 ) = 26.000
y ( 1,7 ) = 15.000
y ( 1,8 ) = 85.000
y ( 1,9 ) = 34.000
y ( 1,10 ) = 46.000
y ( 1,11 ) = 53.000
y ( 1,12 ) = 31.000
y ( 1,13 ) = 46.000
y ( 1,14 ) = 36.000
y ( 1,15 ) = 51.000
y ( 1,16 ) = 62.000
y ( 1,17 ) = 65.000
y ( 1,18 ) = 16.000
y ( 1,19 ) = 11.000
y ( 1,20 ) = 81.000
y ( 1,21 ) = 47.000
y ( 1,22 ) = 35.000
y ( 1,23 ) = 75.000
y ( 1,24 ) = 6.000
y ( 1,25 ) = 15.000
y ( 1,26 ) = 20.000
y ( 2,1 ) = 38.000
y ( 2,2 ) = 49.000
y ( 2,3 ) = 31.000
y ( 2,4 ) = 89.000
y ( 2,5 ) = 76.000
y ( 2,6 ) = 41.000
y ( 2,7 ) = 45.000
y ( 2,8 ) = 50.000
y ( 2,9 ) = 21.000
y ( 2,10 ) = 9.000
y ( 2,11 ) = 58.000
y ( 2,12 ) = 44.000
y ( 2,13 ) = 6.000
y ( 2,14 ) = 70.000
y ( 2,15 ) = 98.000
y ( 2,16 ) = 50.000
y ( 2,17 ) = 49.000
y ( 2,18 ) = 34.000
y ( 2,19 ) = 65.000
y ( 2,20 ) = 82.000
y ( 2,21 ) = 18.000
y ( 2,22 ) = 82.000
y ( 2,23 ) = 4.000
y ( 2,24 ) = 45.000
y ( 2,25 ) = 48.000
y ( 2,26 ) = 1.000
y ( 3,1 ) = 40.000
y ( 3,2 ) = 47.000
y ( 3,3 ) = 32.000
y ( 3,4 ) = 45.000
y ( 3,5 ) = 30.000
y ( 3,6 ) = 44.000
y ( 3,7 ) = 44.000
y ( 3,8 ) = 8.000
y ( 3,9 ) = 88.000
y ( 3,10 ) = 66.000
y ( 3,11 ) = 53.000
y ( 3,12 ) = 45.000
y ( 3,13 ) = 70.000
y ( 3,14 ) = 11.000
y ( 3,15 ) = 86.000
y ( 3,16 ) = 95.000
y ( 3,17 ) = 15.000
y ( 3,18 ) = 42.000
y ( 3,19 ) = 4.000
y ( 3,20 ) = 21.000
y ( 3,21 ) = 9.000
y ( 3,22 ) = 41.000
y ( 3,23 ) = 82.000
y ( 3,24 ) = 96.000
y ( 3,25 ) = 85.000
y ( 3,26 ) = 41.000
y ( 4,1 ) = 40.000
y ( 4,2 ) = 32.000
y ( 4,3 ) = 1.000
y ( 4,4 ) = 56.000
y ( 4,5 ) = 44.000
y ( 4,6 ) = 86.000
y ( 4,7 ) = 40.000
y ( 4,8 ) = 74.000
y ( 4,9 ) = 1.000
y ( 4,10 ) = 97.000
y ( 4,11 ) = 18.000
y ( 4,12 ) = 76.000
y ( 4,13 ) = 79.000
y ( 4,14 ) = 14.000
y ( 4,15 ) = 99.000
y ( 4,16 ) = 98.000
y ( 4,17 ) = 82.000
y ( 4,18 ) = 31.000
y ( 4,19 ) = 97.000
y ( 4,20 ) = 4.000
y ( 4,21 ) = 63.000
y ( 4,22 ) = 54.000
y ( 4,23 ) = 96.000
y ( 4,24 ) = 23.000
y ( 4,25 ) = 67.000
y ( 4,26 ) = 62.000
y ( 5,1 ) = 40.000
y ( 5,2 ) = 27.000
y ( 5,3 ) = 92.000
y ( 5,4 ) = 99.000
y ( 5,5 ) = 65.000
y ( 5,6 ) = 36.000
y ( 5,7 ) = 60.000
y ( 5,8 ) = 89.000
y ( 5,9 ) = 3.000
y ( 5,10 ) = 12.000
y ( 5,11 ) = 6.000
y ( 5,12 ) = 31.000
y ( 5,13 ) = 22.000
y ( 5,14 ) = 66.000
y ( 5,15 ) = 4.000
y ( 5,16 ) = 96.000
y ( 5,17 ) = 10.000
y ( 5,18 ) = 89.000
y ( 5,19 ) = 77.000
y ( 5,20 ) = 39.000
y ( 5,21 ) = 62.000
y ( 5,22 ) = 89.000
y ( 5,23 ) = 21.000
y ( 5,24 ) = 10.000
y ( 5,25 ) = 59.000
y ( 5,26 ) = 50.000
y ( 6,1 ) = 98.000
y ( 6,2 ) = 80.000
y ( 6,3 ) = 77.000
y ( 6,4 ) = 86.000
y ( 6,5 ) = 36.000
y ( 6,6 ) = 77.000
y ( 6,7 ) = 89.000
y ( 6,8 ) = 82.000
y ( 6,9 ) = 45.000
y ( 6,10 ) = 13.000
y ( 6,11 ) = 81.000
y ( 6,12 ) = 2.000
y ( 6,13 ) = 32.000
y ( 6,14 ) = 82.000
y ( 6,15 ) = 15.000
y ( 6,16 ) = 90.000
y ( 6,17 ) = 11.000
y ( 6,18 ) = 87.000
y ( 6,19 ) = 91.000
y ( 6,20 ) = 50.000
y ( 6,21 ) = 9.000
y ( 6,22 ) = 30.000
y ( 6,23 ) = 0.000
y ( 6,24 ) = 67.000
y ( 6,25 ) = 43.000
y ( 6,26 ) = 7.000
y ( 7,1 ) = 46.000
y ( 7,2 ) = 27.000
y ( 7,3 ) = 99.000
y ( 7,4 ) = 50.000
y ( 7,5 ) = 6.000
y ( 7,6 ) = 82.000
y ( 7,7 ) = 39.000
y ( 7,8 ) = 14.000
y ( 7,9 ) = 37.000
y ( 7,10 ) = 79.000
y ( 7,11 ) = 11.000
y ( 7,12 ) = 16.000
y ( 7,13 ) = 76.000
y ( 7,14 ) = 28.000
y ( 7,15 ) = 42.000
y ( 7,16 ) = 40.000
y ( 7,17 ) = 20.000
y ( 7,18 ) = 90.000
y ( 7,19 ) = 14.000
y ( 7,20 ) = 8.000
y ( 7,21 ) = 57.000
y ( 7,22 ) = 94.000
y ( 7,23 ) = 23.000
y ( 7,24 ) = 72.000
y ( 7,25 ) = 78.000
y ( 7,26 ) = 33.000
y ( 8,1 ) = 18.000
y ( 8,2 ) = 9.000
y ( 8,3 ) = 40.000
y ( 8,4 ) = 67.000
y ( 8,5 ) = 79.000
y ( 8,6 ) = 10.000
y ( 8,7 ) = 43.000
y ( 8,8 ) = 28.000
y ( 8,9 ) = 31.000
y ( 8,10 ) = 61.000
y ( 8,11 ) = 82.000
y ( 8,12 ) = 95.000
y ( 8,13 ) = 7.000
y ( 8,14 ) = 99.000
y ( 8,15 ) = 62.000
y ( 8,16 ) = 17.000
y ( 8,17 ) = 44.000
y ( 8,18 ) = 36.000
y ( 8,19 ) = 79.000
y ( 8,20 ) = 94.000
y ( 8,21 ) = 11.000
y ( 8,22 ) = 62.000
y ( 8,23 ) = 7.000
y ( 8,24 ) = 69.000
y ( 8,25 ) = 10.000
y ( 8,26 ) = 10.000
y ( 9,1 ) = 52.000
y ( 9,2 ) = 35.000
y ( 9,3 ) = 50.000
y ( 9,4 ) = 51.000
y ( 9,5 ) = 4.000
y ( 9,6 ) = 27.000
y ( 9,7 ) = 72.000
y ( 9,8 ) = 72.000
y ( 9,9 ) = 63.000
y ( 9,10 ) = 30.000
y ( 9,11 ) = 73.000
y ( 9,12 ) = 69.000
y ( 9,13 ) = 99.000
y ( 9,14 ) = 0.000
y ( 9,15 ) = 72.000
y ( 9,16 ) = 47.000
y ( 9,17 ) = 97.000
y ( 9,18 ) = 81.000
y ( 9,19 ) = 57.000
y ( 9,20 ) = 25.000
y ( 9,21 ) = 82.000
y ( 9,22 ) = 14.000
y ( 9,23 ) = 45.000
y ( 9,24 ) = 39.000
y ( 9,25 ) = 50.000
y ( 9,26 ) = 86.000
y ( 10,1 ) = 93.000
y ( 10,2 ) = 83.000
y ( 10,3 ) = 22.000
y ( 10,4 ) = 56.000
y ( 10,5 ) = 2.000
y ( 10,6 ) = 70.000
y ( 10,7 ) = 57.000
y ( 10,8 ) = 69.000
y ( 10,9 ) = 58.000
y ( 10,10 ) = 8.000
y ( 10,11 ) = 78.000
y ( 10,12 ) = 80.000
y ( 10,13 ) = 56.000
y ( 10,14 ) = 55.000
y ( 10,15 ) = 22.000
y ( 10,16 ) = 35.000
y ( 10,17 ) = 36.000
y ( 10,18 ) = 32.000
y ( 10,19 ) = 43.000
y ( 10,20 ) = 74.000
y ( 10,21 ) = 37.000
y ( 10,22 ) = 78.000
y ( 10,23 ) = 22.000
y ( 10,24 ) = 63.000
y ( 10,25 ) = 65.000
y ( 10,26 ) = 25.000
y ( 11,1 ) = 12.000
y ( 11,2 ) = 84.000
y ( 11,3 ) = 27.000
y ( 11,4 ) = 37.000
y ( 11,5 ) = 89.000
y ( 11,6 ) = 10.000
y ( 11,7 ) = 0.000
y ( 11,8 ) = 18.000
y ( 11,9 ) = 33.000
y ( 11,10 ) = 88.000
y ( 11,11 ) = 49.000
y ( 11,12 ) = 6.000
y ( 11,13 ) = 28.000
y ( 11,14 ) = 2.000
y ( 11,15 ) = 11.000
y ( 11,16 ) = 29.000
y ( 11,17 ) = 41.000
y ( 11,18 ) = 64.000
y ( 11,19 ) = 68.000
y ( 11,20 ) = 17.000
y ( 11,21 ) = 25.000
y ( 11,22 ) = 2.000
y ( 11,23 ) = 2.000
y ( 11,24 ) = 47.000
y ( 11,25 ) = 78.000
y ( 11,26 ) = 13.000
y ( 12,1 ) = 95.000
y ( 12,2 ) = 75.000
y ( 12,3 ) = 49.000
y ( 12,4 ) = 14.000
y ( 12,5 ) = 61.000
Информация о работе Контрольная работа по "Компьютерный практикум"