К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 66. Символьные строки 1.

Презентация:



Advertisements
Похожие презентации
1 Программирование на языке Паскаль Часть II Символьные строки.
Advertisements

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 63. Алгоритмы обработки массивовАлгоритмы обработки массивов.
К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 4. Символьные строки.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 58. Циклические алгоритмы 1.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 58. Циклические алгоритмы 1.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. МассивыМассивы.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 57. Ветвления 1.
Программирование на языке Паскаль Символьные строки.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 64. Сортировка 1.
Основы алгоритмизации и программирования ABC PASCAL CHAR LENGTH COPY DELETE INSERT Сикор Ольга, 10 класс, гимназия 1.
Познакомиться с основными принципами работы с символьными величинами Научиться применять процедуры и функции для их обработки.
Строки в Pascal
Подготовка к ЕГЭ (С 4) Обработка данных, вводимых в виде символьных строк или последовательности чисел.
Символьные переменные. Символьные переменные. © «МОУ СОШ 13» + © К.Ю. Поляков,
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Практика решения задач по теме «Строки» Цель урока: закрепить навыки работы со строками в языка Pascal.
Задача Разбить предложение по словам. В предложении могут быть знаки «.», «!», «?» и «,»
Символьные переменные. Символьные переменные. © «МОУ СОШ 13»
Обработка символьных величин. Цели урока Познакомиться с основными принципами работы с символьными величинами Познакомиться с основными принципами работы.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Решение вычислительных задач на компьютере § 70. Решение уравнений 1.
Транксрипт:

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 66. Символьные строки 1

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Зачем нужны символьные строки? 2 var s: array[1..80] of char; { массив символов } var s: array[1..80] of char; { массив символов } элементы массива – отдельные объекты сложно работать со строками переменной длины Хочется: строка – единый объект длина строки может меняться во время работы программы var s: string; { символьная строка } строка

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Символьные строки 3 Присваивание: s:= 'Вася пошёл гулять'; Ввод с клавиатуры: readln(s); Вывод на экран: writeln(s); А если массив? ? Отдельный символ: s[4]:= 'a'; Длина строки: var n: integer;... n:= Length(s); var n: integer;... n:= Length(s); var s: string;

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Символьные строки 4 program ReplaceAB; var s: string; i: integer; begin writeln('Введите строку'); readln(s); for i:=1 to Length(s) do if s[i]= 'а' then s[i]:= 'б'; writeln(s); end. program ReplaceAB; var s: string; i: integer; begin writeln('Введите строку'); readln(s); for i:=1 to Length(s) do if s[i]= 'а' then s[i]:= 'б'; writeln(s); end. Задача: заменить в строке все буквы 'а' на буквы 'б'. Программа >>>>>>

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 5 «A»: Ввести с клавиатуры символьную строку и заменить в ней все буквы «а» на «б» и все буквы «б» на «а» (заглавные на заглавные, строчные на строчные). Пример: Введите строку: сааб ААББссСС Результат: база ББААссСС

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 6 «B»: Ввести с клавиатуры символьную строку и определить, сколько в ней слов. Словом считается последовательности непробельных символов, отделенная с двух сторон пробелами (или стоящая с краю строки). Слова могут быть разделены несколькими пробелами, в начале и в конце строки тоже могут быть пробелы. Пример: Введите строку: Вася пошел гулять Найдено слов: 3

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 7 «C»: Ввести с клавиатуры символьную строку и найдите самое длинное слово и его длину. Словом считается последовательности непробельных символов, отделенная с двух сторон пробелами (или стоящая с краю строки). Слова могут быть разделены несколькими пробелами, в начале и в конце строки тоже могут быть пробелы. Пример: Введите строку: Вася пошел гулять Самое длинное слово: гулять, длина 6

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Операции со строками 8 Объединение (конкатенация) : s1:= 'Привет'; s2:= 'Вася'; s := s1 + ', ' + s2 + '!'; s1:= 'Привет'; s2:= 'Вася'; s := s1 + ', ' + s2 + '!'; 'Привет, Вася!' Срез: s:= ' '; s1:= Copy(s, 3, 5); { '34567' } s:= ' '; s1:= Copy(s, 3, 5); { '34567' } с какого символа откуда 5 сколько символов сколько символов

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Операции со строками 9 Вставка: s:= ' '; Insert('ABC', s, 3); { '12ABC ' } s:= ' '; Insert('ABC', s, 3); { '12ABC ' } что куда с какого символа Удаление: s:= ' '; Delete(s, 3, 6); { '129' } s:= ' '; Delete(s, 3, 6); { '129' } с какого символа сколько символов

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Поиск в строках 10 s:= 'Здесь был Вася.'; n:= Pos('с', s) if n > 0 then write('Номер символа ', n) else write('Символ не найден.'); s:= 'Здесь был Вася.'; n:= Pos('с', s) if n > 0 then write('Номер символа ', n) else write('Символ не найден.'); что где Находит первое слева вхождение подстроки! !

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

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Пример обработки строк 12 program FIO; var s, name, name2: string; n: integer; begin write('Введите имя, отчество и фамилию: '); readln(s); n:= Pos(' ', s); name:= Copy(s, 1, n-1); { взять имя } Delete(s, 1, n); n:= Pos(' ', s); name2:= Copy(s, 1, n-1);{ взять отчество } Delete(s, 1, n); { осталась фамилия } s:= s + ' ' + name[1] + '.' + name2[1] + '.'; writeln(s) end. program FIO; var s, name, name2: string; n: integer; begin write('Введите имя, отчество и фамилию: '); readln(s); n:= Pos(' ', s); name:= Copy(s, 1, n-1); { взять имя } Delete(s, 1, n); n:= Pos(' ', s); name2:= Copy(s, 1, n-1);{ взять отчество } Delete(s, 1, n); { осталась фамилия } s:= s + ' ' + name[1] + '.' + name2[1] + '.'; writeln(s) end.

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 13 «A»: Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы. Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 14 «B»: Ввести адрес файла и «разобрать» его на части, разделенные знаком '/'. Каждую часть вывести в отдельной строке. Пример: Введите адрес файла: C:/Фото/2013/Поход/vasya.jpg C: Фото 2013 Поход vasya.jpg

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 15 «C»: Напишите программу, которая заменяет во всей строке одну последовательность символов на другую. Пример: Введите строку: (X > 0) and (Y Y) and (Z <> 5) Что меняем: and Чем заменить: & Результат (X > 0) & (Y Y) & (Z <> 5)

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Преобразования «строка» – «число» 16 Из строки в число: s:= '123'; Val(s, N, r); { N = 123 } s:= ' '; Val(s, X, r); { X = } s:= '123'; Val(s, N, r); { N = 123 } s:= ' '; Val(s, X, r); { X = } Из числа в строку: N:= 123; Str(N, s); { s = '123' } X:= ; Str(X, s); { s =' E+002' } Str(X:10:3, s); { s = ' ' } N:= 123; Str(N, s); { s = '123' } X:= ; Str(X, s); { s =' E+002' } Str(X:10:3, s); { s = ' ' } var N: integer; X: real; s: string; r: integer; var N: integer; X: real; s: string; r: integer; 0 или номер неверного символа Программа >>>>>>

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 17 «A»: Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые. Пример: Введите выражение: Ответ: 60 «B»: Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые. Пример: Введите выражение: Ответ: 54

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 18 «C»: Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки « + », « – », « * » и « / »). Выражение вводится как символьная строка, все числа целые. Операция « / » выполняется как целочисленное деление ( div ). Пример: Введите выражение: 12*3+45 Ответ: 81

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 19 «D»: Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки « + », « – », « * » и « / ») и круглых скобок. Выражение вводится как символьная строка, все числа целые. Операция « / » выполняется как целочисленное деление ( div ). Пример: Введите выражение: 2*(3+45)+4 Ответ: 100

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ 163, г. Санкт-Петербург ЕРЕМИН Евгений Александрович к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Источники иллюстраций иллюстрации художников издательства «Бином» 3. авторские материалы