Автор работы: Пользователь скрыл имя, 27 Января 2013 в 23:37, курсовая работа
Цель курсовой работы является углубление и закрепление знаний об основных приемах, методах и принципах работы при решении на ЭВМ задач с использованием языка Паскаль.
Цель курсовой работы является углубление и закрепление знаний об основных приемах, методах и принципах работы при решении на ЭВМ задач с использованием языка Паскаль.
Задание №1 «Обработка символьных данных»
1 часть. Обработка текста.
Из двух восьмибуквенных слов образовать последовательность букв, в которой должны чередоваться буквы первого и второго слова.
Выполнение программы:
Program KursObrabotkaTexta;
uses crt;
var
s1,s2:string[8];
i:integer;
begin
clrscr;
writeln('vvedite pervoe slovo:');
readln(s1);
writeln('vvedite vtoroe slovo:');
readln(s2);
writeln('rezultat cheredovaniya:');
for i:=1 to 8 do
write(s1[i],s2[i]);
end.
Проверка выполнения программы:
На экране выходит окно в котором вводим восьмибуквенные слова в данном случае для проверки вводим слова написанные кириллицей: единорог и растение
vvedite pervoe slovo:
единорог
vvedite vtoroe slovo:
растение
rezultat cheredovaniya:
ердаиснтоерноиге
Программа работает без ошибок и чередует слова в правильной последовательности
2часть.Работа с файлами.
Дана последовательность, содержащая от 1 до 10 слов, в каждом из которых от 1 до 5 строчных латинских бук; между соседними словами- запятая, за последним словом- точка. Напечатать: все слова, которые встречаются в последовательности по одному разу.
Выполнение программы:
Program KursRabotaSFailami;
uses crt;
var
f,a,s,d:integer;
q:array[1..10] of string;
z:string;
begin
writeln('введите слова');
read(z);
s:=1;
repeat
a:=pos(',',z);
if a<>0 then begin
q[s]:=copy(z,1,a-1);
delete(z,1,a);
s:=s+1;
end;
until a=0;
q[s]:=copy(z,1,length(z)-1);
for d:=1 to s do begin
for a:=1+d to s do if q[d]=q[a] then begin q[a]:='!';f:=1; end;
if f=1 then q[d]:='!';
f:=0;
writeln('слова встречающиеся
end;
for a:=1 to s do if q[a]<>'!' then writeln(q[a]);
end.
Проверка выполнения программы:
Вводим последовательность слов, например такие:
index,index,excel,paint,index,
Далее выводятся слова
excel
paint
после этого делаем вывод что программа работает исправно, т.к. слова введенные по одному разу выводятся на экран правильно.
Задание №2 «Обработка графических данных»
1часть.
Написать процедуру рисования графика функции y=x4+x2-8.
Предусмотреть вывод оцифрованных координатных осей соответственно области построения, подписей к графику. Рационально расположить элементы рисунка (график, оси, цифры и штрихи масштабирования, подписи) на экране.
Выполнение программы:
program ObrGrafhGannyh;
uses graph,crt;
const
x1=-6;
x2=6;
var
mx,my,x,dx,y:real;
x0,y0,grD,px,py,grM,i,k:
s,s1:string;
begin
clrscr;
grD:=detect;
initgraph(grD,grM,'');
X0:=getmaxX div 2
Y0:=getmaxY div 2;
mx:=600/(x2-x1);
my:=420/22;
SetBkColor(7);
setlinestyle(0,0,1);
SetColor(1);
line(0,y0,getmaxX,y0);
line(x0,getmaxy,x0,0);
setlinestyle(1,0,0);
Setcolor(9);
for i:=1 to 12 do
begin
line(10,y0-round(i*my),630,y0-
line(10,y0+round(i*my),630,y0+
line(x0+round(i*mx),0,x0+
line(x0-round(i*mx),0,x0-
str(i,s);
outtextXY(x0-25,y0-round(i*my)
outtextXY(x0-25,y0+round(i*my)
str(i,s);
outtextXY(x0+round(i*mx),y0+
outtextXY(x0-round(i*mx),y0+
end;
outtextXY(x0+5,y0+10,'0');
outtextXY(getmaxX-10,y0-10,'X'
outtextXY(x0-10,10, 'Y');
dx:=0.001;
x:=x1;
while x<=x2 do
begin
px:=x0+round(x*mx);
y:=x*x*x*x+x*x-8;
py:=y0-round(y*my);
putpixel(px,py,4);
x:=x+dx;
end;
setcolor(10);
outtextXY(5,30,'Grafik functii y=x^4+x^2-8');
readln;
end.
Пояснение к программе
Процедура рисования графика функции выполнена, график, оси цифры и штрихи масштабирования, подписи рационально расположены, элементы рисунка выводятся на экран и выводятся оцифрованные координатные оси.
Считаю что по заданию программа выполнена правильна и верно.
2часть.
Написать программу для
Выполнение программы:
program ObrabotaGraphDannyh;
uses graph,crt;
var x,y,x0,y0,d,r,dx,dy,i:integer;
begin
x:=0;
initgraph(x,y,'');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
outtextXY(x0-80,20,'Vyhod - press any key...');
d:=200;
r:=10;
rectangle(x0-d,y0-d,x0+d,y0+d)
x:=x0;
y:=y0-d+r+1;
dx:=-1;
dy:=1;
i:=10;
repeat
setcolor(i);
circle(x,y,r);
setfillstyle(1,i);
fillellipse(x,y,r,r);
delay(10);
setcolor(0);
circle(x,y,r);
setfillstyle(1,0);
fillellipse(x,y,r,r);
x:=x+dx;
y:=y+dy;
if x=x0-d+r+2 then
begin
dx:=1;
i:=i+1;
if i=16 then i:=1;
end
else if y=y0+d-r-2 then
begin
dy:=-1;
i:=i+1;
if i=16 then i:=1;
end
else if x=x0+d-r-2 then
begin
dx:=-1;
i:=i+1;
if i=16 then i:=1;
end
else if y=y0-d+r+2 then
begin
dy:=1;
i:=i+1;
if i=16 then i:=1;
end
until keypressed;
end.
Программа работает исправно, т.к. при движении фигуры её цвет меняется при ударе о поверхность границы экрана.
Вывод по курсовой работе
В курсовой работе были представлены две темы обработка графических и символьных данных. Для выполнения каждой из которых были составлены алгоритмы работы программ. При выполнении программ были использованы некоторые типы данных на паскале ,такие как real (переменные вещественного типа), integer (переменные целого типа) и т.д. Паскаль- является базовым языком программирования при написания программ.
Информация о работе Обработка графических и символьных данных