Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
алгоритмизация павлодар.doc
Скачиваний:
14
Добавлен:
21.02.2016
Размер:
1.01 Mб
Скачать

Очень полезна при работе со строками функция типа Integer

Pos (SubSt,St),

отыскивающая в строке St первое вхождение подстроки SubSt и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль.

Две взаимообратные процедуры Str и Var преобразуют любое число в строку и из строки в число.

Процедура: Str (X[:W[:D]], St) преобразует число Х любого вещественного или целого типов в строку символов St так, как это делает процедура Writeln перед выводом. Параметры :W и :D, если они присутствуют, задают формат преобразования: W определяет общую ширину поля, выделенное под соответствующее символьное представление вещественного или целого числа X, а D – количество символов дробной части (этот параметр имеет смысл только в том случае, когда Х – вещественное число).

Процедура Val (St,X,Code) преобразует строку символов St во внутреннее представление целой или вещественной переменной Х, которая определяется типом этой переменной. Параметр Code содержит 0, если преобразование прошло успешно, и тогда в Х помещается результат

В строке St могут быть ведущие пробелы, однако ведомые пробелы недопустимы.

Например, обращение Val ( 123,X,C) пройдет успешно: Х получит значение 123, в С будет помещен 0, в то время, как обращение Val (123 ,X,C) будет ошибочным: значение Х не изменится, а С будет содержать 4.

Операции отношения строк.

В Turbo Pascal’e над двумя строками определены следующие операции отношения: =, <>, >, <, >=, <=. Операции отношения над двумя строками выполняются посимвольно. Слева направо, с учетом внутренней кодировки символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются значением Chr(0). Следующие операции отношения дадут значение True:

‘’’’< ‘.’

‘A’> ‘1’

‘Turbo’< ‘Turbo Pascal’

‘Паскаль’> ‘Turbo Pascal’

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

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

  2. Как можно занести значение в строковую переменную?

  3. Соединение строк.

  4. Как найти необходимую подстроку в строке?

  5. Удаление символов из строки.

  6. Как сравниваются строки?

  1. Задачи для самостоятельного решения.

  1. Дана последовательность слов, разделенных между собой пробелами. Определите, сколько слов в последовательности начинается на букву М.

  2. Дана последовательность слов, разделенных пробелами. Вывести на экран те из них, которые содержат букву А.

  3. Дана последовательность слов, разделенных пробелами. Вывести слова в обратном порядке.

  4. Var St, St1, St2:String;

В переменную St помещено предложение, в котором слова разделены пробелами. В переменную St1 поместить слова, стоящие на нечетных местах, а в St2 – слова, стоящие на четных местах. Вывести значения St1 и St2 на экран.

  1. Дана последовательность слов, разделенных пробелами. Вывести на экран те из них, которые совпадают с начальным отрезком латинского алфавита (ab, abc, abcd и т.д.).

  2. Дана последовательность слов, разделенных пробелами. Вывести на экран те из них, которые совпадают с конечным отрезком латинского алфавита (yz, xyz и т.д.).

  3. Дана последовательность символов. Разбить ее на четыре последовательности: буквы русского алфавита, буквы латинского алфавита, цифры и другие символы.

  4. Дана последовательность слов, разделенных пробелами. Вывести на экран эти слова в алфавитном порядке.

  5. Дано арифметическое выражение, имеющее вид:

<число><знак><число>=<число>,

где <число> – любое целое положительное число, а <знак> – арифметический знак +, –, , /. (Например, 38+43=81, 56*43=275). Проверить, не является ли данное арифметическое выражение тождеством.

  1. Дана последовательность символов. Вывести их на экран по одному разу.

  2. Дана последовательность символов. Вывести на экран те из них, которые входят в последовательность два, три и более раз.

  3. Дана последовательность символов. Вывести на экран те из них, которые встречаются два раза.

  4. Дана последовательность слов. Вывести на экран те из них, которые встречаются три, четыре и более раз.

  5. Дана последовательность слов, разделенных пробелами. Вывести на экран все слова, предварительно перенеся последнюю букву в начало слова.

  6. Дана последовательность символов. Вывести на экран тот символ, который в последовательности встречается чаще остальных.

  7. Дано слово. Замените каждую букву слова числом, соответствующим позиции буквы в алфавите (а-1, … , г-4, …). Найти сумму этих чисел (например, слово математика даст результат 14+1+20+6+14+1+20+10+12+1=99).

  8. Из последовательности слов St, разделенных пробелами, вывести на экран те слова, которые следуют за данным словом Sl, в алфавитном порядке.

  9. Из последовательности слов St, разделенных пробелами, вывести на экран те слова, которые предшествуют данному слову, занесенному в переменную Sl, в алфавитном порядке.

  10. В строковую переменную St занесена последовательность чисел, разделенных запятыми. Определить, образуют ли эти числа арифметическую прогрессию (например: 2,4,6,8,10,12; 13,10,7,4,1).

  11. Дан текст из букв и цифр. Определить, равна ли длина текста сумме числовых значений цифр, входящих в текст.

  1. Список дополнительной литературы.

  1. В.В. Фаронов. Turbo Pascal 7.0. Начальный курс. Учебное пособие – М: «Нолидж», 1997 616с.

  2. В.П. Абрамов, Трифонов Н.П., Трифонова Н.Г. Введение в язык Паскаль. Учебное пособие. – М: Наука Гл. ред. физ.-мат. лит., 1988-3220с.

  3. Е.А. Зуев. Язык программирования Turbo Pascal 6.0. – Мн.: Высш шк., 1992 298с.

  4. Ян Белецкий. Турбо Паскаль с графикой для ПК. – М.: Машиностроение, 1991 320с.

  5. В.В. Фаронов. Турбо Паскаль (в 3 книгах) – М.: Наука, 1992г.

  6. Е.А. Зуев. Система программирования. Турбо Паскаль. – М.: Радио и связь, 1992 288с.

  7. Ю.С. Климов и др. Программирование в среде Турбо Паскаль 6.0. Мн.: Высш. Шк., 1992 158с.

  8. Дональд Алкок. Язык Паскаль в иллюстрациях. – Мир, 1991 192с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]