на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программы в среде Turbo Pascal
p align="left">case переменная of

значение 1: оператор;

значение 2: оператор;

. . .

значение n: оператор;

При создание курсовой работы так же пользовалась функциями библиотеки crt:

- перемещение курсора в точку (x,y) - gotoxy(координата x, координата y);

- очистка экрана - clrscr;

А так же стандартными функциями:

- закрытие файла - close(«имя_файла»);

- расчет по модулю - abs (`выражение');

- подключение файла - assign(файловая переменная, `путь_к_файлу');

- открытие файла для перезаписи - rewrite(файловая переменная).

2. Алгоритм задачи

2.1 Блок-схема алгоритма подпрограммы Forma1

Данная подпрограмма включает в себя подпрограмму Frame.

2.2 Блок-схема алгоритма подпрограммы Menu

2.3 Блок-схема алгоритма подпрограммы V_kor

2.3 Блок-схема алгоритма подпрограммы Zad_1

Данная подпрограмма включает в себя следующие подпрограммы: V_kor, Print, Screen, Menus описание которых приведено выше

Рисунок 1 - Блок-схема алгоритма подпрограммы Print

В подпрограмме выполняется сначала открытие файла для перезаписи, потом запись в нее результата и закрытие файла.

Рисунок 2 - Блок-схема алгоритма подпрограммы Screen

В подпрограмме выполняется сначала очистка экрана, а затем результат.

Рисунок 3 - Блок-схема алгоритма подпрограммы menus

В подпрограмме выводится меню для выбора куда отправлять результаты - на экран или на принтер. Что бы сделать выбор необходимо ввести соответствующее значение.

2.5 Блок-схема алгоритма подпрограммы Zad_2

В этой подпрограмме выполняется сначала ввод элементов матрицы, затем расчет первой нормы и уже потом вывод новой матрицы на экран.

2.6 Блок-схема алгоритма программы Prog_1

Данная программа включает в себя следующие подпрограммы: Forma1, Menu, Zad_1, Zad_2 приведённые ниже.

3. Описание

Созданная программа - Prog_1 состоит из двух основных подпрограмм, входящих в тело программы: Forma1, Menu.

Подпрограмма Formal выводит на экран монитора данные о курсовой работе:

СЕВЕРОКАВКАЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФИЛИАЛ В ГОРОДЕ КИСЛОВОДСКЕ

КУРСОВАЯ РАБОТА

по дисциплине информатика и программирование на тему создание прикладного программного обеспечения в среде программирования

Turbo Pascal

Работу выполнил: студент

_____курса группы _______

ФИО____________________

Работу проверил:

__________________________

При нажатии Enter управление передается подпрограмме Menu, которая выводит на экран монитора меню заданий, с предложением ввода номера одного из подпунктов для выполнения соответствующего задания. Интерфейс данной подпрограммы следующий:

1. “ Рассчитать длину средней линии трапеции ”.

2. “Пронумеровать матрицу по ее второй норме”.

3. “Выход”.

Введите номер задания для выполнения (1- 3).

Далее в соответствии с выбранным номером пункта управление передается Программе Prog_1, на вход которой поступает номер пункта меню. Происходит анализ соответствия номера пункта меню в списке предлагаемых (1, 2, 3), в случае несоответствия выводится надпись, управление передается подпрограмме Menu, в цикле будут повторяться данные действия до правильного ввода цифры пункта меню. В случае правильного набора номера пункта программа Prog_1 передаст управление соответственно одной из подпрограмм: Zad_1, Zad_2, или будет произведен выход из программного продукта в случае выбора номера варианта 3. После выполнения выбранной подпрограммы управление вновь передается подпрограмме Menu, для возможности выполнения любого из пунктов меню.

3.1 Рассчитать длину средней линии трапеции.

Фомрмула Геромна позволяет вычислить площадь треугольника (S) по его сторонам a, b, c:

аналогично вычисляются и остальные стороны.

где р -- полупериметр треугольника: .

Треугольник однозначно можно определить по следующим тройкам основных элементов:

- a, b, c (равенство по трём сторонам);

- a, b, г (равенство по двум сторонам и углу между ними);

- a, в, г (равенство по стороне и двум прилежащим углам).

В данном примере доказательство основывается на соотношении сторон, если выполняются все следующие условия:

- a < b + c;

- b < c + a;

- c < a + b.

3.2 Нормальная матрица

Матрица -- математический объект, записываемый в виде прямоугольной таблицы чисел (или элементов кольца) и допускающий алгебраические операции (сложение, вычитание, умножение и др.) между ним и другими подобными объектами. Правила выполнения операций над матрицами сделаны такими, чтобы было удобно записывать системы линейных уравнений. Обычно матрицу обозначают Заглавной буквой латинского алфавита и выделяют круглыми скобками «(…)» (встречается также выделение квадратными скобками «[…]», двойными прямыми линиями «||…||») А числа, составляющие матрицу (элементы матрицы), обозначают той же буквой, что и саму матрицу, но маленькой. у каждого элемента матрицы есть 2 нижних индекса (aij) -- первый «i» обозначает номер строки, в которой находится элемент, а второй «j» -- номер столбца.

Вектор -- упорядоченное множество (последовательность, одномерный массив, кортеж, перечень, список) однородных элементов. Это наиболее общее определение в том смысле, что может быть не задано обычных векторных операций вообще, их может быть меньше, или они могут не удовлетворять обычным аксиомам линейного пространства. Нормой квадратной матрицы A называется функционал, обозначаемый , удовлетворяющий условиям:

-

- -- произвольное число;

- ;

-

Норма матрицы согласована с нормой вектора ,если для любых x и A

Функционал является нормой матрицы A и называется нормой матрицы А, подчиненной норме вектора .

4. Результаты

4.1 Интерфейс подпрограммы Zad_1

На рисунке 1 изображено окно ввода координат точек А, В, С ,D трапеции. Для каждой точки нужно ввести координаты х, у.

На рисунке 2 изображен диалог выбора: выводить результат - на принтер или на экран. Чтобы вывести на принтер нажмите 1, а для того чтобы на экран 2.

Рисунок 2 - Диалог печати

На рисунке 3 изображен вывод результата на экран. Мы видим в диалоговом окне чему равна площадь треугольника.

Рисунок 3 - Вывод результата

4.2 Интерфейс подпрограммы Zad_2

На рисунке 4 отображено главное окно задания 2, в котором сначала производился ввод элементов массива, а затем уже вывод нового массива.

Рисунок 4 - Вывод результатов

5. Проверка

Проверим ход решения в электронных таблицах Ms Excel.

Когда мы производим нормирование матрицы мы находим абсолютное значение от каждого элемента матрицы. Далее мы находим максимальное значение каждого столбца матрицы. А затем уже выводим результирующую матрицу B = (bik), где bik = aii / 1.

Заключение

Работа выполнена на языке Turbo Pascal фирмы Borland, прочно вошедшем в мир программирования в 1983 году и до сих пор являющимся удобным языком программирования для начинающих программистов, а также просто хорошим языком программирования, к которому обращаются как прикладные программисты, так и системные.

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

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

Работа с данным языком помогла приобрести навыки программирования.

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

1. Вирт Никлаус Алгоритмы+структуры данных= программы. -- М.: «Мир», 1985.

2. Грогоно Питер Программирование на языке Паскаль. -- М.: «Мир», 1982.

3. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка. -- М.: «Финансы и статистика», 1982.

4. Культин Н.Б. Delphi 6. Программирование на Object Pascal. -- СПб.: «БХВ-Петербург», 2001. -- С. 528. -- ISBN 5-94157-112-7.

5. Моргун Александр Николаевич Программирование на языке Паскаль (Pascal). Основы обработки структур данных. -- М.: «Диалектика», 2005. -- С. 576. -- ISBN 5-8459-0935-X.

6. Перминов Олег Николаевич Язык программирования Паскаль : Справочник. -- М.: «Радио и связь», 1989. -- С. 128. -- ISBN 5-256-00311-9.

Приложение

Program kursovay;

uses crt; {Подключение библиотеки}

var {Блок объявления переменных}

second:integer; {Переменная для вывода меню}

c1,c2,c3,c4,c5,c6:char; {Переменные для вывода рамки}

x1,x2,y1,y2,yf:integer; {Координаты для вывода сообщений}

Xa,Ya,Xb,Yb,Xc,Yc:integer; {Координаты для вывода сообщений}

ax,ay,az,bx,by,bz,cx,cy,cz:real; {Переменные для расчета сторон треугольн.}

Procedure Forma1; {Процедура Forma1}

var x1,x2,y1,y2:integer;

procedure Frame (x1,x2,y1,y2:integer); {Процедура Frame}

var

x,y:integer;

c1,c2,c3,c4,c5,c6:char;

begin {Операторы присвоения}

c1:=chr(218);

c2:=chr(196);

c3:=chr(191);

c4:=chr(179);

c5:=chr(192);

c6:=chr(217);

gotoxy(x1,y1); {Установка экрана на позицию x1,y1}

write(c1);

for x:=x1+1 to x2-1 do write (c2); {Оператор цикла}

write (c3); {Оператор вывода переменной с3}

for y:=y1+1 to y2-1 do

begin

gotoxy (x1,y); {Прочерчивание горизонтальной линии}

write (c4); {Оператор вывода переменной с4}

gotoxy (x2,y);

write (c4);

end;

gotoxy (x1,y2);

write (c5);

for x:=x1+1 to x2-1 do write (c2);

write(c6);

end;

begin

clrscr; {Очистка экрана}

x1:=4; x2:=76;

y1:=4; y2:=23;

frame (x1,x2,y1,y2);

gotoxy (12,7);

write (`Название своего универа ');

gotoxy (27,8);

write ('ФИЛИАЛ ______________);

gotoxy (33,10);

write ('КУРСОВАЯ РАБОТА');

gotoxy (19,11);

write ('по дисциплине информатика и программирование');

gotoxy (17,12);

write ('на тему создание прикладного программного обеспечения');

gotoxy (22,13);

write ('в среде программирования Turbo Pascal');

gotoxy (45,15);

write ('Работу выполнила: студентка');

gotoxy (45,16);

write (`_____ курса группы ______');

gotoxy (45,17);

write (`ФИО);

gotoxy (45,18);

write ('Работу проверил: ');

gotoxy (45,19);

write ('преподаватель кафедры ПИ');

gotoxy (45,20);

write (ФИО препода.');

readkey;

end;

{Процедура экранная форма меню}

procedure Menu;

begin

TextBackGround(white); {тут можешь менять цвета}

TextColor(black);

Clrscr;

x1:=4;

x2:=76;

y1:=4;

y2:=21;

c1:=chr(205);

c2:=chr(201);

c3:=chr(187);

c4:=chr(186);

c5:=chr(200);

c6:=chr(188);

yf:=10;

gotoxy(23,yf);

writeln('1. " Рассчитать длину средней линии трапеции "');

yf:=yf+1;

gotoxy(23,yf);

writeln('2. "Пронумеровать матрицу по её второй норме"');

yf:=yf+1;

gotoxy(23,yf);

writeln('3. "Выход"');

yf:=yf+1;

gotoxy(23,yf);

gotoxy(23,yf);

writeln;

yf:=yf+1;

gotoxy(23,yf);

writeln('Введите номер задания для выполнения (1-3)');

yf:=yf+19;

gotoxy(23,yf);

writeln;

end;

{*************1 zadanie********************}

procedure zadanie1;

label1;

var

x1,x2,x3,x4:integer;

y1,y2,y3,y4:integer;

q:array[1..4] of integer;

k:array[1..4] of integer;

l:array[1..4] of integer;

z,a,i:integer;

Dlin1,Dlin2,Dlin3:real;

Begin

1:;

ClrScr;

Writeln(`Введите координаты точки A(x,y)');

Readln(x1,y1);

Writeln(`Введите координаты точки b(x,y');

Readln)x2,y2);

Writeln(`Введите координаты точки C(x,y)');

Readln(x3,y3);

Writeln(`Введите координаты точки D(x,y)');

Readln(x4,y4);

K[1]:=x2-x1;

K[2]:=x3-x2;

K[3]:=x4-x3;

K[4]:=x1-x4;

L[1]:=y2-y1;

L[2]:=y3-y2;

L[3]:=y4-y3;

L[4]:=y1-y4;

Z:=0;

A:=0;

For i:=1 to 4 do

Begin

If k[i]=0 then

Z:=z+1;

End;

If z>2 then

Begin

Writeln(`неправильно заданы координаты');

Goto 1;

End;

For i:=1 to 4 do

Begin

If l[i]=0 then

a:=a+1;

end;

if a>2 then

begin

writeln(`неправильно заданы координаты');

Goto 1;

End;

q[1]:=k[1]*l[3];

q[2]:=k3*l[1];

q[3]:=k[2]*l[4];

q[4]:=k[4]*l[2];

if q[1]=q[2] then

begin

if q[3]=q[4] then

begin

writeln(`неправильно введены координаты!');

readln;

Goto 1;

End

Else

Writeln(`координаты введены правильно!');

End

Else

Begin

If q[3]=q[4] then

Writeln(`неправильно введены координаты!');

Readln;

Goto 1;

End;

End;

Dlin1:=abs(sqrt(sqr(x2-x1)+sqr(y2-y1)));

Dlin2:=abs)sqrt(sqr(x3-x4)+sqr(y3-y4)));

Dlin3:=(dlin1+dlin2)/2;

Writeln(`Длинна средней линии трапеции ABCD=',dlin3:10:2);

end;

{END OF ZADANIE1*******************************************}

{2 zadanie***********************************************}

{Процедура задания №2}

procedure Zadanie2;

const

n=5;

var

i,k,x1,y1:integer;

Max:array [1..n] of real;

A:array [1..n,1..n] of real;

B:array [1..n,1..n] of real;

begin

clrscr;

x1:=4;

y1:=4;

writeln ('Vvod dannix' );

for i:=1 to n do

begin

for k:=1 to n do

begin

Gotoxy(x1,y1);

readln(a[i,k]);

x1:=x1+8;

end;

x1:=4;

y1:=y1+1;

end;

Gotoxy(x1,y1);

writeln ('Vivod dannix');

x1:=4;

y1:=y1+2;

for i:=1 to n do max[i]:=0;

for k:=1 to n do

for i:=1 to n do

if abs(a[i,k])>max[k] then

max[j]:=abs(a[i,k]);

Gotoxy(x1,y1);

writeln('Vvivod matrichi B[i,k]');

x1:=4;

y1:=y1+1;

for i:=1 to n do

begin

writeln;

for k:=1 to n do

begin

b[i,k]:=a[i,k]/max[k];

write (B[i,k]:5:2);

end;

end;

readkey;

end;

{END OF ZADAN2*******************************************}

begin

Forma1;

clrscr;

second:=0;

while second <> 3 do

begin

Menu;

readln(second);

case second of

1: zadanie1;

2: zadanie2;

3: exit;

end;

end;

end.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.