Символьные переменные

  • doc
  • 10.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Символьные переменные_pascal.doc

Символьные переменные

 Урок 1

 

Символьная константа – символ, заключенный в апострофы. Внутри апострофов допускается любой символ, за исключением символа апостроф (‘).

Символьная переменная – имеет имя, ее значением является один символ.

Строковая константа – строка символов, заключенная в

апострофы.

Строковая переменная – имеет имя, ее значением является строка символов.

 

Символьные

Строковые

a : char

s :  string

Типы переменных

 

 

Операции над символами

 

Операция

Пример

Примечание

Присваивание

a:= ‘?’

 

Сравнение

(по коду)

‘r’ > ‘R’

т.к. у буквы ‘r’ код 114,

а у буквы ‘R’ код 82

  ’ > ‘’

т.к. код пробела (32) больше кода пустого места (0)

 

Операции над строками

 

Операция

Пример

Примечание

Присваивание

s:= ‘строка’

 

Сравнение

(по коду)

abc’ < > ‘acb

Расхождения со второго символа

‘abcd’ < ‘dbc’

т.к. код первого символа первой строки меньше кода первого символа второй строки

Слияние

s:= ‘Первый’ + ‘ урок

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

 

 

Символьные функции

 

Функция

Тип

Назначение

Пример

Результат

chr(x)

Char

Возвращает символ кода x

chr(82)

R

ord(c)

Byte

Возвращает код символа c

ord(‘r’)

114

pred(c)

Char

Выдает символ, предшествующий c

pred(‘Z’)

‘Y’

succ(c)

Char

Выдает символ, следующий за c

succ(‘f’)

‘g’

upcase(c)

Char

Переводит символы нижнего регистра в верхний регистр

upcase(‘b’)

‘B’

        Типы переменных

x : Byte

c : Char

 

Строковые функции

 

Функция

Тип

Назначение

Пример

Результат

Length(s)

Byte

Вычисляет текущую длину строки

Length(‘школа’)

5

Concat(s1,…,s2)

String

Слияние строк

Concat(‘шко’,’ла’)

школа

Copy(s, n, Len)

String

Выдает подстроку строки s длиной Len, начиная с позиции n

Copy(‘школа’, 2,3)

кол

Delete(s, n, Len)

String

Удаляет подстроку строки s длиной Len, начиная с позиции n

Delete(‘километр’,1,4)

метр

Insert(s, Subs, n)

String

Вставляет в строку s подстроку Subs, начиная с позиции n

Insert(‘ша’, ‘кол’, 2)

школа

Pos(Subs, s)

Byte

Ищет вхождение подстроки Subs в строку s и выдает номер первого символа

Pos(‘ров’, ‘корова’)

3

Pos(‘дискета’, ‘диско’)

0

        Типы переменных

s, s1, s2, Subs : string

n, Len : integer

 

 

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

 

 

Задачи по теме «Строковые переменные»

 

Тема 1 «Составление новых слов»

  1. Из слов «вода» и «падение» составить новое слово «водопад».

Program Slova;

Var a, b, c : string;

Begin a:= ‘вода’;                      ВОДОПАД

           b:= ‘падение’;

           c:= Copy(a,1,3) + Copy(a,2,1) +  Copy(b,1,3)

                                 writeln(c)

End.      

 

  1. Из слов «информация» и «математика» составить новое слово «информатика».

 

  1. Из слов «гонг», «трибуна», «километр» и «революция» составить новое слово «тригонометрия».

 

  1. Самостоятельно составить новое слово из трех заданных.

 

Тема 2 «Подсчет количества»

 

1.     В заданной строке подсчитать количество букв ‘я’ (строка на русском языке вводится с клавиатуры).

Program kolichestvo;

Var  s : string;

       i, k : integer;

Begin writeln (‘введите строку на русском языке’);

readln(s);

k:=0;

for i:=1 to Length(s) do

        if  copy(s,i,1)= ‘я’ then k:=k+1;

writeln(‘количество букв «я» - ’,k);

End.

2.     В заданной строке подсчитать количество сочетаний ‘ый’ (строка на русском языке вводится с клавиатуры).

 

3.     В заданной строке подсчитать количество слов (строка вводится с клавиатуры).

 

4.     В заданной строке подсчитать количество предложений (строка вводится с клавиатуры, предложение может заканчиваться ‘.’, ‘!’ или ‘?’).

 

5.     В заданной строке подсчитать количество цифр (строка вводится с клавиатуры).

 

Program kolichestvo;

Var  s, n : string;

       i, j, k : integer;

Begin writeln (‘введите строку’);

readln(s);

n:= ‘0123456789’;

k:=0;

for i:=1 to 10 do

for j:=1 to Length(s) do

       if  copy(n,i,1)=copy(s,j,1) then k:=k+1;

writeln(‘количество цифр  k=’,k);

End.

 

6.     В заданной строке подсчитать количество слогов (строка на русском языке вводится с клавиатуры).

 

7.     В заданной строке подсчитать каких букв «а» или «я» больше и на сколько (строка вводится с клавиатуры).

 

8.     В заданной строке подсчитать количество букв латинского алфавита (строка вводится с клавиатуры).

if  ((‘A’>=copy(s,i,1)) and (copy(s,i,1)<= ‘Z’))

or  ((‘a’>=copy(s,i,1)) and (copy(s,i,1)<= ‘z’))

then KL:=KL+1;

 

9.     В заданной строке подсчитать количество букв русского алфавита (строка вводится с клавиатуры).

 

10. В заданной строке подсчитать букв какого алфавита больше русского или латинского (строка вводится с клавиатуры).

 

11. В заданной строке подсчитать количество слов, начинающихся с буквы “я” (“Я”).

Возможные ситуации: Я люблюгоды.

Яша ина любятгоды.

Program kolichestvo;

Var  s : string;

       i, k : integer;

Begin writeln (‘введите строку на русском языке’);

readln(s);

k:=0;

for i:=1 to Length(s) do

if  copy(s,i,2)= ‘_я’ or copy(s,i,2)= ‘_Я’ then k:=k+1;

if  copy(s,i,1)= ‘Я’ then k:=k+1;

writeln(‘количество цифр  k=’,k);

End.

 

Примечание: отдельно проверяется первая буква строки.

 

12. В заданной строке подсчитать количество слов, оканчивающихся буквой “я”.

Тема 3 «Замена, удаление символов»

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

Program zamena;

Var  s, t: string;

       i : integer;

Begin writeln (‘введите строку на русском языке’);

Первоначально новая строка пустая

 
readln(s);

t:= ‘’;

for i:=1 to Length(s) do

if  copy(s,i,1)= ‘_’ then t:=t+ ‘.’

       else t:=t+ copy(s,i,1);

writeln(новая строка ’);

writeln(t);

End.

 

2.      Из заданной строки получить новую, удалив из нее все точки. Распечатать полученную строку.

3.      Из заданной строки получить новую, удалив все “*” и повторив дважды каждый символ, отличный от звездочки.

4.      Из заданной строки получить новую, заменив все фразы “так как” на сокращенное “т.к.”

i:=1;

while i<=length(s) do

begin if  copy(s,i,7)<> ‘так_как

then begin t:=t+ copy(s,i,1);

                  i:=i+1

         end        

            else begin t:=t+ ‘т.к.’;

                        i:=i+7

                   end;         

end;

 

5.      Из заданной строки получить новую, заменив все фразы “может быть” на сокращенное “м.б.”


Посмотрите также