Обработка графических и символьных данных

Автор работы: Пользователь скрыл имя, 27 Января 2013 в 23:37, курсовая работа

Краткое описание

Цель курсовой работы является углубление и закрепление знаний об основных приемах, методах и принципах работы при решении на ЭВМ задач с использованием языка Паскаль.

Вложенные файлы: 1 файл

Курсовая работа ПЯВУ.doc

— 46.00 Кб (Скачать файл)

Цель курсовой работы является углубление и закрепление знаний об основных приемах, методах и принципах  работы при решении на ЭВМ задач  с использованием языка Паскаль.

 

 

 

 

Задание №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,access,access,rybalka,rybalka,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:integer;

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-round(i*my));

    line(10,y0+round(i*my),630,y0+round(i*my));

    line(x0+round(i*mx),0,x0+round(i*mx),getmaxY);

    line(x0-round(i*mx),0,x0-round(i*mx),getmaxY);

    str(i,s);

    outtextXY(x0-25,y0-round(i*my),s);

    outtextXY(x0-25,y0+round(i*my),'-'+s);

    str(i,s);

    outtextXY(x0+round(i*mx),y0+10,s);

    outtextXY(x0-round(i*mx),y0+10,'-'+s);

  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 (переменные целого типа) и т.д. Паскаль- является базовым языком программирования при написания программ.


Информация о работе Обработка графических и символьных данных