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

Тема №32 (время – 60 мин)

Читайте также:
  1. Тема №1 (время – 1 мин)
  2. Тема №11 (время – 3 мин)
  3. Тема №12 (время – 5 мин)
  4. Тема №14 (время – 1 мин)
  5. Тема №16 (время – 3 мин)
  6. Тема №17 (время – 2 мин)
  7. Тема №18 (время – 2 мин)
  8. Тема №19 (время – 2 мин)
  9. Тема №2 (время – 2 мин)
  10. Тема №20 (время – 6 мин)
  11. Тема №21 (время – 2 мин)
  12. Тема №22 (время – 3 мин)

Тема: Обработка данных, вводимых в виде символьных строк (написать программу средней сложности из 30-50 строк) или последовательности чисел.

Что нужно знать:

· символьная строка – это цепочка символов, которая может обрабатываться как единое целое

· для обращения к символу с номером i строки s используется запись s[i], это говорит о том, что строка – особый вариант массива, в котором хранятся символы

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

s:= '123' + '456'; { получили '123456' }

· с помощью функции Ord можно получить код символа; цифры имеют коды от 48 (цифра 0) до 57 (цифра 9), например

k:= Ord('1'); { получили 49 }

то же самое можно сделать с помощью преобразования типа (привести char к integer)

k:= integer('1'); { получили 49 }

· с помощью функции Chr можно сделать обратный переход: получить символ по его коду, например

c:= Chr(49); { получили символ '1' }

то же самое можно сделать с помощью преобразования типа (привести integer к char)

c:= char(49); { получили символ '1' }

· для работы со строками в наиболее распространенных Паскаль-средах (Turbo Pascal, Borland Pascal, PascalABC, среда АЛГО) используют стандартные функции (здесь s – это переменная типа string, символьная строка; n и r – целые переменные)

n:= Length(s); записать длину строки s в целую переменную n
s1:= Copy(s, 2, 5); записать в символьную строку s1 подстроку строки s, которая начинается с символа с номером 2 и состоит из 5 символов (важно – не со 2-го по 5-ый символ!)
n:= Pos('Вася', s); записать в целую переменную n номер символа, с которого в строке s начинается подстрока 'Вася' (если ее нет, в переменную n записывается 0); так же можно искать отдельные символы (важно: сначала указываем, что ищем, а потом – где)
n:= StrToInt(s); преобразовать строку s в целое число и записать результат в переменную n (PascalABC, Delphi)

и процедуры

Delete(s, 2, 5); удалить из строки s5 символов, начиная со второго
Insert('Вася', s, 3); вставить в строку s фрагмент 'Вася', начиная с третьего символа (между 2-м и 3-м)
Val(s, n, r); преобразовать строку s в целое число и записать результат в переменную n; если при этом произошла ошибка, в переменной r будет номер ошибочного символа, если все нормально – ноль

· структура (в Паскале она называется «запись», record) – это сложный тип данных, который может включать в себя несколько элементов – полей; поля могут иметь различный тип

· записи в Паскале объявляются с помощью ключевого слова record; в простейшем случае можно выделить память под одну запись так:

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)