Автор работы: Пользователь скрыл имя, 01 Мая 2013 в 03:20, отчет по практике
Задание 1. Фото-мозаика.
Условие задачи. В архиве находятся несколько файлов. В них - фрагменты одной фотографии. Написать программу, составляющую из фрагментов целую фотографию.
Требования:
подобрать размеры графического окна в соответствии с параметрами фотографии (размер и ориентация книжная или альбомная);
полученное фото расположить в указанной части графического окна;
ЗАДАЧА 1. 2
ЛИСТИНГ К ЗАДАЧЕ 1. 3
РИСУНОК К ЗАДАЧЕ 4
ЗАДАЧА 2. 4
ЛИСТИНГ К ЗАДАЧЕ 2. 4
РИСУНОК К ЗАДАЧЕ 5
ЗАДАЧА 3. 5
ЛИСТИНГ К ЗАДАЧЕ 3. 5
РИСУНОК К ЗАДАЧЕ 6
ЗАДАЧА 4. 6
ЛИСТИНГ К ЗАДАЧЕ 4. 6
РИСУНОК К ЗАДАЧЕ 9
ЗАДАЧА 5. 9
ЛИСТИНГ К ЗАДАЧЕ 5. 9
РИСУНОК К ЗАДАЧЕ 10
ЗАДАЧА 6. 10
ЛИСТИНГ К ЗАДАЧЕ 6. 10
РИСУНОК К ЗАДАЧЕ 11
ЗАДАЧА 7. 11
ЛИСТИНГ К ЗАДАЧЕ 7. 12
РИСУНОК К ЗАДАЧЕ 13
ЗАДАЧА 8. 14
ЛИСТИНГ К ЗАДАЧЕ 8. 14
РИСУНОК К ЗАДАЧЕ 17
ЗАДАЧА 9 17
ЛИСТИНГ К ЗАДАЧЕ 9. 17
РИСУНОК К ЗАДАЧЕ 20
Вариант 15
УЧРЕЖДЕНИЕ
ОБРАЗОВАНИЯ
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ МАКСИМА ТАНКА»
кафедра прикладной математики и информатики
ОТЧЕТ
по вычислительной практике
Выполнила:
студентка
203 группы математического факультета Лешкевич
М.Н.
Руководитель:
преподаватель
кафедры прикладной математики и информатики
Нарейко Н. Н._____________
Минск, 2013
Оглавление
ЗАДАЧА 1. 2
ЛИСТИНГ К ЗАДАЧЕ 1. 3
РИСУНОК К ЗАДАЧЕ 4
ЗАДАЧА 2. 4
ЛИСТИНГ К ЗАДАЧЕ 2. 4
РИСУНОК К ЗАДАЧЕ 5
ЗАДАЧА 3. 5
ЛИСТИНГ К ЗАДАЧЕ 3. 5
РИСУНОК К ЗАДАЧЕ 6
ЗАДАЧА 4. 6
ЛИСТИНГ К ЗАДАЧЕ 4. 6
РИСУНОК К ЗАДАЧЕ 9
ЗАДАЧА 5. 9
ЛИСТИНГ К ЗАДАЧЕ 5. 9
РИСУНОК К ЗАДАЧЕ 10
ЗАДАЧА 6. 10
ЛИСТИНГ К ЗАДАЧЕ 6. 10
РИСУНОК К ЗАДАЧЕ 11
ЗАДАЧА 7. 11
ЛИСТИНГ К ЗАДАЧЕ 7. 12
РИСУНОК К ЗАДАЧЕ 13
ЗАДАЧА 8. 14
ЛИСТИНГ К ЗАДАЧЕ 8. 14
РИСУНОК К ЗАДАЧЕ 17
ЗАДАЧА 9 17
ЛИСТИНГ К ЗАДАЧЕ 9. 17
РИСУНОК К ЗАДАЧЕ 20
ЗАДАЧА 1.
Задание 1. Фото-мозаика.
Условие задачи. В архиве находятся несколько файлов. В них - фрагменты одной фотографии. Написать программу, составляющую из фрагментов целую фотографию.
Требования:
ЛИСТИНГ К ЗАДАЧЕ 1.
program Z1;
uses GraphABC;
var i,pic1,pic2,pic3,pic4,pic5,
begin
SetWindowSize(420,525);
CenterWindow;
FloodFill(0,0,clLtGray) ;
SetWindowCaption('Нарейко Нина Николаевна');
pic1:=LoadPicture('e:\
DrawPicture(pic1,140,210);
Sleep(500);
pic2:=LoadPicture('e:\
DrawPicture(pic2,0,420);
Sleep(500);
pic3:=LoadPicture('e:\
DrawPicture(pic3,0,105);
Sleep(500);
pic4:=LoadPicture('e:\
DrawPicture(pic4,140,315);
Sleep(500);
pic5:=LoadPicture('e:\
DrawPicture(pic5,140,105);
Sleep(500);
pic6:=LoadPicture('e:\
DrawPicture(pic6,0,315);
Sleep(500);
pic7:=LoadPicture('e:\
DrawPicture(pic7,140,420);
Sleep(500);
pic8:=LoadPicture('e:\
DrawPicture(pic8,0,210);
Sleep(500);
FloodFill(0,0,clTeal);
end.
Результат выполнение программы
ЗАДАЧА 2.
Задание 2. Дорожный знак.
Условие задачи. Написать программу для рисования дорожного знака.
Требования:
ЛИСТИНГ К ЗАДАЧЕ 2.
Program Z2;
uses GraphABC;
Begin
SetWindowSize(300,360);
SetPenWidth(2);
SetPenColor(clBlack);
Line(150,110,140,120);
Line(140,120,145,130);
Line(150,110,160,120);
Line(160,120,155,130);
Line(120,130,180,130);
Line(120,130,115,140);
Line(180,130,185,140);
Line(115,140,115,155);
Line(185,140,185,155);
Line(115,155,120,155);
Line(120,155,120,150);
Line(120,150,180,150);
Line(180,150,180,155);
Line(180,155,185,155);
SetPenWidth(1);
Rectangle(135,133,125,140); //окна трамвая
Rectangle(145,133,135,140);
Rectangle(155,133,145,140);
Rectangle(165,133,155,140);
Rectangle(175,133,165,140);
FloodFill(150,145,clBlack); //закрашивает замкнутую фигуру черным цветом
SetPenWidth(3);
SetPenColor(clBlack);
Rectangle(145,153,155,155);
SetPenWidth(2);
Circle(127,156,5);//колеса
Circle(137,156,5);
Circle(162,156,5);
Circle(172,156,5);
SetPenWidth(12); //треугольник
SetPenColor(clRed);
Line(150,30,50,210);
Line(150,30,250,210);
Line(50,210,250,210);
SetFontSize(25); // задаем размер шрифта
TextOut(40,240, 'Пересечение с');
TextOut(60,270, 'трамвайной');
TextOut(95,300, 'линией');
end.
Результат выполнение программы
ЗАДАЧА 3.
Задание 3. Мигающий знак.
Условие задачи. Написать программу для рисования дорожного знака с элементами анимации.
Требования:
ЛИСТИНГ К ЗАДАЧЕ 3.
Program Z3;
Uses GraphABC;
var i: byte;
begin
SetWindowTitle('Дорожный знак - Тупик'); // задаем заголовок графического окна
SetWindowSize(220,280);
SetFontSize(15);
ClearWindow;
TextOut(80,220,'Тупик '); // выводим надпись
{ --- исходный рисунок --- }
TextOut(10,10,'Исходный рисунок'); // выводим надпись
SetBrushColor(clBlue); // задаем цвет прямоугольник
RoundRect(50,40,80,190,10,10);
//SetBrushColor(clBlue);
//FloodFill(80,180,clBlue);
Line(90,40,90,110);
Line(90,110,110,110);
Line(90,120,110,120);
Line(90,120,90,190);
Line(90,190,170,190);
Line(170,190,180,180);
Line(180,180,180,50);
Line(180,50,170,40);
Line(170,40,90,40);
SetBrushColor(clRed);
Rectangle(110,90,130,140);
//FloodFill(330,330,clBlue) ;//закрашивает замкнутую фигуру синим цветом
FloodFill(170,50,clBlue) ;
FloodFill(110,190,clBlue) ;
//выведем ту же надпись, но белым цветом на белом фоне = как бы сотрем написанное
SetBrushColor(clWhite); // задаем белый цвет фона
SetFontColor(clWhite); // задаем белый цвет шрифта
TextOut(10,10,'Исходный рисунок'); // выводим надпись
{ --- мигание сменой цвета пера --- }
SetFontColor(clNavy); // задаем синий цвет шрифта
TextOut(10,10,'Мигание сменой цвета пера'); // выводим надпись
for i := 1 to 10 do
begin
SetBrushColor(clRed);
RECTANGLE(110,90, 130,140); //рисует белый прямоугольник
Sleep(400); //задержка
//SetBrushColor(clRed);
RoundRect(110,90,130,140,10,
SetBrushColor(clWhite);
Rectangle(110,90,130,140);
Sleep(400);
end;
SetFontColor(clWhite);
// RoundRect(110,90,130,140,10,
//SetBrushColor(clRed);
Rectangle(110,90,130,140);
SetFontColor(clWhite); // задаем белый цвет шрифта
TextOut(10,10,'Мигание сменой цвета пера'); // выводим надпись = стираем ее
end.
Результат выполнение программы
ЗАДАЧА 4.
Задание 4. Часики.
Условие задачи. Написать программу для рисования часов с круглым циферблатом и движущимися стрелками.
Требования:
Вариант |
Время движения стрелок, часы и минуты |
Время звонка будильника, часы и минуты | |
начало |
окончание | ||
15 |
14.25 |
16.50 |
15.20 |
ЛИСТИНГ К ЗАДАЧЕ 4.
program zadanie4;
uses GraphABC,Sounds;
var n,n2:integer;a, x, y, r, x0, y0 ,x1,y1,p,m: integer;
b:real;
z1,z2,z:string;//описывает переменную для звука
begin
SetWindowSize(600,600);
CenterWindow;
FloodFill(0,0,clBlue);
//рисуем часы
SetPenWidth(20);
SetPenColor(clLime);
Circle(300,300,280);
SetPenWidth(80);
SetPenColor(clWhite);
Circle(300,300,230);
{SetPenWidth(20);
SetPenColor(clLtGray);
Circle(300,300,180);
FloodFill(300,310,clLtGray); }
SetPenWidth(3);
SetPenColor(clBlack);
SetPixel(300,300,clBlack);
//рисуем циферки
SetFontColor(clBlack);
SetFontSize(52);
TextOut(263,32,'12');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(400,65,'1');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(480,140,'2');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(500,250,'3');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(500,350,'4');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(420,450,'5');
SetFontColor(clBlack);
SetFontSize(50);
TextOut(285,490,'6');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(150,450,'7');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(80,370,'8');
SetFontColor(clBlack);
SetFontSize(47);
TextOut(50,250,'9');
SetFontColor(clBlack);
SetFontSize(40);
TextOut(83,140,'10');
SetFontColor(clBlack);
SetFontSize(40);
TextOut(150,70,'11');
r:=140; {--- радиус окружности, по которой будет вращение ---}
x0:=300; y0:=300; {--- задаем центр окружности ---}
n:=LoadSound('clock.wav'); {--- загружаем и воспроизводим звук тиканья часов ---}
PlaySound(n);
n2:=LoadSound('bells.wav'); {--- загружаем звук будильника ---}
for a:=430 to 1300 do
begin
if a = 430 + 320
then PlaySound(n2);
x:=round(x0+r*cos(a*pi/180));
y:=round(y0+r*sin(a*pi/180));
b:=300+a/12;
x1:=round(x0+r*cos(b*pi/180));
y1:=round(y0+r*sin(b*pi/180));
LockDrawing;
MoveTo(x0,y0);
SetPenWidth(10); {--- перемещаемся в точку - начало луча ---}
SetPenColor(clBlack); {--- задаем цвет луча ---}
LineTo(x,y); {--- рисуем луч ---}
MoveTo(300,300);
SetPenColor(clBlack);
LineTo(x1,y1);
//sleep(10);
Redraw;
sleep(10);
MoveTo(x0,y0); {--- перемещаемся в точку - начало луча ---}
SetPenColor(clWhite); {--- задаем цвет пера такой же как цвет фона ---}
LineTo(x,y); {--- рисуем луч цветом фона - луч как бы стирается ---}
MoveTo(300,300); {--- перемещаемся в точку - начало луча ---}
SetPenColor(clWhite); {--- задаем цвет пера такой же как цвет фона ---}
LineTo(x1,y1);
if SoundIsPlaying(n)=False then begin RewindSound(n); PlaySound(n); end;
If a=-230
then
begin
m:=LoadSound('alarm.wav');
PlaySound(m);
end;
{--- если звук тиканья
окончился, перематываем в
end;
{--- цикл закончится, когда луч пройдет полный круг ---}
DestroySound(n); {--- выгружаем из оперативной памяти звуковой файл ---}
{рисуем стрелки}
MoveTo(300,300);
SetPenColor(clBlack);
LineTo(x1,y1);
MoveTo(300,300);
SetPenColor(clBlue);
LineTo(x,y);
end.
Результат выполнение программы
ЗАДАЧА 5.
Задание 5. Волшебные очки.
Условие задачи. Дан рисунок с контурным изображением.
Написать программу для закрашивания
частей этого рисунка оттенками одного
цвета.
;) Как если бы рисунок раскрашивал художник
в волшебных очках, окрашивающих все одним
цветом!
Требования:
ЛИСТИНГ К ЗАДАЧЕ 5.
program zd_5;
uses GraphABC;
var pic:integer;
begin
SetWindowSize(580,700);
SetWindowCaption('Винипух');
CenterWindow;
pic:=LoadPicture ('e:\семестр4\вычислительная практика\лешкевич\результат задания №5\Zd_5\Z5_picture.bmp');
DrawPicture (pic, 0,0);
FloodFill(200,150,RGB(255,251,
FloodFill(220,70,RGB(255,251,
FloodFill(100,150,RGB(255,251,
FloodFill(100,340,RGB(255,251,
FloodFill(470,215,RGB(255,251,
FloodFill(300,350,RGB(255,36,
FloodFill(385,460,RGB(255,251,
FloodFill(390,260,RGB(255,36,
FloodFill(155,360,RGB(255,36,
FloodFill(300,495,RGB(255,251,
FloodFill(250,600,RGB(255,251,
FloodFill(380,545,RGB(255,232,
FloodFill(260,250,RGB(255,163,
FloodFill(270,245,RGB(255,250,
FloodFill(240,245,RGB(255,250,
FloodFill(100,340,RGB(255,251,
FloodFill(150,490,RGB(209,255,
end.
Результат выполнение программы
ЗАДАЧА 6.
Задание 6. Ребус.
Условие задачи. В архиве находятся один или несколько файлов. Это рисунки, из которых можно составить ребус. Написать программу для вывода в графическом окне заданного ребуса и проверки того, как пользователь расшифровал данный ребус.