Главная страница
Навигация по странице:


  • Алгоритмизация и программирование


    Скачать 379 Kb.
    НазваниеАлгоритмизация и программирование
    Дата12.02.2019
    Размер379 Kb.
    Формат файлаdoc
    Имя файлаpractice10-8.doc
    ТипДокументы
    #67276
    страница6 из 6
    1   2   3   4   5   6


    Посимвольная обработка строк


    1. Ввести с клавиатуры символьную строку и заменить в ней все буквы «а» на «б» и все буквы «б» на «а» (заглавные на заглавные, строчные на строчные).

    Пример:

    Введите строку:

    ааббААББссСС

    Результат:

    ббааББААссСС

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

    Пример:

    Введите строку:

    Вася пошел гулять

    Найдено слов: 3

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

    Пример:

    Введите строку:

    Вася пошел гулять

    Самое длинное слово: гулять, длина 6


        1. Функции для работы со строками


    1. Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы.

    Пример:

    Введите фамилию, имя и отчество:

    Иванов Петр Семёнович

    П.С. Иванов

    1. Ввести адрес файла и «разобрать» его на части, разделенные знаком '/'. Каждую часть вывести в отдельной строке.

    Пример:

    Введите адрес файла:

    C:/Фото/2013/Поход/vasya.jpg

    C:

    Фото

    2013

    Поход

    vasya.jpg

    1. Напишите программу, которая заменяет во всей строке одну последовательность символов на другую.

    Пример:

    Введите строку:

    (X > 0) and (Y < X) and (Z > Y) and (Z <> 5)

    Что меняем: and

    Чем заменить: &

    Результат

    (X > 0) & (Y < X) & (Z > Y) & (Z <> 5)


        1. Преобразования «строка-число»


    1. Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые.

    Пример:

    Введите выражение:

    12+3+45

    Ответ: 60

    1. Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые.

    Пример:

    Введите выражение:

    12-3+45

    Ответ: 54

    1. Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/»). Выражение вводится как символьная строка, все числа целые. Операция «/» выполняется как целочисленное деление (div).

    Пример:

    Введите выражение:

    12*3+45

    Ответ: 81

    1. Напишите программу, которая вычисляет выражение, состоящее из чисел, знаков (допускаются знаки «+», «–», «*» и «/») и круглых скобок. Выражение вводится как символьная строка, все числа целые. Операция «/» выполняется как целочисленное деление (div).

    Пример:

    Введите выражение:

    2*(3+45)+4

    Ответ: 100


        1. Строки в процедурах и функциях


    1. Напишите функцию, которая возвращает первое слово переданной ей символьной строки.

    Пример:

    Введите строку: Однажды в студёную зимнюю пору...

    Первое слово: Однажды

    1. Напишите функцию, которая заменяет расширение файла на заданное новое расширение.

    Пример:

    Введите имя файла: qq

    Введите новое расширение: tmp

    Результат: qq.tmp

    Пример:

    Введите имя файла: qq.exe

    Введите новое расширение: tmp

    Результат: qq.tmp

    Пример:

    Введите имя файла: qq.work.xml

    Введите новое расширение: tmp

    Результат: qq.work.tmp

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

    Пример:

    Введите строку:

    В MMXIII году в школе CXXIII состоялся очередной выпуск XI классов.

    Результат:

    В 2013 году в школе 123 состоялся очередной выпуск 11 классов.


        1. Рекурсивный перебор


    1. В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все возможные слова, состоящие из K букв, в которых вторая буква «Ы». Подсчитайте количество таких слов.

    2. В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все возможные слова, состоящие из K букв, в которых есть по крайней мере две одинаковые буквы, стоящие рядом. Подсчитайте количество таких слов.
      Программа не должна строить другие слова, не соответствующие условию.

    3. В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все возможные слова, состоящие из K букв, в которых есть по крайней мере две одинаковые буквы, не обязательно стоящие рядом.
      Программа не должна строить другие слова, не соответствующие условию.



        1. Сравнение и сортировка строк


    1. Вводится 5 строк, в которых сначала записан порядковый номер строки с точкой, а затем – слово. Вывести слова в алфавитном порядке.

    Пример:

    Введите 5 строк:

    1. тепловоз

    2. арбуз

    3. бурундук

    4. кефир

    5. урядник

    Список слов в алфавитном порядке:

    арбуз, бурундук, кефир, тепловоз, урядник

    1. Вводится несколько строк (не более 20), в которых сначала записан порядковый номер строки с точкой, а затем – слово. Ввод заканчивается пустой строкой. Вывести введённые слова в алфавитном порядке.

    Пример:

    Введите слова:

    1. тепловоз

    2. арбуз
    Список слов в алфавитном порядке:

    арбуз, тепловоз

    1. Вводится несколько строк (не более 20), в которых сначала записаны инициалы и фамилии работников фирмы. Ввод заканчивается пустой строкой. Отсортировать строки в алфавитном порядке по фамилии.

    Пример:

    Введите ФИО:

    А.Г. Урядников

    Б.В. Тепловозов

    В.Д. Арбузов
    Список в алфавитном порядке:

    В.Д. Арбузов

    Б.В. Тепловозов

    А.Г. Урядников


        1. Обработка символьных строк: сложные задачи


    1. На вход программы подаются данные о результатах районной олимпиады. В первой строке – количество участников N, а следующие N строк имеют следующий формат:

    <Фамилия> <Имя> <Баллы>

    Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – целое число, обозначающее общее количество баллов, набранное участником. Все данные разделены пробелами. Пример входной строки:

    Петечкин Вася 152

    На городскую олимпиаду проходят участники, набравшие в сумме более 100 баллов. Требуется вывести количество участников, прошедших на городскую олимпиаду.


    1. На вход программы подаются данные о результатах районной олимпиады. В первой строке – количество участников N, а следующие N строк имеют следующий формат:

    <Фамилия> <Имя> <Баллы>

    Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – целое число, обозначающее общее количество баллов, набранное участником. Все данные разделены пробелами. Пример входной строки:

    Петечкин Вася 152

    На городскую олимпиаду проходят участники, набравшие в сумме более 100 баллов. Требуется вывести список участников, прошедших на городскую олимпиаду (известно, что их не более 25).


    1. На вход программы подаются данные о результатах районной олимпиады. В первой строке – количество участников N (не более 100), а следующие N строк имеют следующий формат:

    <Фамилия> <Имя> <Баллы>

    Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – целое число, обозначающее общее количество баллов, набранное участником. Все данные разделены пробелами. Пример входной строки:

    Петечкин Вася 152

    На городскую олимпиаду проходят лучшие 25 участников (набравшие в сумме наибольшее количество баллов). Если другие участники набрали столько же баллов, что и участник, занявший 25-е место, они тоже приглашаются на городскую олимпиаду. Требуется вывести список участников, прошедших на городскую олимпиаду, отсортировав его по фамилии (в алфавитном порядке).


        1. Матрицы


    1. Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99], и находит максимальный и минимальный элементы в матрице и их индексы.

    Пример:

    Матрица А:

    12 14 67 45

    32 87 45 63

    69 45 14 11

    40 12 35 15

    Максимальный элемент A[2,2]=87

    Минимальный элемент A[3,4]=11

    1. Пиксели рисунка закодированы числами от 0 до 255 (обозначающими яркость пикселей) в виде матрицы, содержащей N строк и M столбцов. Нужно преобразовать рисунок в черно-белый по следующему алгоритму:

    • вычислить среднюю яркость пикселей по всему рисунку

    • все пиксели, яркость которых меньше средней, сделать черными (записать код 0), а остальные – белыми (код 255)

    Пример:

    Матрица А:

    12 14 67 45

    32 87 45 63

    69 45 14 11

    40 12 35 15

    Средняя яркость 37.88

    Результат:

    0 0 255 255

    0 255 0 255

    255 255 0 0

    255 0 0 0

    1. Заполните матрицу, содержащую N строк и M столбцов, натуральными числами по спирали и змейкой, как на рисунках:




        1. Обработка блоков матрицы


    1. Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99], а затем записывает нули во все элементы выше главной диагонали. Алгоритм не должен изменяться при изменении размеров матрицы.

    Пример:

    Матрица А:

    12 14 67 45

    32 87 45 63

    69 45 14 30

    40 12 35 65

    Результат:

    12 0 0 0

    32 87 0 0

    69 45 14 0

    40 12 35 65


    1. Пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M столбцов. Выполните отражение рисунка сверху вниз:



    1. Пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M столбцов. Выполните поворот рисунка вправо на 90 градусов:




        1. Файловый ввод и вывод


    1. Напишите программу, которая находит среднее арифметическое всех чисел, записанных в файле в столбик, и выводит результат в другой файл.

    2. Напишите программу, которая находит минимальное и максимальное среди чётных положительных чисел, записанных в файле, и выводит результат в другой файл. Учтите, что таких чисел может вообще не быть.

    3. В файле в столбик записаны целые числа, сколько их – неизвестно. Напишите программу, которая определяет длину самой длинной цепочки идущих подряд одинаковых чисел и выводит результат в другой файл.




        1. Обработка массивов из файла


    1. В файле записано не более 100 чисел. Отсортировать их по возрастанию последней цифры и записать в другой файл.

    2. В файле записано не более 100 чисел. Отсортировать их по возрастанию суммы цифр и записать в другой файл. Используйте функцию, которая вычисляет сумму цифр числа.

    3. В двух файлах записаны отсортированные по возрастанию массивы неизвестной длины. Объединить их и записать результат в третий файл. Полученный массив также должен быть отсортирован по возрастанию.




        1. Обработка смешанных данных из файла


    1. В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и количество баллов, разделенные пробелами:

    <Фамилия> <Имя> <Количество баллов>

    Вывести в другой файл фамилии и имена тех учеников, которые получили больше 80 баллов.

    1. В предыдущей задаче добавить к полученному списку нумерацию, сократить имя до одной буквы и поставить перед фамилией:

    1. П. Иванов

    2. И. Петров

    3. ...

    1. В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и количество баллов, разделенные пробелами:

    <Фамилия> <Имя> <Количество баллов>

    Вывести в другой файл данные учеников, которые получили больше 80 баллов. Список должен быть отсортирован по убыванию балла. Формат выходных данных:

    1. П. Иванов 98

    2. И. Петров 96

    3. ...


    http://kpolyakov.spb.ru

    1   2   3   4   5   6


    написать администратору сайта