Автор: Пользователь скрыл имя, 19 Декабря 2011 в 16:09, отчет по практике
Собрание лабораторных работ.
Министерство образования и науки Российской Федерации.
Филиал государственного образовательного
учреждения высшего профессионального образования.
«Воронежский Государственный Архитектурно –
Строительный Университет»
в
городе Борисоглебске.
Отчёт
по компьютерной практике.
Выполнила : студентка 1
Курса , специальности
ЭУС , группы
Харитоновская Н.А.
Проверила:
Яковлева Т.П.
Борисоглебск2011
Лабораторная работа №1
Линейные вычислительные процессы
Задание:
Вычислить значение функции
Условие:
y =
x+2*x*x*x-Cos(x ), x= sqrt(a*a+b*b)
Программ
:
Program pul_pasc;
Var x,a,b,y : Real;
Begin
Write(‘ Введите a,b : ‘);
Readln(a,b);
x :=sqrt(a*a+b*b);
y :=x+2*x*x*x-Cos(x);
Writeln( ‘ y= ‘, y:8:3);
Readln;
End.
Лабораторная работа№2
Разветвляющие вычислительные процессы.
Задание:
-1,если X<0
0,если X=0
1,если X=1
Программа:
Program LAB_2;
Uses CRT;
Var x, y : integer;
Begin
CLRSCR;
Writeln(‘введите x’);
Readln(x);
If x<0 then y:=-1 else y:=1;
If x=0 then y:=0;
If x=1 then y:=1;
Writeln(‘y=’ , y);
Readln;
End.
Лабораторная работа№3
Циклические вычислительные процессы.
Задание:
Составить программу вычисления функции y=F(y) на отрезке [a,b] с шагом H.
Условие:
Y :=x*sin(5*x);
а=1.0 ;
b=5.0;
H=0.5.
Программа:
Program Lab_3;
Uses Crt;
Var i,n : integer;
a,b,h,x,y : Real;
begin
CLRSCR;
Writeln(‘введите начальное значение x’);
Readln(a);
Writeln(‘введите конечное значение x');
Readln(b);
Writeln(‘введите шаг изменение’);
Readln(h);
n:=trunc((b-a)/h)+1;
Writeln(‘число шагов по оси x=’,n);
x:=a;
Writeln(‘результат табулирования с использованием цикла For’):
Writeln(‘………’);
Writeln(‘………’);
Writeln(‘………’);
FOR i:=1 to n do
Begin
y :=x*sin(5*x);
Writeln(‘ ‘,x:6:2,’ ‘,y:10:3,’ ‘);
Writeln(‘
X:=x+h;
End;
Repeat
Until keypressed;
Readln;
End.
Лабораторная работа№4
Массивы
Задание:
Задан двух мерный массив. Найти элементы главной диагонали, имеющий
наименьшее значение абсолютной величины.
Program Lab_4;
Uses Crt;
Var
a,b:arrey[1….8,1….8] of Real;
Min: real;
I,j,n,m: integer;
begin
CLRSCR;
Writeln(‘введите число строк'); Readln(n);
Writeln(‘введите число столбцов'); ); Readln(m);
Writeln(‘введите матрицу');
FOR i:=1 to n do
FOR j:=1 to m do
Readln(a[I,j]);
FOR i:=1 to n do
FOR j:=1 to m do
If(i=j) then b [I,n]:=ABS (a [I,j]);
Min:=b [1,1];
FOR i:=1 to n do
FOR j:=1 to m do
If (Min>b [I,j]) and (i=j) then min:=b[I,j];
FOR i:=1 to n do
Begin
Writeln;
FOR j:=1 to m do
Writeln(a[I,j]:6:2);
End;
Writeln;
Writeln(‘минимальный элемент =’,Min:6:2);
Repeat
Until keypressed;
Readln;
End.
Лабораторная работа№5
Программирование алгоритмов при помощи процедур и функций
Задание:
Использование процедур без параметров.
Program primer_1;
Var a,b: integer; { Глобальные переменные}
{_____________________________
Procedure S_t_a_r_s;
{Процедура, без параметров, выводящая на экран последовательность символов “*”}
Var i: integer; {локальная переменная}
begin
FOR i:=1 to 40 do Write (‘*’);
Writeln
End;
{___________}
Begin
Writeln;
S_t_a_r_s; {вызов процедуры без параметров}
Write(‘введите значение a: ‘);
Readln(a);
Write(‘введите значение b: ‘);
Readln(b);
S_t_a_r_s; {вызов процедуры без параметров}
Writeln (‘a+b =’, a+b,’; a*b=’,a*b,’; a-b =’,a-b);
S_t_a_r_s; {вызов процедуры без параметров}
End.
Задание:
Использование
процедуры с параметрами.
Program primer_2;
Var a,b,c: Real;
{_____________________________
Procedure P_r_i_n_t (x: Real; m,n: integer);
{ввод на экран дисплея значения переменной x c}
{nцифрами после запятой}
{x,m,n- параметры, передаваемые по значению}
Var i: integer;
Begin
FOR i:=1 to 20 do Write(‘*’);
Writeln;
Writeln(x:m:n)
End;
{___________}
Begin
Write(‘введите значение a: ‘);
Readln(a);
Write(‘введите значение b: ‘);
Readln(b);
c:=a*b;
P_r_i_n_t (c,7,2); ; {вызов процедуры с параметрами.}
{ Передача параметров по значению}
P_r_i_n_t (a/b,7,5); {вызов процедуры с параметрами.}
{ Передача параметров по значению}
End.
Задание:
Процедурное программирование
Program primer_3;
Var x,y : Real;
{_____________________________
Procedure I_N_P_U_T (Var a,b : Real );
{ввод значении двух переменных}
{a,b-параметры-переменные}
Begin
Write(‘введите значение двух переменных типа Real: ‘);
Read (a,b)
End;
{_____________________________
Procedure S_W_A_P(Var a,b : Real );
{ Обмен значениями двух переменных}
{a,b-параметры-переменные}
Var t : Real; { вспомогательная локальная переменная}
Begin
t:=a;
a:=b;
b:=t;
End;
{_____________________________
Procedure O_U_T_P_U_T ( a,b : Real );
{ Форматный вывод значения двух переменных }
{a,b-параметры-переменные}
Begin
Writeln('Результат: ' ,a:7:3, ' ' ,b:7:3)
End;
{___________}
Begin { Процедурный стиль программирования состоит}
{Просто в последовательном вызове процедур}
I_N_P_U_T (x,y) ; { Передача параметров по адресу (ссылке) }
S_W_A_P (x,y) ; { Передача параметров по адресу (ссылке) }
O_U_T_P_U_T (x,y) ; { Передача параметров по адресу (ссылке) }
End.
Задание:
Вызов функции.
Program primer_4;
Var n : integer {зданное натуральное число}
{_____________________________
Procedure S_i_n_g_l_e (x : integer ); Boolean;
{ Возвращающий True , если число x – простое , и }
{Значение False - в противном случае}
Var i: integer;
Begin
S_i_n_g_l_e := True;
RSq :=Round (Sqrt(x));
FOR i:=2 to RSq do If x MOD I:=0 then
Begin
S_i_n_g_l_e := False;
Break
End
END;
{___________}
Begin
Write(‘введите натуральное число , больше 1: ');
Readln(n);
If S_i_n_g_l_e (n) { вызов функции} then Writeln ( ‘Данное число – простое.’)
Else Writeln (‘Данное число не является простым. ');
End.
Лабораторная работа№6
Программирование алгоритмов циклической структуры. Цикл с параметром.
Задание:
Печатать первые 20 целых чисел (без применения For).
Program print_1;
Begin
Writeln (1:3);
Writeln (2:3);
Writeln (3:3);
Writeln (4:3);
Writeln (5:3);
Writeln (6:3);
Writeln (7:3);
Writeln (8:3);