Программная реализация задач средствами алгоритмических языков

Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 02.05.2014
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Procedure OutPutString(Color, Fon, TaOld, Width: Byte);

{Функция выдачи сообщений об ошибках Message при нарушении диапазона

[NumberMin.. NumberMax] на вводе целочисленных значений элементов полей записи}

Function error(Message: string; NumberMin, NumberMax: LongInt):boolean;

{Функция выдачи сообщения об ошибке Mes при вводе вещественных значений элементов полей записи}

Function error1:boolean;

{Ввод строки символов S с проверкой диапазона количества символов [1..LenNaimt] и со строкой приглашения Inv}

Procedure InputString(Var S: String; LenNaimt: byte; Inv: String);

{Ввод целочисленных данных Number (ширина поля Width) с проверкой диапазона [NumberMin.. NumberMax] и со строкой приглашения Inv}

Procedure InputNumber(Var Number: Real; NumberMin, NumberMax: LongInt;

Width: Byte; Inv: String);

{Ввод вещественных данных R (ширина поля Width)

с проверкой на допустимый символ и со строкой приглашения Inv}

Procedure InputReal(Var R: Real; Width: Byte; Inv: String);

Implementation {Исполняемая часть - реализация процедур и функций}

Uses CRT;

Const

ErrMes=' Ошибка ввода!!! ';

MesNumb='Численное значение должно быть в диапазоне ';

TaOld=15; {Стандартный атрибут: белые символы на черном фоне}

TaNew=Red+16*LightGray+Blink;{красный цвет на сером фоне с мерцанием}

Color=Yellow; {желтый цвет символов}

Fon =Blue; {голубой цвет фона}

Var flag: boolean;

Function IntToStr(I: Longint): String;

var

S: string[11];

begin

Str(I, S);

IntToStr := S;

end;

Procedure OutMessageXY(X,Y:Byte;Str1,Str2:String);

Var Xcur, Ycur: byte;

Begin

Xcur:=WHereX; {запоминание текущей позиции курсора}

Ycur:=WHereY;

GotoXY(X, Y);

TextAttr:=TaNew;

Write(Str1,Str2);

TextAttr:=TaOld;

GotoXY(Xcur, Ycur); {восстановление позиции курсора}

End;

Procedure OutPutString(Color, Fon, TaOld, Width: Byte);

Var Str: String;

i, Xcur, Ycur: byte;

Begin

Xcur:=WHereX; {запоминание текущей позиции курсора}

Ycur:=WHereY;

Str:='';

TextAttr:=Color+16*Fon; {установка атрибута для вывода пробелов}

for i:=1 to Width do Str:=Str + ' ';

Write(Str);

TextAttr:=TaOld; {восстановление прежних атрибутов}

GotoXY(Xcur, Ycur); {восстановление позиции курсора}

End;

Function error(Message: string; NumberMin, NumberMax: LongInt):boolean;

Var Mes: string;

begin

error:=true;

if flag then

begin

Mes:=ErrMes + Message;

writeln(Mes, '[', NumberMin, '..', NumberMax,']');

error:=false;

end;

end;

Function error1:boolean;

Var Mes: string;

begin

error1:=true;

if flag then

begin

Mes:=ErrMes + ' Введено НЕ число....';

writeln(Mes);

error1:=false;

end;

end;

Procedure InputString(Var S: String; LenNaimt: byte; Inv: String);

Begin

repeat

flag:=false;

Write(Inv,'===>');

OutPutString(Color, Fon, TaOld, LenNaimt);

Readln(S);

if length(S)>LenNaimt then flag:=true;

until error('Количество символов в строке должно быть в диапазоне ',1,LenNaimt);

End;

Procedure InputNumber(Var Number: Real; NumberMin, NumberMax: LongInt;

Width: Byte; Inv: String);

Begin

repeat

flag:=false;

Write(Inv,'===>');

OutPutString(Color, Fon, TaOld, Width);

{$I-}

Readln(Number);

{$I+}

if IOResult<>0 then flag:=true

else if (Number<NumberMin) or (Number>NumberMax) then flag:=true;

until error(MesNumb, NumberMin, NumberMax);

End;

Procedure InputReal(Var R: Real; Width: Byte; Inv: String);

Begin

repeat

flag:=false;

Write(Inv,'===>');

OutPutString(Color, Fon, TaOld, Width);

{$I-}

Readln(R);

{$I+}

if IOResult<>0 then flag:=true;

until error1;

End;

end. {Конец модуля}

program Project1; // основная программа

uses

Forms,

Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Unit File_Rec; {подключение модуля File_Rec }

Interface

{ Логическая функция возвращает значение True, если файл FileName существует, иначе возвращает значение False. Если файл существует, то он закрывается. }

Function FileExists(FileName: String): Boolean;

{Функция проверки существования файла записей FileName

с выдачей аварийного сообщения, если F=True}

Function Pust(FileName: string; F: boolean):boolean;

{Процедура вывода на экран списка файлов текущего каталога}

Procedure DirCat;

Implementation

Uses Input, Dos;

Const NoFile='Файл не существует!!! ';

PovtVvod=' Повторите ввод. ';

function FileExists(FileName: String): Boolean;

var F: file;

begin

{$I-}

Assign(F, FileName);

Reset(F);

Close(F);

{$I+}

FileExists := (IOResult = 0) and (FileName <> '');

end; { FileExists }

Function Pust(FileName: string; F: boolean):boolean;

Var D: SearchRec begin

Pust:=true;

FindFirst(FileName, AnyFile, D);

If DosError<>0 then

begin

Pust:=False;

if F then OutMessageXY(20,24,NoFile,PovtVvod);

end end;

Procedure DirCat;

Var s : SearchRec;

i : Byte;begin

FindFirst('*.*', AnyFile, s);

Writeln(' Список файлов текущего каталога');

Writeln;

While DosError=0 do

begin

i:=i+1;

if i<5 then write(s.Name:15)

else

begin

writeln(s.Name:15);

i:=0; end;

FindNext(s) end;

Writeln end;

End.

Приложение Б

(обязательное)

Блок схемы

Размещено на http://www.allbest.ru/

Рисунок Б.1 - Блок-схема алгоритма

Размещено на http://www.allbest.ru/

Рисунок Б.2 - блок-схема алгоритма

Размещено на http://www.allbest.ru/

Рисунок Б.3 - Блок-схема алгоритма

Размещено на http://www.allbest.ru/

Рисунок Б.4 - Блок-схема алгоритма

Размещено на Allbest.ru


Подобные документы

  • Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.

    методичка [17,8 K], добавлен 25.11.2010

  • Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое, как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.

    курсовая работа [967,6 K], добавлен 20.05.2008

  • Основные понятия и структура обработчика на языке Pascal. Элективные курсы по информатике в системе профильного обучения. Элективный курс "Программирование в среде Delphi". Методические материалы по изучению программирования на языке Object Pascal.

    методичка [55,4 K], добавлен 08.12.2010

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.

    курсовая работа [896,7 K], добавлен 18.05.2014

  • Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.

    курсовая работа [1,8 M], добавлен 26.05.2010

  • Элементы языка Object Pascal: идентификаторы, константы, переменные, выражения. Структура проекта Delphi. Операторы и метки. Типы данных языка OPascal. Статические и динамические массивы. Записи с вариантными полями. Совместимость и преобразование типов.

    курс лекций [385,4 K], добавлен 18.02.2012

  • Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.

    курсовая работа [2,4 M], добавлен 27.08.2012

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

    курсовая работа [241,7 K], добавлен 11.12.2009

  • Файл - именованная область памяти на магнитном носителе. Программирование доступа к файлу в языке Turbo Pascal. Описание файловой переменной. Виды файлов в зависимости от способа описания: текстовые, двоичные или типизированные и нетипизированные.

    реферат [14,8 K], добавлен 19.01.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.