Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  1 сообщение 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 15.10.2021
Задание 1

Алекс получил от своего друга Никиты из России электронное письмо с вложенным текстовым файлом (не маленьким – точно больше 100Кб) и был удивлен его содержимым. Алекс давно знаком с Никитой и знает, что текст точно на русском языке, что он все пишет в нижнем регистре, и что Никита принципиально не использует никакие кодировки, кроме однобайтовых.
Алекс хотел бы определить, какую кодировку Никита использовал (CP866 (DOS), CP1251 (Windows), KOI8R, ISO-8859-5, cp10007(MacOS)), и увидеть первые 2048 символов этого файла в кодировке UTF-8.

Воспользуйтесь имеющимися данными, напишите программу, которая введет с клавиатуры имя файла, автоматически определит его кодировку и выведет первые 2048 символов этого файла в кодировке UTF-8 на экран.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.


Задание 2
Во фрагменте текста (текстовый файл) для красоты решили записать все натуральные числа (годы, номера королей) римскими числами. Известно, что числа там встречаются от 1 до 3100. Напишите программу, которая введет с клавиатуры имя текстового файла в кодировке UTF-8, переведет все такие числа в римскую запись (по правилам Шварцмана) и выведет текст с заменой их записи на экран.
Учтите, что даты и дробные числа преобразовывать нельзя – хотя цифры там есть.
Напоминаем:
- Римские целые числа записываются буквами I,V,X и некоторыми другими
- Числа написанные с уменьшением значения слева направо - суммируются (VI - 6), с уменьшением справа налево - вычитаются (IX - 9).
- Количество символов в записи должно быть минимальным
- Больше 3 одинаковых символов подряд писать нельзя.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 3

На уроке литературы возник спор – какие слова в текстах на русском языке используются чаще всего? Для разрешения спора решили провести эксперимент – посчитать слова в настоящем, большом литературном произведении. С учетом объема, решили написать для такой обработки программу.
Произведение для анализа дают в виде текстового файла на русском языке в кодировке UTF-8, записанного по правилам книжного набора текстов (возможно, с переносами).
Напишите программу, которая введет с клавиатуры имя файла, посчитает частоту слов в этом файле и выведет на экран через пробел 50 самых частых слов, по убыванию частоты.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 4

Есть текстовый файл, в котором встречаются натуральные шестнадцатеричные числа. Их запись начинается с 0x и использует большие латинские буквы. (Например, 0x1A). Других чисел в файле нет. К сожалению, некоторые числа записаны неправильно - пропущено 0x. Иногда после 0x записано не число.
Напишите программу, которая введет с клавиатуры имя текстового файла и выведет на экран из текста шестнадцатеричные числа, добавив, где нужно, 0x.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 5

Работая редактором, Вы получаете от авторов тексты на русском языке, набранные не очень аккуратно.
Текст состоит из абзацев, но используются переносы слов, абзац выделяется разным количеством символов, неаккуратно оформлены знаки препинания… В производство такое не отдашь, исправлять вручную - тяжело. Текст может быть большим и их много.

Напишите программу, которая введет с клавиатуры имя текстового файла, приведет текст в соответствие с правилами машинописного набора и выведет результат на экран.
Правила набора:
- Абзац начинается с 3 пробелов,
- все строки абзаца не имеют переносов,
- перед знаками препинания нет пробелов, но обязательно есть один пробел после,
- кавычки и скобки замыкают фрагменты текста (например, так).
- Повторы знаков препинания (за исключением точек, вопросительного и восклицательного знака, не более 3 раз) не допускаются.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 6

С клавиатуры вводят два имени текстовых файлов (>1M <10M). Файлы содержат целые числа. Написать программу, которая выведет на экран через пробел числа, которые есть во втором файле, но которых нет в первом не более, чем за 5 секунд.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 7

Лена и Вася собираются в Красивый Город на шестнадцать дней, и имеют на руках некоторую сумму денег (пока они не знают, сколько). Они хотят посетить самые интересные места. О каждом месте они знают, насколько оно интересно (в баллах) и сколько стоит его посетить (в деньгах) - список есть в файле, имя которого вводится с клавиатуры. К сожалению, они могут посещать только 2 места в день.

Разработайте программу, которая получит с клавиатуры максимальную сумму, имя файла-справочника и выведет на экран список мест, которые им стоит посетить - максимальной интересности (в сумме баллов), и допустимо по деньгам. Места в списке перечислить через точку с запятой, в том числе – в конце списка.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 8

У телефонной компании есть большое количество 10-значных телефонных номеров - заранее неизвестно сколько, но почти все возможные номера используются. Память телефонной станции ограничена, поэтому на их хранение в «рабочем» режиме отводится не более 1,4Мб.
Написать программу, которая прочитает и обработает файл с телефонными номерами (текстовый, один номер - одна строка, ведущие нули не записываются) и выдаст список свободных (то есть отсутствующих в файле) номеров не более чем за 15 секунд
Имя файла для обработки ввести с клавиатуры, результат вывести на экран в виде списка, перечислив номера через пробел.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 9

В издательство прислали два произведения разных авторов в жанре фантастики с множеством уникальных слов. Требуется выявить совпадения по уникальным словам. Программисту издательства поставили эту задачу в следующей формулировке. Даны имена двух больших (до 10Мбайт) текстовых файлов в кодировке UTF-8 с текстом на русском языке.
Написать программу, которая введет с клавиатуры имена файлов и выдаст на экран списки 50 уникальных слов первого файла (по убыванию частоты) и 50 уникальных слов второго файла (по убыванию частоты), используя не более чем 5 Мбайт памяти. Слова вывести через один пробел.

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.

Задание 10

Для учебно-исследовательского проекта Вася пишет очень длинное математическое выражение, в котором много разных скобок.
Скобки это один символ на открытие и один символ на закрытие ( например / и / или [ и ]).
Вася иногда ошибается в таких выражениях - неправильно ставит скобки, причем может допустить несколько ошибок в одной формуле.
Требуется написать программу, которая: введет с клавиатуры строку из открывающих частей скобок, строку из закрывающих частей скобок и само выражение.
Программа должна оценивать выражение и выдавать на экран такие оценки:
- Все в порядке
- Вы не все закрывающие скобки ввели
- Вы не все открывающие скобки ввели
- Неравное количество открытых и закрытых
- Нельзя закрывать открывающей скобкой
- В выражении перепутан порядок скобок … и …. ( Например: В выражении перепутан порядок скобок { и ] )
- Не все скобки вида … закрыты
- Не все скобки вида … открыты

Обратите внимание: все данные для работы программы поступают из стандартного потока ввода (в Python используется функция input() ), каждый параметр - отдельной строкой. Все результаты выводятся в стандартный поток вывода ( в Python используется функция print() ). Пожалуйста, учтите, что весь вывод программы будет сравниваться с ответом, не выводите лишние комментарии.



Партнер
Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  1 сообщение 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Новости

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan