46754 (Алгоритмический язык Pascal. Программа "Телефонный справочник")

2016-07-29СтудИзба

Описание файла

Документ из архива "Алгоритмический язык Pascal. Программа "Телефонный справочник"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46754"

Текст из документа "46754"

АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ

НЕФТЯНОЙ ИНСТИТУТ

Кафедра информатики

Алгоритмический язык Pascal. Программа «Телефонный справочник»

2007

Содержание

Введение

Задание

Блок-схема

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

Описание основных модулей и операторов

Литература

Приложение

Введение

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

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

Основой информатизации является использование электронно-вычислительной техники для сбора, накопления, обработки и передачи информации. ЭВМ-комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач.

Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется компьютерной программой,

Современные компьютеры не настолько совершенны, чтобы понимать программы, записанные на каком-либо употребляемом человеке языке- русском, английском, японском. Команды, предназначенные для ЭВМ необходимо записать в понятной ей форме. С этой целью применяются языки программирования - искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру.

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

Исходя из этого все языки программирования делятся на языки низкого (ассемблер), высокого (Паскаль, Бейсик, Си, Фортран) и сверхвысокого (Алгол-67, Пролог) уровня.

Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623-1662)), разработан в 1968-1971 годах Никлаусом Виртом, профессором, директором Института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программирования как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании.

Широкой популярностью Паскаля среди программистов способствовали следующие причины:

Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно, лёгким для изучения

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

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

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

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

• Использование в Паскале простых и гибких структур управления: ветвлений, циклов.

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

Существуют три вида трансляторов: интерпретаторы, компиляторы и ассемблеры.

Любой транслятор решает следующие основные задачи:

Анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки.

Генерирует выходную программу.

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

Для повышения качества и скорости разработки программ в середине 80-х годов была создана система программирования Турбо Паскаль. Слово Турбо в название системы программирования - это отражение торговой марки фирмы-изготовителя Вorland International, Inc (США).

Задание

Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (а:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии.

Блок-схема

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

program kurs;

uses Crt;

type

RB=record Запись сведений

A,T,Y: string[10];

end;

var

D,M,i,k,z: integer; Sr,Sr0,max:real;

BookFile: file of RB; Переменная для файла с записями RecBook

Work: RB; Переменная для доступа к записям

Vid: Byte;

End_Menu:boolean;

Name,s: string[50];

procedure AddRec; Добавление записи в файл

begin

writeln('Ввод записи №',FilePos(BookFile)+1);

with Work do

begin

Write('Введите фамилию:');

Readln(A);

Write('Введите имя:');

Readln(Y);

Write('Введите телефон (32-22-12):');

Readln(T);

Write(BookFile, Work); end;

end;

procedure Create_Supplementing_library; Создание нового файла

var

Ind, Count:integer; begin Name:='A:\phone.txt';

Assign(BookFile, Name); Открыть новый файл для записи

Rewrite(BookFile);

Writeln('Создание записей файла ', Name);

Write('Введите количество телефонов на станции: ');

Readln(Count);

for Ind:=1 to count do

AddRec;

Writeln('Создание файла данных библиотеки завершена');

Writeln('Файл данных имеет ', FileSize(BookFile), ' записи'); close(BookFile);

end;

procedure OutputRec;

begin

With Work do

writeln(A,' ',Y,' ',T);

end;

procedure OutputAllRec;

begin

clrscr;

Name:='A:\phone.txt';

Assign(BookFile, Name);

Reset(BookFile); clrscr; Seek(BookFile, 0);

Writeln(' Фамилия Телефон');

writeln;

while (not Eof(BookFile)) do begin

With Work do begin

Read(BookFile, Work);

Outputrec; end;

end;end;

procedure FindTel;

begin

clrscr;

Name:='A:\phone.txt';

Assign(BookFile, Name);

Reset(BookFile);

writeln('Введите фамилию');

readln(s);

clrscr;

Seek(BookFile, 0);

Writeln(' Фамилия Телефон');

writeln;

while (not Eof(BookFile)) do begin

With Work do begin

Read(BookFile, Work);

if s=a then begin Outputrec;z:=1;end;

end;

end;

if z=0 then writeln('В справочнике данных о ',s,'е нет');

end;

begin

ClrScr;

End_Menu:=False; repeat textcolor(7);

Writeln('Выберите вид работы:');

Writeln(' 1- создать новый файл данных');

Writeln(' 2- вывод всей картотеки');

Writeln(' 3- поиск телефона по фамилии');

Writeln(' 0- завершение работы:');

Write('Ваш выбор:');

Readln(Vid);

case Vid of

1:Create_Supplementing_library;

2:OutputAllRec;

3:FindTel;

0:End_Menu:=True;

end;

writeln;

Writeln('Для продолжения нажмите Enter');

Readln;

ClrScr;

until End_Menu;

end.

Описание программы

Программа начинается стандартной строкой:

Program;

Далее следует описательная часть программы. Она состоит из нескольких разделов:

Процедура assign (ФайловаяПеременная, ИмяФайла) предшествует другим процедурам, т. к. ставит в соответствие физическому файлу на внешнем устройстве логический файл — файловую переменную, к которой впоследствии будут обращаться все другие файловые процедуры (связывает их). ИмяФайла должно представлять собой выражение строкового типа. Дальнейшие операции с переменной ФайловаяПеременная будут выполняться над физическим файлом ИмяФайла. Это полное имя внешнего файла, удовлетворяющее требованиям операционной системы MS-DOS. Процедуру assign недопустимо использовать для открытого файла. Прежде чем использовать файловую переменную повторно, необходимо закрыть файл с помощью процедуры close. После вызова assign связь файловой переменной с внешним файлом существует до тех пор, пока не будет выполнен другой assign для данной файловой переменной. Следовательно, файл можно повторно открыть без дополнительного использования процедуры assign даже после закрытия close.

Процедура reset (ФайловаяПеременная) открывает существующий файл на чтение (открывает входной файл) и ставит указатель на начало первого элемента файла. При отсутствии внешнего файла с указанным именем возникает сообщение об ошибке Error I: File not found (Ошибка 2: Файл не найден). Если при чтении файла возникнет необходимость вернуть указатель в его начало, достаточно будет просто применить процедуру reset к этому файлу еще раз.

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

Процедура rewrite (ФайловаяПеременная) создает и открывает новый (выходной) файл для последующей записи данных. После ее успешного выполнения файл готов к записи в него первого элемента.

Обратите внимание — использование rewrite требует особой аккуратности. Если внешний файл с указанным именем уже существует, то он удаляется, и на его месте создается новый пустой файл с тем же именем. Для предотвращения потери информации на практике необходимо создавать резервные копии файлов, над которыми могут производиться опасные действия. Обычно им назначается расширение bak.

Процедура close (ФайловаяПеременная). Используя процедуру close, программист должен закрыть файл, после того как в программе будет завершена его обработка. В противном случае может произойти потеря данных. При закрытии внешний файл обновляется, его автоматически завершает символ конца файла. Впоследствии ФайловаяПеременная может быть связана с другим (или вновь с тем же самым) физическим файлом.

Процедура rename (ФайловаяПеременная, ИмяФайла) используется ДЛЯ ТОГО, чтобы переименовать неоткрытый внешний файл любого типа. Новое имя задается строкой ИмяФайла.

Процедура erase (ФайловаяПеременная) удаляет неоткрытый внешний файл любого типа, задаваемый параметром ФайловаяПеременная.

Обратите внимание — процедуры rename и erase нельзя использовать для открытых файлов. Их необходимо предварительно закрыть. Если файл не существует, возникает ошибка выполнения программы.

Логическая функция eof (ФайловаяПеременная) выполняет проверку, достигнут ли конец файла (End Of File) при чтении из него данных Функция возвращает true, если конец файла обнаружен, и указатель текущей позиции находится в конце файла за его последним символомю Это значит, что последний элемент в файле уже прочитан, или файл по еле открытия оказался пуст. В противном случае функция возвращает – false.

Функция eof находит широкое применение в задачах обработки файлов поскольку позволяет задать условие выполнения цикла для чтения данных из файла. Особенно она важна для текстовых файлов. Если параметр ФайловаяПеременная отсутствует, подразумевается консоль.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее