Какие символы можно использовать при записи программы на языке паскаль г

До сих пор наши программы работали только с числами. Но многим программам надо работать с текстовыми данными. Для этого есть два основных объекта — символы и строки.

Символьный тип данных (паскаль)

Для хранения отдельных символов (букв, цифр, всяких знаков препинания и т.п.) в паскале есть тип данных char :

var ch:char;
— объявляет переменную, в которой можно хранить символ.

В такую переменную можно записать любой символ конструкциями следующего вида:

ch:=’a’; ch:=’$’;

Здесь в правой части присваивания так называемые символьные константы, т.е. нужные символы, заключенные в апострофы. Здесь первая команда записывает в переменную ch символ «a», вторая — символ «доллар».

Кроме того, символы можно вводить и выводить привычными конструкциями:

read(ch); write(ch); // не переводя строку writeln(ch); // с переводом строки

Символьный тип данных (питон)

В питоне, чтобы сохранить символ в переменной, надо просто написать

ch = «a» ch = «$»

При этом можно использовать как символы кавычек («), так и символы апострофов (‘), это не имеет значения. Главное, чтобы они были согласованы.

Уроки на языке Pascal. Урок 15. Записи

Вводить символы можно обычной командой input() :

ch = input()

(именно прямо так)

выводить — обычным print :

print(ch)

(На самом деле, в питоне нет отдельного «типа» для символов, символ в питоне — это просто строка длины 1, про строки см. ниже. Но часто удобно думать про символы отдельно от строк.)

Коды символов (общее и для паскаля, и для питона)

На самом деле, конечно, в памяти компьютера хранятся не символы (т.е. если мы написали ch:=’$’; (паскаль) или ch=»$» (питон), то нигде в памяти не будет нарисован доллар). Компьютер умеет работать только с числами, и вместо символов он хранит тоже числа.

Есть общепринятая договоренность, которая каждому числу от 0 до 255 ставит в соответствие некоторый символ. Точнее, таких договоренностей есть несколько, они называется кодировки, но для латинских букв, цифр и частоупотребимых символов типа того же доллара, запятой или плюса, во всех кодировках соответствующие числа одинаковы. Для русских букв это не так: в разных кодировках им соответствуют разные числа, но это отдельная тема.

Эта общепринятая сейчас кодировка для латинских букв, цифр и частоупотребимых символов называется ASCII, иногда говорят таблица ASCII. Полностью эту таблицу (точнее, символы от 0 до 127 — эта часть собственно и называется ASCII; символы с номерами от 128 до 255 строго говоря не считаются ASCII, там как раз в разных вариантах русские буквы и т.п.) можно посмотреть, например, здесь. Здесь колонка Decimal — это номер символа, колонка Hex — номер символа, но в 16-ричной системе счисления (для тех, кто знает, что это такое, остальные игнорируйте колонку Hex), колонка Char — собственно сам символ. Пояснения: символы с номерами (кодами) до 31 включительно — это так называемые управляющие символы, они нам пока не очень интересны (равно как и символ 127); символ 32 — это пробел (в таблице написано SPACE). Остальные символы вроде понятны.

Программирование линейных алгоритмов на языке Паскаль в PascalABC NET

Например, символ доллар имеет номер (говорят код) 36, а символ N — 78.

Обратите внимание, что все цифры идут подряд, все заглавные буквы идут подряд, и все маленькие буквы идут подряд. Это нам будет очень полезно. (Для русских букв это выполняется не всегда.)

Что в паскале, что в питоне узнать код символа можно операцией ord , а узнать символ по коду можно операцией chr . Например:

var i:integer; ch:char; begin read(ch); // считали символ. writeln(ord(ch)); // и вывели его код i:=ord(‘$’); // записали в i код доллара writeln(i); read(i); // считали код writeln(chr(i)); // и вывели соответствующий символ ch:=chr(ord(‘$’) + 1); writeln(ch); // вывели символ, следующий за долларом end.
ch = input() # считали символ. print(ord(ch)) # и вывели его код i = ord(‘$’) # записали в i код доллара print(i) i = int(input()) # считали код print(chr(i)); # и вывели соответствующий символ ch=chr(ord(‘$’) + 1) print(ch) # вывели символ, следующий за долларом

В большинстве случаев точное знание кодов символов вам не надо — вы всегда можете что надо вычислить через ord. Например, если мы знаем, что в переменной ch у нас цифра (т.е. символ, соответствующий цифре) — как в переменную i записать значение этой цифры (т.е. 0, 1, 2, . или 9)? Т.е. как перевести цифру-символ в число?

Читайте также:
Как через программу artmoney

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

i:=ord(ch)-ord(‘0’); // паскаль i = ord(ch) — ord(‘0’) # питон

Обратите внимание: нам не надо знать, что код нуля — 48. Мы прямо пишем ord(‘0’), а не 48, компьютер сам вычислит код нуля за нас!

Сравнения символов (и паскаль, и питон)

if ch1=ch2 then // если два символа совпадают. . if ch1>ch2 then // если код первого символа больше кода второго .
if ch1 == ch2: # если два символа совпадают. . if ch1>ch2: # если код первого символа больше кода второго .

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

if (ch>=’0′) and (ch<=’9′) then. // паскаль if ch>=’0′ and ch

Массивы и циклы (паскаль)

Массивы можно индексировать символами:

var a:array[‘a’..’z’] of integer; . a[‘d’]:=10;

Кроме того, можно делать циклы по символам:

var ch:char; . for ch:=’a’ to ‘z’ do begin.

В обоих случаях порядок символов подразумевается по их кодам. Например, я могу сделать массив a:array[‘A’..’z’] of integer; — здесь будет по элементу для каждого символа с кодами от A до z.

Массивы и циклы (питон)

В питоне нельзя так просто, как в паскале, индексировать массивы символами и делать циклы по символам. Если вам надо сделать массив, в элементах которого хранить что-то, связанное с цифрами, то надо переходить к кодам:

a = [0] * 256 # у нас всего 256 символов a[ord(‘d’)] = 10 # в элемент, соответствующий d, записали 10 . for x in range(ord(‘a’), ord(‘z’)+1): ch = chr(x) print(ch) # выводим все символы от a до z

Но вообще это продвинутая тема, сейчас пока вам не особо нужная.

Строки

Строка — это последовательность символов. Поэтому представляется естественным использовать для хранения строк массив символов:

// паскаль: var s:array[1..1000] of char; // строка не длиннее 1000 символов . // питон: s = [«T», «e», «s», «t»]

В паскале есть специальный тип данных для строк — string :

var s:string;

В питоне, чтобы записать строку в переменную, надо просто записать строку в переменную:

s = «Test»

Что в питоне, что в паскале, строка — это массив, каждым элементом которого является символ, но это не просто массив, а массив с дополнительными функциями.

Во-первых, вам не надо думать про длину строки. Паскаль и питон автоматически сами выделят под строку сколько надо памяти.

Состав языка программирования Паскаль

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

Алфавит и лексемы

Любой текст пишется с помощью алфавита языка. В состав алфавита Паскаля входят:

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

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

Лексемы в языках программирования аналогичны словам в естественных языках. Лексемы являются «строительным материалом для операторов и выражений. Рассмотрим более подробно перечисленные виды лексем.

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

К объектам программы обращаются по именам (идентификаторам) . При формировании имен в языке программирования Паскаль (Pascal) действуют следующие правила:

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

Ключевые слова (часто используется также термин «зарезервированные») – это идентификаторы, которые имеют специальное значение в языке Паскаль (например, write — ключевое слово, определенное для оператора вывода).

Знак операции – это определенная последовательность символов, определяющая действие над операндами. Знак операции не может содержать пробелов (например, div – обозначение операции целочисленного деления). Различают бинарные (с правым и левым операндами, например: a + b ) и унарные (с правым или левым операндом, например: -х ) операции.

Источник: informatics-lesson.ru

Основные элементы языка Паскаль

Любой язык, в том числе и язык программирования, подчиняется ряду правил. Их принято разделять на правила, определяющие синтаксис языка и правила, определяющие его семантику.

Синтаксис языка – совокупность правил, определяющих допустимые конструкции (слова, предложения) языка, его форму.

Читайте также:
На какой номер нужно отправить слово пульс чтобы получить электронную карту программы

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

Краткое описание основных элементов программирования.

Ввод означает считывание значений, поступающих с клавиатуры, с диска или из порта ввода-вывода.

Данные – это константы, переменные и структуры, содержащие числа (целые и вещественные), текст (символы и строки) или адреса (переменных и структур).

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

Вывод означает запись информации на экран, на диск или в порт ввода-вывода.

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

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

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

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

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

Алфавит языка Паскаль включает:

· прописные и строчные буквы латинского алфавита (A-Z, a-z);

· арабские цифры (0-9);

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

Идентификаторы

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

Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы, например: integer, sin, cos, ln, sqr и т.д.

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

При записи программ следует соблюдать общие правила написания идентификаторов:

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

2. Идентификатор может состоять из букв, цифр и знака подчеркивания (пробел, точки и другие специальные символы при написании идентификаторов недопустимы).

3. Между двумя идентификаторами должен быть по крайней мере один пробел.

4. Максимальная длина идентификатора 127 символов, но значимы только первые 63 символа.

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

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

Правильно Неправильно
А 1 Program
ALPHA block#1
date_27_sep My program
_beta mod

Константы и переменные

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

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

Переменными называют величины, которые могут менять свои значения в процессе выполнения программы. Структура программы

Блок состоит из следующих разделов:

раздел объявления используемых модулей USES Uses crt, graph;
раздел объявления меток LABEL Label 0, 10, 999, lab1
раздел объявления именованных констант CONST Const strok=10; n=6; flag=true
раздел объявления типов TYPE Type winter=(January, February, March); m=array[1..n,1..m] of real;
раздел объявления переменных VAR Var Mas1,mas2:M; i,j,k:integer;
раздел объявления процедур и функций PROCEDURE FUNCTION
раздел операторов BEGIN…END.
Читайте также:
Receivenoticesendconfirmation не поддерживается в текущей версии программы 1с

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

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

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

Типы данных

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

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

На рис.1 показана классификация типов данных.

Простые типы данных

К скалярным (scalar – простые) типам данных относят типы данных таких величин, значения которых не содержат составных частей.

Целый тип данных

Целый тип присваивается данным (переменным и константам), которые во время работы программы могут принимать лишь целочисленные значения. Таблица 1

Целочисленные типы данных

Название Обозначение Диапазон значений Требуемая память (байт)
Целое Integer -32768..32767 2
Короткое целое ShorInt -128..127 1
Длинное целое longInt -2 31 ..2 31 -1 4
Байт Byte 0..255 1
Слово Word 0..65535 2

Пример. var x1, x2: byte; y1: word;

Вещественные типы данных

Вещественные типы используют для представления чисел, содержащих дробную часть. Таблица 2

Название Обозначение Количество десятичных значащих цифр Диапазон изменения порядка Длина внутреннего представления, байт
Вещественный Real 11. 12 -39..+38 6
Одинарной точности Single 7..8 -45..+38 4
Двойной точности Double 15..16 +324..+308 8
Расширенный Extended 19..20 -4951..4932 10
«Большое целое» Comp 19..20 -2 63 +1..2 63 -1 8

Пример. var x1, x2: real; y1: single; Символьный (литерный) тип

Данные символьного типа представляют собой символы раскладки ASCII. Переменная или константа символьного типа занимает 1 байт памяти. В соответствии с синтаксисом языка значение символа заключается в одинарные кавычки: ‘P’, ‘a’, ‘s’, “l’.

Пример. var x1, x2: char; y1: char; Перечисляемый тип

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

Пример. var color=(red, green, blue); operator=(plus, minus, divide);

Интервальный тип (диапазон)

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

Пример. var days=1..31;

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

const min=1; max=31; var days=min..max; Логический тип

Логическим (булевским) типом называют тип данных, представляемый двумя значениями: True (истина) и False (ложь). Он широко применяется в логических выражениях и выражениях отношения. При описании величин этого типа указывают слово boolean. Для размещения в памяти переменной логического типа требуется 1 байт.

Пример. var x1, x2: boolean; Выражения

Конструкция языка, задающая порядок выполнения действий над элементами данных, называется выражением. Выражение состоит из операндов – величин и выражений, над которыми производится операция (константы и переменные всех типов, обращения к функциям); круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (X+Y-10) X, Y и 10 – операнды; а “+”, “-“ – знаки операций сложения и вычитания.

Тип выражения зависит от типа операндов и вида примененных операций. Порядок выполнения операций в выражении определяется согласно следующему приоритету:

1) унарные: унарный +, унарный -, Not;

2) мультипликативные: *, /, And, Div, Mod;

3) аддитивные: +, -, Or;

4) операции отношения: , =, =, <>, In.

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

Дата добавления: 2018-08-06 ; просмотров: 1249 ; Мы поможем в написании вашей работы!

Источник: studopedia.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru