Главная страница
Навигация по странице:

  • Символьная переменная

  • Символьные

  • Операция Пример Примечание

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

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

  • Урок 1 Символьная константа


    Скачать 81.5 Kb.
    НазваниеУрок 1 Символьная константа
    Дата26.04.2022
    Размер81.5 Kb.
    Формат файлаdoc
    Имя файлаsimvolnye_peremennye_pascal.doc
    ТипУрок
    #497066

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

    СП-11-Урок 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;

    B egin 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.

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




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




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




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


    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.


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




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




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



    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;




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




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




          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,2)= ‘_я’ or copy(s,i,2)= ‘_Я’ then k:=k+1;

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

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

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


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

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

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

    Program zamena;

    Var s, t: string;

    i : integer;

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

    r
    Первоначально новая строка пустая
    eadln(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.


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

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

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



    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;




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


    написать администратору сайта