Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задание №4

Задание №1

Запишите свои Ф. И О. Найдите самое длинное слово в тексте.

 

Рисунок №1

program pr_7;

Var

a, b, c: string;

i: integer; begin

readln(a);

a: =a+' ';

Whilepos(' ', a)> 0 do

Begin

b: =copy(a, 1, pos(' ', a));

delete(a, 1, pos(' ', a));

if length(b)> length(c) then c: =b

end;

writeln(c);

end.

 

Задание №2

Запишите свои Ф. И. О. Запишите данную строку в обратном порядке.


Рисунок №2

program pr_7;

 

Var

s, sn: string;

i: integer;

Begin

write('ФИО: ');

readln(s);

sn: =''

for i: =1 to length(s) do

sn: =s[i]+sn;

write('Итог: ', sn);

end.

Задание №3

Запишите свои Ф.И О. Удалите все пробелы в данной строке.

program pr_7;

Var

s, sn: string;

Begin

readln(s);

While(pos(' ', s) < > 0) do

Begin

delete(s, pos(' ', s), 1);

end;

writeln(s);

readln;

end.

Задание №4

Выполните задание согласно индивидуального варианта по списку в журнале

 

Рисунок № 4

 

Ответы на контрольные вопросы

 

1. Строковый тип данных используется при обработке текстовой информации. 2.Строковый тип данных является структурированным типом данных и является одномерным массивом из символов. 3. Существует два подхода к реализации строк. 1. Фактическая длина строки указывается в нулевом элементе строки. В нулевой элемент строки записывается символ, код которого равен фактической длине строки. При выводе строки нулевой элемент невидимый 2. Фактическая длина строки фиксируется специальным символом. В Паскале таким символом является NULL, или 0. Когда признак фактической длины строки находится в конце последовательности символов, то нет необходимости накладывать ограничения на длину строки. 4. максимальная длина строки не может превышать 255 символов. Длина любой структуры не может превышать 65534 байта. 5. Фактическая длина строки указывается в нулевом элементе строки, 6.Строковый тип String построен на основе первого подхода к реализации строк 7, Фактическая длина строки 8, Строки с завершающим нулем называются ASCIIZ-строками. Такие строки в Паскале описываются как массивы символов, первый элемент которых имеет нулевой индекс. 9, Например, var z: array[0..300] of char; 10, В стандартном модуле Stings.tpu собраны функции, реализующие операции над ASCIIZ-строками. 11. Процедуры и функции, работающие со строками типа String: ü Функция Concat (S1, S2., Sn): string - проводит конкатенацію (сцепление) строк S1, S2., Sn. ü Функция Copy (S, p, n): string - возвращает копию подстроки из n символов строки S, начиная с символа с номером г ü Функция Delete (S, p, n): string - удаляет подстроку из n символов из строки S, начиная с символа с номером г. ü Функция Insert (S2, S1, p): string - вставляет подстроку S2 в строку S1, начиная с символа с номером г. ü Функция Length (S): integer – возвращает длину строки S. ü Функция Pos (S2, S1): integer – возвращает номер позиции, начиная с которой подстрока S2 встречается в строке S1. Если подстрока не найден, возвращается ноль. ü Процедура Str (X, S) – преобразует число X вещественного или целого типа в строку символов S. После числа Х допустим вслед за двоеточием указать количество позиций, выделяемых для представления числа и после второго двоеточия количество символов в дробной части (как в процедур е writeln). ü Процедура Val (S, X, к) – преобразует строку символов S в число X вещественного или целого типа. В переменной к возвращается ноль, если преобразование прошло успешно. Иначе значение X не меняется, а в к содержится номер позиции в строке S, где стоит первый ошибочный символ. Допустим перед значащими цифрами числа в переменной S оставлять пропуски. Если пропуски будут стоять после записи числа, то значение X не изменится и в к окажется номер позиции первого пропуска. ü Процедура Insert(s, s1, p) вставляет в строку s подстроку s1, начиная с заданной позиции p. ü Chr(x) - преобразует выражение х в символ и возвращает значение символа ü Ord(ch) - преобразует символ ch в его код и возвращает значение кода ü Pred(ch) - возвращает предыдущий символ ü Succ(ch) - возвращает следующий символ. 12. Выполнить преобразование строки в число можно многими способами - выбор конкретного зависит от ваших целей на момент написания кода. Есть штатные способы - ряд библиотечных функций, есть более изощренные, есть совсем уж извращенные годные разве что для экзерсисов в области программирования. Начну с самых простых. Первый, и, наверное, самый распространенный, но далеко не самый лучший - использование штатных библиотечных функций atoi, atof, atol. Эти функции входит в стандартную библиотеку языка и присутствует в любом компиляторе. Ых объявления выглядит так: int atoi(const char* str) long atol(const char* str) double atof(const char* str) На вход они принимают указатель на строку, завершенную нулем, а возвращают - число, которое этой строкой описывается. atoi и atol воспринимающие следующий формат числа: [пробелы][знак]цифры а atof, соответственно: [пробелы][знак][цифры][.цифры][{d | D | e | E }[знак]цифры] 13. 18. Для данных строковых типов определены все имеющиеся в языке Pascal операции сравнения: =, < >, <, >, < =, > =. Чтобы понять принцип действия этих операций, напомним сначала правило сравнения данных символьного типа. Каждому символу соответствует уникальный код в таблице символов ASCII. Из двух символов большим считается тот, код которого больше. Строки — это последовательности символов, сравнение строк выполняется как серия сравнений тех символов строк, имеющих одинаковые индексы. Иначе говоря, при сравнении строк учитывается их лексикографический, или алфавитный порядок. А именно, сначала сравниваются первые символы строк (символы с индексами 1). 19. Если эти символы отличные, то большей считается та строка, первый символ которого больше. В противном случае сравниваются вторые символы строк. Если и вторые символы строк оказываются одинаковыми, то сравниваются третьи символы строк и тому подобное. Следовательно, если а и b — некоторые строки, а и - это такой наименьший индекс, а[и] < > b[i], то строка а считается больше в том случае, когда а [и] => b[i], и наоборот. Возникает вопрос: а когда такого индекса и, а [и] < > b[i], не существует? Тогда возможны два варианта: когда длина строк одинакова, то строки считаются равными, а когда длина строк разная, то большим считается длиннее строка. Для примера приведем несколько истинных логических утверждений.

<== предыдущая лекция | следующая лекция ==>
Объекты и связи в IDEF0 | Определение размеров цилиндров дизеля.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.