- •Содержание
- •Пояснительная записка
- •Раздел 1. Основы программирования
- •Тема 1.1 Понятие алгоритма
- •Понятие алгоритма. Свойства алгоритма
- •Алгоритмический язык
- •Понятие алгоритма. Свойства алгоритма
- •Хорезми
- •2. Алгоритмический язык
- •Тема 1.2 Методы описания алгоритма
- •Виды описания алгоритма
- •Тема 1.3 Типы алгоритмов
- •1.Типы алгоритмов
- •Алгоритм линейной структуры
- •3. Разветвляющийся алгоритм
- •4. Циклический алгоритм
- •5.Виды циклов
- •Цикл с предусловием (цикл пока)
- •2. Цикл с постусловием (цикл до)
- •3. Арифметический цикл (цикл для) – цикл с параметром.
- •Тема 1.4. Алгоритмический ряд.
- •Операторы цикла с условием
- •Операторы ограничения и прерывания цикла
- •Раздел 2. Решение задач на пэвм.
- •Тема 2.1. Основные этапы подготовки задачи к решению на пэвм.
- •Этапы решения задач
- •Тема 2.2 Программа на языке высокого уровня.
- •Тема 2.3. Методика Джексона
- •1. Методика Джексона
- •Шаг объект-действие
- •Раздел 3.Разработка программы на языке Турбо Паскаль
- •Тема 3.1 Основные элементы
- •История и классификация языков программирования
- •Элементы языка Турбо Паскаль
- •Тема 3.2. Типы данных
- •1. Типы данных Типы данных
- •Тема3.3 Программа на языке Турбо Паскаль
- •Структура программы на языке Паскаль
- •4. Вывод данных в тр
- •5. Ввод данных в тр
- •Тема 3.4 Массивы и их обработка
- •Строковый тип данных
- •Процедуры и функции для работы со строками
- •1. Определение массива
- •2 Описание массивов
- •3 Действия над массивами
- •4.Двумерный массив
- •6.Строковый тип данных
- •'Текстовая строка'
- •7. Процедуры и функции для работы со строками
- •Тема 3.5 Встроенные процедуры и функции
- •1. Арифметические процедуры и функции:
- •2. Функции преобразования типов:
- •3. Процедуры и функции для работы со строками:
- •Тема 3.6. Процедуры и функции пользователя
- •Отличия функции от процедур
- •3. Описание процедуры
- •4. Описание функций
- •5. Локальные и глобальные переменные.
- •6. Параметры в процедурах.
- •Тема 3.7. Записи
- •1. Структура записи в тр
- •2. Отличия записи от массива.
- •Тема 3.8 Файлы и их обработка
- •1. Понятие файла
- •2. Чтение и запись информации из файл или в файл
- •3.Доступ к файлам
- •4.Имена файлов
- •5. Связь файла с файловой переменной.
- •6. Открытие и переименование файла.
- •7. Типизированные фалы.
- •8. Нетипизированные файлы.
- •9.Текстовые файлы
- •Раздел 4. Объектно – ориентированная модель программирования
- •Тема 4.1. Основные характеристики ооп. Преимущества.
- •1. Основные характеристики ооп. Преимущества
- •Тема 4.2. Инкапсуляция.
- •Тема 4.3. Наследование.
- •Тема 4.4.Виртуальные методы и полиморфизм.
- •Перечень источников литературы для самостоятельного изучения учебной дисциплины «Основы алгоритмизации и программирования»
6.Строковый тип данных
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной стоки. Синтаксис:
var s: string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пример:
'Текстовая строка'
#54#32#61 'abcde'^A^M
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.
Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены.
Выражения типа char можно присваивать любым строковым переменным.
В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее.
Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например:
a := 'Turbo';
b := 'Pascal';
c := a + b;
В этом примере переменная c приобретет значение 'TurboPascal'.
Кроме слияния над строками определены операции сравнения <,>,=,<>,<=,>=. Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0.
7. Процедуры и функции для работы со строками
Процедура Delete(St, poz, n) – удаление n символов строки St, начиная с позиции Poz.
Значение St |
Выражение |
Результат |
‘абвгде’ |
Delete(St, 4, 2); |
‘абве’ |
‘река Волга’ |
Delete(St, 1, 5); |
‘Волга’ |
Процедура Insert (S1, S2, Poz) – вставка строки S1 в строку S2, начиная с позиции Poz.
Значение S1 |
Значение S2 |
Оператор |
Результат |
‘ ЕС ’ |
‘ЭВМ1841’ |
Insert (S1, S2, 4); |
‘ЭВМ ЕС 1841’ |
‘ N’ |
‘ Рис. 2’ |
Insert (S1, S2 , 6); |
‘ Рис. N2’ |
Процедура Str(N,St) – преобразование числового значения N в строковый и помещение результата в строку St.
Значение N |
Выражение |
Результат |
1500 |
Str (N:6,St); |
‘ 1500’ |
Процедура Val(St, N,Code) – преобразует значение St в величину целочисленного или вещественного типа и помещает результат в N. Code – целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно 0, если же обнаружена ошибка, то Code будет содержать номер позиции первого ошибочного символа, а значение N не определено.
Значение St |
Выражение |
Результат |
‘1500’ |
Val(St, N,Code); |
Code=0 |
’14.2A+02 |
Val(St, N,Code); |
Code=5 |
Функция Copy(S, Poz, N) – выделяет из строки S подстроку длиной N символов, начиная с позиции Poz.
Значение S |
Выражение |
Результат |
‘Мама мыла раму’ |
Copy(S, 6, 4); |
‘мыла’ |
Функция Concat(S1,S2,…,Sn) – выполняет сцепление строк S1,S2,…,Sn в одну строку.
Выражение |
Результат |
Concat(‘Мама ’,’мыла ’,’раму’) |
‘Мама мыла раму’ |
Функция Length(S) – определяет текущую длину строки S.
Значение S |
Выражение |
Результат |
‘1500 символов’ |
Length(S) |
13 |
Функция Pos(S1,S2) – определяет первое появление в строке S2 подстроки S1.
Значение S2 |
Выражение |
Результат |
‘abcdef’ |
Pos(‘cd’,S2) |
3 |
‘abcdef’ |
Pos(‘k’,S2) |
0 |
Функция UpCase (ch) – преобразует строчную букву в прописную. Обрабатывает буквы только латинского алфавита.
Значение Ch |
Выражение |
Результат |
‘d’ |
UpCase (ch) |
‘D’ |
Пример. Из данной символьной строки выбрать все цифры и сформировать другую строку из этих цифр, сохранив их последовательность.
Program Stroki;
Var S1, S2:string;
Begin
Write(‘Введите строку’);
Readln(S1);
S2:= ‘ ‘;
For i:=1 to length(S1) do
If (S1[i]>=’0’) and (S1[i]<=’9’)
Then S2:=S2+S1[i];
Writeln(‘Результат’, S2)
End.
Перечень источников:
Кинг Д. Создание эффективного программного обеспечения. –М.: мир, 1991 – 284с.
2. Немнюгин С.А. Turbo Pascal: учебник – СПб «Питер», 2007.- 455с.
3. Попов В.Б. Turbo Pascal для школьников. – М.: Финансы и статистика, 2009. – 525с.