Язык программирования ABC PASCAL - [15]

Шрифт
Интервал


>Program Strings; // замена символов a на b в строке s

>function replace(s : string; a,b : char):string;

>var i : integer;

>begin

>for i:=1 to Length (s) do // цикл для всех символов строки

>if s[i]=a then s[i]:=b; // замена символов

> replace:=s; // имени функции присваивается значение

>end;

>begin

> writeln (replace('мама мыла раму','м','н')); // Проверка работы функции

>end.


Тип char или string может использоваться для чтения информации из текстового файла, например:


>Program ReadText;

>Uses CRT;

>var name : string; // Имя файла

> s : string; // Буфер для чтения строки

> f : text; // Файловая переменная

> n : integer; // Счетчик строк

>begin

> write('Введите имя файла: '); readln (name); // Ввод имени файла

> assign (f,name); reset (f); // Открытие файла

> n:=0; // Обнуление счетчика

>while not eof (f) do // Чтение «пока не конец файла»

>begin

> readln (f,s); // Чтение одной строки из файла f

> writeln (n:4,': ',s); // Вывод номера и строки на экран

> inc(n); // inc(n) – операция увеличения на единицу

>if n mod 25 = 0 then readln; // Пауза после каждой 25-й строки

>end;

> close (f);

>end.


Задание 15

1. С помощью функций ReadKey и Ord напишите программу, которая выводила бы сразу символ и его код по нажатию одной клавиши. (2 балла)

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

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

- 42 -


Для работы с текстовыми строками в языке Pascal существует набор функций, который немного расширен в реализации ABC Pascal. Приведем справочник по этим функциям.

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

Имя и параметры

Типы параметров

Тип возвращаемого значения

Действие

Length(s)

s - string

integer

возвращает длину строки s

Copy(s,index,count)

s - string, index и count - integer

string

возвращает подстроку строки s длины count, начиная с позиции index

Delete(s,index,count)

s - string,


удаляет в строке s count символов index и начиная с позиции index count - integer

Insert(subs,s,index)

s, subs - string, index - integer


вставляет подстроку subs в строку s с позиции index

Pos(subs,s)

s, subs- string

integer

возвращает позицию первой подстроки subs в строке s (или 0 если подстрока не найдена)

SetLength(s,n)

s - string, n - integer


устанавливает длину строки s равной n

Str(x,s)

Str(x:n,s)

Str(x:n:m,s)

s - string, x - integer, real и n, m - integer


преобразует x к строковому представлению (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m) и записывает результат в строку s

Val(s,v,code)

s - string, v - integer, real, и code - integer

преобразует строку s к числовому представлению и записывает результат в переменную v. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение

Concat(s1,...,sn)

s1,..., sn - string

string

возвращает строку, являющуюся string результатом слияния строк s1,..., sn.

Результат тот же, что у выражения s1+s2+...+sn

UpCase(c)

c - char

char

возвращает символ c, преобразованный к верхнему регистру

LowCase(c)

c - char

char

возвращает символ c, преобразованный к нижнему регистру

UpperCase(s)

s - string

string

возвращает строку s, преобразованную к верхнему регистру

LowerCase(s)

s - string

string

возвращает строку s, преобразованную к нижнему регистру

Trim(s)

s - string

string

возвращает копию строки s с удаленными лидирующими и заключительными пробелами

- 43 -

Тема №16 Множества символов

В языке Pascal есть очень интересный тип данных множество. Множество представляет собой набор элементов одного порядкового типа. Элементы множества считаются неупорядоченными; каждый элемент может входить во множество не более одного раза. Тип множества описывается следующим образом: set of базовый тип;

В качестве базового может быть любой порядковый тип с элементами, для которых функция Ord возвращает значения в диапазоне от 0 до 255. К таким типам, из изученных нами, относятся тип char и byte (а также их подмножества).[16] Аналогично массивам можно определить название нового типа в секции type, например:

type ByteSet = set of byte; CharSet = set of char; Digits = set of '0'..'9'; // подмножества типа char

Сами множества задаются в виде перечисления их элементов (возможно с использованием диапазонов), заключенные в квадратные скобки:

> var Vowels : CharSet; // можно было написать vowels : set of char; Good : Digits; // можно было написать good : set of '0'..'9';

> …

> Vowels :=['A ', 'E ', 'O', 'I', 'U']; // Элементы явно перечислены

> Good:=['3'.. '5', '10']; // Диапазон и отдельный элемент

Для проверки принадлежности элемента множеству существует операция in:

var c : char;

if c in Vowels then inc(n); // Если с – гласная, то увеличить n на 1

На обороте страницы приведена программа, которая вводит текстовую строку с экрана и выводит ее на экран азбукой Морзе, заодно проигрывая ее. В этой программе используется много нового: работа с модулем Sound, массив из строк, индексация массива не целыми числами, а типом char, функция задержки выполнения Sleep, функция перевода буквы в верхний регистр Upcase, работа с множеством.


Рекомендуем почитать
Сочинения гр. А. К. Толстого как педагогический материал. Часть 2. Эпические мотивы

«Лирика обладает одним несомненным преимуществом перед другими родами поэзии: она лучше всего освещает нам личный мир поэта, ту сферу, которую выделяет для него в широком Божьем мире его темперамент, обстановка, симпатии, верования; она показывает степень отзывчивости поэта; т.е. его способности переживать разнородные душевные состояния: она часто открывает нам уголки поэтической деятельности, где живут не оформившиеся еще образы, задатки для определенных фигур эпоса и драмы. В эпосе и драме образы становятся разнообразнее и пестрее, но вместе с тем славятся объективнее, особенно в драме…».


Уголовное право. Особенная часть

В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.


Самоучитель Adobe After Effects 6.0

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.


Финансовое право

В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.


Следственные действия: психология, тактика, технология

Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.


фгос  ответы

Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.