Автор работы: Пользователь скрыл имя, 25 Февраля 2013 в 19:41, лабораторная работа
Работа содержит ответы на вопросы для экзамена (или зачета) по дисциплине "Информатика"
Министерство образования и науки Российской Федерации
Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Волгоградский государственный технический университет
Кафедра «Вычислительная техника»
Семестровая работа
по дисциплине «Информатика»
Вариант №
Выполнил:
студент группы ТОА-124
Иванов И.И.
ст. преп. Приходькова И.В.
Волгоград 2013 г.
Лабораторная работа №1
Вычислить, производя упрощения при помощи дополнительной переменной.
Тестовый пример: A=1 B=1 Z=8,08
входные данные: А, В
выходные данные: Z
Program lab_1;
Var A,B,Z, p: real;
Begin
Write('A='); ReadLn(A);
Write('B='); ReadLn(B);
P:=(sqrt(abs(A)+sqr(A+B))/(A*
Z:=B*(sin(p)/cos(p)+exp(p));
Writeln(' Z =', Z);
Readln;
End.
Лабораторная работа №2
Проверить на неотрицательность значение выражения
sin(tg(2π x / k )).
Если выражение неотрицательно, то значение k утроить.
Тестовый пример: x=1 k=1 k=1
входные данные: x,k
выходные данные: k
Program Lab_2;
Var x,k,y:Real;
Begin
Write('x='); ReadLn(x);
Write('k='); ReadLn(k);
y:=sin(sin(2*pi*x/k)/ cos(2*pi*x/k));
if y>=0
Then
begin
k:=3*k;
Writeln('Значение k утроено k=' ,K)
end
Else
Writeln('Значение k не изменилось, k=' ,K) ;
ReadLn
End.
Лабораторная работа №3
Ввести три действительных числа x, y, z . Вычислить q,w по
формулам:
q = max(x ⋅ y ⋅ z, 3⋅ z ⋅ x, 2⋅ (x + y + z));
w = min(3⋅ x ⋅ y ⋅ z , q/ 2). Вычисленные значения выдать на печать.
Тестовый пример: x=1, y=1, z=1 q= 6 ,w=3
входные данные: x,y,z,
выходные данные: q,w
Program Lab_3;
Var x,y,z,q,w: Real;
Function max(a,b:real): real;
begin
if a> b then max:=a else max:=b;
end;
Function min(a,b:real): real;
begin
if a< b then min:=a else min:=b;
end;
Begin
Write('x='); ReadLn(x);
Write('y='); ReadLn(y);
Write('z='); ReadLn(z);
q:=max(max(x*y*z, 3*z*x), 2*(x+y+z)) ;
w:= min(3*x*y*z, q/2);
WriteLn('q=', q);
WriteLn('w=', w);
End.
Лабораторная работа №4
Найти наибольшее значение функции y=ax3+bx-c при изменении x
от –4,5 до –33,5 с шагом –0,5. a=2,14; b=-4,21; c=3,25 .
Тестовый пример:
входные данные: a,b,c,
выходные данные: ymax, xm
Program Lab_4;
Var a,b,c,x,y,Ymax,xm: real;
Begin
a:=2.14;
b:=-4.21;
c:=3.25;
x:=-4.5;
xm:x;
Ymax:=a*x*sqr(x)+b*x+c;
Repeat
x:=x+-0.5;
y:=a*x*sqr(x)+b*x+c;
if (y> Ymax) and (x>=-33.5) then begin xm:=x; Ymax:=y end;
Until x<=-33.5;
Writeln('Max значение y =', Ymax);
Writeln('При значении x =', xm);
End.
Лабораторная работа №5
Задан одномерный массив В[10]. Найти сумму положительных элементов и произведение отрицательных. Если сумма больше произведения, найти МАХ элемент массива, а если нет - выдать сообщение об этом.
Тестовый пример: B[1]=1 B[2]=1 B[3]=3 B[4]=1 B[5]=1 B[6]=1 B[7]=1
B[8]=-1 B[9]=-1 B[10]=-1
входные данные: одномерный массив В[10].
выходные данные: Max=3
Program Lab_5;
Type arr= Array[1..10] of real;
Var B: arr;
Sp,Po,M: real;
i: integer;
Function Max(A:arr):real;
var i: integer;
p: real;
Begin
p:=A[1];
for i:= 2 to 10 do if A[i]> p Then p:=A[i];
Max:=p;
end;
Begin
For i:=1 to 10 do
begin
Write('Вводите очередной ',i,' -й элемент: ');
ReadLn(B[i];
end;
Writeln('Ввод окончен.');
//Найдём сумму положительных элементов
Sp:=0;
For i:=1 to 10 do
If B[i]>0 Then Sp:=Sp+B[i];
//Найдём произведение отрицательных
Po:=1;
For i:=1 to 10 do
If B[i]<0 Then Po:=Po*B[i];
If Sp>Po Then
begin
M:=Max(B);
Writeln('сумма больше произведения, Max=', M)
end
Else
Writeln('сумма не больше
End.
Лабораторная работа №6
В заданном одномерном массиве F(N) (N<=50) вычислить разность между суммой элементов, стоящих на четных местах, и суммой элементов, стоящих на нечетных местах. Найденным значением заменить положительные элементы массива. Преобразованный массив вывести на экран.
Тестовый пример:N=5 F[1]=1 F [2]=1 F [3]=1 F [4]=1 F [5]=1
преобразованный одномерный массив F[1]=-1 F [2]=-1 F [3]=-1 F [4]=-1 F [5]=-1
входные данные: одномерный массив F [N].
выходные данные: преобразованный одномерный массив F [N].
Program Lab_5;
Type arr= Array[1..50] of real;
Var F: arr;
Sch,Sn, R: real;
i, N: integer;
Begin
Write('Задайте N ='); ReadLn(N);
For i:=1 to N do
begin
Write('Вводите очередной ',i,' -й элемент: ');
ReadLn(F[i];
end;
Writeln('Ввод окончен.');
//Найдём сумму элементов, стоящих на четных местах
Sch:=0;
i:=2;
While i<=N do
begin
Sch:=Sch+F[i];
i:=i+2;
end;
//Найдём сумму элементов, стоящих на нечетных местах
Sn:=0;
i:=1;
While i<=N do
begin
Sn:=Sn+F[i];
i:=i+2;
end;
//вычисляем разность между суммой элементов, стоящих на четных местах, и суммой элементов,
R:=Sch-Sn;
//Найденным
значением заменяем
For i:=1 to N do
If F[i]>0 Then F[i]:=R;
//Печать преобразованного масссива
For i:=1 to N do Write(F[i]:5:1);
End.
Лабораторная работа №7
1. Ввести двумерный массив 5 3 A × . Определить в нём среднее
арифметическое элементов, стоящих на позициях с чётной суммой индексов.
Тестовый пример: A[i,j] A[1,1] = 1 A[1,2] = 1 A[1,3] = 1 A[1,4] = 1 A[1,5] = 1
сумму элементов, стоящих на позициях с чётной суммой индексов =8
входные данные: двумерный массив A[i,j]
выходные данные: сумма элементов, стоящих на позициях с чётной суммой индексов
Program Lab_7_1;
Type arr= Array[1..5,1..3] of real;
Var A: arr;
S: real;
i,j, k: integer;
Begin
For i:=1 to 5 do
begin
Writeln('Вводим ',i,'-ю строку:');
For j:=1 to 3 do
begin
Write('Вводите очередной ',j,' -й элемент: ');
ReadLn(A[i,j]);
end;
end;
Writeln('Ввод окончен.');
//Найдём сумму элементов, стоящих на позициях с чётной суммой индексов
S:=0;
For i:=1 to 5 do
for j:=1 to 3 do
if ((i+j) mod 2=0) Then S:=S+A[i,j];
Writeln('сумму элементов, стоящих на позициях с чётной суммой индексов =',S);
End.
2. Ввести двумерный массив N M A × . Элементы в нечетных столбцах массива умножить на индекс строки в которой они находится. Массив вывести до и после преобразования.
Тестовый пример: A[i,j] A[1,1] = 1 A[1,2] = 1 A[1,3] = 1 A[1,4] = 1 A[1,5] = 1
преобразованный массив A[i,j]
входные данные: двумерный массив A[i,j]
выходные данные: преобразованный массив A[i,j]
Program Lab_7_2;
Type arr= Array[1..10,1..10] of real;
Var A: arr;
S: real;
i,j, k, N,M: integer;
Procedure Print(A:arr);
var i,j: integer;
Begin
for i:=1 to N do
begin
For j:=1 to M do
begin
Write(A[i,j]:5:1);
end;
writeln;
end;
writeln;
End;
Begin
Write('Число строк:'); ReadLN(N);
Write('Число стлб :'); ReadLN(M);
For i:=1 to N do
begin
Writeln('Вводим ',i,'-ю строку:');
For j:=1 to M do
begin
Write('Вводите очередной ',j,' -й элемент: ');
ReadLn(A[i,j]);
end;
end;
Writeln('Ввод окончен.');
Writeln('Введен массив:');
Print(A);
for i:=1 to N do
begin
j:=1;
while j<=M do
begin
A[i,j]:=i*A[i,j];
j:=j+2;
end;
end;
Writeln('Преобразованный
Print (A);
End.
Семестровая работа
Тестовый пример:N=5 A[1]=1 A [2]=-1 A [3]=1 A [4]=-1 A [5]=10
преобразованный одномерный массив A[1]=1 A [2]=-1 A [3]=-1 A [4]=1 A [5]=2
входные данные: одномерный массив A [N].
выходные данные: преобразованный одномерный массив A [N].
Program semestr_1;
Type arr= Array[1..50] of real;
Var A: arr;
S, R: real;
i, N, Nmax, FL: integer;
Begin
Write('Задайте N ='); ReadLn(N);
For i:=1 to N do
begin
Write('Вводите очередной ',i,' -й элемент: ');
ReadLn(A[i]);
end;
Writeln('Ввод окончен.');
//Найдём сумму отрицательных элементов
S:=0;Nmax:=1; fl:=0;
i:=1;
While i<=N do
begin
if A[i]<0 then S:=S+A[i];
if A[Nmax]< A[i] then begin fl:=1; Nmax:=i end;
i:=i+1;
end;
If FL=1 then Writeln ('Max=', A[Nmax], ' его номер =', Nmax );
If FL =0 then Writeln('Максимальног элемента в массиве нет. ');
If (FL=1) and (Nmax<N)
then begin A[Nmax+1]:=abs(S);
for i:=1 to N do Write(A[i], ' ');
writeln
end
else Writeln('Записать невозможно ' ) ;
End.
2.Найти среднее арифметическое элементов каждой строки матрицы B(N,M) (N£10; M£15) и переписать их в одномерный массив C. Массив C распечатать. Если первый элемент в массиве С положительный , тогда найти минимальный элемент в массиве В, иначе в массиве С найти максимальный элемент.
Тестовый пример: B[i,j] B[1,1] = 1 B[1,2] = 1 B[1,3] = 1
Min=1
входные данные: двумерный массив B[i,j]
выходные данные: Min, Max
Program Semestr_2;
type matr=Array[1..10,1..15] of real;
lin=Array[1..10] of real;
Var B: matr;
C: lin;
i,j,N,M: integer;
min, max: real;
Procedure Print(A:matr);
var i,j: integer;
Begin
for i:=1 to N do
begin
For j:=1 to M do
begin
Write(A[i,j]:5:1);
end;
writeln;
end;
writeln;
End;
Procedure Minel(A:matr; var mi : real);
var i, j: integer;
begin
mi:=A[1,1];
for i:=1 to N do
for j:=1 to M do
if A[i,j] < mi then mi:= A[i,j]
end;
Procedure Maxel(A:matr; var ma : real);
var i, j: integer;
begin
ma:=A[1,1];
for i:=1 to N do
for j:=1 to M do
if A[i,j] >ma then ma:= A[i,j]
end;
Begin
//число строк
Write('N='); ReadLn(N);
// число столбцов
Write('M='); ReadLn(M);
Информация о работе Контрольная работа по теме "Информатика"