Под символами мы понимаем буквы и все те значки, которые вы видите на клавиатуре. В Паскале переменные для хранения символов имеют тип Char .
За каждым символом закреплен свой числовой код. Все коды сведены в таблицу.
Кодовая таблица ASCII ( http://foxtools.ru/ASCII#1251)
Обычно для хранения символов используют код, называемый ASCII (американский стандартный код обмена информацией).
Таблица 3.1. Фрагмент таблицы ASCII (таблица кодов символов)
В компьютере коды записаны в двоичном виде.
На каждый код выделено 8 бит, то есть 1 байт.
Получаем 28 = 256 двоичных кодов.
Всего в таблице ASCII 256 кодов: наименьшее значение кода 00000000, наибольшее —11111111 (это 255 в двоичном виде).
Значения символьным величинам задаются:
командой присваивания ( s :=’ e ’;) и записывается в апострофах;
вводом с клавиатуры (read (s); readln(a,b);).
При вводе с клавиатуры апострофы не ставятся, т.е. они не являются элементами величины .
Программирование на языке Pascal — Урок 1
Функции для обработки символьной информации:
Ord ( w ) — дает порядковый номер (код) символа, который содержит переменная w ,
Chr ( i ) — определяет символ с порядковым номером (кодом) i .
Функции Ord и Chr обратные по отношению друг к другу.
Pred ( q ) – предыдущий символ, по отношению к символу, который содержит переменная q.
Succ ( q ) – следующий символ , по отношению к символу, который содержит переменная q.
Операции с символами
Отношение порядка на множестве символов по зволяет выполнять операции сравнения. Из двух символов меньше тот, который встречается раньше в кодировке ASCII .
Склеивание (сцепление символов)
Пример 1. Демонстрация стандартных функций для работы с типом Char.
Program pr1 ;
var
N : Integer ;
X : Char ;
begin
X :=’ L ‘; < В символьную переменную X записали символ ‘ L’ >
writeln(X);
N:=0rd (X); < Функция Ord, возвращает код символа.
занесенного в переменную X, то есть код буквы ‘L’ >
writeln(N);
X: =’ А’;
writeln(X);
X:=Chr (N); < Функция Chr возвращает символ
по заданному коду. Сейчас в переменной X оказался символ ‘ L’ — именно его код мы только что записали в переменную N >
writeln(X);
end.
При выполнении программа выведет на экран следующее:
Пример 2. Ввод символов с клавиатуры
Program pr2;
var
X,Y: Char;
begin
writeln(‘Введите несколько символов:’);
readln(X);
writeln(X);
writeln(‘Введите еще несколько символов:’);
readln(X,Y);
writeln(X,Y);
end.
Запустив программу на выполнение, введите с клавиатуры последовательность символов (например, ABC) и нажмите Enter. Программа выведет единственный символ: А
В ответ на второе предложение введите с клавиатуры CAT. На экране получим следующее:
СА
ЗАМЕЧАНИЕ
Переменная типа Char принимает только один символ из введенной строки. При вводе символы не заключаются в апострофы. Таким образом, в первом случае из введенных символов запомнился только один, во втором — два.
Язык программирования Pascal. Урок 5. Символьные строки (Смирнов В.Е)
Можно определять и символьные константы:
const Leto=’X’;
Тип Char — порядковый тип!
В таблице кодов вы могли заметить такую закономерность:
‘0’
Таким образом, для каждого элемента типа Char всегда есть предшествующий и последующий элементы.
Такой тип данных называется порядковым.
Тип Char — порядковый тип.
Тип Integer также является порядковым.
Пример 3. Стандартные функции, применяемые к порядковому типу.
Program pr3;
var
Х1,Х2,ХЗ,Х4: Char;
begin
X1: =’L’;
writeln(Xl) ;
X2:=Pred (X1);
writeln(‘Pred=’,X2);
X3:=Succ (X1);
writeln(‘Succ=’,ХЗ);
end.
При выполнении программа выведет на экран следующее:
L
Pred=K
Succ=M
Задание 1. Известно, что коды прописных (заглавных) букв латинского алфавита следуют в таблице непрерывно друг за другом. Коды строчных букв латиницы также следуют непрерывно друг за другом на расстоянии 32 символов от прописных (ниже по таблице).
Если ord(‘A’) = 65, то ord(‘A’)+32 = 97, и это код строчной буквы «а», то есть chr(ord(‘A’)+32) = ‘а’.
Напишите программу, в которой вы вводите прописную букву (только латиницу!), а получаете ее строчной эквивалент, и наоборот, по строчной букве получаете соответствующую прописную.
ЗАМЕЧАНИЕ
С русскими символами такого порядка нет из-за особенностей организации кодовой таблицы. В частности, строчные буквы в таблице следуют не подряд, а с разрывом в середине алфавита.
Экспериментальный раздел
В следующем примере подсчитывается количество символов, введенных с клавиатуры. Ввод заканчивается символом ‘.’ Вы вводите несколько символов, затем точку и нажимаете клавишу Enter . Программа выдает правильный результат. А если нажимать клавишу Enter после ввода каждого символа? Резу льтат неверный, он как будто бы в три раза превышает истин ный результат.
На самом деле все верно. Нажатие клавиши Еп ter генерирует ввод еще двух символов (управляющих) — возврата каретки (код 13) и перевода строки (код 10).
Program pr4;
Var i :Char;
j:Integer;
Begin
Read(i); j:=0;
While i<> ‘.’ Do
Begin
Inc (j ) ;
Read (i) ;
End;
WriteLn ( j ) ;
End .
Другая версия этой простой программы позволяет отказаться от символа точка как признака конца ввода данных. Символ # перед целым числом говорит о том, что это число следует рассматривать как ASCII код символа.
Источник: pinskolimp.blogspot.com
Общие сведения о языке программирования Паскаль. Алфавит и словарь языка. Типы данных
XXI век – это век высоких технологий. Очень быстро развивается техника. Год за годом появляются всё новые и новые изобретения, которые влияют на нашу жизнь. Но развитие такой техники немыслимо без программирования. Итак, в этом уроке рассказывается о том, что такое языки программирования, программы, алфавит и словарь языкаPascal, а также какие существуют типы данных.
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.
Получите невероятные возможности
1. Откройте доступ ко всем видеоурокам комплекта.
2. Раздавайте видеоуроки в личные кабинеты ученикам.
3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ
Конспект урока «Общие сведения о языке программирования Паскаль. Алфавит и словарь языка. Типы данных»
Двадцать первый век – это век высоких технологий. Очень быстро развивается техника. Мы уже с вами привыкли, что год за годом появляются всё новые и новые изобретения, которые влияют на нашу жизнь. В частности, это касается появления новых моделей компьютеров, телефонов, планшетов и много другого.
Сейчас человек не может себя представить без компьютера или телефона.
Язык Pascal. Основные команды и функции
ОПЕРАТОР ПРИСВАИВАНИЯ Присваивание – это запись в участок памяти компьютера, отведенной для значения величины
Присваивание – это запись в участок памяти компьютера, отведенной для значения величины M, тех данных, которые хранятся в другом участке памяти компьютера, где записано значение величины N.
Обозначение: «:=»
переменная := выражение
Механизм работы: вычисляется значение выражения в правой части от знака «:=», результат которого необходимо занести в память. Адрес ячейки, куда будут заноситься данные, определяет переменная, находящаяся слева от знака «:=», т.е. переменная ← получаемое выражение.
Примеры: A:=b+c/2; b:=n; x:=15; y:=y+3.
Особенностью оператора присваивания является и то, что данные, находящиеся по разные стороны знака «:=» («присвоить»), должны принадлежать одному типу, но целочисленное выражение может быть присвоено вещественной переменной, поскольку подмножество целых переменных входит в область дробных.
ВВОД И ВЫВОД ДАННЫХ В ЯЗЫКЕ ПАСКАЛЬ
ВВОД И ВЫВОД ДАННЫХ В ЯЗЫКЕ ПАСКАЛЬ
Любая программа при вводе исходной информации и выводе результатов взаимодействует с внешними устройствами. Частным случаем обмена данными с внешними устройствами является обмен с консолью.
Консоль представляет собой совокупность клавиатуры и экрана монитора.
Стандартным устройством ввода является клавиатура, а вывода – монитор.
Ввод данных – это процесс передачи исходных данных от внешнего устройства (клавиатура или файл с данными) в оперативную память.
Вывод данных – это процесс передачи данных после обработки из оперативной памяти на внешнее устройство (экран, файл, принтер).
ВЫВОД ДАННЫХ write (список_вывода) ; writeln (список_вывода) ;
write (список_вывода);
writeln (список_вывода);
Список_вывода – различные выражения (символьные, числовые, логические, переменные или константы), отделённые друг от друга запятыми.
Примеры: s := 5 + 10;
write (‘summa ‘, ‘= ‘ , s);
writeln;
ФОРМАТИРОВАННЫЙ ВЫВОД При использовании форматированного вывода можно установить количество позиций на экране, занимаемых выводимой величиной
При использовании форматированного вывода можно установить количество позиций на экране, занимаемых выводимой величиной. Обычно такой тип вывода применяется для вещественных чисел.
write (a : m);
write (a : m : n);
где «a» – то, что мы собираемся вывести (переменная, константа или другое выражение),
«m» – ширина поля для вывода «a» (общее количество знакомест),
«n» – количество позиций для дробной части «a» (если «a» – вещественной число).
Замечание 1: Двоеточие относится к переменной, после которой оно следует.
Пример, a := 1; b := 4; c := a + b;
write (a, ‘ + ‘, b, ‘ = ‘, c:3);
Замечание 2: Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме (a = 1.280000Е+01).
ПЕРВАЯ ПРОГРАММА НА PASCAL program first_progr; begin write(‘Hello,
ПЕРВАЯ ПРОГРАММА НА PASCAL
program first_progr;
begin
write(‘Hello, World!’);
end.
Пример простейшей программы на языке Pascal, тело которой состоит всего лишь из одного оператора «write».
Результат работы программы – отображение на экране монитора «Hello, World!».
ВВОД ДАННЫХ read (список_ввода) ; readln (список_ввода) ;
read (список_ввода);
readln (список_ввода);
Список_ввода – переменные(ая), отделённые друг от друга запятыми.
Замечание: После выполнения оператора «read», компьютер переходит в режим ожидания данных. При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку. Типы вводимых значений должны соответствовать типам переменных, указанных в разделе описания переменных.
Примеры, read(a);
read (b, c, d);
readln (m, n);
ПРИМЕР ПРОГРАММЫ НА ВВОД-ВЫВОД
ПРИМЕР ПРОГРАММЫ НА ВВОД-ВЫВОД ДАННЫХ
ОПИСАНИЕ ДАННЫХ В PASCAL Общий вид: var [список],[переменная]:[тип] ; для строковых переменных: var :string[]
ОПИСАНИЕ ДАННЫХ В PASCAL
Общий вид: var [список],[переменная]:[тип];
для строковых переменных: var :string[]
При объявлении, однотипные переменные могут группироваться в список и отделяться друг от друга в этом списке запятыми.
СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ
СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ ЯЗЫКА PASCAL
Запись на Pascal
абсолютное значение аргумента
совпадает с типом аргумента
квадратный корень аргумента
экспонента аргумента (ex)
целая часть числа
дробная часть числа
число ПИ (3,141592653)
случайное число в интервале [0, 1]
случайное число в интервале [0, x]
ПОРЯДОК ВЫЧИСЛЕНИЙ В ВЫРАЖЕНИЯХ вычисляются подвыражения, заключенные в скобки; затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания): возведение в…
ПОРЯДОК ВЫЧИСЛЕНИЙ В ВЫРАЖЕНИЯХ
вычисляются подвыражения, заключенные в скобки;
затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
возведение в степень;
мультипликативные операции: *, /, div, mod;
унарные операции: +, -, abs, not;
аддитивные операции: +, -;
операции отношения: =, <>, , =;
логические операции: and, or, not;
операции с одинаковым приоритетом выполняются слева направо.
Замечание: в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество:
xy= eylnx
в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество:
logab= ln b/ln a
СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ
СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ
Запись на Pascal
увеличение «х» на 1 (x := x + 1;)
уменьшение «х» на 1 (x := x — 1;)
увеличение «х» на n (x := x + n;)
уменьшение «х» на n (x := x — n;)
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ Функция
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ
Запись на Pascal
ASCII код символа «x»,
порядковый номер аргумента «x»
округление числа «х» до целого
целая часть числа «х»
проверяет аргумент на нечетность, результат true, если аргумент нечетный, false – если четный
символ ASCII кода, соответствующего значению аргумента «х»
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ)
program progr_sum_multi;
var ab, b, s, p, a: integer;
begin
readln (ab);
a := ab div 10;
b := ab mod 10;
s := a + b; >
p := a * b;
writeln (s);
writeln (p);
end.
Замечание: div − целая часть от деления, mod − остаток от деления.
Пример: 5 mod 2 = 1
5 div 2 = 2
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ)
program progr_zamena_cifr;
var abc, a, b, c, cba: integer;
begin
readln (abc);
a := abc div 100;
b := (abc div 10) mod 10;
c := abc mod 10;
cba := c * 100 + b * 10 + a;
writeln (cba);
end.
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ)
program progr_zamena;
var a, b, c: integer;
begin
readln (a, b);
c := a;
a := b;
b := c;
writeln (a);
writeln (b);
end.
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ
ПРИМЕР ПРОГРАММЫ (МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ)
program progr_sredn_arifm;
var
sr: real;
х: integer;
Begin
readln (х);
sr := ((х div 100) + ((х div 10) mod 10) + (х mod 10)) / 3;
writeln (sr);
end.
СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИПЫ ДАННЫХ
СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИПЫ ДАННЫХ
Символьный тип данных (char) – тип данных, значениями которого являются одиночные символы. Данный тип может содержать всего один любой символ (это буквы [‘A’. ‘Z’, ‘а’. ‘z’], [‘А’. ‘Я’, ‘а’. ‘я’], цифры [‘0’. ‘9’], знаки препинания, специальные символы и другие, в т.ч. «*», «/», «.», «!»). Каждый такой символ занимает 8 бит (1 байт) памяти, всего существует 256 восьмибитовых символов из таблицы символов ASCII (American Standart Code for Information Interchange – Американский стандартный код для обмена информацией).
Символьные константы заключаются в апострофы (‘.’, ‘*’, ‘7’, ‘s’). Также символьную константу можно записать с помощью символа – «решетки» (#185 — выведет символ ‘№’, стоящий под номером 185 в таблице ASCII).
Строка в Паскале (string) – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.
Строковая константа Паскаля – последовательность символов, заключенная в апострофы (‘строковая константа’, ‘253’).
Два следующих друг за другом апострофа (») обозначают пустую строку, т.е. строку с нулевой длиной.
Источник: znanio.ru