Программная реализация задач средствами алгоритмических языков
Характеристика вычислительной системы и инструментов разработки. Программирование на языке 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