Без темы
<<  Символьные и строковые переменные Символьные переменные  >>
Символьные и строковые переменные в Turbo Pascal
Символьные и строковые переменные в Turbo Pascal
Содержание:
Содержание:
В математике под переменной обычно понимают некую величину, значения
В математике под переменной обычно понимают некую величину, значения
Символьный тип
Символьный тип
Символьные переменные в памяти компьютера хранятся в виде числовых
Символьные переменные в памяти компьютера хранятся в виде числовых
Некоторые символы (с кодами, меньшими 32) являются управляющими, при
Некоторые символы (с кодами, меньшими 32) являются управляющими, при
Напишем программу, которая выдаёт на экран таблицу с кодами символов:
Напишем программу, которая выдаёт на экран таблицу с кодами символов:
Для символьных данных не определены никакие арифметические операции,
Для символьных данных не определены никакие арифметические операции,
Операции над символами
Операции над символами
Приведем пример: программа читает символ и выводит его числовой код:
Приведем пример: программа читает символ и выводит его числовой код:
Последовательность символов - это строка
Последовательность символов - это строка
Строковый тип
Строковый тип
Значениями строковых переменных могут быть последовательности
Значениями строковых переменных могут быть последовательности
Операции над строками
Операции над строками
Слияние строк записывается в естественном виде
Слияние строк записывается в естественном виде
Хранение строк
Хранение строк
Сравнение строк
Сравнение строк
Процедуры и функции для работы со строками
Процедуры и функции для работы со строками
Рассмотрим несколько примеров
Рассмотрим несколько примеров
S:=‘Начало-конец’; Insert ( ‘середина-’, S, 8 );{ S =
S:=‘Начало-конец’; Insert ( ‘середина-’, S, 8 );{ S =
Решение
Решение
Тест составлен в программе «Microsoft Excel»
Тест составлен в программе «Microsoft Excel»
Program prg34_1; var i: char; к, j:integer; begin к := 1; for i := 'a'
Program prg34_1; var i: char; к, j:integer; begin к := 1; for i := 'a'
Program prg34_2; var i: char; к, j: integer; begin к := 1; for i :=
Program prg34_2; var i: char; к, j: integer; begin к := 1; for i :=
PROGRAM PRG34_3; VAR I, L : CHAR; J: INTEGER; BEGIN L := 'A'; FOR J :=
PROGRAM PRG34_3; VAR I, L : CHAR; J: INTEGER; BEGIN L := 'A'; FOR J :=
Program prg34_4; var str: string; l, i: integer; m : set of char:
Program prg34_4; var str: string; l, i: integer; m : set of char:
Program lr2; var s: string[30]; kol, i, n: integer; begin writeln
Program lr2; var s: string[30]; kol, i, n: integer; begin writeln
Program prg34_6; var str: string; l, i : integer; begin
Program prg34_6; var str: string; l, i : integer; begin
PROGRAM prog#7; VAR a, b: CHAR; BEGIN writeln('Введи символ'); a :=
PROGRAM prog#7; VAR a, b: CHAR; BEGIN writeln('Введи символ'); a :=
Задача 8
Задача 8
PROGRAM prog#10; VAR s: STRING; i: INTEGER; BEGIN write('Введите
PROGRAM prog#10; VAR s: STRING; i: INTEGER; BEGIN write('Введите
PROGRAM prog#11; VAR s: STRING; BEGIN write('Введите строку: ');
PROGRAM prog#11; VAR s: STRING; BEGIN write('Введите строку: ');
Данная программа представляет собой примитивный транслятор, который
Данная программа представляет собой примитивный транслятор, который
{ Процедура ExplodeString выводит строку S в позиции (X, Y), с
{ Процедура ExplodeString выводит строку S в позиции (X, Y), с
Var LongV: LongInt; WordV: Word;
Var LongV: LongInt; WordV: Word;
Program prg34_15; var str: string; l, i, j : integer; m : set of char;
Program prg34_15; var str: string; l, i, j : integer; m : set of char;
PROGRAM prog#16; VAR s: STRING; BEGIN writeln('Как Вас зовут
PROGRAM prog#16; VAR s: STRING; BEGIN writeln('Как Вас зовут

Презентация: «Символьные и строковые переменные в Turbo Pascal». Автор: 1. Файл: «Символьные и строковые переменные в Turbo Pascal.ppt». Размер zip-архива: 527 КБ.

Символьные и строковые переменные в Turbo Pascal

содержание презентации «Символьные и строковые переменные в Turbo Pascal.ppt»
СлайдТекст
1 Символьные и строковые переменные в Turbo Pascal

Символьные и строковые переменные в Turbo Pascal

2 Содержание:

Содержание:

Введение Символьный тип CHAR Управляющие символы Сравнивание символов Операции над символами Массив символов Строковый тип STRING Операции над строками Слияние строк Хранение строк Сравнение строк Процедуры и функции Тест по строковым переменным Задачи

3 В математике под переменной обычно понимают некую величину, значения

В математике под переменной обычно понимают некую величину, значения

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

Язык Turbo Pascal поддерживает стандартный символьный тип Char и динамические строки, описываемые типом String или String[n].

4 Символьный тип

Символьный тип

Язык Turbo Pascal поддерживает стандартный символьный тип Char

К символьным переменным относятся: прописные латинские буквы 'А', 'В', 'С', ..., 'Z', строчные 'а', 'Ь', 'с', ..., 'z'. цифры '0', 1', '2', ..., '9', знаки препинания, всевозможные скобки, русские буквы и т. д. В программах их значения всегда заключаются в апострофы. Внутри каждого такого ряда коды символов упорядочены: ‘А' < 'В' < 'С' < ... < 'Z' 'а' < 'Ь' < 'с' < ... < 'z' '0' < 1' < '2' < ... < '9' 'А' < 'Б' < 'В' < ... < 'Я' 'а' < 'б' < 'в'< ... < 'я'

5 Символьные переменные в памяти компьютера хранятся в виде числовых

Символьные переменные в памяти компьютера хранятся в виде числовых

кодов.

Под хранение символа выделяется 1 байт (8 бит), поэтому всего можно закодировать 2^8=256 различных символов. Кодировка символов, которая используется в Турбо-Паскале, называется ASCII (американский стандартный код для обмена информацией).

Если в качестве кода используется конкретное число, а не выражение и не переменная, то можно использовать символ "#"

#97 = chr(97) = ‘a’ (символ ‘а’) #0 = chr(0) = (нулевой символ) #32 = chr(32) = ‘ ‘ (пробел)

6 Некоторые символы (с кодами, меньшими 32) являются управляющими, при

Некоторые символы (с кодами, меньшими 32) являются управляющими, при

выводе таких символов на экран происходит какое либо действие, например:

Символ с кодом 10 переносит курсор на новую строку, с кодом 7 - вызывает звуковой сигнал, с кодом 8 - сдвигает курсор на одну позицию влево.

Управляющие символы могут быть представлены их “клавиатурными” обозначениями - значком “^” или служебным знаком (для диапазона 27...31):

^A = #1 = Chr(1) ^B = #2 = Chr(2) . . . ^ = #26 = Chr(26) ^[ = #27 = Chr(27) . . . ^_ = #31 = Chr(31)

7 Напишем программу, которая выдаёт на экран таблицу с кодами символов:

Напишем программу, которая выдаёт на экран таблицу с кодами символов:

program ASCII; var ch: char; begin for ch:=#32 to #255 do write(ord(ch),'->',ch,' '); readln; end.

В этой программе в качестве счётчика цикла была использована символьная переменная, это разрешается, поскольку цикл for может использовать в качестве счётчика переменные любого типа, значения которого хранятся в виде целых чисел.

8 Для символьных данных не определены никакие арифметические операции,

Для символьных данных не определены никакие арифметические операции,

но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания.

Таблица ASCII составлена таким образом, что коды букв (латинских и большинства русских) возрастают при движении в алфавитном порядке, а коды цифр расположены по порядку: ord('0')=48, ord('1')=49, ... ord('9')=57. Сравнения символов можно использовать везде, где требуются логические выражения: в операторе if, в циклах и т.п.

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

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

Succ(х) (от succeedent - последующий) - она выдаёт символ со следующим кодом. Pred(х) (от predecessor - предшественник) - выдаёт символ с предыдущим кодом. Readkey - программа передает значение нажатого символа без нажатия на клавишу Enter и вывода на экран вводимого символа. Пример записи: A:=readkey Ord(x) - Определяет код символа. Например: Ord(‘A’) - 65 Chr(x) - Определяет символ по коду. Например: Chr(65) - ’A’

10 Приведем пример: программа читает символ и выводит его числовой код:

Приведем пример: программа читает символ и выводит его числовой код:

PROGRAM prog#6; VAR c: CHAR; BEGIN write('Введите символ: '); readln(c); writeln('Код символа ', c, ' – ', ord(c)); END. Окно ввода/вывода: Введите символ: G Код символа G – 71

Как вы видите, в операторе вывода вместо переменной используется выражение (функция), возвращающее нужное для вывода значение.

11 Последовательность символов - это строка

Последовательность символов - это строка

Строку можно представить как массив. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.

Например: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды. program lr2; type sl =array [1..10] of char; var s: sl; {описание массива символов} i: integer; begin writeln ('введите 10 символов'): for i:=l to 10 do readln (s[i]); {ввод массива} for i:=l to 10 do if (s[i]>='A') and (s[i]<= 'Z') then writeln ('Символ :', s[i], ' его код =', ord(s[i]); readln; end.

12 Строковый тип

Строковый тип

Последовательность символов, заключенная в апострофы, называется строкой и описывается в Турбо-Паскале типом STRING: 'ASEWQ', 'zxczxczxc', 'хи-хи' и т. д.

Очень часто требуется работать не с одним символом, а с несколькими (например, ввести имена и фамилии учащихся и вывести их в алфавитном порядке).

Строки, состоящие всего из одного символа, называются символьными константами.

13 Значениями строковых переменных могут быть последовательности

Значениями строковых переменных могут быть последовательности

различной длины (от нуля и более, длине 0 соответствует пустая строка). Объявить строковую переменную можно двумя способами:

Var s: string; var s: string[n]; (максимальная длина - n символов, n - константа или конкретное число).

Var S32: string[32]; {строчные знач., Длиной не более 32} S255: string[255];{строчные знач., Длиной не более 255} S: string; {без указания длины - string[255]}

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

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

Для того чтобы положить значение в строковую переменную используются те же приёмы, что и при работе с символами.

В случае присваивания конкретной строки она должна записываться в апострофах (s:='Hello, world!')

Приведём пример со строками: программа спрашивает имя у пользователя, а затем приветствует его: program Hello; var s: string; begin write('Как Вас зовут: '); readln(s); write('Привет, ',s,'!'); readln; end.

15 Слияние строк записывается в естественном виде

Слияние строк записывается в естественном виде

Если сумма получается длиннее, чем описанная длина левой части оператора присваивания, излишек отсекается.

Var S1, S2, S3: String; Begin S1:= ‘Вам ‘; S2:= ‘привет’; S3:= S1 + S2; { S3 = ‘Вам привет’} S3:= S3 + ‘ ! ‘; { S3 = ‘Вам привет !’} End.

К строкам можно применять операцию "+", при этом результатом будет строка, состоящая из последовательно записанных "слагаемых". Пример: после действия s:= 'abc'+'def'+'ghi'; переменная s будет содержать 'abcdefghi'

16 Хранение строк

Хранение строк

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

Для того чтобы в программе получить доступ к n-му символу строки используется запись s[n].

17 Сравнение строк

Сравнение строк

Строки сравниваются последовательно, по символам.

Сравниваются первые символы строк, если они равны - то вторые, и т. д. Если на каком-то этапе появилось различие в символах, то меньшей будет та строка, в которой меньший символ. Если строки не различались, а затем одна из них закончилась, то она и считается меньшей. Примеры: 'ананас'<'кокос' 'свинья'>'свинина' 'hell'<'hello‘ ‘abcd’ >‘abcD’ { ‘d’>‘D’ } ‘abcd’ >‘abc’ { ‘d’>‘‘ } ‘aBcd’<‘ab’ { ‘B’ <‘b’ } ‘ ‘ >‘‘ { #32>‘‘ }.

18 Процедуры и функции для работы со строками

Процедуры и функции для работы со строками

CONCAT (STRI, STR2) - Возвращает объединение строк STRI, STR2 конкатенируемые строки COPY(STR, I, J) - Возвращает копию подстроки из J символов, которые располагаются в строке STR, начиная с позиции I LENGTH(STR) - Возвращает длину строки POS(TEXT, STR) - Возвращает номер позиции, начиная с которой располагается подстрока TEXT в строке STR DELETE (STR, I, J) - Удаляет из строки STR J символов, начиная с позиции I INSERT(TEXT,STR, I) - Вставляет подстроку TEXT в строку STR, начиная с позиции I Str ( X, St ) - Преобразует числовое значение Х в строковое St VAL (STR, X,CODE) - Преобразовывает строку STR в двоичное число X, где CODE – код неправильного символа UpCase (S) – преобразует строковый латинский символ S в прописной

19 Рассмотрим несколько примеров

Рассмотрим несколько примеров

C:=LENGTH(str); - переменной С будет присвоено целое значение, показывающее количество символов в строковой переменной str.

Str:=concat(st1,st2,...,Stn); str - переменная типа string, состоящая из строк st1, ..., stn. S3:=concat ( S1, S2 ); {то же, что S3 := S1 + S2} s3:=concat ( S3, S1, S2 );{то же, что S3 := S3 + S1 + S2 }

P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начинается строка st1 в строкe st2. P:=Pos ( ‘ss’, ‘Mississippu’ ); { P = 3 }

S:=‘СТРОКА’; delete ( S, 2, 4 ) { S = ‘CA’ }

20 S:=‘Начало-конец’; Insert ( ‘середина-’, S, 8 );{ S =

S:=‘Начало-конец’; Insert ( ‘середина-’, S, 8 );{ S =

‘Начало-середина-конец’}

S1:=COPY( str, I, J); Sl - символьная подстрока, выделенная из строки str с позиции I, длиной J символов. S1:= Copy(‘Информатика’,3,5); {S1 = ‘форма’ }

Str ( 6.66 : 8 : 2, S ); { S =‘ 6.66’ } Str ( 6.66 : -8 : 2, S ); { S =‘6.66 ‘ } Str ( 6.66 : 8 : 0, S ); { S =‘ 7’ }

VAL(‘1015’,X, C) – переменной Х будет присвоено целое значение 1015

21 Решение

Решение

Решение

Решение

Задача 5. Подсчитать количество слов во введенной с клавиатуры строке.

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Решение

Задача 1. Вывести в одну строку А В ВССС... ZZ... Z.

Задача 2. Вывести в одну строку ZYY... А А... А..

Задача 3. Вывести треугольник А В С... Z В С... Z

Задача 4. Дана строка символов. Удалить из нее все знаки препинания.

Задача 6. Дана строка символов. Заменить в ней все 'A' на 'AAA'

Задача 7. Присвоить переменной а значение 'G', считать значение другой переменной из окна ввода/вывода и вывести значения обеих переменных.

Задача 8. Подсчитать сколько раз среди символов заданной строки встречается буква, заданная с клавиатуры.

Задача 9. Составить программу, которая печатает заданное слово задом наперед

Задача 10. Найти заданный символ в заданной строке

Задача 11. Определяющая длину строки в символах

Задача 12. Дана строка символов. Заменить в ней восклицательные знаки на точки

Задача 13. Выводит строку, с эффектом раздвижения и звуковым сигналом Uses Crt;

Задача 14. Перевод числа из символьной строки {$R-}

Задача 15. Дана строка символов. Удалить из нее первый знак препинания.

Задача 16. Данная программа запрашивает ваше имя, а потом здоровается с вами

22 Тест составлен в программе «Microsoft Excel»

Тест составлен в программе «Microsoft Excel»

Пять вариантов, в каждом варианте 6 вопросов. Для каждого вопроса дается по четыре варианта ответа, надо выбрать правильный.

Выставляется оценка: 6 правильных ответов – 5, 5 правильных ответов – 4, 4 правильных ответов – 3, остальные – 2

23 Program prg34_1; var i: char; к, j:integer; begin к := 1; for i := 'a'

Program prg34_1; var i: char; к, j:integer; begin к := 1; for i := 'a'

to 'z' do i" begin for j := 1 to к do write(i); к := к +1 end; writeln end.

Для решения задачи: • формируем тело программы и описываем переменные; • цикл FOR I := 'A' TO 'Z' DO определяет, какую букву выводим на печать; • цикл FOR J := 1 ТО К DO определяет, сколько раз будет печататься буква; • после вывода всех букв закрываем строку оператором WRITELN. Переменные: 1 - переменная цикла; определяет, какая буква выводится; К - количество повторений буквы; J - переменная цикла.

24 Program prg34_2; var i: char; к, j: integer; begin к := 1; for i :=

Program prg34_2; var i: char; к, j: integer; begin к := 1; for i :=

‘z' down id 'а' do begin for j := 1 to к do write(i); к := к + 1 end; writeln end.

Для решения задачи: • формируем тело программы и описываем переменные; • цикл FOR I := 'Z‘ DOWN TO 'A' DO определяет, какую букву выводим на печать; • цикл FOR J := 1 ТО К DO определяет, сколько раз будет печататься буква; • после вывода всех букв закрываем строку оператором WRITELN. Переменные: 1 - переменная цикла; определяет, какая буква выводится; К - количество повторений буквы; J - переменная цикла.

25 PROGRAM PRG34_3; VAR I, L : CHAR; J: INTEGER; BEGIN L := 'A'; FOR J :=

PROGRAM PRG34_3; VAR I, L : CHAR; J: INTEGER; BEGIN L := 'A'; FOR J :=

1 TO 26 DO BEGIN FOR I := 'A' TO L DO WRITEC(‘ '); FOR I :== L TO 'Z' DO WRITE(I); WRITELN; L := SUCC(L); END; END.

Для решения задачи: • формируем тело программы и описываем переменные; • цикл FOR J:= 1 ТО 26 DO определяет, сколько строк будет печататься; • цикл FOR I:= 'A' TO L DO определяет, сколько пробелов выводим на печать в начале строки; • FOR I:= L TO 'Z' DO определяет, какую букву выводим на печать; • после вывода всех букв закрываем каждую строку оператором WRITELN. Переменные: 1 - переменная цикла; определяет, какая буква выводится; L - вспомогательная переменная; J - переменная цикла; определяет, сколько строк будет печататься

26 Program prg34_4; var str: string; l, i: integer; m : set of char:

Program prg34_4; var str: string; l, i: integer; m : set of char:

begin m := ['.', ',', '!', ':', ';', '?', '-']; writeln(‘введите текст'); readln(str); l := length(str); writeln('преобразный текст'); for i := 1 to l do if not(str[1] in m) then write(str[1]); writeln; readln; end.

Для решения задачи: • формируем тело программы и описываем переменные; • задаем значение множества М - множества знаков препинания; • цикл FOR I := I TO L DO осуществляет вывод строки без знаков препинания; • после вывода закрываем строку оператором WRITELN. Переменные: 1 - переменная цикла; L - длина строки; STR - строка текста; М - множество знаков препинания.

27 Program lr2; var s: string[30]; kol, i, n: integer; begin writeln

Program lr2; var s: string[30]; kol, i, n: integer; begin writeln

('введите строку'); readln (s); kol:=0; {счетчик количества слов} n:= length(s); {определяем длину введенного текста} s:= concat(' ',s); {добавляем пробел к первому слову} for i:=1 to n do if (copy (s,i,1)=' ') and (copy (s,i+1,1)<>' ') then kol := kol+1; {подсчет количества слов} writeln (s,'количество слов= ', kol); readln end.

28 Program prg34_6; var str: string; l, i : integer; begin

Program prg34_6; var str: string; l, i : integer; begin

writeln(‘введите текст'); readln(str); l := length(str); writeln(‘преобразованный текст'); for i := 1 to l do if str[i]='а' then write('ааа') else writel(str{i}); writeln; readln end.

Для решения задачи: • формируем тело программы и описываем переменные; • цикл FOR I:= I TO L DO осуществляет вывод строки с заменой 'А" на "ААА" • после вывода закрываем строку оператором WRITELN. Переменные: 1 - переменные циклов; L - длина строки; STR - строка текста.

29 PROGRAM prog#7; VAR a, b: CHAR; BEGIN writeln('Введи символ'); a :=

PROGRAM prog#7; VAR a, b: CHAR; BEGIN writeln('Введи символ'); a :=

'G'; readln(b); writeln(a, b); END. Окно ввода/вывода: Введи символ: Я GЯ

30 Задача 8

Задача 8

Input”введите строку”;s$ input”введите искомую букву”;с$ k=0 for i=1 to len(s$) if mid$(s$,i,1)=c$ then k=k+1 next i print “буква”;с$;”встретилась”;к;”раз”

Задача 9

Input”введите слово”; s$ for i=len(s$) to 1 step -1 ? mid$(s$,i,1) next i

31 PROGRAM prog#10; VAR s: STRING; i: INTEGER; BEGIN write('Введите

PROGRAM prog#10; VAR s: STRING; i: INTEGER; BEGIN write('Введите

строку: '); readln(s); write('Введите номер символа: '); readln(i); writeln(i, '–й символ строки – ', s[i]); END.

Окно ввода/вывода: Введите строку: Вася Введите номер символа: 3 3–й символ строки – с

Если указать индекс больше, чем длина строки, то может возникнуть ошибка [2], поэтому лучше не пытаться этого делать.

32 PROGRAM prog#11; VAR s: STRING; BEGIN write('Введите строку: ');

PROGRAM prog#11; VAR s: STRING; BEGIN write('Введите строку: ');

readln(s); writeln('Длина строки – ', ORD(s[0]), ' символов'); END. Окно ввода/вывода: Введите строку: Маша Длина строки – 4 символов

33 Данная программа представляет собой примитивный транслятор, который

Данная программа представляет собой примитивный транслятор, который

транслирует все символы в строки как они есть, а восклицательные знаки транслирует в точки.

PROGRAM PRG34_12; VAR STR: STRING; L, I : INTEGER; BEGIN WRITELN(‘ВВЕДИТЕ ТЕКСТ'); READLN(STR); L := LENGTH(STR); WRITELN(‘ПРЕОБРАЗОВАННЫЙ ТЕКСТ'); FOR I := 1 TO L DO IF STR[I]='!' THEN WRITE('.') ELSE WRITEL(STR{I}); WRITELN; READLN END. Для решения задачи: • формируем тело программы и описываем переменные; • цикл FOR 1 := I TO L DO осуществляет вывод строки с заменой '!" на "." • после вывода закрываем строку оператором WRITELN. Переменные: 1 - переменные циклов; L - длина строки; STR - строка текста.

34 { Процедура ExplodeString выводит строку S в позиции (X, Y), с

{ Процедура ExplodeString выводит строку S в позиции (X, Y), с

эффектом раздвижения и звуковым сигналом }

Procedure ExplodeString ( X,Y : Byte; S : String; C : Word ); Var I, L2: Byte; Begin L2 := (Length ( S ) div 2 ) + 1; { середина строки } If X < 12 then X := L2; For I := 0 to L2-1 do Begin GotoXY ( X-I, Y );{ Вывод расширяющейся центральной части строки} Write (Copy ( S, L2-I, 2*I+1) ); Sound ( I*50 ); Delay (C); NoSound End End; Begin ClrScr; ExplodeString ( 40, 12, ‘12345678900987654321’, 100); Repeat until Keypressed End.

35 Var LongV: LongInt; WordV: Word;

Var LongV: LongInt; WordV: Word;

. . WordV:= 0; Val (S, LongV, ErrCode ); If ErrCode= 0 then Begin If ( LongV >= 0 ) and ( LongV <= 65535 ) then WordV:=LongV else WriteLn (‘Ошибка диапазона при преобразовании‘, LongV) End else Writeln (‘Ошибка в строке ‘, S, ‘в символе‘, S[ErrCode] );

36 Program prg34_15; var str: string; l, i, j : integer; m : set of char;

Program prg34_15; var str: string; l, i, j : integer; m : set of char;

begin m := ['.', ',', '!', ':', ';', '?', '-']; writeln(‘введите текст'); readln(str); l := length(str); for i := 1 to l do if not(str[1] in m) then write(str[1]) else break; for j := i + 1 to l do write(str[j]); writeln end.

Для решения данной задачи нам понадобится объявить множество знаков препинания М. Затем, последовательно проверяя каждый символ строки на принадлежность этому множеству, найдем первый знак препинания. Найдя знак, необходимо досрочно выйти из цикла проверки, например с помощью оператора BREAK.

Для решения задачи: • формируем тело программы и описываем переменные; • задаем значение множества М - множества знаков препинания; • цикл FOR 1 := I TO L DO осуществляет вывод строки до первого знака препинания; • цикл FOR J := 1 + I TO L DO выводит строку после первого знака препинания; • после вывода закрываем строку оператором WRITELN. Переменные: 1, J - переменные циклов; L - длина строки; STR - строка текста; М - множество знаков препинания.

37 PROGRAM prog#16; VAR s: STRING; BEGIN writeln('Как Вас зовут

PROGRAM prog#16; VAR s: STRING; BEGIN writeln('Как Вас зовут

'); readln(s); writeln('Привет, ', s, '!'); END. Окно ввода/вывода: Как Вас зовут? Вася Привет, Вася!

«Символьные и строковые переменные в Turbo Pascal»
http://900igr.net/prezentacija/algebra/simvolnye-i-strokovye-peremennye-v-turbo-pascal-246043.html
cсылка на страницу

Без темы

326 презентаций
Урок

Алгебра

35 тем
Слайды
900igr.net > Презентации по алгебре > Без темы > Символьные и строковые переменные в Turbo Pascal