С какими типами числовых величин работает паскаль кратко

Обновлено: 06.07.2024

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

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

По способу представления и обработки типы данных бывают:

  • простые
  • структурированные
  • указатели
  • объекты
  • процедуры

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

Целочисленный тип

Сюда входят несколько целочисленных типов, которые различаются диапазоном значений, количеством байт отведённых для их хранения и словом, с помощью которого объявляется тип.

Тип Диапазон Размер в байтах
shortint -128…127 1
integer -32 768…32 767 2
longint -2 147 483 648…2 147 483 647 4
byte 0…255 1
word 0…65 535 2

Объявить целочисленную переменную можно в разделе Var, например:

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

Вещественный тип

В Паскале бывают следующие вещественные типы данных:

Тип Диапазон Память, байт Количество цифр
Real 2.9e-39 … 1.7e38 6 11-12
Single 1.5e-45 … 3.4e38 4 7-8
Double 5.0e-324 …1.7e308 8 15-16
Extended 3.4e-4932 … 1.1e493 10 19-20
Comp -9.2e63 … (9.2e63)-1 8 19-20

Над ними может быть выполнено большее количество операций и функций, чем над целыми. Например, эти функции возвращают вещественный результат:

ln(x) – натуральный логарифм;

sqrt(x) – квадратный корень;

Логический тип

Переменная, имеющая логический тип данных может принимать всего два значения: true (истина) и false (ложь). Здесь истине соответствует значение 1, а ложь тождественная нулю. Объявить булеву переменную можно так:

Над данными этого типа могут выполняться операции сравнения и логические операции: not , and, or, xor.

Символьный тип

Символьный тип данных – это совокупность символов, используемых в том или ином компьютере. Переменная данного типа принимает значение одного из этих символов, занимает в памяти компьютера 1 байт. Слово Char определяет величину данного типа. Существует несколько способов записать символьную переменную (или константу):

  1. как одиночный символ, заключенный в апострофы: ‘W’, ‘V’, ‘п’;
  2. указав код символа, значение которого должно находиться в диапазоне от 0 до 255.
  3. при помощи конструкции ^K, где K – код управляющего символа. Значение K должно быть на 64 больше кода соответствующего управляющего символа.

К величинам символьного типа данных применимы операции отношения и следующие функции:

Succ(x) — возвращает следующий символ;

Pred(x) — возвращает предыдущий символ;

Ord(x) — возвращает значение кода символа;

Chr(x) — возвращает значение символа по его коду;

UpCase(x) — переводит литеры из интервала ‘a’..’z’ в верхний регистр.

Для плодотворной работы с символьным типом рекомендую пользоваться таблицей ASCII.

Строковый тип

Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:

Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.

Перечисляемый тип данных

Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.

Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:

Var A: (Monday, Tuesday);

К данному типу применимы операции отношения, при этом заранее определенно, что Monday = .. ;

После того как построен алгоритм решения задачи, составляется программа на определенном языке программирования.

Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Блеза Паскаля - французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль - швейцарский профессор Никлаус Вирт.

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

Команду алгоритма, записанную на языке программирования, принято называть оператором.

Программа на Паскале близка по своему виду к описанию алгоритма на Алгоритмическом языке. Сравните алгоритм решения уже знакомой вам задачи - деления простых дробей с соответствующей программой на Паскале:

алг Деление дробей
цел a, b, с, d, m, n
нач
ввод а, b, c, d
m:= a x d
n:= b x c
вывод m, n
кон
Program Division;
var a, b, с, d, m, n: integer;
begin
readln (a,b, c,d) ;
m:= a*d;
n:= b*c;
write (m, n)
end.

Структура программы на Паскале

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

Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:

Раздел описания переменных начинается со слова Var (variables - переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа величин: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:

Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.

Раздел операторов - основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:

begin

end.

Операторы ввода, вывода, присваивания

Ввод исходных данных с клавиатуры происходит по оператору read (read - читать) или readln (read line - читать строку):

При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша ( ). Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.

Вывод результатов происходит по оператору write (write - писать) или writeln (write line - писать в строку):

Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.

Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.

Арифметический оператор присваивания на Паскале имеет следующий формат:

Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметических выражениях могут присутствовать функции.

Знаки основных арифметических операций записываются так:

Правила записи арифметических выражений

Запись арифметических выражений на Паскале похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2А), в Паскале этот знак пишется обязательно: 2*А. Например, математическое выражение

на Паскале записывается так:

Это же выражение можно записать иначе:

Здесь использована функция возведения в квадрат - SQR. Аргументы функций всегда пишутся в круглых скобках.

Последовательность выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*) и деление (/). Операции сложения и вычитания - младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):

Круглые скобки в арифметических выражениях влияют на порядок выполнения операций. Как и в математике, в первую очередь выполняются операции в скобках. Если имеются несколько пар вложенных скобок, то сначала выполняются операции в самых внутренних скобках. Например:

Пунктуация Паскаля

Необходимо строгое соблюдение правописания (синтаксиса) программы. В частности, в Паскале однозначно определено назначение знаков пунктуации.

Точка с запятой (;) ставится в конце заголовка программы, в конце раздела описания переменных, является разделителем операторов. Перед словом end точку с запятой можно не ставить.

Запятая (,) является разделителем элементов во всевозможных списках: списке переменных в разделе описания, списке вводимых и выводимых величин.

Строгий синтаксис в языке программирования необходим потому, что компьютер является формальным исполнителем программы. Если, допустим, разделителем в списке переменных должна быть запятая, то любой другой знак будет восприниматься как ошибка. Если точка с запятой является разделителем операторов, то в качестве оператора компьютер воспринимает всю часть текста программы от одной точки с запятой до другой. Если программист забыл поставить ";" между какими-то двумя операторами, то компьютер будет принимать их за один с неизбежной ошибкой.

В программу на Паскале можно вставлять комментарии. Комментарий - это пояснение к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.

Заметим, что в Паскале нет различия между строчными и прописными буквами. Например, для Паскаля тождественны следующие варианты записи: begin, Begin, BEGIN, BeGiN. Использование строчных или прописных букв - дело вкуса программиста.

1. Когда появился язык Паскаль и кто его автор?

2. Как записывается заголовок программы на Паскале?

3. Как записывается раздел описания переменных?

4. С какими типами числовых величин работает Паскаль?

5. Как записываются операторы ввода и вывода в Паскале?

6. Что такое оператор присваивания?

7. Как записываются арифметические выражения?

8. По каким правилам определяется порядок выполнения операций в арифметическом выражении?

9. Какая задача решается по следующей программе?

Program Test;
var А, В, С: integer;
begin
readln(A,B);
С:=(А+В)*(В-А);
writeln(С)
end.

Какой результат будет получен, если в качестве исходных значений А и В ввести соответственно 7 и 8?

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

Язык Турбо Паскаль является классическим языком программирования, широко применяемым в инженерных расчётах. Его изучение позволяет сформировать у студентов особый вид мышления – алгоритмический. Студентам, успешно овладевшим этим языком, не составит особого труда в будущей своей трудовой деятельности применять свои знания и составлять программы не только на языке Паскаль, но и на других языках программирования. Особенно важным является то, что знание языка Паскаль нужно для составления программ в среде Windows при помощи прикладного пакета Delphi, всё более популярного в последнее время.

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

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

1. ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ТУРБО ПАСКАЛЬ

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

  • Как ввести информацию в память (ввод).
  • Как хранить информацию в памяти (данные).
  • Как указать правильные команды для обработки данных (операции).
  • Как передать данные из программы пользователю (вывод).

Необходимо также уметь упорядочивать команды так, чтобы:

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

Таким образом, нужно уметь использовать семь основных элементов программирования – ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы – и на их основе строить программы.

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

Основные файлы пакета Турбо Паскаль:

  • Turbo.exe – интегрированная среда программирования;
  • Turbo.hlp – файл, содержащий данные для оперативной подсказки;
  • Turbo.tp – файл конфигурационной системы;
  • Turbo.tpl – библиотека стандартных модулей Турбо Паскаля.

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

В рабочем окне осуществляется набор текста программы, запуск же происходит следующим образом: выход в меню, выбор пункта Run – Run.

Для того чтобы сохранить программу, необходимо: выйти в меню, выбрать File – Save (Save as …), в появившемся окне ввести имя файла и нажать клавишу Enter.

Выход из системы программирования: выход в меню, пункт File – Exit.

1.1. Алфавит и словарь языка Паскаль

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

Алфавит Паскаля составляют:

  • прописные и строчные буквы латинского алфавита:

A, B, C…Y, Z, a, b, c…y, z;

  • десятичные цифры: 0, 1, 2…9;
  • специальные символы:

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями. Ими могут быть пробел, комментарий или символ конца строки. Словарь Паскаля можно разделить на три группы слов: зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова (см. табл. 1.1) имеют фиксированное написание и навсегда определенный смысл. Они не могут изменяться программистом, и их нельзя использовать в качестве имен для обозначения величин.

Идентификатор – имя (identification – установление соответствия объекта некоторому набору символов). Для обозначения определенных разработчиками языка функций, констант и т. д. служат стандартные идентификаторы, например, Sqr, Sqrt и т. д. В этом примере Sqr вызывает функцию, которая возводит в квадрат данное число, а Sqrt – корень квадратный из заданного числа. Пользователь может переопределить любой стандартный идентификатор, но чаще всего это приводит к ошибкам, поэтому на практике их используют без изменения. Идентификаторы пользователя – это те имена, которые дает сам программист. При записи программ нужно соблюдать общие правила написания идентификаторов:

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

Описание числовых типов данных (целые) Паскаля

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

Числовые типы данных (ЦЕЛЫЕ ТИПЫ) Паскаля

Название числового типа данных Длина, байт числового типа данных Диапазон значений числового типа данных
Byte 0..255
ShortInt -128..+127
Word 0..65535
Integer -32768..+32767
LongInt -2 147 483 648..+2 147 483 647
QWord 0..18 446 744 073 709 551 615

С целыми числовыми типами данных Паскаля можно выполнять следующие операции:

Название числового типа данных Длина числового типа данных, байт Кол-во значащих цифр Диапазон десятичного порядка
Single 7..8 -45..+38
Real 11..12 -39..+38
Double 15..16 -324..+308
Extended 19..20 -4951..+4932
Comp 19 . .20 -2*1063 +1..+2*1063 -1

При описании вещественной переменной типа real в памяти компьютера будет создана переменная размерностью 4 байта. При этом 3 байта будут отданы под мантиссу, а один – под порядок.

Над действительными числовыми типами данных можно выполнять следующие операции:

Вопрос№13.

Числовые константы

*Десятичные - представляются в виде последовательности цифр("0". "9");

*Шестнадцатеричный - представляются в виде последовательности шестнадцатеричных "цифр" - к десятичным цифрам добавляются латинские буквы от "А" до "F", регистр не имеет значения - предваряемой символом "$"

*Восьмеричные - представляются в виде последовательности цифр от "0" до "7", предваряемой символом "&".

*Двоичные - последовательность двоичных цифр - "0" и "1" - предваряемая символом "%".

-Со знаком - представляют собой беззнаковую константу, предваряемую символом "+" или "-".

-Обычное представление - " . ". знак и дробная часть - необязательны.

-"Научное представление - запись состоит из 2х частей: мантиссы, представляющей собой вещественное число в обычном представлении, и порядка, представляющего собой десятичное целое со знаком. Части разделяются латинской буквой "Е" ( регистр не имеет значения)

Вопрос№14.Арифметические операции

При выполнении арифм.операций соблюдаются правила. Все знаки проставляются между символами, 2 знака не могут следовать один за другим. Соблюдается иерархия арифм.знаков в операциях, изменить иерархию можно с помощью скобок. Кроме четырех обычных операций сложения, вычитания, умножения и деления в языке FP предусмотрены целочисленное деление и нахождение остатка от деления. Результат всех операций над целочисленными операндами a и b,за исключением операции деления явл. Целочисленными. Деление всегда дает вещественный результат. Этим Pascal отличается от многих алгоритмич.языков

Вопрос№15. Работа с вещественными числами

Для представления вещественных чисел можно использовать следующие типы данных: Real, Double, Single, Comp, Extended, более подробное описание приведено в таблице 2.2.

Таблица 2.2. Список вещественных типов данных

Тип Размер Множество значений
Real 8 байт -5.0∙10 324 ..1.7∙10 308
Single 4 байта -1.5∙10 45 ..3.4∙10 38
Double 8 байт -5.0∙10 324 ..1.7∙10 308
Comp 8 байт -2∙10 63 +..2∙10 63 -1
Extended 10 байт -3.6∙10 4951 ..1.1∙10 4932

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

В языке Free Pascal предусмотрены арифметические операции над вещественными числами: сложение (a+b), вычитание (a-b), умножение(a*b), деление (a/b).

Над вещественными числами в языке Паскаль определены следующие арифметические операции:

  • сложение ( + );
  • вычитание ( — );
  • умножение ( * );
  • деление ( / );

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

  • равенство ( = );
  • неравенство ( <> );
  • меньше ( );
  • меньше или равно ( = );

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

abs(x) — возвращает модуль x, результат вещественного типа;

chr(x) — возвращает символ, ASCII код которого равен x.

sqr(x) — возвращает квадрат числа x, результат вещественного типа.

sqrt(x) — возвращает квадратный корень из числа x, результат вещественного типа.

exp(x) — возврашает e в степени x (экспоненту), результат вещественного типа.

sin(x) — возврашает синус x, результат вещественного типа.

cos(x) — возврашает косинус x, результат вещественного типа.

ln(x) — возврашает натуральный логарифм числа x, результат вещественного типа.

arctan(x) — возврашает арктангенс x, результат вещественного типа.

trunc(x) — преобразует вещественный аргумент x в целое число путем отбрасывания дробной части.

round(x) — преобразует вещественный аргумент x в целое число путем округления до ближайшего целого.

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

var
summa: single;
root1, root2: double;

Вопрос№16.Данные логического типа

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

Реализация

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

Доступные операции

К этому типу данных применимы следующие операции:

  • И (логическое умножение) (AND, &, *),
  • ИЛИ (логическое сложение) (OR, |, +),
  • исключающее ИЛИ (умножение с переносом) (xor, NEQV, ^),
  • эквивалентность (равенство) (EQV, =, ==)
  • инверсия (NOT, ~, !)
  • сравнение (>, =)

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

Применение

Все операции сравнения двух величин (равно, больше, меньше), операции вхождения элемента в множество и проверка на пересечение множеств возвращают в качестве результата булев тип.

Pascal

Описание переменных

Операции

Арифметических нет. Допустимы следующие логические операции: Not, And, Or, Xor и операции отношения =, <> Допустимые функции: Ord, Pred, Succ

var A, B: Byte; C, D, E, F: Boolean;begin A := Ord(False); B := Ord(True); C := Pred(False); D := Pred(True); E := Succ(False); F := Succ(True); end.

Вопрос№17.

Историческое сочинение по периоду истории с 1019-1054 г.: Все эти процессы связаны с деятельностью таких личностей, как.

Экономика как подсистема общества: Может ли общество развиваться без экономики? Как побороть бедность и добиться.

Читайте также: