Курсовая работа на тему Разработка консольных приложений в среде Delphi




Скачать 138.02 Kb.
НазваниеКурсовая работа на тему Разработка консольных приложений в среде Delphi
Дата публикации15.05.2014
Размер138.02 Kb.
ТипКурсовая
skachate.ru > Информатика > Курсовая


ТУЛЬСКИЙ ИНСТИТУТ ЭКОНОМИКИ И ИНФОРМАТИКИ

Кафедра информатики и информационной безопасности

Учебная дисциплина

«Информатика и программирование»


КУРСОВАЯ РАБОТА
На тему Разработка консольных приложений в среде Delphi. Вариант №4
Выполнил студент: Королев Александр Владимирович ТОбПИвЭ-11

(Ф.И.О., № группы)

_______________________

(подпись)
Руководитель: Родин Дмитрий Александрович

(Ф.И.О., ученая степень, звание)

_______________________

(подпись)

Тула, 2012 год

ТУЛЬСКИЙ ИНСТИТУТ ЭКОНОМИКИ И ИНФОРМАТИКИ


^ ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Студент: Королев Александр Владимирович



Руководитель: Родин Дмитрий Александрович
" "_________ 20___г.

(дата выдачи задания)

Тема курсовой работы

Разработка консольных приложений в среде Delphi. Вариант №4

Содержание курсовой работы (по главам)
Глава 1, Глава 2, Глава 3, Глава 4, Глава 5,

Глава 6, Глава 7, Глава 8, Глава 9, Глава 10.

Рекомендуемая литература

1.Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников». Введение в Borland Delphi 2007 = Delphi for Dummies. — М.: Диалектика, 2007.

2. Хавьер Пашеку. Программирование в Borland Delphi 2007 для профессионалов = Delphi for .NET Developer’s Guide. — М.: Вильямс, 2007.

Срок сдачи работы «___»____________20  г.
Руководитель______________/_____________________ Студент

(подпись) (подпись)\

Содержание


Содержание 3

Введение 4

Примеры консольных приложений показаны ниже. 4

Глава 1 5

Глава 2 6

Глава 3 9

Глава 4 12

Глава 5 14

Глава 7 19

Глава 8 22

Глава 9 24

Глава 10 27

Заключение 30

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


Введение


В наше время информация является общедоступной, а объем её несоизмеримо велик, поэтому многие пользователи ПК занимаются программированием. С помощью программ можно решать сложные задачи, которые отнимают у человека много времени, компьютер же решит их за доли секунд. Цель  подготовки  курсовой  работы – развитие навыков составления алгоритмов, написания и отладки приложений для решения прикладных задач на примере консольных приложений DELPHI. При выполнении курсовой работы предстоит решить следующие задачи:

  • изучить теорию и технологию работы со средой программирования Delphi;

  • овладение навыками алгоритмизации на примере типовых задач;

  • изучение языка программирования PASCAL в рамках базового стандарта;

  • изучение литературы и технической документации по теме работы;

  • развитие навыков составления, тестирования и отладки прикладных программ.

При написании курсовой будет использована учебная литература, а так же методические пособия по данной теме.
^

Примеры консольных приложений показаны ниже.

Глава 1


Написать программу для вычисления значения выражения:



Решение.

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

Листинг программы:

program zad1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

z:real;

begin

{ TODO -oUser -cConsole Main : Insert code here }

z:=(1/sqrt(1+sin(1/sqrt(2+cos(1/sqrt(3+sin(1/4)))))));

writeln('z = ', (1/sqrt(1+sin(1/sqrt(2+cos(1/sqrt(3+sin(1/4))))))));

readln;

end.



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

Глава 2


В N-этажном доме M подъездов. На каждой лестничной площадке К квартир. Нумерация квартир в доме сквозная, на­чиная с 1, на площадке первого этажа по Р<К квартир. Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира.

Решение.

Данная программа при запуске запрашивает ввод количества этажей, подъездов количества квартир на первом и следующих этажах. После чего автоматически считает количество квартир и запрашивает номер квартиры которая нас интересует. Введя номер квартиры программа выдаёт на экран где и на каком этаже находится данная квартира.

Листинг программы:

program kvartira1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

n, k, p, m, x, y, z:integer;

begin

{ TODO -oUser -cConsole Main : Insert code here }

write('Skolko etazhey v dome? ');

readln(n);

write('Skolko podezdov v dome? ');

readln(m);

write('Skolko kvartir na 1 etazhe? ');

readln(p);

write('Skolko kvartir na drugikh etazhakh?');

readln(k);

writeln('Vsego kvartir v dome: ',(k*(n-1)+p)*m);

repeat

write('Vvedite nomer kvartiry: ');

readln(x);

if x>(k*(n-1)+p)*m then writeln('Dannogo nomera kvartiry net v etom dome');

until x in[1..(k*(n-1)+p)*m];

if x>k*(n-1)+p then

begin

z:=x div 16+1;

x:=x mod 16;

if x>p then y:=x div k +1

else y:=1;

end else

begin

z:=1;

if x>p then y:=x div k +1

else y:=1;

end;

writeln('Kvartira nakhoditsya v ',z,'- podezde na ',y,' etazhe.');

readln;

end.



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

Глава 3


Заданы окружность радиуса R с центром в начале коор­динат и прямая, проходящая через точки А (х; у) и В (х; - у). На­писать программу, проверяющую, пересекаются ли окружность и прямая, или они касаются друг друга, или не пересекаются и не касаются.

Решение.

Программа требует ввода радиуса окружности и координат двух точек. После ввода программа определяет пересекаются ли окружность и прямая, или они касаются друг друга, или не пересекаются и не касаются.

Листинг программы:

programProject2;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

function Rus(mes: string):string;

var

i: integer;

begin

SetLength(Result,length(mes));

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' :Result[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' :Result[i] := Chr (Ord(mes [i] ) -16);

else Result[i]:=mes[i];

end;

end;

var

R, // Радиус окружности

X0,Y0, // Центр окружности

X1,Y1, // Первая точка прямой

X2,Y2:integer; // Вторая точка прямой

h:extended; // Расстояние от прямой до центра координат

begin

writeln(Rus('Введите радиус окружности, R='));

Readln(R);

writeln(Rus('Введите координаты первой точки А, для Х='));

Readln(X1);

writeln(Rus('Введите координаты первой точки А, для Y='));

Readln(Y1);

writeln(Rus('Введите координаты второй точки В, для Х='));

Readln(X2);

writeln(Rus('Введите координаты второй точки В, для Y='));

Readln(Y2);

h:=abs((((x2-x1)*(y0-y1))-((y2-y1)*(x0-x1)))/ Sqrt( Power(x2-x1, 2)+Power(y2-y1, 2)));

writeln;

writeln(Rus('Ответ:'));

ifr
ifr>hthenwriteln(Rus('Прямая и окружность пересекаються в двух точках.'));

ifr=hthenwriteln(Rus('Прямая и окружность касаються друг друга в одной точке.'));

Readln;

end.



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

Глава 4


 Написать программу, позволяющую вычислить с помощью цикла:

1+4+7+…+(3n-2), где n задается с клавиатуры.

Решение.

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

Листинг программы:

program cykl;

{$APPTYPE CONSOLE}

uses

SysUtils;

var i,n:integer;

s:real;

begin

{ TODO -oUser -cConsole Main : Insert code here }

s:=0;

writeln('Vvedite n: ');

read(n);

for i:=1 to n do

s:= s+(3*n-2);

writeln('summa s=',s);

readln(s);

end.



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

Глава 5


Разработать программу ввода и вывода коэффициентов уравнения для определения корней полинома пятой степени, представленных в одной строке.

Решение.

Программа запрашивает ввод степени, ввод X-са и ввод коэффициентов. После ввода всех требуемых данных, программа выводит результат.

Листинг программы:

program Project2;
{$APPTYPE CONSOLE}
type poli = array[0..100]of real;

var a,p:poli;

i,n:integer;

x:real;

begin
{ TODO -oUser -cConsole Main : Insert code here }

Writeln ('Vvedite stepen');

readln(n);
Writeln ('Vvedite X');

readln(x);
writeln ('Vvedite koefficienty');

for i:=1 to n do

readln(a[i]);
p[0]:=1;

for i:=1 to n do

p[i]:=p[i-1]*x + a[i];
writeln(p[n]:3:3);

readln;

end.



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

Глава 6

Два массива содержат по n целых положительных чисел (задаются случайным образом). Написать программу создания третьего масси­ва, содержащего разность этих чисел.

Решение.

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

Листинг программы:

programProject2;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

function Rus(mes: string):string;

var

i: integer;

begin

SetLength(Result,length(mes));

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' :Result[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' :Result[i] := Chr (Ord(mes [i] ) -16);

else Result[i]:=mes[i];

end;

end;

var i,n:integer; h,h1,h2: array of integer;

begin

writeln(Rus('Введите число элементов в массивах, n='));

Readln(n);

SetLength(h, n);

SetLength(h1, n);

SetLength(h2, n);

for i:=0 to n-1 do

begin

h[i]:= Random(77);

h1[i]:= Random(77);

h2[i]:=h[i]-h1[i];

end;

writeln(Rus('Первый массив:'));

for i:=0 to n-1 do

write(inttostr(h[i])+' ');

writeln;

writeln(Rus('Второй массив:'));

for i:=0 to n-1 do

write(inttostr(h1[i])+' ');

writeln;

writeln(Rus('Их разность:'));

for i:=0 to n-1 do

write(inttostr(h2[i])+' ');

Readln;

end.



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

Глава 7


Определить и напечатать суммы элементов квадратной матрицы (двухмерный массив размером n х n, где n — четное), расположенных параллельно главной диагонали, исключая ее.

Решение.

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

Листинг программы:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

function Rus(mes: string):string;

var

i: integer;

begin

SetLength(Result,length(mes));

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' :Result[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' :Result[i] := Chr (Ord(mes [i] ) -16);

else Result[i]:=mes[i];

end;

end;

var i,n,i1,s,s1:integer; h: array of array of integer;

begin

writeln(Rus('Введите размер квадратной матрицы, n='));

Readln(n);

SetLength(h, n,n);

s:=0;

s1:=0;

for i:=0 to n-1 do

begin

writeln;

for i1:=0 to n-1 do

begin

h[i,i1]:= Random(77);

if h[i,i1]<10 then

write(inttostr(h[i,i1])+' ') else write(inttostr(h[i,i1])+' ');

if (i1
if (i1>i) then s1:=s1+h[i,i1];

end;

end;

writeln;

writeln;

writeln(Rus('Cумма элементов расположенных снизу главной диагонали матрицы, исключая ее: ')+inttostr(s));

writeln(Rus('Cумма элементов расположенных cверху главной диагонали матрицы, исключая ее: ')+inttostr(s1));

writeln(Rus('Общая сумма элементов: ')+inttostr(s1+s));

Readln;

end.



Рисунок 7 Результаты работы программы для задания 7

Глава 8


Удалить ведущие и конечные пробелы в строке.

Решение.

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

Листинг программы:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

function Rus(mes: string):string;

var

i: integer;

begin

SetLength(Result,length(mes));

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' :Result[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' :Result[i] := Chr (Ord(mes [i] ) -16);

else Result[i]:=mes[i];

end;

end;

var s:string;

begin

writeln(Rus('Введите строку:'));

Readln(s);

s:=Trim(s);

writeln(Rus(s));

Readln(s);

end.



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

Глава 9


Разработать процедуру поиска максимального элемента одномерного массива и его номера.

Решение.

Программа запрашивает ввести количество элементов массива. После ввода она создаёт и определяет максимальный элемент и его номер в массиве автоматически.

Листинг программы:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

function Rus(mes: string):string;

var

i: integer;

begin

SetLength(Result,length(mes));

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' :Result[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' :Result[i] := Chr (Ord(mes [i] ) -16);

else Result[i]:=mes[i];

end;

end;

var i,n,v:integer; h: array of integer;

begin

writeln(Rus('Введите число элементов в массиве, n='));

Readln(n);

SetLength(h, n);

v:=0;

writeln(Rus('Вывод массива:'));

for i:=0 to n-1 do

begin

h[i]:= Random(77);

write(inttostr(h[i])+' ');

if h[i]>h[v] then v:=i;

end;

writeln;

writeln(Rus('Максимальный элемент в массиве: '+inttostr(h[v])+'. Его номер: '+inttostr(v)+'. Нумерация динамического массива начинается с нуля.'));

Readln;

end.



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

Глава 10


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

Решение.

В папке с программой создан файл с информацией о студентах (Рис.9). При запуске программы создаётся файл в котором написана информация о тех студентах которые превысили 30-дневный срок пользования книгой (Рис.10).

Листинг программы:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils, Classes;

var rt,s:TStringList; i,n:integer;

begin

rt:=TStringList.Create;

s:=TStringList.Create;

rt.LoadFromFile(ExtractFileDir(ParamStr(0))+'/Информация о студентах.txt');

n:=0;

for i:=1 to Round(((rt.Count-1)/5)) do

begin

inc(n,5);

if date-strtodate(rt[n-1])>30 then

begin

s.Add(rt[n-5]);

s.Add(rt[n-3]);

end;

end;

if s.Count>0 then s.SaveToFile(ExtractFileDir(ParamStr(0))+'/Cтуденты просрочившие сдачу книг.txt');

end.



Рисунок 10. Файл с информацией о студентах



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

Заключение

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


  1. Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников». Введение в Borland Delphi 2007 = Delphi for Dummies. — М.: Диалектика, 2007.

  2. Хавьер Пашеку. Программирование в Borland Delphi 2007 для профессионалов = Delphi for .NET Developer’s Guide. — М.: Вильямс, 2007.

  3. Русская компьютерная библиотека. URL: http://www.rusdoc.ru

  4. Сервер информационных технологий URL: http://www.citforum.ru



Похожие:

Курсовая работа на тему Разработка консольных приложений в среде Delphi iconКурсовая работа по программированию и основам алгоритмизации выполнение...
Курсовая работа состоит из практической части (разработки программы в среде Delphi) и пояснительной части (написания пояснительной...
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconЛабораторная работа №2. Создание консольного приложения в среде Borland delphi 0
Цель работы. Знакомство с консольным приложением в среде программирования Borland Delphi 0 (C++ Builder 0)
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconКурсовая работа по программированию и основам алгоритмизации
Курсовая работа состоит из практической части (разработки программы в среде Delphi) и пояснительной части (написания пояснительной...
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconКурсовая работа на тему разработка рабочей программы проведения аудита,...
Разработка рабочей программы проверки формирования расходов в интерент-магазине: Курсовой проект по дисциплине «Аудит», 2012, стр....
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconЛабораторная работа № Элементы среды разработки Delphi по курсу «Программирование...
Цель работы: знакомство студентов с основными элементами среды Delphi, принципами её функционирования а также с технологией создания...
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconОтчет в электронном виде. Отчет должен содержать
Тема 2: Разработка базы данных в среде Access и приложения пользователя для работы с ней в среде Delphi по технологии ado
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconКурсовая работа По курсу организация процессов данных и приложений
На тему: "Разработка программного продукта на базе Win32 api с использованием динамически загружаемых библиотек, технологии проецирования...
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconЛабораторная работа №1
Цель работы: освоение принципов построения простейших консольных приложений на языке ассемблера для системы ms-dos, ознакомление...
Курсовая работа на тему Разработка консольных приложений в среде Delphi iconКурсовая работа По дисциплине «Современный менеджмент» на тему: «Разработка...
Разработка предложений по эффективному руководству. Значение. Список использованных источников
Курсовая работа на тему Разработка консольных приложений в среде Delphi icon«Практикум по программированию»
Целью данной части курса является формирование и развитие практических навыков проектирования и разработки приложений для решения...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
контакты
skachate.ru
Главная страница