Инфоурок Другое ПрезентацииЯзык программирования Pascal. Работа со строками

Язык программирования Pascal. Работа со строками

Скачать материал
Скачать материал "Язык программирования Pascal. Работа со строками"

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Специалист по безопасности

Описание презентации по отдельным слайдам:

  • Язык программирования Pascal  Работа со строкамиА. Жидков

    1 слайд

    Язык программирования Pascal
    Работа со строками
    А. Жидков

  • Строковые переменныеТип данных (string) определяет строки с максимальной длин...

    2 слайд

    Строковые переменные
    Тип данных (string) определяет строки с максимальной длиной 255 символов. Длину строки можно регулировать в секции описаний.
    Например,
    var
      MaxLine : string; //длина строки до 255
      City : string[30]; // длина строки до 30 символов

    Для переменных типа string выделяют память, на 1 байт больше максимальной длины строки.

    Начальный байт с номером 0 отводится для хранения количества записанных в строку символов.

    Встроенная функция Length возвращает фактическое количество литер в записанных в строку.

  • Операции над строками.Выражения, в которых операндами служат строки, называют...

    3 слайд

    Операции над строками.
    Выражения, в которых операндами служат строки, называются строковыми.
    Над строками определены два вида операций:
    1. Операция сцепления (конкатенации) обозначают как (+) .
    Например:
    SumStr := ‘Язык'+‘ программирования'+‘ Pascal'
    2. Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строк слева направо до первого несовпадающего символа, и та строка считается больше, где первый несовпадающий символ имеет больший номер в таблице ASCII.
    Например, выражение 'MS-DOS'<'MS-Dos' имеет значение True
    Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше, чем длинная.
    Строки равны, если последовательность символов в них совпадает.

  • Изменение строковых переменныхДля изменения строковой переменной используется...

    4 слайд

    Изменение строковых переменных
    Для изменения строковой переменной используется оператор присваивания (:=) или оператор ввода данных.
    Например:
    Name:=‘Михаил’;
    Write (‘Укажите Вашу фамилию’);
    Read (fam);
    Если значение переменной после выполнения оператора присваивания превышает по длине максимально допустимую при описании величину, то все лишние символы справа отбрасываются.

  • Обращение к отдельным символам строкиК символам строки можно обратиться по но...

    5 слайд

    Обращение к отдельным символам строки
    К символам строки можно обратиться по номеру (индексу) символа в строке.
    Например, чтобы обратиться к третьему символу строки SumStr надо записать SumStr[3].
    Запись SumStr[0] возвращает значение текущей длины строки.
    Что выведет на экран следующий фрагмент программы?
    Var StrRama:string[20];
    Begin
    StrRama:=‘МАМА МЫЛА РАМУ’;
    WRITE (StrRama[14]+ StrRama[11]+ StrRama[2]+ StrRama[8], ord(StrRama[0]));
    End.

  • Функции для обработки строкDelete (Str,Poz,N) - удаление N символов строки St...

    6 слайд

    Функции для обработки строк
    Delete (Str,Poz,N) - удаление N символов строки Str, начиная с позиции Poz.

    Insert (What,Where,Poz) - вставка строки What в строку Where, начиная с позиции Poz.

    Copy (Str,Poz,Nstr) - строка длиной Nstr, начиная с позиции Poz, из строки Str.

    Concat (Str1,Str2,...,StrN) - сцепление строк в указанном порядке.

    Poz (What,Where) - обнаруживает появление подстроки What в строке Where.

    UpCase (Ch) - преобразует строчную букву в прописную.

    Str (Number,Stroka) - преобразует число в строку.

    Val (Stroka,Number,Code) - преобразует строку в число и выдает код правильности преобразования.

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

    7 слайд

    Функция Length
    Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации):

    Program DemoFunctionLength;
    Var
      Word : string;
    Begin
      write ('Введите слово :');
      readln(Word);
      writeln('Это слово состоит из ',Length (Word),' букв');
    End.

    Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.

  • Функция UpcaseФункция Upcase позволяет преобразовывать символ любой литеры и...

    8 слайд

    Функция Upcase

    Функция Upcase позволяет преобразовывать символ любой литеры из строчного в прописной.
    Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.
    Program DemoFunctionUpcase;
    Var
      Word : string;
      i : integer;
    Begin
      Word := 'фирма Microsoft';
      for i := 6 to Length (Word) do
        Word[i] := UpCase (Word[i]);
        writeln(Word);
    End.
    В результате работы программы на терминал выдается строка, содержащая большие английские буквы и маленькие русские.

  • Функция CopyФункция Copy позволяет копировать фрагмент некоторой строки из о...

    9 слайд

    Функция Copy

    Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры:
    имя строки, из которой должен извлекаться копируемый фрагмент,
    позицию в строке, начиная с которой будет копироваться фрагмент,
    число копируемых символов.
    Program DemoFunctionCopy;
    Var
      Word : string;
      Word1 : string[20];
    Begin
      Word := ‘Кадетский корпус';
      writeln(Word);
      Word1 := Copy (Word,11,6);
      writeln(Word1);
    End.
    Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.

  • Функция PosФункция Pos осуществляет поиск фрагмента в строке.
Если заданный ф...

    10 слайд

    Функция Pos
    Функция Pos осуществляет поиск фрагмента в строке.
    Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается.
    Если фрагмент не найден, то функция возвращает нуль.

    Program DemoFunctionPos;
    Var
      Word : string;
      SearchWord : string[20];
      Position : integer;
    Begin
      Word := ‘Кадетский корпус';
      writeln(Word);
     SearchWord:=‘детский’;
      Position := Pos(SearchWord, Word);
      if Position <> 0 then
          begin
            write ('Фрагмент <',SearchWord,'> содержится в строке <',Word);
            writeln ('>, начиная с позиции ',Position );
          end
        else
          writeln('Фрагмент <',SearchWord,'> не содержится в строке <',Word);
    End.

  • Функция ConcatФункция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (ил...

    11 слайд

    Функция Concat

    Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров.
    Сумма символов сцепленных строк не должна превышать 255.

    Program DemoFunctionConcat;
    Var
      Word : string;
      Word1, Word2 : string[20];
    Begin
      Word1 := ‘кадетского';
      Word2 := ‘корпуса';
      Word := Concat('Кадеты ',Word1,Word2);
      writeln(Word);
    end.

  • Задание на самоподготовкуПосчитайте количество цифр в веденной строке символо...

    12 слайд

    Задание на самоподготовку
    Посчитайте количество цифр в веденной строке символов.
    Проверьте правописание “жи” и “ши” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.
    Выясните, сколько раз встречается каждая буква алфавита в предложенном тексте.
    В заданном тексте найти и распечатать слово максимальной длины.
    Заданы разделенные пробелами фамилия, имя и отчество учащегося и три оценки за экзамены. Напечатайте его фамилию и инициалы и средний балл. Применяйте подпрограммы.

  • Program cifra;
Var
Word : string;
i,k  : integer;
Begin
cls;
word:=&#039;1 t $ 45n...

    13 слайд

    Program cifra;
    Var
    Word : string;
    i,k : integer;
    Begin
    cls;
    word:='1 t $ 45nnfft623456kugтра5234626ктор 122';
    k:=0;
    for i:=1 to Length(word) do
    if (word[i]>='0') And (word[i]<='9') then k:=k+1;
    writeln(Word,' ', 'число цифр',k);
    end.

    Задание на самоподготовку
    Посчитайте количество цифр в введенной строке символов.

  • Задание на самоподготовкуПроверьте правописание “жи” и “ши” в тексте. Выведит...

    14 слайд

    Задание на самоподготовку
    Проверьте правописание “жи” и “ши” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.

    Program cifra;
    Var
    Word : string;
    i,osh : integer;
    procedure zhi_shi (var Word : string;var i,osh : integer);
    begin
    if word[i+1]='ы' then begin osh:=osh+1; word[i+1]:='и'; end;
    end;
    Begin
    cls;
    word:='Тишына, камышы. Шыпит костер. Жыдкий свет разливается живым золотом';
    writeln(Word,' всего символов',Length(word));
    osh:=0;
    for i:=1 to Length (word) do
    Begin
    if (word[i]='ж')or (word[i]='Ж') then zhi_shi(Word,i,osh);
    if (word[i]='ш')or (word[i]='Ш') then zhi_shi(Word,i,osh)
    end;
    writeln(Word,' число ошибок',osh);
    end.

  • Задание на самоподготовкуВыясните, сколько раз встречается каждая буква алфав...

    15 слайд

    Задание на самоподготовку
    Выясните, сколько раз встречается каждая буква алфавита в предложенном тексте.
    programm chislo_simbol;
    var
    i,k,simbol: integer;
    Word : string;
    begin
    cls;
    word:='Мороз и солнце; день чудесный! Еще ты дремлешь, друг прелестный...';
    writeln(Word,' ','всего символов',Length(word));
    for i:=192 to 192+31 do
    begin
    simbol:=0;
    write (chr(i),chr(i+32));
    for k:=1 to Length (word) do
    if (word[k]=chr(i))or (word[k]=chr(i+32)) then simbol:=simbol+1;
    writeln (' ', simbol)
    end;
    end.

  • Задание на самоподготовкуВ заданном тексте найти и распечатать слово максимал...

    16 слайд

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

    program maxi_slovo;
    var
    k,max,nach,pmax:integer;
    Word: string;
    begin
    cls;
    word:='У лукоморья дуб зеленый; златая цепь на дубе том...';
    writeln(Word,' ','всего символов',Length(word));
    max:=1; //длинна слова максимальной длинны
    nach:=1; //начало текущего слова
    for k:=1 to Length(word) do
    if word[k]=' ' then
    begin
    if k-nach>max then begin max:=k-nach;pmax:=nach; end;
    nach:=k
    end;
    write(copy(word,pmax,max)); //pmax начало максимального слова
    end.

  • Задание на самоподготовкуЗаданы разделенные пробелами  фамилия, имя и отчеств...

    17 слайд

    Задание на самоподготовку
    Заданы разделенные пробелами фамилия, имя и отчество учащегося и три оценки за экзамены. Напечатайте его фамилию и инициалы и средний балл.

    program familia;
    var
    i,k,simbol,oc1,oc2,oc3,c: integer;
    Word : string;
    srball: real;
    p: array [1..5] of integer;
    begin
    cls;
    word:='Фархутдинов Исмаил Бархударович 3 4 4';
    Writeln (Word,' ','всего символов',Length (word));
    i:=1;
    for k:=1 to Length(word) do
    if word[k]=' ' then begin p[i]:=k;i:=i+1;write (' ',p[i-1]) end; //массив с позициями пробелов p[i]
    writeln;
    write (copy(word,1,p[1]),copy(word,p[1]+1,1)+'. ',copy(word,p[2]+1,1)+'. ');//печать Фамилия И.О.
    val(copy(word,p[3]+1,1),oc1,c); // преобразование оценки в число
    val(copy(word,p[4]+1,1),oc2,c);
    val(copy(word,p[5]+1,1),oc3,c);
    srball:=(oc1+oc2+oc3)/3;
    write (' средний балл ',srball:5:2);
    end.

  • Процедура InsertПроцедура Insert вставляет в исходную строку, начиная с указа...

    18 слайд

    Процедура Insert
    Процедура Insert вставляет в исходную строку, начиная с указанной позиции, другую строку.
    Процедура Insert (Word1,Word2,5) вставляет строку Word1 в строку Word2, начиная с 5-ой позиции.

    Program DemoFunctionConcat;
    Var
    Word1, Word2 : string;
    Begin
    Word1 := ‘ кадетский ';
    Word2 := ‘Санкт-Петербургский корпус';
    Insert(Word1,Word2,21);
    writeln(Word2);
    end.

  • Процедура DeleteПроцедура Delete удаляет в строке фрагмент определенной длины...

    19 слайд

    Процедура Delete
    Процедура Delete удаляет в строке фрагмент определенной длины, начиная с указанной позиции. Так, оператор Delete(Word1,2,3) удаляет из указанной строки фрагмент, длиной в три символа, начиная со второго.

  • Процедура StrОбщий вид Str(Chislo,Stroka)
Процедура Str преобразует числовое...

    20 слайд

    Процедура Str

    Общий вид Str(Chislo,Stroka)
    Процедура Str преобразует числовое значение переменной Chislo в строковую переменную Stroka. После первого параметра может указываться формат, аналогичный формату вывода.

    Program DemoProcedureStr;
    Var
      Word : string;
      Chislo : integer;
    Begin
      Chislo := 1560;
      Str(Chislo:8, Word);
      writeln(Word);
    End.

  • Процедура ValОбщий вид Val(Stroka,Chislo,Code)
Процедура Val преобразует стро...

    21 слайд

    Процедура Val
    Общий вид Val(Stroka,Chislo,Code)
    Процедура Val преобразует строку Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo.
    Строка Stroka не должна содержать пробелов в начале и в конце.
    Code целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено.
    Program DemoProcedureVal;
    Var
      Word : string;
      Chislo, Code : integer;
    Begin
      writeln('Введите строку цифр ');
      readln(Word);
      Val(Word, Chislo, Code);
      if Code <> 0
        then
          writeln('Ошибка! В позиции ',Code,' не цифра!',);

    End.

  • Задание на самоподготовкуСоставьте алгоритм замены в какой-нибудь литерной ве...

    22 слайд

    Задание на самоподготовку
    Составьте алгоритм замены в какой-нибудь литерной величине всех букв "а" на буквы "б" и наоборот (при такой замене, например, из слова "баба" должно получиться слово "абаб"). Выведите полученную строку на экран.
    Составьте алгоритм, вычеркивающий из данного текста любую букву. Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение.
    Составьте алгоритм, который каждую встреченную в слове букву "б" заменял бы сочетанием букв "ку". Если такого символа нет, то выведите соответствующее сообщение. Выведите полученную строку на экран.
    Составьте алгоритм, выясняющий, является ли данное слово "перевертышем" (так называются слова, читающиеся одинаково слева направо и справа налево, например: ПОТОП, КАЗАК).





Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 655 791 материал в базе

Скачать материал

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 09.09.2020 365
    • PPTX 740.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Невмержицкая Елена Петровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Невмержицкая Елена Петровна
    Невмержицкая Елена Петровна
    • На сайте: 3 года и 3 месяца
    • Подписчики: 0
    • Всего просмотров: 74362
    • Всего материалов: 206

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Методист-разработчик онлайн-курсов

Методист-разработчик онлайн-курсов

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 120 человек из 43 регионов

Курс повышения квалификации

Специалист в области охраны труда

72/180 ч.

от 1750 руб. от 1050 руб.
Подать заявку О курсе
  • Сейчас обучается 33 человека из 20 регионов
  • Этот курс уже прошли 152 человека

Курс профессиональной переподготовки

Руководство электронной службой архивов, библиотек и информационно-библиотечных центров

Начальник отдела (заведующий отделом) архива

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Этот курс уже прошли 25 человек

Курс профессиональной переподготовки

Организация деятельности библиотекаря в профессиональном образовании

Библиотекарь

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Сейчас обучается 284 человека из 67 регионов
  • Этот курс уже прошли 847 человек

Мини-курс

Эффективная работа с Wildberries: от создания личного кабинета до выбора продукта

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 34 человека из 19 регионов

Мини-курс

Организация и контроль занятий со студентами специальных медицинских групп

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Социальная и поведенческая психология

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 28 человек из 16 регионов