Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка информационно-поисковой системы "Результаты соревнований" на языке программирования Паскаль

Тип Реферат
Предмет Информатика и программирование
Просмотров
1101
Размер файла
139 б
Поделиться

Ознакомительный фрагмент работы:

Разработка информационно-поисковой системы "Результаты соревнований" на языке программирования Паскаль

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА И ПРОДОВОЛЬСТВИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

ГЛАВНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ, НАУКИ И КАДРОВ

УО «ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»

Курсовой проект

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

на тему: Разработка информационно-поисковой системы «Результаты соревнований» на языке программирования Паскаль

Исполнитель: Бондарев А.Ю.

Руководитель: Царева К.О.

Гомель 2010


ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1. СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИП ДАННЫХ

1.1 Тип данных Char

1.2 Тип данных String

2. РАЗРАБОТКА ИНФОРМАЦИОННО-ПОИСКОВОЙ СИСТЕМЫ «РЕЗУЛЬТАТЫ СОРЕВНОВАНИЙ» НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

2.1 Постановка задачи

2.2 Описание алгоритма задачи

2.3 Практическая часть выполнения задачи на языке программирования Паскаль

2.4 Результаты работы программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


ВВЕДЕНИЕ

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

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

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


1. СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИП ДАННЫХ

1.1 Тип данных Char

Базовый тип данных - Char. Переменная типа Char может хранить всего один символ, один из набора 256 символов. Каждый символ имеет свой код. Символы можно сравнивать между собой на равенство и на определение, какой больше или меньше, тогда компьютер опять же сравнивает не сами символы, а их коды.

Приблизительно таблицу символов можно описать примерно так. В начале идут различные служебные управляющие символы, которые не имеют графического представления. Например, это символы табуляции, возврата каретки, перевода строки и т.п. Потом идут знаки препинания «!», «?», «.» и т.п. Далее идут цифры «1», «2»,«3» и т.д. Следующими идут литеры английского алфавита «A», «B», «C»,..., «Z», «a», «b», «c»,..., «z». Завершают таблицу литеры русского алфавита: «А», «Б», «В»,..., «Я», «а», «б», «в»,..., «я».

Разные системы могут по-разному интерпретировать коды по причине, того что они руководствуются разными таблицами символов. WindowsCodePage 1251 (Cyrillic) - таблица символов для кириллицы в системах Microsoft Windows. Это означает что в системе Windows каждый символ с определенным кодом будет интерпретироваться одинаково для всех программ, если они конечно не реализуют какую-то свою, специфическую обработку символов.

Для типа данных Char определены также две операции - получение кода символа из переменной типа Char и преобразование кода символа в значение типа Char. Эти операции реализованы двумя функциями стандартной библиотеки - Ord и Chr.

Функция Ord принимает один параметр типа Char а возвращает значение типа Byte которое и представляет собой код символа. Функция Chr делает все с точностью наоборот - принимает значение типа Byte а возвращает значение типа Char [3,с.122-124].

1.2 Тип данных String

программирование паскаль регистр символьный

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

Подпрограммы

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

Имя процедуры (Параметр 1, Параметр 2, ..., Параметр N);

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

Имя переменной: Имя функции (Параметр 1, Параметр 2, ..., Параметр N)[5,с.15-17].

Присваивание значения строке, получение содержимого строки

Строковой переменной может быть присвоено значение, как и любой другой переменной. Единственное ограничение состоит в том, что тип значения должен быть String или Char

Получение длины строки

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

Формат вызова: Length(идентификатор переменной или выражение типа String) [1,с.163-168].

Получение и установка отдельного символа строки

К символам строки можно обращаться по их индексу (позиции в строке). Индекс первого символа строки «1». Индекс последнего символа строки будет равен результату вызова функции Length, которой в качестве параметра будет передана строка. Обратите внимание на то, что индекс первого символа «1», а не «0» как обычно делается в различных структурах данных, которые могут содержать много элементов. При попытке обращения к символу с индексом меньше «0» или больше Length возникает ошибка времени выполнения.

Формат обращения к символу строки: S[I], S - идентификатор строковой переменной, а I - индекс символа.

Выражение вида S[I], S - идентификатор строковой переменной, возвращает результат типа Char.

Слияние двух строк (конкатенация)

Строки можно складывать как числовые переменные, используя оператор «+». Результатом сложения является более длинная строка, включающая в себя содержимое обеих строк в порядке их употребления в операции сложения. Также существует функция Concat которая выполняет в точности то же действие что и «+».

Формат операции конкатенации двух строк:

A+B илиConcat(A,B),

где A - идентификатор одной строки или строковое выражение, а B - идентификатор другой строки или строковое выражение [2,с.48-52].

Вставка одной строки внутрь другой

Вставка строки выполняется процедурой Insert. Процедура получает на вход три параметра: строку, которую нужно вставить, строку в которую должна быть произведена вставка и позицию, в которой должна быть произведена вставка. Формат вызова:

Insert(Source,Target,Position), где Source - строка которая будет вставлена, Target - идентификатор строковой переменной в которую вставляют содержимое Source, Position - позиция, начиная с которой будет вставлено содержимое Source в Target.

Если Position меньше 1, то процедура принимает его равным 1.

Если Position больше чем Length(Target), то содержимое Source добавляется к Target с конца.

Если Source является пустой строкой, то Insert ничего не делает [5,с.22-26].

Удаление части строки

Часть строки может быть удалена с помощью процедуры Delete. Формат вызова процедуры Delete: Delete(Target,Index,Count), где Target - идентификатор строковой переменной, из которой удаляются символы, Index - позиция, начиная с которой производится удаление, Count - количество удаляемых символов.

Если Index меньше 1 или больше чем Length(Target), то ничего из Target не удаляется.

Если Count указывает больше символов чем есть начиная с Index, то удаляются символы от Index и до конца строки. Если Count меньше 1, то ничего не удаляется. [4,с.89-92].

Изменение регистра символов

Каждый символ, представляющий собой букву, имеет регистр - верхний или нижний. Например, буква «а» может быть заглавной «А» и прописной «а». Заметим что «А» и «а» являются различными символами. Про заглавные буквы говорят, что они имеют верхний регистр. Про прописные буквы говорят, что они имеют нижний регистр. В некоторых случаях нужно преобразовать отдельную строку или символ в верхний или нижний регистр. Это делают функции UpCase, UpperCase, LoCase, LowerCase.

Сравнение строк на равенство или больше/меньше

Строки можно сравнивать между собой как если бы они были числами. Возможны следующие операции сравнения:

= -сравнение строк на предмет равенства

<> -сравнение строк на предмет неравенства

< -сравнение на «меньше»

> -сравнение на «больше»

<= -сравнение на «меньше или равно»

>= -сравнение на «больше или равно»

Результатом сравнения является значение типа Boolean, которое может быть только одним из двух - TRUE (Истина) и FALSE (Ложь).

Сравнение на предмет неравенства: производится сравнение на предмет равенства, затем результат «переворачивается вверх ногами». Вместо TRUE возвращается FALSE и наоборот.

Сравнение на «меньше»: поочередно сравниваются коды символов, стоящих на соответствующих позициях. Если одна из строк больше не имеет символов, или символ, стоящий в соответствующей позиции имеет меньший код, то считается что эта строка «меньше».

Сравнение на «больше»: поочередно сравниваются коды символов, стоящих на соответствующих позициях. Если одна из строк еще имеет символы, в то время как другая больше не имеет символов, или символ, стоящий в соответствующей позиции имеет больший код, то считается что первая строка «больше».

Нечеткие сравнения на «меньше или равно» и «больше или равно»

Фактически «меньше или равно» означает «не больше», а «больше или равно» означает «не меньше». Соответственно производится сравнение на предмет «больше» или «меньше» и результат инвертируется. [4,с.67-69].

2. РАЗРАБОТКА ИНФОРМАЦИОННО-ПОИСКОВОЙ СИСТЕМЫ «РЕЗУЛЬТАТЫ СОРЕВНОВАНИЙ» НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

2.1 Постановка задачи

Разработать программу создания информационно-поисковой системы «Результаты соревнований» на языке программирования Паскаль.

База данных должна храниться в типизированных файлах. Записи формируются в таблицы и выводятся на экран.

Требуется произвести некоторые действия над записями. Для каждого действия мы создаем процедуры: процедура создания файла который будет содержать минимум 10 записей, процедура вывода на экран содержимого файла в виде таблицы, процедура дополнения файла новыми записями, процедура поиска записей по любому выбранному полю, процедура сортировки записей по любому выбранному полю, и процедура удаления записей по любому выбранному номеру.

Все операции с файлом оформляются в виде меню.

2.2 Описание алгоритма задачи

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

Выбор действия над файлом в меню осуществляется выбором определенного пункта с помощью клавиатуры.

В программе содержатся процедуры.

1) procedure sozdanie – процедура создания нового файла с информацией о результатах соревнований. Для начала нам необходимо ввести количество записей в таблице, а потом заполнить информацию. После окончания ввода данных процедура сама выходит в главное меню. Алгоритм описывающий данную процедуру реализован в виде блок-схемы 1 (рисунок 2.2.1).

2) procedure vivod – эта процедура предназначена для вывода на экран информации о результатах соревнований в виде таблицы. Алгоритм описывающий данную процедуру реализован в виде блок-схемы 2 (рисунок 2.2.2).

3) procedure dobavlenie – процедура добавления. Предназначена для добавления новых записей в таблицу. Процедура добавляет новые записи в конец файла. По окончании ввода процедура выходит в главное меню.

4) procedure poisk – процедура поиска предназначенная для поиска нужных записей в нужном поле таблицы. Перед нами появляется меню поиска, где мы выбираем нужный нам критерий поиска.

5) procedure sortirovka – процедура сортировки. Позволяет отсортировать нужное поле по возрастанию. Перед нами появляется меню в котором мы можем выбрать необходимое поле для сортировки.

6) procedure udalenie - процедура удаления. Предназначена для удаления необходимой нам строки. Перед нами появится меню, в котором мы должны ввести нужный номер строки для удаления.

Для запуска программы необходимо открыть файл «zadacha.pas» и нажать сочетание клавиш «Ctrl+F9».

В программе использовались переменные

fio, ych - stilстрокового типа,

voz, rez - числового типа.


Рисунок 2.2.1- Блок-схема 1

Рисунок 2.2.2- Блок-схема 2


2.3 Практическая часть выполнения задачи на языке программирования Паскаль

programzadacha; {название программы}

usescrt; {подкличение модуля crt}

type mass=record

fio:string; {Фамилия}

ych:string; {учреждение}

stil:string; {стильплавания}

voz:integer; {возраст}

rez:real; {результат}

end;

var

chi:mass; {имееттип mass}

ch,ch1:array[1..25] of mass;

f:file of mass;

i,m,j,k,n,nom:integer;

filename:string; {дляименифайла}

procedure sozdanie; {процедурасоздания}

var

q:integer;

begin

clrscr;

writeln('vvedite imya faila:'); {вводименифайла}

readln(Filename);

assign(f,Filename);

rewrite(f);

Writeln ('vvedite kolichestvo zapisei'); {вводимколичествозаписей}

Readln (n);

q:=0;

for i:=1 to n do

with ch[i] do

begin

q:=q+1;

clrscr;

writeln('vvedite fio ',q,'-go uchasnika'); {заносиминформациюобучастнике}

readln(fio);

writeln('vvedite vozrast ',q,'-go uchasnika');

readln(voz);

writeln('vvedite ycheregdenie');

readln(ych);

writeln('vvedite stil plavaniya');

readln(stil);

writeln('vvedite rezultat zapliva');

readln(rez);

write(f,ch[i]);

end;

close(f); {закрываемфайл}

end;

procedure vivod; {процедуравывода}

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {указываемимясозданногофайла}

readln(filename);

assign (f,filename);

reset(f);

clrscr;

nom:=0;

writeln('writeln('| # | FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

whilenoteof(f) do{начинаем выводить записи в таблицу}

with ch[i] do

begin

inc(i);

inc(nom);

read(f,ch[i]);

writeln('|',nom:3,'|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

i:=i+1;

end;

writeln('|');

close(f); {закрылифайл}

readln;

clrscr;

end;

procedure dobavlenie; {процедурадобавления}

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {вводименифайла}

readln(filename);

assign (f,filename);

reset(f);

i:=1;

while not eof(f) do

begin

read(f,ch[i]);

i:=i+1;

end;

writeln('vveditefio'); {начинаем заносит информацию об участнике}

readln(ch[i].fio);

writeln('vvedite voz ');

readln(ch[i].voz);

writeln('vvedite ycheregdenie obrazovaniya');

readln(ch[i].ych);

writeln('vvedite stil plavaniya');

readln(ch[i].stil);

writeln('vvedite rezultat zapliva');

readln(ch[i].rez);

n:=i;

close(f); {закрылифайл}

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

procedure poisk; {процедурапоиска}

var e:string;

n1,o:integer;

l:real;

begin

writeln('vibirete regim poiska:' ); {меню}

writeln(' ');

writeln('1: poisk po polu fio');

writeln('2: poisk po polu vozrast');

writeln('3: poisk po polu ycheregdenie');

writeln('4: poisk po polu stil');

writeln('5: poisk po polu rezultat');

writeln;

readln(o);

clrscr;

if o=1 then begin {поискпополюфио}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite fio uchasnika'); {водимФИОучастника}

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].fio=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

ifn1<>0 thenbegin{вывод найденного участника}

writeln('||');

writeln('| FIO| VOZRAST | YCHEREGDENIE | STIL|REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=2 then begin {поискпополювозраст}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite vozrast uchasnika'); {вводимвозраст}

readln(l);

n1:=0;

for i:=1 to n do

if ch[i].voz=l

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=3 then begin {поискпополюучреждение}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite ycheregdenie'); {введитеучреждение }

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].ych=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('|');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('|');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=4 then begin {поискпополюстиль}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite stil uchasnika'); {вводстиля}

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].stil=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=5 then begin {поискпополюрезультат}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite preblezitelnii rezyltat uchastnika'); {вводрезультата }

readln(l);

n1:=0;

for i:=1 to n do

if (ch[i].rez<=l+0.5) and (ch[i].rez>=l-0.5)

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

end;

procedure sortirovka; {процедурасортировка}

var

p:integer;

begin

clrscr;

writeln('vibirete regim sortirovki:' ); {менюсортировки}

writeln(' ');

writeln('1: sortirovka po polu fio');

writeln('2: sortirovka po polu vozrast');

writeln('3: sortirovka po polu ycheregdenie');

writeln('4: sortirovka po polu stil');

writeln('5: sortirovka po polu rezultat');

writeln;

readln(p);

if p=1 then begin {сортировкапополюфио}

writeln ('vvedite imya sozdannogo faila'); {вводимимяфайла}

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].fio>ch[j].fio then {сравниваем 2 строки}

begin

chi:=ch[i]; {проводим перестановку}

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

ifp=2 thenbegin{сортировка по полю возраст}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].voz>ch[j].voz then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=3 then begin {сортировкапополюучреждение}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].ych>ch[j].ych then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=4 then begin {сортировкапополюстиль}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].stil>ch[j].stil then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=5 then begin {сортировкапополюрезультат}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].rez>ch[j].rez then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

end;

procedure udalenie; {процедураудаления}

var m:integer;

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {вводимимяфайла}

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

i:=i+1;

n:=n+1;

end;

writeln('vvedite nomer udaliaemoi zapisi'); {вводимномерзаписидляудаления}

readln(m);

for i:=m to n do

begin {удаляем}

ch[i].fio:=ch[i+1].fio;

ch[i].voz:=ch[i+1].voz;

ch[i].ych:=ch[i+1].ych;

ch[i].stil:=ch[i+1].stil;

ch[i].rez:=ch[i+1].rez;

end;

n:=n-1;

close(f);

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

writeln(‘zapis udalena’);

readln;

end;

begin{тело основной программы}

whileTruedo

begin{меню программы}

clrscr;

Writeln ('':20,' *Menu* ');

Writeln ('':20,'||');

Writeln ('':20,'| 1- sozdanie novogo faila |');

Writeln ('':20,'| 2- vivod dannih |');

Writeln ('':20,'| 3- dobavlenie |');

Writeln ('':20,'| 4- poisk |');

Writeln ('':20,'| 5- sortirovka |');

Writeln ('':20,'| 6- udalenie zapisei |');

Writeln ('':20,'| 0- vihod |');

Writeln ('':20,'||');

Writeln;

Writeln('vi mojete rabotat s uje sozdanim failom "sor" ');

Writeln('');

Readln (m);

case m of

1:sozdanie;

2:vivod;

3:dobavlenie;

4:poisk;

5:sortirovka;

6:udalenie;

0:exit;

else begin Writeln('ne verno!');

readln;

end;

end;

end;

end.

2.4 Результаты работы программы

Для запуска программы необходимо открыть файл «zadacha.pas» и нажать на клавишу «F9»(в программе «PascalABC»). Появится главное меню в котором мы можем выбрать необходимое действие над файлом (рисунок 2.4.1).


Рисунок 2.4.1 - основное меню

В пункте первом мы создаем новый файл (рисунок 2.4.2).

Рисунок 2.4.2 - создание файла

В поле «ФИО» необходимо ввести фамилию имя и отчество участника.

В поле «Возраст» нужно ввести возраст участника, только цифрами

В поле «Учреждение» необходимо ввести учреждение образования в котором обучается участник.

В поле «Стиль» необходимо ввести стиль плавания участника.

В поле «Результат» нужно ввести результат участника проплывшего дистанцию.

Выбрав «вывод данных», программа выводит данные в виде таблицы из указанного файла (рисунок 2.4.3).


Рисунок 2.4.3.(вывод)

При добавлении в файл новых записей необходимо ввести фамилию, возраст, учреждение, стиль и результат заплыва. Эти данные будут записаны в конец таблицы.

При выборе режима «поиск» программа перейдет в другое меню (рисунок 2.4.4.), в котором можно будет выбрать необходимый критерий поиска. Поиск осуществляется по полям фамилия, возраст, учреждение, стиль, результат заплыва.

Рисунок 2.4.4 - меню поиска

Выбрав пункт «сортировка», появляется меню в котором можно отсортировать указанный файл по необходимому полю (рисунок 2.4.5.).


Рисунок 2.4.5. (меню сортировки)

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


ЗАКЛЮЧЕНИЕ

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

Подобрал и изучил материал по теме «Строковые и символьные типы данных».

Реализовал программу «Результаты соревнований» на языке программирования Паскаль. Программа выполняет следующие действия: создание файла, просмотр содержимого файла которое выводится в виде таблицы, дополнение файла новыми записями, поиск и сортировка по любому указанному полю, удаление любой строки файла.

Для удобства и простоты использования, программа реализована в виде меню. Я постарался сделать так, чтобы любому пользователю было удобно и практично использовать мою программу.

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Павловская, Т. А. Паскаль. Программирование на языке Турбо Паскаль / Т.А. Павловская. - СПб. – Петербург: 2007. – 317с.

2. Алиев, Ю.А. Практикум по алгоритмизации и программированию на языке Паскаль/ Ю.А. Алиев. – В. – Питер: 2007. – 527с

3. Аронов, В.В. TurboPascal/В.В. Аронов. – БХВ - Петербург, 2004 . – 156с.

4. Алексеев, Е.Р. Турбо Паскаль 7.0/ Е.Р. Алексеев, О.В. Чесноков а.- М.: НТ Пресс, 2007.– 83с.

5. Паскаль [Электронный ресурс].- Типы данных. – Режим доступа: http://www.pascal.ru. – Дата доступа 02.06.2010


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

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

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

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

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно