Добавлен: 06.04.2023
Просмотров: 260
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ
1.1 Описание языка Object Pascal
1.2 Работа со строками в Object Pascal
1.3 Работа с файлами в Object Pascal
ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ ПОДСЧЕТА СЛОВ В ТЕКСТОВОМ ФАЙЛЕ
2.1 Описание постановки задачи
2.2 Разработка алгоритма реализации задачи
2.3 Разработка исходного кода программы
Глава 3. СИСТЕМА АВТОМАТИЧЕСКОГО ТЕСТИРОВАНИЯ ПРОГРАММ, НАПИСАННЫХ НА ЯЗЫКЕ ПАСКАЛЬ
Введение
Каждый язык программирования имеет свой синтаксис, который определяет правила записи и состав допустимых конструкций языка. Смысл же каждой конструкции языка образует его семантику. Семантика обеспечивает пользователя языка смысловыми правилами применения и интерпретации конструкций языка. Запись алгоритма в терминах алгоритмического языка называется исходным текстом программы. При изучении языка программирования необходимо изучить, какие величины допускается использовать в данном языке, как они должны быть представлены в тексте программы, какие операции над этими величинами можно задавать, как эти операции записываются в соответствии с правилами языка, каковы правила объединения отдельных конструкций вычислительного процесса.
На сегодняшний день существует большое количество языков программирования. Они подразделяются на языки программирования низкого и высокого уровней, а также специализированные языки программирования (баз данных, скриптязыки). Терминология "низкий уровень" означает близость операторов языка к машинному коду. Наиболее используемый и популярный язык низкого уровня ассемблер. Каждый оператор языка представляет в виде мнемокодов команду микропроцессора, поэтому этот язык программирования называют машинно-ориентированным. Для каждого типа микропроцессора создаётся свой ассемблер, поддерживающий все его команды.
Терминология "высокий уровень" означает, что язык программирования приближен к мышлению человека. В них не учитываются особенности архитектуры конкретной модели компьютера, поэтому разрабатываемые программы легко переносятся на другие платформы. Разнообразие языков программирования обусловлено их специфическими особенностями и предназначением. Basic разработан в 60е годы как язык программирования для начинающих. Pascal, созданный в конце 70х для обучения программированию как систематической дисциплине. С для разработки программ системного назначения, обладающих преимуществами как языков программирования низкого уровня (компактность и эффективность разрабатываемых программ), так и преимуществами языков высокого уровня (независимость от машинных архитектур).
Первая версия Turbo Pascal появилась в 1983 году и использовалась недолго. Через год вышла в свет вторая версия, получившая широкое распространение. В 1985 году вышла третья версия языка, удобная в эксплуатации и более быстродействующая. В четвертой версии появился встроенный компилятор, а в пятой встроенный отладчик. Разработанная в 1989 году версия 5.5, позволила перейти к поддержке объектно-ориентированной технологии программирования. Turbo Pascal 6.0 был расширен поддержкой многодокументного интерфейса, обладал встроенным ассемблером, что позволяло эффективно выполнять процедуры работы с устройствами компьютера на низком уровне. В 1992 году фирма Borland выпускает два пакета Borland Pascal 7.0 и Turbo Pascal 7.0. Эти пакеты позволяют не только использовать в разработке программ объектно-ориентированную методологию, но и разрабатывать приложения с поддержкой защищённого режима работы микропроцессора, а также создавать приложения для работы под популярную операционную среду "Windows". Дальнейшее своё продолжение Pascal получил в визуальной среде, поддерживающей технологию быстрой разработки приложений RAD (Rapid Application Development) Delphi. Delphi одно из наиболее распространённых в настоящий момент средств разработки программных продуктов, объединяющее средства визуального проектирования и объектный Pascal. Поскольку Pascal предназначен, в первую очередь, для изучения программирования как дисциплины, то многие профессиональные программисты начинали свой путь именно с изучения программирования на языке Pascal.
Глава 1. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ
1.1 Описание языка Object Pascal
Турбо Паскаль был создан в 1983 году компанией Borland на базе Паскаль. От оригинала программа отличалась скоростью компиляции – она была значительно выше. Этот фактор позволил ей приобрести популярность среди программистов и учащихся 20 века, благодаря чему она была переработана 10 раз, и последняя ее версия – Turbo Pascal 7.1 – вышла в 1994 году. Этот язык считается уже устаревшим, и был заменен на Object Pascal.
Сама утилита состоит из нескольких элементов: компилятора Паскаль, функций для редактирования и работы над текстами и анти-багов. Дополнительные опции перечислены в рабочем окне Object Pascal и нужны для того, чтобы пользователю было легче освоить работу с ними.
У любой программы есть свои сильные и слабые стороны, Object Pascal тому не исключение. Преимущества:
- высокая скорость компиляции;
- возможность использовать вставки на машинно-ориентированном
языке; - простота использования и встроенная обучающая база;
- набор функций, позволяющих ускорить работу с утилитой;
- поддержка нескольких видов программирования: структурного, объектно-ориентированного, и «сверху-вниз».
Недостатки:
- устаревший язык программирования, который редко используется в современной практике;
- наличие фундаментальных ошибок в работе утилиты, которые так и не были устранены.
- Несмотря на преобладание плюсов, Pascal версии Turbo сейчас используется только в обучающих целях, да и то большинство школ уже перешли к преподаванию типа Object.
Все языки группы Паскаль имеют отличительные черты. Их основной особенностью считается четкая структуризация и типизация текстов программ.
Этот язык был первым, в котором была проведена подробная классификация
всех базовых понятий, благодаря чему пользователи делают меньше
ошибок.
Следующая его особенность – простой синтаксис, который позволяет понять текст программы даже тому, кто очень поверхностно знает принцип ее функционирования. Это упрощает процесс обучения и позволяет работать с Turbo Pascal, основываясь на примерах кодов, приведенных во встроенной справочной базе.
Программа, написанная на языке программирования Pascal,
состоит из заголовка, раздела описаний и тела программы (блока
операторов).
Для объявления заголовка необходимо указать слово Program, а затем название самой программы, например:
Program Programma;
Имеется возможность и вовсе не определять заголовок, что не будет являться ошибкой.
Раздел описания употребляется как общее обозначение, а входят в него следующие разделы:
1) Раздел описания модулей:
Uses <имя 1, имя 2, … >;
Для возможности использования многих функций и процедур необходимо подключить модули (или библиотеки), которые могут быть как стандартными, так и пользовательскими.
Пример:
Uses Crt, Graph;
2) Раздел описания меток:
Label <метка 1, метка 2,…>;
При помощи оператора Goto можно изменить ход выполнения программы, а для его работы нужно объявить метки в разделе Label. В качестве меток используются целые числа, либо идентификаторы.
3) Раздел описания констант:
Const <имя 1, имя 2, …> ;
Константе (не изменяющийся величине) можно присвоить значение посредством знака =, который будет отделять его от имени константы,
например:
Соnst
A = 10;
B = 0;
C = ‘C’;
Exit = ‘Exit’;
Char = оrd (‘B’) — ord (‘А’) + 1;
Тип константы зависит от ее значения, и может быть не только
простым, но и выражением, а также использовать некоторые стандартные
функции.
4) Раздел описания типов:
Type
<имя типа 1> = <определение типа 1>;
<имя типа 2> = <определение типа 2>; …
В разделе описания типов создаются пользовательские типы, которые как и стандартные можно использовать при объявлении переменных.
Пример:
type
degrees =1..40;
month=string[30];
var
mart: month;
monday: degrees;
5) Раздел описания переменных:
Var <имя 1, имя 2, …, имя N>: <тип>;
В разделе Var определяются те переменные, которые будут использоваться в программе.
Пример:
Var
A, B, C: Integer;
Number: Char;
Y, N: Boolean;
6) Раздел описания процедур и функций;
Процедуры и функции объявляются после раздела Var и перед телом главной программы. Данная тема требует особого подхода, и поэтому будет рассмотрена в одной из последующих статей.
Также стоит отметить, что разделы описаний, в случае их наличия,
должны располагаться именно в той последовательности, в которой они описаны выше.
Раздел операторов является телом программы и представляет собой составной оператор, начало которого обозначается словом Begin, а конец – End.. Заключенный в нем операторы заканчиваются символом. Без этого раздела программа не имеет ни какого смысла.
В итоге получилась следующая структура программы на Паскаль:
Program <имя программы>; { Заголовок программы }
Uses <имя 1, имя 2, … >; { Раздел описания модулей }
Label <метка 1, метка 2,…>; { Раздел описания меток }
Const <имя 1, имя 2,…>; { Раздел описания констант }
Type { Раздел описания типов }
<имя типа 1> = <определение типа 1>;
<имя типа 2> = <определение типа 2>;
…
Var <имя 1, имя 2,…>: <тип>; { Раздел описания переменных }
{Раздел описания процедур и функций}
Begin { Тело программы }
<операторы>
End.
Комментарии используются для пояснения определенного участка программы, и представляют собой любой текст, заключенный в фигурные скобки {..} или в (*..*). Они не могут включать в себя внутренние комментарии, но возможна конструкция (*..{..}..*). Также стоит отметить, что если после открывающей скобки следует знак $, то этот комментарий воспринимается как директива компилятора.
Не восприимчивость комментариев по отношению к компилятору делает их необязательными в программе, а их наличие лишь служит показателем хорошего тона.
1.2 Работа со строками в Object Pascal
Чтобы обработать строковую информацию, в предусмотрен строковый тип данных Паскаль. Строка в Паскале — это совокупность определенного числа символов (это число определяет длину строки). Представим синтаксис строки Паскаль:
var st:string[n];
var st:string;
где n означает максимально возможную длину строки (целое число от 1 до 255). В случае, когда этот параметр отсутствует, по умолчанию он равен 255. Строковые константы записывают в виде определенной программистом последовательности символов, которую ограничивают апострофами. Возможно также формировать строки, используя:
- запись символов по десятичному коду (т.е. комбинация: «#» + код символа),
- управляющие символы (т.е. комбинация: «^» + некоторые заглавные латинские буквы).
Примеры строк Паскаль:
‘Программа’
#23#45#67
‘pascal’^С^N
Пустой символ Паскаль обозначают двумя идущими подряд апострофами. Если же апостроф используется в строке в качестве литеры, то в процессе записи его удваивают.
Переменные, которые описаны в качестве строковых с разнообразными максимальными длинами, можно присвоить друг другу. Если же короткой переменной присвоить длинную переменную, лишние символы у длинной переменной отбросятся. Всяким строковым переменным можно присвоить выражения с типом char.
Прямой доступ к отдельным символам строки в Паскале определяется следующим образом: i-тый символ строковой переменной stroka записывают в виде stroka[i]. Например, если stroka=’Символ’, то stroka[1] — есть ‘С’, stroka[2] — ‘и’, stroka[3] — ‘м’ и т.д.
В Паскале над строками определена операция конкатенации (слияния строк), которая обозначается символом «+». Например:
a:=’Сегодня’;
b:=’ понедельник’;
c:=a+b;
В результате выполнения операции конкатенации переменной c присваивается значение ‘Сегодня понедельник’. Помимо операции конкатенации в Паскале над строками применяются операции сравнения:
< , > <> = =< =>
Две строки сравнивают справа налево, принимая во внимание коды
символов. В случае, когда одна из строк меньше по длине второй строки, то происходит замена недостающих символов короткой строки символом, имеющим код 0.
1.3 Работа с файлами в Object Pascal
В язык Паскаль выделяются данные файлового типа, которые
служат для работы с информацией, расположенной на внешних устройствах. Эта информация формируется во внешней памяти компьютера, образуя некоторую область, называемую файлом. Файлы имеют имя и представляют собой совокупность однотипных элементов. Обычно они применяются, в
случаях большого объема данных, долгосрочного хранения, либо
необходимости предоставления доступа нескольким приложениям к одной и той же информации.
Файлы принято разделять на физические и логические. Физические файлы имеют имя, и располагаются на съемном носителе, а логические это те переменные файлового типа, которые их представляют в программе.
В Паскале различают следующие три вида файлов (в скобках описаны ключевые слова для инициализации файловой переменной):
- текстовые файлы (text);
- типизированные (file of <тип>);
- бестиповые (file).
Рассмотрим основные операции для работы с файлами.
- Создание файла: Assign(<имя файловой переменной>, <имя
файла>).
Процедура Assign связывает переменную файлового типа с физическим файлом. Например, установить соответствие между переменной Fil и текстовым файлом lot, расположенном на диске D, можно так:
Assign(Fil, ‘D:\lot.txt’)
2. Режим чтения: Reset(<имя файловой переменной>).
Процедура Reset открывает файл в режиме чтения, после чего оператором Read(<файловая переменная>, <считываемый элемент>) можно осуществить последовательное считывание элементов в программу.