типа как букварик.
У Копма есть свой букварь из 256 символов, и каждый имеет свой номер. и чтобы узнать например номер буквы «п» нужно ввести команду ord(‘п’);
также тит можно переводить символ в код ascii и на оборот
оператор ord переводит символ в код ascii
а оператор chr на оборот
например
u:=ord(a);
a:=chr(u);
Содержание
- Тип char (символьный) в паскале
- Тип Char :
- Функция ord :
- Функция chr :
- Особенность типа char :
- Функция pred :
- Функция succ :
- На заметку :
- Символьный тип char в Паскале
- Основные функции для работы с символами
- Строковые переменные в Паскаль
- Функции работы со строками в Pascal
- Посимвольный ввод до пробела
Тип char (символьный) в паскале
- Browse: Home / Самоучитель паскаль онлайн / Тип char (символьный) в паскале
Символьный тип char похож на строковой тип string , однако он имеет множество интересных функций , предназначенных для работы с ним. О типе boolean можно узнать здесь
Поэтому типу char выделена целая статья в нашем самоучителе.
Тип Char :
Как уже было сказано , тип char почти не отличается от типа string. Однако , в отличии от string , он хранит в себе всего один символ , а не целую строку. Сравнение переменной типа char и типа string :
В переменной типа char можно хранить любой символ кода ASCII.
Функция ord :
Мы знаем , что любой символ можно представить в виде кода. Функция ord возвращает тот самый код символа. Как использовать функцию ord :
В результате выполнения данной программы мы получим код введенного символа.
Например вы ввели символ «А» , тогда на выходе программы мы получим число 65 , которое соответствует коду символа «А».
Функция chr :
Если мы можем взять код из символа , значит и можем сделать символ из кода. Данной операцией занимается команда chr. Она возвращает символ из кода. Пример работы данной функции можно рассмотреть ниже.
В результате выполнения данной программы мы выведем число 65 (код символа А) , а потом выведем сам символ А.
Особенность типа char :
Особенностью данного типа является то , что он порядковый. То есть символ C идет после символа B и т.д. В таком случае их можно сравнивать.
В результате мы получим сообщение «True» , так как символ B больше символа A.
Запомните : строчной символ больше прописного ( заглавного ).
Функция pred :
Данная функция возвращает предшествующий символ. Например функция
возвращает символ a.
Функция succ :
Эта функция работает в аналогии с функцией pred. Однако функция succ возвращает следующий символ , а не предшествующий. Функция
возвращает символ b.
На заметку :
Интересной особенностью кодов символов является то , что коды строчных и прописных символов отличаются друг от друга на 32. Проще говоря символ «А» имеет код 65 , а символ «а» имеет код 97 и так в аналогии с каждым символом.
Рассмотрим такую задачу : Человек вводит строчной символ ,а нам нужно вывести прописной ( заглавный ).
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Символьный тип char в Паскале
Символьной переменной соответствует тип char:
Инициализация символьной переменной:
Основные функции для работы с символами
Функция преобразует целое число, имеющее тип BYTE, в один символ ASCII-кода:
Функция возвращает порядковый номер символа параметра в таблице ASCII:
var i: integer; begin for i:=32 to 255 do write(chr(i):3); end.
Строковые переменные в Паскаль
Строковые переменные в Паскале имеют тип String
Объявление и инициализация строковой переменной:
var a:string; begin a:=’Привет всем!’; writeln(a); end.
Ввод значения строковой переменной с клавиатуры:
var a:string; begin writeln(‘Введите слово’); readln(a); writeln(‘Вы ввели слово ‘,a); end.
Строка «рассматривается» компилятором, как массив букв:
Функции работы со строками в Pascal
var s:string[30]; n,i:integer; begin writeln(‘введите текст’); readln(s); n:=0; for i:=1 to length(s) do if s[i]=’f’ then n:=n+1; write(‘в тексте букв f = ‘,n) end.
const m = [‘1’..’9′]; var s: string; i, k: byte; begin read(s); k := 0; for i := 1 to length(s) do if s[i] in m then inc(k); writeln(‘цифр = ‘, k); readln; end.
var a,b,c:string; i:longint; begin write(‘введите слово:’); readln(a); b:=»; for i:=1 to length(a) do b:=a[i]+b; if a=b then write(‘перевертыш’) else write(‘не перевертыш’); end.
Примечание:
Использовать функции: Pos, Copy, Delete
Посимвольный ввод до пробела
Посимвольный ввод удобен для «мгновенной» обработки символов в строке.
Для организации массива символьных строк:
- Все данные разделяются одним пробелом. Нужно подсчитать, сколько студентов получили отметку 5.
- Вывести фамилии студентов, у которых оценка 2.
- Вывести фамилии студентов, родившихся в 1996 году.
Пример:
Входной текст: Алгоритм — это правила выполнения определенных действий!, предписание исполнителю! совершить последовательность действий!, набор команд для компьютера!
Выходной текст: Алгоритм — это правила выполнения определенных действий, предписание исполнителю! совершить последовательность действий, набор команд для компьютера!
Трудность низкая:
Программа должна формировать в памяти вторую строковую переменную с измененным текстом, а потом выводить ее на экран.
Трудность высокая:
Программа должна преобразовывать исходную строку без использования дополнительных переменных, и затем выводить ее на экран.
И напоследок рассмотрим олимпиадное задание по Паскалю:
* Решить ту же задачу, в которой сдвиг будет не на 3 позиции, а на k, причем отрицательное значение является признаком сдвига влево, положительное — вправо.
var a:char; i,n:byte; s,s1:string; begin s1:=»; readln(s); for i:=1 to length(s) do begin n:=ord(. ); n:=n+3; if n=123 then n:=97; if . ; if . ; a:=chr(. ); s1:=. ; end; writeln(s1) end.
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Источник: