Реферат по предмету "Информатика, программирование"


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

АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ
НЕФТЯНОЙ ИНСТИТУТ
Кафедра информатики
Алгоритмический языкPascal. Программа «Телефонный справочник»
2007

Содержание
Введение
Задание
Блок-схема
Листинг программы
Описание основных модулейи операторов
Литература
Приложение

Введение
Важнейшаяроль в развитии современного общества в конце XX века принадлежитинформатизации. По характеру и значению для будущего человеческой цивилизациипроцесс информатизации можно сравнить с переходом, человечества от аграрногообщества к индустриальному. Подобно тому, как изобретение механическогодвигателя открыло эру комплексной механизации и автоматизации физическоготруда, изобретение ЭВМ сделало то же самое в отношении труда умственного.
Процесс информатизации характеризуется использованием информациив качестве общественного продукта, обеспечивающего интенсификацию всех сферэкономики, ускорение научно-технического прогресса, интеллектуализацию основныхвидов человеческой деятельности и демократизацию общества. В результате внедренияновых информационных технологий значительно изменяютсяобщественно-экономические структуры, формируется гибкое динамическое общество,способное к активной самооценке и выбору целей развития, быстрой и адекватнойреакции на изменение внешней и внутренней среды.
Основойинформатизации является использование электронно-вычислительной техники длясбора, накопления, обработки и передачи информации. ЭВМ-комплекс техническихсредств, предназначенных для автоматической обработки информации в процессерешения вычислительных и информационных задач.
Чтобыкомпьютер выполнил решение какой-либо задачи, ему необходимо получить отчеловека инструкции, как её решать. Набор таких инструкций для компьютера,направленный на решение конкретной задачи, называется компьютерной программой,
Современныекомпьютеры не настолько совершенны, чтобы понимать программы, записанные накаком-либо употребляемом человеке языке- русском, английском, японском. Команды,предназначенные для ЭВМ необходимо записать в понятной ей форме. С этой цельюприменяются языки программирования — искусственные языки, алфавит, словарныйзапас и структура которых удобны человеку и понятны компьютеру.
В самом общемсмысле языком программирования называется фиксированная система обозначений иправил для описания алгоритмов и структур данных. Языки программирования имеюткак бы два лица. Одно из них обращено к человеку, а другое адресовано к ЭВМ,которая должна понимать команды.
Исходя изэтого все языки программирования делятся на языки низкого (ассемблер), высокого(Паскаль, Бейсик, Си, Фортран) и сверхвысокого (Алгол-67, Пролог) уровня.
Языкпрограммирования Паскаль (назван в честь выдающегося французского математика ифилософа Блеза Паскаля (1623-1662)), разработан в 1968-1971 годах НиклаусомВиртом, профессором, директором Института информатики Швейцарской высшейполитехнической школы. Язык Паскаль, созданный первоначально для обученияпрограммирования как систематической дисциплине, скоро стал широкоиспользоваться для разработки программных средств в профессиональномпрограммировании.
Широкойпопулярностью Паскаля среди программистов способствовали следующие причины:
Благодарясвоей компактности, удачному первоначальному описанию Паскаль оказалсядостаточно, лёгким для изучения
•        Языкпрограммирования Паскаль отражает фундаментальные и наиболее важные концепции (идеи) алгоритмовв очевидной и легко воспринимаемой форме, что предоставляет программистусредства, помогающие проектировать программы.
•        Языкпрограммирования Паскаль позволяет чётко реализовать идеи структурного программированияи структурной организации данных.
•        Языкпрограммирования Паскаль сыграл большую роль в развитии методов аналитическогодоказательства правильности программ и позволил реально перейти от методовотладки программ к системам автоматической проверки правильности программ.
•        Применениеязыка Паскаль значительно подняло «планку» надёжности разрабатываемыхпрограмм за счёт требований Паскаля к описанию используемых в программепеременных, проверки согласованности программы при компиляции без еёвыполнения.
•        Использованиев Паскале простых и гибких структур управления: ветвлений, циклов.
Так кактекст, записанный на Паскале программы не понятен компьютеру, то требуетсяперевести его на машинный язык. Такой перевод программы с языка программированияна язык машинных кодов называется трансляцией, а выполняется он специальнымитрансляторами.
Существуюттри вида трансляторов: интерпретаторы, компиляторы и ассемблеры.
Любойтранслятор решает следующие основные задачи:
Анализируеттранслируемую программу, в частности определяет, содержит ли она синтаксическиеошибки.
Генерируетвыходную программу.
Распределяетпамять для выходной программы. Разработка программы на Паскале включает в себяследующие действия: ввод и редактированию теста программы на языке программированияПаскаль, её трансляцию, отладку. Для выполнения каждого этапа применяются специальныесредства.
Для повышениякачества и скорости разработки программ в середине 80-х годов была созданасистема программирования Турбо Паскаль. Слово Турбо в название системыпрограммирования — это отражение торговой марки фирмы-изготовителя ВorlandInternational, Inc (США).

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

Блок-схема
/>

Листинг программы
programkurs;
usesCrt;
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];
procedureAddRec;       Добавление записи в файл
begin
writeln('Ввод записи№',FilePos(BookFile)+1);
withWork do
begin
Write('Введите фамилию:');
Readln(A);
Write('Введите имя:');
Readln(Y);
Write('Введитетелефон (32-22-12):');
Readln(T);
Write(BookFile,Work); end;
end;
procedureCreate_Supplementing_library; Создание нового файла
var
Ind,Count:integer; begin Name:='A:\phone.txt';
Assign(BookFile,Name);       Открыть новый файл для записи
Rewrite(BookFile);
Writeln('Созданиезаписей файла ', Name);
Write('Введитеколичество телефонов на станции: ');
Readln(Count);
forInd:=1 to count do
AddRec;
Writeln('Созданиефайла данных библиотеки завершена');
Writeln('Файл данных имеет ',FileSize(BookFile), ' записи'); close(BookFile);
end;
procedureOutputRec;
begin
WithWork do
writeln(A,'',Y,'    ',T);
end;
procedureOutputAllRec;
begin
clrscr;
Name:='A:\phone.txt';
Assign(BookFile,Name);
Reset(BookFile);clrscr; Seek(BookFile, 0);
Writeln('Фамилия        Телефон');
writeln;
while(not Eof(BookFile)) do begin
WithWork do begin
Read(BookFile,Work);
Outputrec;end;
end;end;
procedureFindTel;
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
WithWork do begin
Read(BookFile,Work);
ifs=a then begin Outputrec;z:=1;end;
end;
end;
ifz=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);
caseVid of
1:Create_Supplementing_library;
2:OutputAllRec;
3:FindTel;
0:End_Menu:=True;
end;
writeln;
Writeln('Дляпродолжения нажмите Enter');
Readln;
ClrScr;
untilEnd_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находит широкое применение в задачах обработки файлов поскольку позволяетзадать условие выполнения цикла для чтения данных из файла. Особенно она важнадля текстовых файлов. Если параметр ФайловаяПеременная отсутствует,подразумевается консоль.
Процедуры:
Getdir Определяеттекущий каталог на заданном диске
chdir Меняеттекущий каталог
Mkdir Создаетподкаталог
Rmdir Удаляетпустой подкаталог
Settextbuf Назначаетдля текстового файла буфер ввода/вывода
Flush Очищаетбуфер текстового файла, открытого для вывода (модуль dos)
Fsplit Разделяетимя файла на путь, имя и расширение (модуль dos)
Getfattr Возвращаетатрибуты файла (модуль dos)
Getftime Возвращаетдату и время последней записи файла (модуль dos)
Setf time Назначаетновую дату и время последней записи файла (модуль dos)
Setfattr Устанавливаетатрибуты файла (модуль dos)
Функции:
Filesize Возвращаеттекущий размер файла {не используется с текстовыми
файлами)
Diskfree Возвращаетчисло свободных байтов на заданном диске (модуль dos)
Disksize Возвращаетобщий объем дисковой памяти на диске (модуль dos) Fexpand Расширяет имя файладо полностью определенного (модуль dos)
Findfirst Ищетв заданном каталоге первый элемент, совпадающий с заданным именем файла и егоатрибутами (модуль dos, f indnext — следующий)
Fsearch Ищетфайл в списке каталогов (модуль dos)
Функциипроверки конца строки и файла:
• кроме использованияфункции eof, принимающей значение true, если файл исчерпан, при работе стекстовыми файлами необходимо уметь проверять также и конец строки. Дляконтроля используется функция еоln (ФайловаяПеременкая), принимающая значениеtrue, если указатель текущей позиции находится на маркере конца строки (CR/LF),иначе – false. Если eof – true, то и eoln – true;
• функция sеекеоln(ФайловаяПеременная) аналогична функции eoln, НО пропускает пробелы и позициитабуляции перед проверкой на конец строки. Функцию можно использовать толькодля открытых текстовых файлов;
• функцияseekeof (Файловгяпеременная) аналогична eof, но пропускает пробелы, позициитабуляции и маркеры конца строки перед проверкой на конец файла. Функцию можноиспользовать только для открытых текстовых файлов.
if then else условныйоператор.
Если послеthen и else нужно использовать несколько операторов то эти операторы надо заключатьв операторные скобки — begin ; … end.
Бывает полныйи неполный — не содержит ветви else.
В конструкцииWhile… do условие выхода удовлетворяется, если выражение, определяющееусловие выхода, ложно. Пока это условие истинно, будет выполняться операторстоящий после do. Если после do нужно использовать несколько операторов то этиоператоры надо заключать в операторные скобки — begin ; … end.

Список используемойлитературы
1.               ТурбоПаскаль 7.0 “BHV” 1996.
2.               В.В. Фаронов.Турбо Паскаль 7.0 Начальный курс. Учебное пособие. Издательство “Нолидж” 1997.
3.               В.В. Фаронов.Турбо Паскаль 7.0 Практика программирования. Учебное пособие. Издательство“Нолидж” 1997
4.               А.И. Марченко,Л.А.Марченко. Программирование в среде Турбо Паскаль 7.0. Киев “ВЕК+” 1999.
5.               ИвановА.Ф., Садриева Л.М. Методическое руководство по подготовке и защите курсовыхработ по дисциплине “Информатика”. АлНИ, 2002.

Приложение
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.