Алгоритмизация и программирование на языке Паскаль

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Омский государственный технический университет

Кафедра: “Средства связи и информационная безопасность”

Курсовая работа

По дисциплине “Информатика”

Тема:

Алгоритмизация и программирование на языке Паскаль

Выполнил студент:

Кузюков Виктор Васильевич

Группа: ЗРП-118 (210402)

Вариант: № 8

Омск 2009 г.

Содержание

Лабораторная работа 1 “Программирование формул; операторы ввода и вывода” (Read, Write)

Лабораторная работа 2 “Условный оператор” (If..then..else)

Лабораторная работа 3 “Цикл с предусловием” (While..do)

Лабораторная работа 4 “Цикл с постусловием” (Repeat..until)

Лабораторная работа 5.1 “Цикл с заданным числом повторений” (For..to..do)

Лабораторная работа 5.2 “Цикл с заданным числом повторений” (For..to..do)

Лабораторная работа 10 “Графические средства” (модуль – Graph)

Список используемой литературы

Лабораторная работа 1

Программирование формул; операторы ввода и вывода (Read, Write)

Лабораторное задание

Для данных из таблицы 3 написать алгоритм и программу для вычисления формулы для х, введенных с клавиатуры. Произвести тестирование программы с помощью имеющегося математического пакета или калькулятора.

Алгоритм выполнения:

Текст программы:

Programlab1v8;

Uses

Crt ;

Label

1,2 ;

Const

A = 1.1;

B = 4;

Var

Y, x: Real;

Ch: Char;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ПРОГРАММИРОВАНИЕ ФОРМУЛ; ОПЕРАТОРЫ ВВОДА И ВЫВОДА’);

Writeln ;

Writeln (‘ Лабораторная работа № 1, 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Константыa=1.1 иb=4’);

Writeln (‘ Переменные x, которые надо ввести с клавиатуры = -3 и 3’);

Writeln ;

Writeln (‘ При -3 y=1.31; 3 y=2.87’);

Writeln (‘ Вычисленение производится по формуле:’);

Writeln ;

Writeln (‘ ln(|x+a|)*b’);

Writeln (‘ y = ———–‘);

Writeln (‘ √a^b-sin(b)’);

Writeln ;

Textcolor (LightGreen);

Write (‘ Введите значение x: ‘);

Read (x);

{-= вычисляемформулу =-}

Y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));

{Выводим полученный результат}

Writeln ;

Textcolor (Yellow);

WriteLn (‘Результат вычисления y =’,y:6:2);

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

Goto 1;

2:

Writeln (‘До свидания’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Лабораторная работа 2

Условный оператор (If..then..else)

Лабораторное задание

Написать алгоритм и программу для вычисления значения у из таблицы 4 для х, введенного с клавиатуры. Произвести тестирование программы.

Алгоритм выполнения:

Текстпрограммы:

Program lab2v8;

Uses Crt ;

Label 1,2 ;

Var y, x: Real; ch: Char;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ УСЛОВНЫЙОПЕРАТОР’);

Writeln ;

Writeln (‘ Лабораторная работа № 2, 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Дана система уравнений для вычисления значения y’);

Writeln (‘ при котором x требуется ввести с клавиатуры.’);

Writeln ;

Writeln (‘ Диапазон, при которых значение x подходит к решению,’);

Writeln (‘ должно контролироваться программой.’);

Writeln (‘ /’);

Writeln (‘ | x*(3-x) , -1<= x <0’);

Writeln (‘ y = < 1 , 0<= x <1’);

Writeln (‘ | tg(2x) , 1<= x <=2’);

Writeln (‘ \’);

Writeln (‘ Производя проверку, в значении tg(2x) – х является ГРАДУСОМ!’);

Writeln ;

Textcolor (LightGreen);

Write (‘ Введите значение x: ‘);

Read (x);

{-= делаем проверку и вычисления =-}

If ((x<-1) or (x>2)) then Writeln (‘Введенное значение выходит за пределы’)

Else

Begin

If x<0 then y := x*(3-x)

Else if x<1 then y := 1

Else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));

{Выводим полученный результат }

Writeln ;

Textcolor (Yellow);

WriteLn (‘Результат вычисления y =’,y:7:3);

End;

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

Goto 1;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Лабораторная работа 3

“Цикл с предусловием” (While..do)

Лабораторное задание

Написать алгоритм и программу вычисления у(х) или z(t) из лабораторной работы № 1 для заданных значений диапазона и шага аргументов z, t, таблица 5. Первое значение вычисляется в крайней левой точке заданного диапазона значений аргументов х. Произвести тестирование программы.

Алгоритм выполнения:

Текст программы:

Program lab3v8;

Uses

Crt ;

Label

1,2 ;

Const

A = 1.1;

B = 4;

Dx = 0.5;

Var

Y, x: Real;

Ch: Char;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ЦИКЛ С ПРЕДУСЛОВИЕМ’);

Writeln ;

Writeln (‘ Лабораторная работа № 3, 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Константыa=1.1; b=4’);

Writeln ;

Writeln (‘ Изменение x происходит от -3 до 3 с шагом 0,5’);

Writeln (‘ Вычисленение производится по формуле:’);

Writeln ;

Writeln (‘ ln(|x+a|)*b’);

Writeln (‘ y = ———–‘);

Writeln (‘ √a^b-sin(b)’);

Writeln ;

Textcolor (LightGreen);

Writeln (‘Дляпродолжениянажмите “Enter”‘);

Ch := ReadKey;

If Ch<>#13 Then goto 1;

Clrscr;

Writeln (‘ Вычисленение производится по формуле:’);

Writeln ;

Writeln (‘ ln(|x+a|)*b’);

Writeln (‘ y = ———– ; a=1.1, b=4’ );

Writeln (‘ √a^b-sin(b)’);

Writeln ;

{-= вычисляем формулу в цикле =-}

X := -3;

While (x<=3) do

Begin

Y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));

{Выводим полученный результат}

Textcolor (Yellow);

WriteLn (‘Результат вычисления y =’, y :6:2, ‘ при x = ‘, x :6:2);

X := x+dx;

End;

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

Goto 1;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Алгоритм программа формула тестирование

Лабораторная работа 4

“Цикл с постусловием” (Repeat..until)

Лабораторное задание

Задание 1. Написать алгоритм и программу вычисления функции у(х) из лабораторной работы №2 в N равномерно распределенных в диапазоне Х1<х<Х2 точках, таблица 6. Результаты сформировать в виде таблицы. Произвести тестирование.

Задание 2. Произвести пошаговое выполнение программы, наблюдая переменные х, у, n

Алгоритм выполнения:

Текст программы:

Programlab4v8;

Uses

Crt ;

Label

1,2 ;

Const

X1=-1; X2=2; N=11;

Var

Y, x,dx: Real;

I: Integer;

Ch: Char;

Vr: Byte;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ЦИКЛ С ПОСТУСЛОВИЕМ’);

Writeln ;

Writeln (‘ Лабораторная работа № 4, 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Дана система уравнеий для вычисления значения y,’);

Writeln (‘ /’);

Writeln (‘ | x*(3-x) , -1<= x <0’);

Writeln (‘ y = < 1 , 0<= x <1’);

Writeln (‘ | tg(2x) , 1<= x <=2’);

Writeln (‘ \’);

Writeln (‘ При выводе значении tg(2x) – х является ГРАДУСОМ!’);

Writeln ;

Writeln (‘ Значениеx = [-1;2].’);

Writeln (‘ Из диапазона x выбирается 10 значений, которые’);

Writeln (‘ атоматически вычисляются, разбив промежуток на равные части.’);

Writeln ;

Textcolor (LightGreen);

Writeln (‘Выберите вариант вывода значений:’);

Writeln (‘ 1 – вывод всех значений’);

Writeln (‘ 2 – пошаговый режим’);

Writeln (‘(нажмите соотв. цифру на клавиатуре)’);

{Проверяем выбораный режим 49=”1″, 50=”2″}

Ch := ReadKey ;

If Ch=#49 then vr:=10

Else if Ch=#50 then vr := 1

Else goto 1;

Clrscr ;

Writeln (‘ Cистема уравнеий для вычисления значения y,’);

Writeln (‘ /’);

Writeln (‘ | x*(3-x) , -1<= x <0’);

Writeln (‘ y = < 1 , 0<= x <1’);

Writeln (‘ | tg(2x) , 1<= x <=2’);

Writeln (‘ \’);

If vr = 1 then

Begin

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для продолжения любую клавишу’);

Writeln ;

Textcolor (LightGreen);

End

Else Writeln ;

{-= выводим в табличном значении =-}

Writeln (‘ ==================’);

Writeln (‘ = n = x = y =’);

Writeln (‘ ==================’);

Dx := (X2-X1)/(N-1);

X := X 1;

I := 1;

Repeat

{ на всякий случай пусть проверяет 😉 }

If (( x <-1) or ( x >2)) then Writeln (‘Значение вышло за пределы – ГЛЮК 8)’)

Else

Begin

If x<0 then y := x*(3-x)

Else if x<1 then y := 1

Else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));

Writeln (‘ =’,i:3,’=’,x:7:2,’=’,y:7:2,’=’);

X := x + dx ;

I := i +1;

{проверка для пошагового режима}

If vr < 10 then

Begin

Ch := ReadKey;

If Ch=#27 then goto 2;

End;

End

Until x>2;

Writeln (‘ ================== ‘);

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 then goto 2;

Goto 1;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End

Лабораторная работа 5.1

“Цикл с заданным числом повторений” (For..to..do)

Лабораторное задание

Задание 1. Изменить алгоритм и программу из лабораторной работы 4, используя вместо цикла с постусловием счетный цикл.

Алгоритм выполнения:

Текст программы:

Program lab5_1v8;

Uses

Crt ;

Label

1,2 ;

Const

X1=-1; X2=2; N=11;

Var

Y, x,dx: Real;

I: Integer;

Ch: Char;

Vr: Byte;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ЦИКЛ С ЗАДАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ’);

Writeln ;

Writeln (‘ Лабораторная работа № 5 (задания 1), 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Дана система уравнеий для вычисления значения y,’);

Writeln (‘ /’);

Writeln (‘ | x*(3-x) , -1<= x <0’);

Writeln (‘ y = < 1 , 0<= x <1’);

Writeln (‘ | tg(2x) , 1<= x <=2’);

Writeln (‘ \’);

Writeln (‘ При выводе значении tg(2x) – х является ГРАДУСОМ!’);

Writeln ;

Writeln (‘ Значениеx = [-1;2].’);

Writeln (‘ Из диапазона x выбирается N значений, которые’);

Writeln (‘ атоматически вычисляются, разбив промежуток на равные части.’);

Writeln ;

Textcolor (LightGreen);

Writeln (‘Выберите вариант вывода значений:’);

Writeln (‘ 1 – вывод всех значений’);

Writeln (‘ 2 – пошаговый режим’);

Writeln (‘(нажмите соотв. цифру на клавиатуре)’);

{Проверяем выбораный режим 49=”1″, 50=”2″}

Ch := ReadKey;

If Ch=#49 then vr:=10

Else if Ch=#50 then vr := 1

Else goto 1;

Clrscr ;

Writeln (‘ Cистема уравнеий для вычисления значения y,’);

Writeln (‘ /’);

Writeln (‘ | x*(3-x) , -1<= x <0’);

Writeln (‘ y = < 1 , 0<= x <1’);

Writeln (‘ | tg(2x) , 1<= x <=2’);

Writeln (‘ \’);

If vr = 1 then

Begin

Textcolor (LightRed);

Writeln(‘ длязавершениянажмите “Esc”, дляпродолжениялюбуюклавишу’);

Writeln ;

Textcolor (LightGreen);

End

Else Writeln ;

{-= выводим в табличном значении =-}

Writeln (‘ ==================’);

Writeln (‘ = n = x = y =’);

Writeln (‘ ==================’);

Dx := (X2-X1)/(N-1);

X := X1;

For i:=1 to N do

Begin

If x<0 then y := x*(3-x)

Else if x<1 then y := 1

Else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));

Writeln (‘ =’,i:3,’=’,x:7:2,’=’,y:7:2,’=’);

X := x+dx;

{проверка для пошагового режима}

If vr < 10 then

Begin

Ch := ReadKey;

If Ch=#27 then goto 2;

End;

End;

Writeln (‘ ==================’);

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 then goto 2;

Goto 1;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Лабораторная работа 5.2

“Цикл с заданным числом повторений” (For..to..do)

Лабораторное задание

Задание 2. Для заданного х, числа слагаемых или п вычислить следующее.

Алгоритм выполнения:

Текст программы:

Program lab5_2v8;

Uses Crt ;

Label 1,2 ;

Var

B, x,s: real;

A: Shortint;

Ch: Char;

Vr: Byte;

C, zn, zi, i,n : Longint;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ЦИКЛСЗАДАННЫМЧИСЛОМПОВТОРЕНИЙ’);

Writeln ;

Writeln (‘ Лабораторная работа ь 5 (задания 2), 8-ой вариант’);

Writeln (‘ Дано:’);

Writeln (‘ Дана последовательность s,’);

Writeln ;

Writeln (‘ x^2 x^4 x^6 x^n’);

Writeln (‘ s = 1 – — + — – — + … —‘);

Writeln (‘ 2! 4! 6! n!’);

Writeln ;

Writeln (‘ Значение x и n надо ввести с клавиатуры.’);

Writeln (‘ Где: x – не известная x’);

Writeln (‘ n – кол-во решений (дробей)’);

Writeln ;

Writeln (‘ *для примера x, n большими лучше не вводить ‘);

Writeln (‘ ограничение и переполнение не учитывается ‘);

Writeln (‘ т. к. это выходит за рамки данного задания* ‘);

Writeln ;

Textcolor (LightGreen);

Write (‘ Введите занчение х нажмите Enter: ‘);

Read (x);

Write (‘ Введите значенеи n нажмите Enter: ‘);

Read (n);

Writeln ;

Writeln (‘Выберите вариант вывода значений:’);

Writeln (‘ 1 – вывод итогового значения s’);

Writeln (‘ 2 – вывод значения s, для каждого решения’);

Writeln (‘(нажмите соотв. цифру на клавиатуре)’);

{Проверяем выбораный режим 49=”1″ vr=10, 50=”2″ vr=1}

Ch := ReadKey;

If Ch=#49 then vr:=10

Else if Ch=#50 then vr := 1

Else goto 1;

Clrscr ;

If vr = 1 then

Begin

Textcolor (LightRed);

Writeln ;

Writeln(‘ длязавершениянажмите “Esc”, дляпродолжениялюбуюклавишу’);

Writeln ;

Textcolor (LightGreen);

End

Else Writeln ;

Writeln (‘ x^2 x^4 x^6 x^n’);

Writeln (‘ s = 1 – — + — – — + … —‘);

Writeln (‘ 2! 4! 6! n!’);

Writeln ;

{-= выводим в табличном значении =-}

Writeln (‘ ==================’);

Writeln (‘ = решение = s при x = ‘, x:6:5);

Writeln (‘ ==================’);

S := 1;

For i:=1 to n do

Begin

{проверяем на четность и соответственно добавляем знак}

If odd(i) then a := -1 else a := 1;

{находим степень с}

C := 2*i;

{вычисляем факториал знаменателя – zn (n!)}

Zn := 1; {zn – факториал в знаменателе}

For zi:=1 to c do zn := zn * zi;

{находим дробь – b = x^c / zn

!ПРИМЕЧАНИЕ так как отрицательное число под знаком логарифма приведет к ошибке, дополнительно при вычислении избавляемся от знака “-“. В нашем конкретном случае это не будет ошибкой т. к. при нашем задании степень ЧЕТНАЯ т. е. при любом значении x оно всегда будет четное. Поэтому смело можно применять abs.}

B := exp ( c * ln ( abs ( x )))/ zn ;

{находим результат s = s+a*b (= 1 – (x^n/n!) + .. – ..}

S := s+a*b ;

{проверка дял пошагового режима}

If vr < 10 then

Begin

Writeln (‘ =’,i:7,’=’,s:7:5,’ x^’,c,’=’,b*zn:7:5,’ ‘,c,’!=’,zn);

Ch := ReadKey;

If Ch=#27 then goto 2;

End;

End;

If vr = 10 then Writeln (‘ =’,i:7,’=’,s:7:5);

Writeln (‘ ==================’);

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для повтора любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 then goto 2;

Goto 1;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Лабораторная работа 10

“Графические средства” (модуль – Graph)

Лабораторное задание

Пользуясь, по возможности, процедурами: Bar, Bar3D, Line, Ellipse, FloodFill, написать программу рисования на экране Вашей фамилии.

Текстпрограммы:

Program lab10v8;

Uses

Crt, Graph ;

Label

1,2 ;

Var

Ch: Char;

GraphDriver, GraphMode : Integer;

Dx, dy, dy2,dx2: Integer;

Color : Byte;

Begin

1:

Clrscr;

Textcolor (11);

Writeln (‘ ГРАФИЧЕСКИЕ СРЕДСТВА’);

Writeln ;

Writeln (‘ Лабораторная работа ь 10’);

Writeln ;

Writeln (‘ Вывести на экран фамилию в графическом режиме.’);

Writeln ;

Textcolor (LightRed);

Writeln(‘ для завершения нажмите “Esc”, для продолжения любую клавишу’);

Writeln ;

Textcolor (White);

Ch := ReadKey;

If Ch=#27 then goto 2;

GraphDriver := Detect;

GraphMode := 0; {640x480x16}

InitGraph (GraphDriver, GraphMode, ‘C:\Pascal\Bp\Bgi’);

If GraphResult <> grOk then Halt (1);

{начинаем рисовать}

Dx := GetMaxXdiv 40;

Dy := GetMaxY div 35;

Dx2 := dx div 2;

Dy2 := dy div 2;

Color := White;

SetColor (Color);

SetFillStyle (1,Color);

{Cкобки}

Bar (2*dx,2*dy,6*dx,3*dy);

Bar (2*dx,2*dy,3*dx,6*dy);

Bar (35*dx,10*dy,36*dx,13*dy);

Bar (32*dx,14*dy,36*dx,13*dy);

{—–}

{К}

SetFillStyle (7,green);

Line (4*dx,11*dy,4*dx,4*dy);

Line (4*dx,4*dy,5*dx,4*dy);

Line (5*dx,4*dy,5*dx,7*dy);

Line (5*dx,7*dy,7*dx,4*dy);

Line (8*dx,4*dy,7*dx,4*dy);

Line (8*dx,4*dy,5*dx+dx2,8*dy);

Line (5*dx+dx2,8*dy,8*dx,11*dy);

Line (8*dx,11*dy,7*dx,11*dy);

Line (7*dx,11*dy,5*dx,9*dy);

Line (5*dx,9*dy,5*dx,11*dy);

Line (5*dx,11*dy,4*dx,11*dy);

FloodFill { PutPixel} (5*dx,8*dy, Color);

{У}

SetFillStyle (2,Yellow);

Line (10*dx,6*dy,9*dx,6*dy);

Line (11*dx,9*dy,10*dx,6*dy);

Line (12*dx,6*dy,11*dx,9*dy);

Line (13*dx,6*dy,12*dx,6*dy);

Line (11*dx,11*dy,13*dx,6*dy);

Line (9*dx,11*dy,11*dx,11*dy);

Line (9*dx,11*dy,9*dx,10*dy);

Line (9*dx,10*dy,10*dx+dx2,10*dy);

Line (9*dx,6*dy,10*dx+dx2,10*dy);

FloodFill { PutPixel} (10*dx,8*dy, Color);

{З}

SetFillStyle (5,White);

Line (14*dx,7*dy,13*dx+dx2,6*dy+dx2);

Line (13*dx+dx2,6*dy+dx2,14*dx+dx2,5*dy+dx2);

Line (14*dx+dx2,5*dy+dy2,15*dx+dx2,5*dy+dy2);

Line (15*dx+dx2,5*dy+dy2,16*dx+dx2,6*dy+dy2);

Line (16*dx+dx2,6*dy+dy2,16*dx+dx2,7*dy+dy2);

Line (16*dx+dx2,7*dy+dy2,15*dx,8*dy+dy2);

Line (15*dx,8*dy+dy2,16*dx+dx2,9*dy);

Line (16*dx+dx2,9*dy,16*dx+dx2,10*dy+dy2);

Line (16*dx+dx2,10*dy+dy2,16*dx,11*dy);

Line (16*dx,11*dy,13*dx+dx2,11*dy);

Line (13*dx+dx2,11*dy,13*dx,10*dy+dy2);

Line (13*dx,10*dy+dy2,13*dx+dx2,10*dy);

Line (13*dx+dx2,10*dy,14*dx,10*dy+dy2);

Line (14*dx,10*dy+dy2,15*dx+dx2,10*dy+dy2);

Line (15*dx+dx2,10*dy+dy2,15*dx+dx2,9*dy+dy2);

Line (15*dx+dx2,9*dy+dy2,14*dx+dx2,9*dy);

Line (14*dx+dx2,9*dy,14*dx,8*dy+dy2);

Line (14*dx,8*dy+dy2,14*dx+dx2,8*dy);

Line (14*dx+dx2,8*dy,15*dx+dx2,7*dy+dy2);

Line (15*dx+dx2,7*dy+dy2,15*dx+dx2,6*dy+dy2);

Line (15*dx+dx2,6*dy+dy2,14*dx+dx2,6*dy+dy2);

Line (14*dx+dx2,6*dy+dy2,14*dx,7*dy);

FloodFill { PutPixel} (15*dx,9*dy, Color);

{Ю}

SetFillStyle (9,Magenta);

Line (17*dx,5*dy,18*dx,5*dy);

Line (18*dx,5*dy,18*dx,8*dy);

Line (19*dx,8*dy,18*dx,8*dy);

Line (19*dx,8*dy,19*dx,9*dy);

Line (18*dx,9*dy,19*dx,9*dy);

Line (18*dx,11*dy,18*dx,9*dy);

Line (17*dx,11*dy,18*dx,11*dy);

Line (17*dx,5*dy,17*dx,11*dy);

{Circle (20*dx,8*dy,7); }

FillEllipse (20*dx,8*dy,15,40);

FloodFill {PutPixel} (20*dx,8*dy, Color);

FloodFill {PutPixel} (18*dx,8*dy+dy2,Color);

{К}

SetFillStyle (9,Red);

Line (22*dx,5*dy,23*dx,5*dy);

Line (23*dx,5*dy,23*dx,7*dy);

Line (23*dx,7*dy,24*dx,5*dy);

Line (24*dx,5*dy,25*dx,5*dy);

Line (25*dx,5*dy,24*dx,8*dy);

Line (24*dx,8*dy,25*dx,11*dy);

Line (25*dx,11*dy,24*dx,11*dy);

Line (24*dx,11*dy,23*dx,9*dy);

Line (23*dx,9*dy,23*dx,11*dy);

Line (22*dx,11*dy,23*dx,11*dy);

Line (22*dx,5*dy,22*dx,11*dy);

FloodFill { PutPixel} (23*dx,8*dy, Color);

{О}

SetFillStyle (6,Blue);

Circle (27*dx,8*dy,10);

FillEllipse (27*dx,8*dy,20,40);

FloodFill { PutPixel} (27*dx,7*dy, Color);

{В}

SetFillStyle (4,Green);

Line (30*dx,5*dy,30*dx,11*dy);

Circle (31*dx+dx2,6*dy,7);

Circle (31*dx+dx2,9*dy,9);

Arc (31*dx, 6*dy+dy2, 330, 125, 25);

Arc (31*dx+dx2, 9*dy+dy2, 225, 64, 30);

FloodFill {PutPixel} (32*dx,10*dy, Color);

ReadKey;

CloseGraph;

2:

Writeln (‘До свидания.’);

Writeln (‘Работу выполнил:’);

Writeln (‘К. Виктор гр. ЗРП-118 (210402) 2009г.’);

End.

Результат выводимый на дисплей:

Список используемой литературы:

1. Алгоритмизация и программирование на языке паскаль. Методические указания к лабораторным работам. Омск 2005. Составитель Осипов Вадим Евгеньевич

2. Сухарев М. Turbo Pascal 7.0, теория и практика программирования. – СПб: Наука и Техника, 2003. – 576 стр. с ил. Под редакцией М. В. Финкова ISBN 5-94387-062-8


Алгоритмизация и программирование на языке Паскаль