Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные гороскопы.doc
Скачиваний:
12
Добавлен:
15.06.2014
Размер:
116.74 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

Кафедра Информатики и вычислительной техники

КУРСОВОЙ ПРОЕКТ

на тему: Компьютерные гороскопы

по дисциплине «Алгоритмические языки и программирование»

Студент Пенькова Татьяна Владимировна группы В-114

Пояснительная записка

Шифр проекта

Руководитель проекта

Шафеева О. П.

(подпись, дата)

Разработал студент

(подпись, дата)

Омск 2005.

Оглавление

  1. Анализ задания, формулировка задач и основные характеристики программы

  2. Разработка алгоритмов

2.1 Фильтрация входных данных

2.2 Поиск нужного файла

2.3 Сохранение файла

2.4 Печать файла

  1. Особенности разработки программы

  2. Инструкции пользователя

  3. Результаты тестирования

  4. Заключение

  5. Библиографический список

  6. Приложения

Анализ задания, формулировка задач и основные характеристики программы

Программа должна выполнять следующие функции:

  • Производить поиск запрашиваемой информации

  • Обеспечивать сохранение найденных данных в виде текстового файла в формате RTF

Данный формат выбран потому, что он имеет широкие возможности форматирования текста. Информация из такого файла может быть прочитана без потерь содержания и форматирования практически любым текстовым редактором, например Word.

  • Производить печать уже найденной информации

Разработка алгоритмов Фильтрация входных данных

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

Поиск нужного файла

Схема алгоритма осуществляющего поиск запрошенной информации представлен ниже.

Сохранение файла

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

Печать файла

Для осуществления функции печати документа используется метод Print. При этом используется принтер установленный по умолчанию. Алгоритм реализовывающий печать файла представлен ниже.

Особенности разработки программы

Для программной реализации вышеуказанных алгоритмов выбрана среда программирования Delphi 7. Программа занимает 3324 Кб в оперативной памяти.

Инструкция пользователя.

Для запуска программы необходимо запустить на выполнение файл project1.exe. По запросу программы ввести знак зодиака. Результаты поиска просматриваются в отдельном окне. К программе подключаются дополнительные модули Unit1, Unit2, Unint3.

Результаты тестирования.

Программа протестирована при всех возможных входных данных.

Входные данные

Ожидаемый результат

Полученный результат

1234<пробел>

Бездействие программы (символ не вводится)

Бездействие программы (символ не вводится)

.:;()№»

Бездействие программы (символ не вводится)

Бездействие программы (символ не вводится)

оброп

Предусмотренное сообщение об ошибке ввода

Предусмотренное сообщение об ошибке ввода

FGHGJHG

Бездействие программы (символ не вводится)

Бездействие программы (символ не вводится)

Asdfdf

Бездействие программы (символ не вводится)

Бездействие программы (символ не вводится)

Овен

Загрузка информации

Загрузка информации

Заключение

В результате выполнения курсового проекта была разработана программа – справочник «Гороскоп 2005», позволяющая сохранять и распечатывать найденную информацию.

Библиографический список

  1. Основы Delphi. Профессиональный подход. Учебное пособие/ М. В. Сухарев – Наука и техника – 2005 – 596

  2. Основы алгоритмизации и программирования: Метод. указания/ сост. О. П. Шафеева – Омск, изд-во ОмПи 2000 – 32

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

Модуль главной формы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls, StdCtrls,Unit2,Unit3;

type

TForm1 = class(TForm)

Image1: TImage;

Image2: TImage;

Image3: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var s:string;

a:integer;

begin

s:=edit1.Text;

if s='овен' then a:=1

else if s='телец' then a:=2

else if s='близнецы' then a:=3

else if s='рак' then a:=4

else if s='лев' then a:=5

else if s='дева' then a:=6

else if s='весы' then a:=7

else if s='скорпион' then a:=8

else if s='стрелец' then a:=9

else if s='козерог' then a:=10

else if s='водолей' then a:=11

else if s='рыбы' then a:=12

else begin

form3.Label2.Caption:='Ошибка ввода. Попытайтесь еще раз';

form3.Visible:=true;

beep;

end;

if a=1 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\oven.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\aries_1024.jpg');

form2.Visible:=true;

end;

if a=2 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\telec.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\tauro_1024.jpg');

form2.Visible:=true;

end;

if a=3 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\blizneci.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\geminis_1024.jpg');

form2.Visible:=true;

end;

if a=4 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\rak.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\cancer_1024.jpg');

form2.Visible:=true;

end;

if a=5 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\leo.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\leo_1024.jpg');

form2.Visible:=true;

end;

if a=6 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\deva.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\virgo_1024.jpg');

form2.Visible:=true;

end;

if a=7 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\vesi.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\libra_1024.jpg');

form2.Visible:=true;

end;

if a=8 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\skorpion.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\scorpio_1024.jpg');

form2.Visible:=true;

end;

if a=9 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\strelec.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\sagitario_1024.jpg');

form2.Visible:=true;

end;

if a=10 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\kozerog.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\capricornio_1024.jpg');

form2.Visible:=true;

end;

if a=11 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\vodoley.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\acuario_1024.jpg');

form2.Visible:=true;

end;

if a=12 then

begin

form2.RichEdit1.Lines.LoadFromFile('..\text\ribi.rtf');

form2.Image1.Picture.LoadFromFile('..\pic\piscis_1024.jpg');

form2.Visible:=true;

end;

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

case key of

'A'..'Z':key:=#0;

'А'..'Я':key:=#0;

'!'..'/':key:=#0;

'1'..'9':key:=#0;

':'..'?':key:=#0;

'['..'_':key:=#0;

end;

end;

end.

Соседние файлы в предмете Программирование