1 / 20

Программирование на алгоритмическом языке. Часть II

Программирование на алгоритмическом языке. Часть II. Тема 4 . Символьные строки. Чем плох массив символов?. Это массив символов:. симтаб s[1:10]. каждый символ – отдельный объект; массив имеет длину , которая задана при объявлении. Что нужно:

jag
Download Presentation

Программирование на алгоритмическом языке. Часть II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Программирование на алгоритмическом языке. Часть II Тема 4. Символьные строки

  2. Чем плох массив символов? Это массив символов: симтабs[1:10] • каждый символ – отдельный объект; • массив имеет длину, которая задана при объявлении • Что нужно: • обрабатывать последовательность символов как единое целое • строка должна иметь переменную длину

  3. Символьные строки Объявление строки: лит s s[4] s[3] рабочая часть s[1] s[2] Длина строки: цел n n:=длин(s)

  4. Символьные строки Задача: ввести строку с клавиатуры и заменить все буквы «а» на буквы «б». алгЗамена а на б нач литs вывод "Введите строку: " ввод s целi нц для i от 1 до длин(s) если s[i]="а" то s[i]:="б" все кц вывод s кон длина строки

  5. Задания «3»: Ввести символьную строку и заменить все буквы «а» на буквы «б», как заглавные, так и строчные. Пример: Введите строку: ааббссААББСС Результат: ббббссББББСС «4»: Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как заглавные, так и строчные. Пример: Введите строку: ааббссААББСС Результат: ббаассББААСС

  6. Задания «5»: Ввести символьную строку и проверить, является ли она палиндромом (палиндром читается одинаково в обоих направлениях). Пример: Пример: Введите строку: Введите строку: АБВГДЕ КАЗАК Результат: Результат: Не палиндром.Палиндром.

  7. Операции со строками лит s, s1, s2 Запись нового значения: s:="Вася" Объединение: добавить одну строку в конец другой. s1:="Привет" s2:="Вася" s:=s1 + ", " + s2 + "!" | "Привет, Вася!" Подстрока: выделить часть строки в другую строку. s:="123456789" s1:=s[3:8] s2:=s1[2:4] | "345678" | "456"

  8. Удаление и вставка Удаление части строки: 6 штук s:="123456789" s:=удалить(s, 3, 6); '123456789' '129' строка меняется! с 3-его символа Вставка в строку: начиная с 3-его символа s:="123456789" s:=вставить("ABC", s, 3) s:=вставить( "Q", s, 5 ) '12ABC3456789' куда вставляем что вставляем '12ABQC3456789'

  9. Поиск в строке (найти) Поиск в строке: s[3] цел n s:="Здесь был Вася." n:=найти("е", s) если n > 0 то вывод "Буква е – это s[", n, "]" иначе вывод "Не нашли" все n:=найти("Вася", s) s1:=s[n:n+3] 3 n=11 Вася • Особенности: • функция найти возвращает номер символа, с которого начинается образец в строке • если образец не найден, возвращается -1 • поиск с начала (находится первое слово)

  10. Примеры s:="Вася Петя Митя" n:=найти( "Петя", s ) s:=удалить(s, n, 4) s:=вставить("Куку", s, n) 6 'Вася Митя' 'Вася Куку Митя' s:= "Вася Петя Митя" n:=длин( s ) s1:=s[1:4] s2:=s[11:14] s3:=s[6:9] s:=s3 + s1 + s2 n:=длин( s ) 14 'Вася' 'Митя' 'Петя' 'ПетяВасяМитя' 12

  11. Пример решения задачи Задача: Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы». Пример: Введите имя, отчествои фамилию: Василий Алибабаевич Хрюндиков Результат: Хрюндиков В.А. • Алгоритм: • найти первый пробел и выделить имя • удалить имя с пробелом из основной строки • найти первый пробел и выделить отчество • удалить отчество с пробелом из основной строки • «сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы…

  12. Программа использовать Строки алгФИО нач литs, имя, отчество целn вывод "Введитеимя, отчество и фамилию" ввод s n:=найти("", s); имя:=s[1:n-1] | вырезать имя s:=удалить(s, 1, n) n:=найти("", s) отчество:=s[1:n-1] | вырезать отчество s:=удалить(s, 1, n) | осталась фамилия s:=s+" "+имя[1]+"."+отчество[1]+"." вывод s кон

  13. Задания «3»: Ввести в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести инициалы и фамилию. Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович Результат: П.С. Иванов «4»:Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe». Пример: Введите имя файла: Введите имя файла: qqq qqq.com Результат:Результат: qqq.exe qqq.exe

  14. Задания «5»: Ввести путь к файлу и «разобрать» его, выводя каждую вложенную папку с новой строки Пример: Введите путь к файлу: C:\Мои документы\10-Б\Вася\qq.exe Результат: C: Мои документы 10-Б Вася qq.exe

  15. Задачи на обработку строк Задача: с клавиатуры вводится символьная строка, представляющая собой сумму двух целых чисел, например: 12+35 Вычислить эту сумму: 12+35=47 Алгоритм: найти знак «+» выделить числа слева и справа в отдельные строки перевести строки в числа сложить вывести результат

  16. Преобразования «строка»-«число» Из строки в число: цел N, вещ X,литs, логOK даилинет s:="123" N:=лит_в_цел(s,OK) | N = 123 если не OK то вывод "Ошибка!" все s:="123.456"; X:=лит_в_вещ(s,OK) | X = 123.456 если не OK то вывод "Ошибка!" все Из числа в строку: N:=123 s:=цел_в_лит(N)| "123" X:=123.456 s:=вещ_в_лит(X)| "123.456"

  17. Программа использовать Строки алгКалькулятор нач лит s, s1, s2 цел n, n1, n2, sum лог OK вывод"Введите выражение (сумму двух чисел): " ввод s n:=найти("+",s) s1:=s[1:n-1] s2:=s[n+1:длин(s)] n1:=лит_в_цел(s1, OK) n2:=лит_в_цел(s2, OK) sum:=n1+n2 вывод n1,"+",n2,"=",sum кон слагаемые-строки слагаемые-числа сумма слагаемые-строки слагаемые-числа

  18. Задания «3»: Ввести арифметическое выражение: разность двух чисел. Вычислить эту разность. Пример: 25-12 Ответ: 13 «4»: Ввести арифметическое выражение: сумму трёх чисел. Вычислить эту сумму. Пример: 25+12+34 Ответ: 71

  19. Задания «5»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение и вычитание. Вычислить это выражение. Пример: Пример: 25+12+34 25+12-34 Ответ: 71 Ответ: 3 Пример: Пример: 25-12+34 25-12-34 Ответ: 47 Ответ: -21

  20. Задания «6»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение, вычитание и умножение. Вычислить это выражение. Пример: Пример: 25+12*3 25*2-34 Ответ: 61 Ответ: 16 Пример: Пример: 25-12+34 25*2*3 Ответ: 47 Ответ: 150

More Related