Вычислительная практика

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

отчет Лешкевич Марии Николаевны.docx

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

Вариант 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,pic6,pic7,pic8: integer;

begin

SetWindowSize(420,525);

CenterWindow;

FloodFill(0,0,clLtGray) ;

SetWindowCaption('Нарейко Нина Николаевна');

pic1:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_1.jpg');

DrawPicture(pic1,140,210);

Sleep(500);

pic2:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_2.jpg');

DrawPicture(pic2,0,420);

Sleep(500);

pic3:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_3.jpg');

DrawPicture(pic3,0,105);

Sleep(500);

pic4:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_4.jpg');

DrawPicture(pic4,140,315);

Sleep(500);

pic5:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_5.jpg');

DrawPicture(pic5,140,105);

Sleep(500);

pic6:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_6.jpg');

DrawPicture(pic6,0,315);

Sleep(500);

pic7:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_7.jpg');

DrawPicture(pic7,140,420);

Sleep(500);

pic8:=LoadPicture('e:\семестр4\вычислительная практика\лешкевич\результат задания №1\Portret2_8.jpg');

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,10);// рисует прямоугольник со округленными краями

      SetBrushColor(clWhite);

 Rectangle(110,90,130,140);

 Sleep(400);

     end;

      SetFontColor(clWhite);

    //  RoundRect(110,90,130,140,10,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));{чтобы она была короче берем 330}

   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,43)); //Заливает область одного цвета цветом

FloodFill(220,70,RGB(255,251,43)); 

FloodFill(100,150,RGB(255,251,43));

FloodFill(100,340,RGB(255,251,43)); 

FloodFill(470,215,RGB(255,251,43));    

FloodFill(300,350,RGB(255,36,12));       

FloodFill(385,460,RGB(255,251,43));   

FloodFill(390,260,RGB(255,36,12));

FloodFill(155,360,RGB(255,36,12));

FloodFill(300,495,RGB(255,251,43));

FloodFill(250,600,RGB(255,251,43));

FloodFill(380,545,RGB(255,232,102));

FloodFill(260,250,RGB(255,163,35));

FloodFill(270,245,RGB(255,250,112));

FloodFill(240,245,RGB(255,250,112));

FloodFill(100,340,RGB(255,251,43));

FloodFill(150,490,RGB(209,255,251));

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат выполнение программы

 

 

 

ЗАДАЧА 6.

 

Задание 6. Ребус.

Условие задачи. В архиве находятся один или несколько файлов. Это рисунки, из которых можно составить ребус. Написать программу для вывода в графическом окне заданного ребуса и проверки того, как пользователь расшифровал данный ребус.

Информация о работе Вычислительная практика