Алгоритмический язык Pascal. Программа "Телефонный справочник"
Применение электронно-вычислительной техники для сбора и обработки информации. Причины популярности языка программирования Паскаль. Основные виды трансляторов. Стандартные функции и процедуры при работе с файлами. Методы предотвращения потери данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.01.2015 |
Размер файла | 117,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ
НЕФТЯНОЙ ИНСТИТУТ
Кафедра информатики
Алгоритмический язык Pascal. Программа «Телефонный справочник»
2007
Содержание
Введение
1. Задание
2. Блок-схема
3. Листинг программы
4. Описание основных модулей и операторов
Литература
Приложение
Введение
Важнейшая роль в развитии современного общества в конце XX века принадлежит информатизации. По характеру и значению для будущего человеческой цивилизации процесс информатизации можно сравнить с переходом, человечества от аграрного общества к индустриальному. Подобно тому, как изобретение механического двигателя открыло эру комплексной механизации и автоматизации физического труда, изобретение ЭВМ сделало то же самое в отношении труда умственного.
Процесс информатизации характеризуется использованием информации в качестве общественного продукта, обеспечивающего интенсификацию всех сфер экономики, ускорение научно-технического прогресса, интеллектуализацию основных видов человеческой деятельности и демократизацию общества. В результате внедрения новых информационных технологий значительно изменяются общественно-экономические структуры, формируется гибкое динамическое общество, способное к активной самооценке и выбору целей развития, быстрой и адекватной реакции на изменение внешней и внутренней среды.
Основой информатизации является использование электронно-вычислительной техники для сбора, накопления, обработки и передачи информации. ЭВМ-комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач.
Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется компьютерной программой,
Современные компьютеры не настолько совершенны, чтобы понимать программы, записанные на каком-либо употребляемом человеке языке- русском, английском, японском. Команды, предназначенные для ЭВМ необходимо записать в понятной ей форме. С этой целью применяются языки программирования - искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру.
В самом общем смысле языком программирования называется фиксированная система обозначений и правил для описания алгоритмов и структур данных. Языки программирования имеют как бы два лица. Одно из них обращено к человеку, а другое адресовано к ЭВМ, которая должна понимать команды.
Исходя из этого все языки программирования делятся на языки низкого (ассемблер), высокого (Паскаль, Бейсик, Си, Фортран) и сверхвысокого (Алгол-67, Пролог) уровня.
Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623-1662)), разработан в 1968-1971 годах Никлаусом Виртом, профессором, директором Института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программирования как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании.
Широкой популярностью Паскаля среди программистов способствовали следующие причины:
Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно, лёгким для изучения
*Язык программирования Паскаль отражает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
*Язык программирования Паскаль позволяет чётко реализовать идеи структурного программирования и структурной организации данных.
*Язык программирования Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности программ.
*Применение языка Паскаль значительно подняло "планку" надёжности разрабатываемых программ за счёт требований Паскаля к описанию используемых в программе переменных, проверки согласованности программы при компиляции без её выполнения.
*Использование в Паскале простых и гибких структур управления: ветвлений, циклов.
Так как текст, записанный на Паскале программы не понятен компьютеру, то требуется перевести его на машинный язык. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией, а выполняется он специальными трансляторами.
Существуют три вида трансляторов: интерпретаторы, компиляторы и ассемблеры.
Любой транслятор решает следующие основные задачи:
Анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки.
Генерирует выходную программу.
Распределяет память для выходной программы. Разработка программы на Паскале включает в себя следующие действия: ввод и редактированию теста программы на языке программирования Паскаль, её трансляцию, отладку. Для выполнения каждого этапа применяются специальные средства.
Для повышения качества и скорости разработки программ в середине 80-х годов была создана система программирования Турбо Паскаль. Слово Турбо в название системы программирования - это отражение торговой марки фирмы-изготовителя Вorland International, Inc (США).
паскаль программирование информация транслятор
1. Задание
Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (а:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии.
2. Блок-схема
Размещено на http://allbest.ru
3. Листинг программы
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.
4. Описание программы
Программа начинается стандартной строкой: 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 <оператор 1> else <оператор 2> условный оператор.
Если после then и else нужно использовать несколько операторов то эти операторы надо заключать в операторные скобки - begin <опер 1>; <опер 2 >… end.
Бывает полный и неполный - не содержит ветви else.
В конструкции While... do условие выхода удовлетворяется, если выражение, определяющее условие выхода, ложно. Пока это условие истинно, будет выполняться оператор стоящий после do. Если после do нужно использовать несколько операторов то эти операторы надо заключать в операторные скобки - begin <опер 1>; <опер 2> … end.
Список используемой литературы
1. Турбо Паскаль 7.0 “BHV” 1996.
2. В.В. Фаронов. Турбо Паскаль 7.0 Начальный курс. Учебное пособие. Издательство “Нолидж” 1997.
3. В.В. Фаронов. Турбо Паскаль 7.0 Практика программирования. Учебное пособие. Издательство “Нолидж” 1997
4. А.И. Марченко, Л.А.Марченко. Программирование в среде Турбо Паскаль 7.0. Киев “ВЕК+” 1999.
5. Иванов А.Ф., Садриева Л.М. Методическое руководство по подготовке и защите курсовых работ по дисциплине “Информатика”. АлНИ, 2002.
Размещено на Allbest.ru
...Подобные документы
Использование электронно-вычислительной техники для сбора, накопления, обработки и передачи информации. Разработка программы "Телефонный справочник" на Паскале: ввод и редактирование теста программы, трансляция и отладка. Блок-схема, листинг программы.
контрольная работа [61,2 K], добавлен 26.06.2010Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Основные сведения о системе программирования Турбо Паскаль. Структура программы на Паскале и ее компоненты. Особенности и элементы языка Турбо Паскаль. Порядок выполнения операций в арифметическом выражении, стандартные функции и оператор присваивания.
лекция [55,7 K], добавлен 21.05.2009Free Pascal как свободная реализация языка Паскаль, совместимая с Borland Pascal и Object Pascal - Delphi, но при этом обладающая и некоторыми дополнительными возможностями. Основы алгоритмизации и программирования, создание визуальных приложений.
учебное пособие [4,2 M], добавлен 13.12.2011Создание программы "Телефонный справочник": загрузка телефонной книги; разработка алгоритмов добавления, редактирования, удаления записи; поиск по различным параметрам, вывод данных на печать. Интерфейс пользователя, системные требования и ограничения.
курсовая работа [1,5 M], добавлен 24.09.2012Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.
курсовая работа [290,9 K], добавлен 05.12.2008История языка Pascal, его основные концепции. Линейный и циклический алгоритмы, типы данных. Условные операторы, операторы цикла. Программа вычисления суммы n первых членов геометрической прогрессии по любым двум ее членам, номера которых известны.
отчет по практике [421,8 K], добавлен 07.06.2010Применение информационных технологий в конкретной практической деятельности по выбранной специальности. Использование языка программирования Pascal в инженерной практике как универсального алгоритмического языка. Программа решения задачи на языке Pascal.
курсовая работа [1,3 M], добавлен 25.07.2012Общая характеристика языка программирования Турбо Паскаль: операторы, циклы, файлы. Процедуры и функции модуля Crt. Структурная и функциональная схема программы учета учащихся, таблица идентификаторов. Список и описание использованных подпрограмм.
курсовая работа [702,9 K], добавлен 29.01.2011Процедуры и функции языка Pascal для работы с файлами прямого и последовательно доступа. Формат и структура в файлах прямого доступа. Возможность ввода данных с клавиатуры либо из файла. Контроль вводимых данных. Листинг программы и ее экранные формы.
лабораторная работа [48,7 K], добавлен 13.02.2009История и основы структурного программирования в среде Turbo Pascal. Работа с различными типами данных. Операторы языка. Работа с символьными и строковыми переменами, одномерным, двумерным массивами. Классификация компьютерных игр. Игры на языке Паскаль.
курсовая работа [28,8 K], добавлен 06.05.2014История создания и применение языка Basic. Стандартные математические и строковые функции. Операции и выражения языка. Блоки данных и подпрограммы. Операторы управления, цикла, ввода-вывода и преобразования информации. Константы, переменные, массивы.
контрольная работа [2,3 M], добавлен 04.05.2015Технология сбора информации традиционными методами. Правила сбора оффлайновой информации. Технические средства сбора информации. Операции для быстрого восстановления данных в системах хранения. Технологический процесс и процедуры обработки информации.
курсовая работа [304,5 K], добавлен 02.04.2013Язык Паскаль - процедурно-ориентированный язык высокого уровня, его основные достоинства. Разработка программ для решения задач. Выбор метода обработки информации. Форма представления исходных данных. Разработка алгоритма, его описание, листинг программы.
курсовая работа [3,6 M], добавлен 17.02.2013История появления и распространения Turbo Pascal - среды разработки для языка программирования Паскаль. Общий вид объявления файлового типа. Входная, выходная и промежуточная информация. Алгоритм решения задачи: словесный алгоритм, блок-схема, программа.
курсовая работа [359,4 K], добавлен 05.01.2010Приобретение теоретических и практических навыков программирования на языке Паскаль. Математическая формулировка задачи и выбор метода обработки информации. Разработка алгоритма и его описание. Описание программы. Форма представления исходных данных.
курсовая работа [224,3 K], добавлен 11.02.2016Разработка программы средствами Turbo Pascal для автоматизации процесса работы с небольшими базами данных. Состав используемого аппаратного обеспечения. Общая схема структуры языка программирования Паскаля и приемы процедурного программирования.
курсовая работа [61,6 K], добавлен 09.03.2011Элементарные конструкции языка ПАСКАЛЬ: имена, числа и строки. Стандартные типы данных. Организация ввода и вывода данных с терминального устройства. Разработка программы, изменяющей первоначальную матрицу по заданной схеме и выводящей ее на экран.
курсовая работа [68,6 K], добавлен 09.07.2015Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.
реферат [383,1 K], добавлен 07.01.2012Изложение основ информатики, вычислительной техники и технологии программирования на языке Паскаль. Эволюция средств вычислений. Классификация программного обеспечения ЭВМ. Кодирование информации в ЭВМ, системы счисления, принципы программирования.
учебное пособие [1,4 M], добавлен 25.12.2009