Программа состоит из отдельных разделов или блоков, которые долж­ны располагаться в следующем порядке: [ заголовок программы; ]



Download 0,62 Mb.
bet12/16
Sana16.03.2022
Hajmi0,62 Mb.
#493552
TuriЛабораторная работа
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
Задания по ЯиСП 1-14 ИВТ

Лабораторная работа 11.
Символьные переменные Тип данных "CHAR"


Переменные, предназначенные для хранения одиночных символов, на­зываются символьными переменными. В языке Turbo Pascal для них опреде­лён тип данных CHAR. В переменную этого типа может быть помещён любой из 256 символов расширенного кода ASCII.
Таблица расширенного кода ASCII.



Объявление символьных переменных осуществляется в разделе объяв­ления переменных с помощью служебного слова CHAR.


Этот тип данных обладает некоторыми особенностями. Обычно значе­ния для переменных типа "CHAR" задаются в апострофах. Например, если в программе есть описания


u, v: char то возможны операторы присваивания u:=’a’; v:=u; и т.д.


Штрих ‘’ - принятая в Паскале форма кавычки - употребляется всякий раз, когда значение типа "CHAR" явно указывается в программе. Выполне­ние операторов


u:=’b’; write(u);


приводит к высвечиванию на экране символа b.
Кроме того, имеется возможность задавать значения указанием не­посредственно числового значения ASCII-кода. В этом случае Вы должны перед числом, обозначающим код символа ASCII, поставить знак "#"


u:=#97


П р и м е р 1. Дана последовательность символов, заканчивающаяся символом "/". Необходимо подсчитать количество восклицательных знаков в данной последовательности.
Program ех_1;
var
с: char; { организация символьной переменной }
n: integer; { переменная для хранения количества "!" }


begin
read(с); { чтение первого символа с клавиатуры }
n:=0; { обнуление счётчика "!" }


while с=’/’ do { условие окончания работы вводом символа }
begin
if c=’!’ then n:=n+l; { подсчёт символов "!" }
read(c); { чтение следующего символа }
end;


end.


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


for c:=’a’ to ‘z’ do write(c)


где с символьная переменная, приводит к высвечиванию на экране после­довательности всех малых букв латинского алфавита:


abcdefghhijklrrjiopqrstuvwxyz


Выполнение оператора цикла
for c:= ‘z’ downto ’a’ do write (c)


приведёт к выводу этих же букв в обратном порядке.
Символьные переменные очень удобны для написания диалоговых прог­рамм. Представим себе, что вам необходимо довольно часто получать зна­чения некоторой функции, например значение синуса от корня квадратного из х для разных значений х.
Пусть заранее неизвестно, сколько раз и для каких именно значений х потребуется вычислить значение функции. Можно составить такую прог­рамму, которая будет вычислять значение функции, и сразу же ожидать ввода нового значения для х. Это зацикленная программа.
program ех_2;
label 1;
var с: real;
begin


1: write(‘x=’); read(с) ;
writeln(‘ ,f(x)= ‘ , sin(sqrt(x)));
goto 1;


end.


Когда эта программа выполняется, на экране формируется последователь­ность строк (?)
Для того, чтобы прекратить выполнение программы, потребуется предпринять специальные меры - например выключить компьютер.
Другой вариант - программа, в ходе выполнения которой на экране регулярно возникает вопрос, следует ли продолжать работу, или прекра­тить выполнение программы:
program ех_3;


var х: real; s: char;


begin s:=’д’;
while s=’д’ do begin write(‘x=’); read(x); writeln(‘ f(x)= ‘, sin(sqrt(x))); writeln(‘ продолжить?(д или н) ‘); read(s); write(‘ ‘); end; end.


Когда выполняется эта программа, на экране возникает следующая последовательность строк: (?)


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


Описание функций работающих с символьными переменными.
CHR(x: byte): char;
Преобразует целое число, имеющее тип BYTE, в один символ ASCII-кода. Следующая программа иллюстрирует возможности функции "CHR". Она выдаёт все символы кода ASCII на экран. При этом некоторые символы ASCII-кода (например 7, 10, 13) при обычных условиях не имеют изображения, а используются для реализации специальных функций (пере­вод курсора и т.д.) Благодаря использованному в операторе Write форма­ту каждый из изображаемых символов отделяется от соседнего пробелом (занимает две позиции)
Program ех_4;
var
i: byte;


begin
for i:=0 to 255 do write(chr(i):2); end.


ORD(c: char): byte;


Функция Ord выполняет действие, обратное функции Chr, т.е. возв­ращает порядковый номер символа параметра в таблице ASCII.
UpCase(c: char): char;
Осуществляет преобразование символов английского алфавита из строчных символов в прописные. Bсе остальные символы при применении этой функции остаются непреобразованными.


Контрольные вопросы.

  1. Какие переменные называют символьными переменными?

  2. Опишите тип данных CHAR.

  3. Как используется в языке Turbo Pascal символ номер 39.

  4. Какие преобразования выполняет функция ODD?

  5. Какие преобразования выполняет функция CHR?

  6. Какие преобразования выполняет функция UpCase?

  7. Как используются специальные символы - "управляющие коды"?

  8. Сколько символов содержится в таблице ASCII?

  9. Опишите использования формата вывода информации в операторе Write

  10. Как сравниваются символьные переменные при вычислении условий?



Задания для самостоятельного выполнения лабораторной работы 11.



  1. Дана последовательность из n символов. Подсчитать:

а) сколько раз среди данных символов встречается символ + и сколько
раз - символ *.
б) общее число вхождений символов +, -, * в данную последовательность.
Вывести на экран изображение всех возможных символов вместе с их номерами.



  1. Дана последовательность из n символов. Выяснить, имеются ли в пос­ледовательности два подряд идущих символа ",-".




  1. Дана последовательность из n символов. Известно, что в последова­тельности имеется хотя-бы одна запятая. Найти номер:

а) первой по порядку запятой;
б) последней по порядку запятой.



  1. Дана последовательность из n символов. Выяснить, каких символов в последовательности больше, запятых или точек с запятой. (Не исклю­чается случай равенства).




  1. Дана последовательность символов, заканчивающаяся символом ‘+’. Оп­ределить и вывести на экран номера символов, имеющих наибольший и наименьший номер.




  1. Дана последовательность из n символов. Выяснить, в какой половине последовательности, в первой или во второй, больше вопросительных знаков. (Не исключается случай равенства).




  1. Дана последовательность из n символов. Выяснить встречается ли в данной последовательности группа из трёх стоящих рядом точек.




  1. Дана последовательность из n символов. Подсчитать наибольшее число букв "а" идущих подряд в данной последовательности.




  1. Дана последовательность символов, заканчивающаяся символом ‘?’. Подсчитать наибольшее количество символов "пробел" идущих в строке подряд.


Download 0,62 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish