Автор работы: Пользователь скрыл имя, 17 Ноября 2010 в 14:28, отчет по практике
Цель практики является закрепление и расширение теоретических знаний и практических навыков разработки программ в областях
◦модульного программирования,
◦организации экранного (графического) пользовательского интерфейса,
◦использования процедур и функций стандартных модулей CRT и GRAPH.
Задачи практики является освоение теоретического материала и разработка на его основе трех программ:
◦Программы с модульной структурой,
◦Программы с оконным интерфейсом и меню для текстового режима (использующей процедуры и функции модуля CRT),
◦Программы с оконным интерфейсом и меню для графического режима (использующей процедуры и функции модуля GRAPH).
Министерство сельского хозяйства Российской Федерации
Красноярский государственный аграрный университет
Институт управления и агробизнеса
Кафедра
Информационных систем и технологий
в экономике
Отчет по учебной практике
«Технологии
программирования»
Выполнила студентка группы _____
_________________________
(Фамилия, имя, отчество)
Руководитель практики
_________________________
(Должность, фамилия, имя,
Представлен
на проверку «____» ________________20__г.
Оценка
_________________
Красноярск, 20__
Цель практики является закрепление и расширение теоретических знаний и практических навыков разработки программ в областях
Задачи практики является освоение теоретического материала и разработка на его основе трех программ:
Тема: Модули.
Условие задачи №1: Написать программу, имеющую модульную структуру, для решения пяти задач.
Схема межмодульных связей программы:
Графические
схемы алгоритмов
основной программы
и всех процедур и функций.
Исходные тексты программы и всех модулей, содержащие подробные комментарии:
program A;
uses b,c,d,e;
var n:byte;
begin
repeat
write('Номер задачи (0-5)?:'); {Сообщение о вводе номера задачи от 0 до 5}
read(n);
case n of
1:p1; {n=1,Выполняется процедура p1 из модуля B}
2:p2; {n=2,Выполняется процедура p2 из модуля B}
3:p3; {n=3,Выполняется процедура p3 из модуля C}
4:p4; {n=4,Выполняется процедура p4 из модуля D}
5:p5 {n=5,Выполняется процедура p5 из модуля E}
end {Конец оператора выбора}
until n=0
end.
unit B;
interface
procedure P1; { процедура P1}
procedure P2; {процедура
P2}
implementation
procedure P1;
var y,x:real;
begin
read(x);
y:=exp(sqr(x*x)+sin(x)*sin(x)+
write(y);
end;
procedure P2;
var x,y,p,z:real;
begin
write (‘vvedi x’);read(x);
p:=3.14;
if x<0
then writeln (‘ln ne schitaet’)
else
if cos (sqr(x)+P/4)<0
then writeln (‘koren ne vischitivaet’)
else
if ln(x)-2*(x)=0
then writeln (‘na 0 delit’)
else
begin
z:=(exp(1/3*ln(sqr(x))+6)))*(
writeln (‘z=’,z)
end
end. {конец модуля
B}
unit C;
interface
procedure P3;
implementation
procedure P3;
var S:real;
I,n:integer;
begin
writeln(‘N=’);
readln(N);
S:=1;
For i:=1 to n do begin
S:=S+1/(exp(i*ln(4))+exp((i+2)
End;
Writeln(‘S=’,S);
Readln;
end. {конец модуля С}
unit D;
interface
procedure P4;
implementation
uses f;
procedure P4;
begin {начало процедуры P4}
f1 {вызов проедуры f1}
end; {конец процедуры
P4}
end. {конец модуля
D}
unit E;
interface
procedure P5;
implementation
uses f;
procedure P5;
begin {начало процедуры P5}
f2 {вызов процедуры f2}
end; {конец процедуры
P5}
end.
unit f;
interface
procedure f1;
procedure f2;
implementation
procedure f1;
var s,p,n,i: integer;
a: array [1..10] of integer;
begin
randomize; for i:=1 to 10 do a[i]:=(random(21)-10);
s:=0;
p:=1;
n:=0;
for i:=1 to 10 do
begin
if a[i]<0 then s:=s+a[i];
if a[i]<>0 then n:=n+1;
if a[i]>0 then p:=p*a[i];
end;
for i:=1 to 10 do write (a[i]:3);
writeln;
writeln ('summa ravna',s);
writeln ('proizvedenie ravno',p);
writeln ('kolichestvo nenulevuh ravno',n);
end;
procedure f2;
var x,y,i,t,m,n:integer;
a: array [1..12] of array [1..10] of integer;
begin
m:=10;
n:=12;
i:=1;
for y:=1 to m do
for x:=1 to n do
a[x,y]:=random(21)-10;
for y:=1 to m do
begin
writeln;
for x:=1 to n do
write(a[x,y]:3);
end;
writeln;
for y:=1 to m do
begin
i:=1;
for x:=7 to n do
begin
t:=a[x-i,y];
a[x-i,y]:=a[x,y];
a[x,y]:=t;
i:=i+2;
end;
end;
for y:=1 to m do
begin
writeln;
for x:=1 to n do
write(a[x,y]:3);
end;
writeln;
writeln;
end;{конец процедуры
P3}
end. {конец модуля F}
«Скриншоты» с результатами работы программы:
Задача
№ 1.
Условие задачи № 2: Данное задание основано на практическом задании 1 и предполагает исключение диалога с пользователем при определении номера рещаемой задачи и замену его на оконный пользовательский интерфейс, построенный с использованием возможностей текстового режима работы видеоадаптера.
Схема
межмодульных связей
программы:
Исходные тексты программы и всех модулей, содержащие подробные комментарии:
program A;
uses B,C,D,E,G,crt;
var n:byte;
begin
textbackground(lightgray);
clrscr;
textcolor(white);
frame1;
frame2;
menushow;
repeat
n:=menuselect; {Перемещение маркера по меню}
window(3,4,78,22); {Окно, в котором ведутся вычисления задач}
textbackground(lightblue);
textcolor(yellow);
clrscr; {Очистка окна, которое после заливается синим цветом}
case n of {Оператор выбора, сравнивает n со списком выбора и вызывает задачу}
Информация о работе Отчет по учебной практике технологии программирования