Файл: Основы программирования на языке Pascal (Типы данных языка программирования Pascal).pdf
Добавлен: 31.03.2023
Просмотров: 65
Скачиваний: 1
СОДЕРЖАНИЕ
1 ЯЗЫК ПРОГРАММИРОВАНИЯ PASCALABC
1.1 Развитие языков программирования
1.2 Язык программирования Pascal
1.3 Структура программы на языке программирования Pascal
1.4 Типы данных языка программирования Pascal
2 ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ PASCAL
2.1 Алгоритмическая структура следование и ее реализация
2.2 Алгоритмическая структура ветвление и ее реализация
2.3 Алгоритмическая структура повторение и ее реализация
3 РАЗРАБОТКА ПРОГРАММЫ НА PASCALABC
3.1 Структурное программирование
1 ЯЗЫК ПРОГРАММИРОВАНИЯ PASCALABC
1.1 Развитие языков программирования
В середине двадцатого века были изобретены электронно-вычислительные машины, которые очень быстро стали основными устройствами обработки информации. Благодаря тому, что компьютеры показали себя очень эффективными машинами, автоматизирующими информационные процессы, конструкторы и ученые постоянно их развивают.[4]
Современный компьютер представляет собой устройство, управляемое программно.
Первый компьютер ENIAC, сконструированный в США в 1946 году, был совсем не похож на современные компьютеры. Он весил около 30 тонн, занимал зал огромной площади и был оборудован специальной системой охлаждения, так как был построен на вакуумных радиолампах (почти 18000 штук), которые постоянно нагревались. Первый компьютер представлен на рисунке 1.
Рисунок 1 – Первый компьютер ENIAC
На рисунке видны многочисленные провода, соединенные с соответствующими клеммами. Именно так ENIAC получал программу – при помощи определенной последовательности соединения проводов. Кроме этого ENIAC имел ряд и других недостатков. [13]
На основе анализа эксплуатации и принципов работы первого компьютера группой ученых под руководством фон Неймана были внесены предложения по улучшению конструкции электронно-вычислительных машин, а также была представлена новая архитектура компьютеров. Архитектура фон Неймана представлена на рисунке 2.
Рисунок 2 – Архитектура фон Неймана
Среди предложенных идей был озвучен принцип программного управления работой компьютера, принцип хранения в памяти данных в унифицированной форме – переменные и команды должны храниться в одной и той же области памяти, принцип двоичного кодирования.
При разработке новых компьютеров эти принципы были реализованы, и все компьютеры начали управляться при помощи программ, записанных и хранящихся во внешней памяти. Для выполнения программа помещается в оперативную память.
Для разработки программ используются специальные формальные языки – языки программирования.
Первые программы разрабатывали на машинном языке. Машинный язык – это машинные команды (команды конкретной модели процессора), записанные в двоичных кодах. Иногда для компактности записи двоичные коды заменялись шестнадцатеричными. Для ввода программы использовали перфокарты и перфоленты. Перфокарта с программой представлена на рисунке 3.
Рисунок 3 – Перфокарта с программой
Программирование в машинных кодах имело как свои достоинства, так и недостатки. К достоинствам можно отнести высокую скорость выполнения программы, возможность прямого доступа ко всем узлам компьютера, в том числе и к памяти.
К недостаткам относят высокую сложность программирования в машинных кодах, которое обязывает разработчика досконально знать команды конкретного процессора. Кроме того, программа разрабатывается под конкретный процессор, поэтому ее нельзя без изменений перенести на другую платформу.[17]
Первый недостаток был разрешен достаточно быстро – машинные коды были заменены языками ассемблера – вместо двоичных команд начали писать их мнемонические коды. Программировать стало немного проще, но суть от этого не поменялось. Программа на ассемблере дает такой же низкий доступ к ресурсам компьютера, как и программа на машинном коде. Но выполняется она несколько медленнее, чем машинный код.
Дальнейшее развитие языков программирования привело к появлению языков программирования высокого уровня, на которых сегодня разрабатываются практически все программные продукты.[19]
Языки программирования отличаются высоким уровнем абстракции. Программа, разработанная на любом из языков программирования высокого уровня, будет работать на любом компьютере, если на нем установлена специальная программа – транслятор. Транслятор нужен для перевода программы с языка высокого уровня в машинные коды, так как только их на самом деле «понимает» компьютер. Этапы формирования исполняемого кода из исходного представлены на рисунке 4.
Рисунок 4 – Этапы формирования исполняемого кода
Программы на языках программирования высокого не дают такого низкого доступа к ресурсам компьютера, как машинные коды, но при необходимости в высокоуровневую программу можно добавить вставку машинного кода или ассемблера.[8]
Сегодня программисты могут выбирать из большого количества современных языков программирования, поддерживающих различные концепции программирования, как по отдельности, так и комплексно.
Классификация языков программирования представлена на рисунке 5.
Рисунок 5 – Классификация языков программирования
1.2 Язык программирования Pascal
Для изучения в курсовой работе выбран язык программирования Pascal, версия PascalABC.
Язык программирования Pascal был разработан в конце шестидесятых годов двадцатого века швейцарским ученым, преподавателем колледжа Никлаусом Виртом (рисунок 6).
Рисунок 6 – Никлаус Вирт
Язык был разработан с целью упрощения процесса обучения студентов программированию. В первые же годы своего использования Pascal быстро распространился среди профессиональных разработчиков программного обеспечения, так как при наличии развитых возможностей и богатого набора мощных инструментов и функций был логически строен и прост в изучении.
Язык программирования Pascal развивается, сегодня существует много версий этого языка – Turbo Pascal, Free Pascal, PascalABC, Delphi, Lazarus и много других. Для изучения выбрана версия PascalABC, так как она отвечает всем современным требования программирования, поддерживает структурное и объектно-ориентированное программирование, реализован на платформе .NET и позволяет использовать все ее возможности. Кроме того, удобной является поддержка русскоязычных имен переменных, программ и файлов.[1]
1.3 Структура программы на языке программирования Pascal
Программа на языке программирования Pascal, независимо от версии, имеет устоявшуюся классическую структуру, которая выстроена очень логично и прозрачно. Структура программы на языке программирования Pascal представлена на рисунке 7.
Рисунок 7 – Структура программы на языке программирования Pascal
Язык программирования Pascal – строго типизированный язык программирования высокого уровня, что означает, что все использующиеся в программе объекты – переменные, константы, подпрограммы должны быть описаны до своего первого использования в программе. В Pascal переменные используют для описания переменных (то есть указания их типа) раздел описаний. В версии PascalABC внесены некоторые изменения – например, внутриблоковое описание переменных в операторе цикла.[10]
Единственной обязательной структурной единицей программы является операторный блок, но обычно присутствуют и другие блоки.
1.4 Типы данных языка программирования Pascal
Основой любого языка программирования высокого уровня являются типы данных, которыми может манипулировать программа при выполнении. В этом отношении Pascal предоставляет пользователю большой выбор. Корме стандартных типов данных, как простых. так и структурных, у разработчика есть возможность создавать собственные типы данных, предназначенные для использования в решении каких-либо задач.[6]
Классификация типов данных языка программирования Pascal представлена на рисунке 8.
Рисунок 8 – Типы данных языка программирования Pascal
При необходимости создания пользовательского типа данных это можно сделать в разделе описаний:
type day=(понедельник, вторник, среда, четверг, пятница, суббота, воскресенье);
Такая разветвленная система типов позволяет разрабатывать программы любого уровня сложности.
2 ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ PASCAL
Язык программирования Pascal является алгоритмическим языком программирования. В теории алгоритмов доказано, что любая программа может быть представлена как комбинация трех базовых типов алгоритмических структур:
- следование (реализация – линейный алгоритм);
- ветвление (реализация – разветвляющийся алгоритм);
- повторение (реализация – циклический алгоритм).[15]
2.1 Алгоритмическая структура следование и ее реализация
Алгоритмическая структура следование представляет собой последовательность действий, выполняющихся одно за другим в линейной последовательности – действие, раньше описанное, раньше и выполняется.[2]
Блок-схема линейного алгоритма представлена на рисунке 9.
Рисунок 9 – Линейный алгоритм
В языке программирования PascalABC для реализации линейного алгоритма используются следующие базовые операторы:
- оператор ввода информации;
- оператор вывода информации;
- оператор присваивания.
Оператор ввода информации используют для того, чтобы присвоить переменным значения, введенные с клавиатуры.[11]
Реализация оператора ввода информации в PascalABC:
read (<список ввода>);
или
readln (<список ввода>);
Список вывода – перечисленные через запятую имена переменных, значения для которых будут вводиться с клавиатуры. Введенные значения будут присваиваться переменным в том порядке, в котором они перечислены в списке ввода, поэтому важно, чтобы типы вводимых значений точно соответствовали типам указанных переменных. Для того чтобы не возникало недоразумений, лучше вводить каждую переменную отдельным оператором.
Язык программирования PascalABC дополнен оператором, который позволяет одновременно с вводом стандартных типов языка Pascal добавлять комментарий – в этом случае количество недоразумений и ошибок при вводе данных будет минимизировано.
Синтаксис оператора:
a:=ReadlnReal (‘a = ‘);
n:=ReadInteger(‘ Введите количество испытаний);
В случае использования такой форма ввода после служебного слова Read (Readln) без пробела указывается стандартный тип данных, соответствующий типу вводимых данных.[7]
Формы read и readln отличаются тем, что в первом случае после ввода переменной курсор остается на строке ввода, а во втором случае курсор переводится на следующую строку.
Оператор вывода информации предназначен для обеспечения пользователю обратной связи от компьютера – вывода результатов обработки информации, комментариев и так далее.
Реализация оператора вывода информации в PascalABC:
write (<список вывода>);
или
writeln (<список вывода>);
Список ввода представляет собой перечисленные через запятую элементы списка вывода.
Элементами списка вывода могут служить:
- имена переменных (в этом случае будет выведено значение переменной);
- текстовые константы (выводится содержание константы без внесения изменений);
- выражения с использованием имен переменных, знаков операций и функций языка программирования Pascal (выводится значение выражений, которое сначала вычисляется).
Оператор присваивания используется для присвоения переменной конкретного значения.
Реализация оператора присваивания информации в PascalABC:
k := ‘ноябрь’;
m := 12.342;
s := s+1;
В результате переменной, указанной в левой части, присваивается значение, указанное в правой части.
При использовании оператора присваивания надо также внимательно следить за тем, чтобы типы переменных совпадали.