Тема №8655 Сборник задач по программированию 585 (Часть 3)
Поиск задачи:

Рассмотрим тему Сборник задач по программированию 585 (Часть 3) из предмета Информатика и все вопросы которые связанны с ней. Из представленного текста вы познакомитесь с Сборник задач по программированию 585 (Часть 3), узнаете ключевые особенности и основные понятия.

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

Смысловые задачи с использованием двумерных массивов
1. Получены результаты выборов в городскую думу. По каждому из К округов известно число голосовавших за представителей каждой из М партий, а так же не участвовавших в голосовании. Выборы считаются состоявшимися, если в голосовании приняло участие не менее Р процентов избирателей. Напечатать номера округов, в которых выборы состоялись.
2. N предприятий выпускает M одинаковых видов товара. Известны названия предприятий и товаров. Для каждого товара каждым предприятием установлена своя цена. Требуется определить предприятие, производящее самый дорогой товар, считая его единственным. Для этого предприятия найти предполагаемую прибыль от реализации каждого вида товаров и всей продукции, если известны себестоимость и количество выпускаемых товаров.
3. Имеется список N команд, принимавших участие в чемпионате мира по футболу. Перед турниром проведен опрос К человек, каждый  из  которых назвал последовательность трех команд, которые по его мнению займут 1, 2 и 3 места. Определить приз каждого из тех опрошенных, которые точно указали последовательность  победителей, если известен общий призовой фонд.
4. Предприятие выпускает 4 вида продуктов и 3 вида ресурсов. Р(1:3) - цены ресурсов . А(I,J) - норма расхода ресурсов на единицу. Требуется:
1) определить общие затраты на приобретение всех необходимых ресурсов;
2) установить цену на каждый продукт так, чтобы прибыль была не ниже 25% от его цены;
3) определить себестоимость каждого продукта;
4) определить, сколько потребуется ресурсов для реализации плана;
5) найти при цене общую стоимость изделий по плану и общую прибыль.
5. На кинофестивале 35 стран представили свои фильмы, общее число фильмов не 
больше 100. Известны  названия  стран  участниц и фильмов, а также баллы, полученные каждым фильмом. Определить максимальный балл и страну, получившую наибольший средний балл за представленные фильмы. Считать, что фильмы в общем списке по странам не упорядочены, а фильм, набравший максимальный балл, является единственным.
6. В гостинице проживает N постояльцев (N - заданное число). О каждом постояльце известны три характеристики: номер проживания, фамилия, заказанное на завтрак блюдо (или отсутствие заказа). Необходимо составить сводные (по наименованиям заказных блюд) заявки на кухню с указанием гостиничных номеров и фамилий постояльцев.
7. Получены карточки с ответами от N участников спортлото "5 из 36". Известны номера выигрышных шаров. Необходимо напечатать три списка номеров участников, угадавших:
         1) 5 из 5-ти;      2) 4 из 5-ти;     3) 3 из 5-ти.
Предусмотреть проверку правильности заполнения карточек.
8. Опросили N студентов (N - заданное число), каждый из которых назвал любимые сладости только двух наименований. Необходимо определить, сколько было названо различных наименований сладостей и сколько раз упомянули каждое из этих наименований. Предусмотреть, что каждый из опрошенных должен назвать два разных наименования.
9. Ассортимент N магазинов состоит из M товаров (N , M и названия товаров заданы). Каждый товар характеризуется наличием или отсутствием его в магазине, а также наличием или отсутствием на него спроса покупателей. Требуется перечислить названия ходовых (есть спрос и товар имеется хотя бы в одном магазине), неходовых ( спрос отсутствует, а товар имеется хотя бы в одном магазине) и дефицитных (спрос есть, а товара нет ни в одном из магазинов) товаров.
10. Имеется каталог на 25 сельхозмашин, в котором указаны номера, цена и название. Шесть фермерских хозяйств составили списки, где указаны по убыванию приоритета покупки до 10 номеров машин, которые они хотели бы приобрести. Зная сумму денег для этих целей в каждом хозяйстве, необходимо напечатать список машин (название и цена), которые может приобрести каждое хозяйство.
11. Задана итоговая таблица футбольного чемпионата, в котором участвовало 16 команд. Все элементы таблицы, принадлежащие главной диагонали равны нулю, а все другие элементы равны 0, 1 или 2 (т.е. числу очков, набранных в игре: 0 - поражение, 1 - ничья , 2 - победа). Требуется:
1) найти число команд, имеющих больше побед, чем поражений;
2) выяснить, имеется ли хоть одна команда, выигравшая более половины игр.
12. Имеются сведения о названиях и ценах на 15 видов товаров по 10 магазинам. Требуется составить список 5 магазинов, имеющих минимальные цены по заданному виду товара. Список должен включать номер магазина, название и цену выбранного товара. Магазины в списке расположить в порядке возрастания цены товара.
13. 100 учеников назвали по 3 певца. Вывести список всех перечисленных певцов. Посчитать количество учеников, чьи вкусы полностью совпали  между собой и фамилии их любимых певцов (порядок перечисления певцов одним учеником не важен).
14. 200 подписчиков, каждый назвал 3 любимые газеты. Напечатать пронумерованный список первых десяти наиболее популярных газет. Расположить их в порядке популярности.
15. Имеется 5 видов поставок и 8 поставщиков. Каждый поставщик обеспечивает все виды поставок и каждая поставка характеризуется некоторым числовым экономическим показателем. Сократить количество поставщиков по отдельным видам поставок, оставляя по каждому виду поставки только тех поставщиков, у которых экономический показатель выше среднего. Результат выдать в виде таблицы, в которой для исключенных из данного вида поставок поставщиков значение экономического показателя заменить нулем.
16. Имеется таблица результатов олимпиады, в которой участвовало 100 стран. Для каждой страны указаны места, которые она заняла по каждому из 30 видов спорта, входящих в олимпийскую  программу. Напечатать таблицу, в которой указано количество золотых, серебряных и бронзовых медалей, завоеванных каждой страной. В итоговой таблице страны должны идти в порядке убывания количества золотых медалей.
17. Известно, что в Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения фестиваля были выбраны 7 следующих подряд дней, наиболее теплых по данным за последние 10 лет. Составить программу для выполнения этой работы на ЭВМ.
18. Составить результирующую таблицу первенства по футболу, в котором участвуют 10 команд. В качестве исходной информации задан счет: количество забитых (пропущенных) мячей в каждой проведенной игре. Для получения итогового результата необходимо по заданной таблице забитых (пропущенных) мячей составить таблицу очков (выигрыш - 2, ничья - 1, проигрыш - 0). Далее определить сумму очков для каждой команды и в соответствии с этим распределить команды по местам. Если сумма очков у двух команд одинакова, то сравниваются разности забитых и пропущенных мячей.
19. Для формирования сборной страны по хоккею предварительно выбрано 30 игроков. На основании протокола игр (всего 10 игр) составлена таблица, в которой содержится штрафное время каждого игрока по каждой игре (штрафное время может составлять 2, 5 или 10 мин). Составить программу, которая составляет предварительный список кандидатов в сборную и определяет для каждого из них штрафное время. Игроки, оштрафованные хотя бы один раз на 10 мин, из кандидатов в сборную исключаются.
20. Составить программу для ведения протокола баскетбольной игры. Во время игры машина ведет учет набранных очков и фолов каждого игрока. Игрок, получивший 5 фолов, удаляется из игры (эта информация должна появляться на экране). В конце игры должна выводиться информация о сумме очков, набранных каждым игроком, в порядке убывания.
21. Составить программу для обработки результатов кросса на 500 метров для женщин.  В  кроссе участвует не более  50 студенток.  Для каждой участницы ввести фамилию, шифр группы, результат. Получить результирующую таблицу, упорядоченную по результатам, в которой содержится также информация о выполнении нормы ГТО.  Определить количество студенток, выполнивших норму ГТО.
22. Результаты соревнований фигуристов представлены оценками судей в баллах (от 0 до 6). По  результатам оценок судьи определяется место каждого участника у этого судьи. Места участников определяются далее по сумме мест, которые каждый участник занял у всех судей. Составить программу, определяющую по исходной таблице оценок фамилии и сумму мест участников в порядке занятых ими мест. Число участников не более 15, число судей не более 10.
23. Японская радиокомпания провела опрос 50 радиослушателей по вопросу:"Какое животное Вы связываете с Японией и японцами?". Составить программу получения пяти наиболее часто встречающихся ответов и их долей  (в %).
24. Имеется N сосудов, в каждом из которых лежит по одному камню белого, синего или красного цвета. "Заглядывая" в каждый сосуд по одному разу, расположить их в таком порядке, чтобы в первой группе сосудов лежали только красные, затем - синие, далее - белые камни.
24. В памяти ЭВМ хранится список абонентов в алфавитном порядке и номеров их телефонов. Составить программу, обеспечивающую быстрый поиск фамилии абонента по номеру телефона.
25. Японская радиокомпания провела опрос 50 радиослушателей по трем вопросам:
1). Какое животное Вы связываете с Японией и японцами? 
2). Какая черта характера присуща японцам больше всего?
3). Какой неодушевленный предмет или понятие Вы связываете с Японией?
Большинство опрошенных прислали ответы на все или часть вопросов. Составить программу получения пяти наиболее часто встречающихся ответов по каждому вопросу и доли (в %) каждого такого ответа. Предусмотреть необходимость сжатия столбца ответов в случае отсутствия ответов на некоторые вопросы. Обработку информации по каждому вопросу осуществлять в подпрограмме.
26. В соревнованиях участвуют три команды по 6 человек. Результаты соревнований в виде мест участников каждой команды (1-18) размещены в трех массивах, содержащих по 6 компонент. Определить команду - победителя, вычислив количество баллов, набранное каждой командой. Участнику, занявшему 1-е место, начисляется 5 баллов, 2-е - 4 балла, 3-е -3 балла, 4-е - 2, 5-е - 1, остальным - 0 баллов. Определение числа баллов, набранных каждой командой, осуществлять в подпрограмме.
27. В памяти ЭВМ хранится информация о засеваемых площадях и урожае зерновых по районам для 10 областей (в каждой области не более 10 районов). Определить среднюю урожайность по каждой области и область, добившуюся наибольшей урожайности. Определение средней урожайности одной области выполнять в подпрограмме.
28. Информация о результатах сессии (5 экзаменов) по каждой группе хранится в памяти ЭВМ. Для подведения итогов определить средний балл для пяти групп одного потока студентов и выдать список групп в порядке убывания среднего балла. Определение среднего балла группы осуществлять в подпрограмме.
29. Соревнования (лыжные гонки) проводятся двумя группами по 10 человек. Результаты соревнования представлены списками участников и их результатов по каждой группе. Предварительное подведение итогов проводится по каждой группе, результатом его являются списки участников по группам в порядке занятых ими мест. Необходимо получить общий список, в котором участники расположены в порядке, соответствующем показанным результатам. Определение результатов по каждой группе осуществлять в подпрограмме.
Обработка символьных данных (тип String)
1 Обработка последовательности символов
1.1.Определить сколько раз в тексте встречается любая буква А.
1.2. Дан текст. Слова в нем разделены пробелом.
а) Определить количество слов в тексте и вывести каждое слово на новой строке.
б) Вывести самое длинное слово.
в) Определить сколько слов начинается на букву К или к.
г) Определить сколько раз в тексте встречается заданное слово.
1.3. Выписать из текста слова, начинающиеся и заканчивающиеся на одну и туже букву (в качестве разделителя могут использоваться любые знаки препинания).
1.4. Из заданного текста выписать все слова, имеющие максимальную длину.
1.5. Дан текст. Определить
а) сколько цифр встречается в тексте;
б) сколько двузначных чисел в тексте;
в) самое большое число в тексте;
г) наибольшее количество цифр, идущих в нем подряд;
д) является ли этот текст десятичной записью целого числа.
1.6. Дан текст. Если в нем нет символа + , то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом - .
1.7. Дано вещественное число. Найти сумму цифр этого числа.
1.8. Удалить все слова с нечетными порядковыми номерами и перевернуть все слова с четными номерами.
1.9. Удалить все слова, оканчивающиеся группой букв -кая или -кое.
1.10. Удалить все слова, в которых встречается не более двух различных букв.
1.11. Удалить из строки все слова, которые являются палиндромами.
1.12. Удалить из текста все цифры. Подсчитать количество удаленных цифр.
1.13. В заданном тексте заменить заданную последовательность символов на другую заданную последовательность символов.
1.14. В заданном тексте удалить все части текста, заключенные в скобки (вместе со скобками).
1.15. Текст задан следующим образом: первый символ - цифра, указывающая длину первого слова, за первым словом - вновь цифра, указывающая длину второго слова (длина каждого слова <=9) и т.д. Выписать К-тое слово из текста или вывести сообщение, что слова с таким номером нет.
1.16. Дан текст, слова отделены одним пробелом. Сформировать новый текст, в котором слова разделены двумя пробелами.
1.17. Дан текст. Вывести на экран текст, удалив из него лишние пробелы (в начале, в конце, между словами оставить по одному пробелу) и указать количество удаленных пробелов.
1.18. Напечатать фразу, исправленную по следующим правилам:
1) несколько подряд идущих пробелов заменить одним;
2) между словом и знаком препинания (. , : ;) пробела быть не должно;
3) После знака препинания должен быть пробел.
1.19. Ученики зашифровывают свои записки, записывая каждое слово наоборот. Составить программу зашифровывающую сообщение. Знаки препинания оставить на своих местах.
1.20. Дан текст. Вывести сообщение является ли этот текст палиндромом (т.е. первый символ совпадает с последним, второй с предпоследним и т.д.). Пробелы в тексте не учитывать.
1.21. Дан текст.
а) Найти наибольшую длину слов-палиндромов. (Если таких нет, то вывести сообщение).
б) Выяснить, верно ли, что каждое слово, не являющее палиндромом, имеет четную длину.
1.22. В заданном тексте проверить наличие запятой перед каждым союзом "но". При отсутствии запятой поставить перед "но" знак ? (слова разделены двумя пробелами).
1.23. В текст, содержащий меньше 50 символов, равномерно вставить пробелы между словами, чтобы его длина составляла ровно 50 символов.
1.24. Разбить исходный текст на строки длиной не более 50 символов. Перенос на новую строку осуществлять на месте пробела (слова не переносить).
1.25. Задан текст. Напечатать буквы, на которые начинаются слова в тексте, в порядке убывания частоты их употребления.
1.26. Указать минимальное количество первых букв, по которым можно различить слова из заданного набора (слова разделены запятыми).
1.27. Пусть заданное число хранится в действительной переменной. Сколько различных цифр в записи этого действительного числа?
1.28. Дан текст. Какие прописные русские гласные буквы содержатся в нем?
1.29. Дан текст. Каких прописных русских букв в нем нет?
1.30. В символьную переменную вводится текст, состоящий из заглавных русских букв. Определить, сколько раз в тексте встретилась каждая из заглавных букв. А также вывести те гласные буквы, которых в тексте больше, чем других букв.
1.31. Дан текст. Определить, сколько слов в тексте содержит 1 слог, 2 слога, 3 слога.
2. Использование массивов.
2.1. Дан массив слов (количество слов <=12). Упорядочить этот массив по возрастанию длин слов. Посчитать количество слов заданных длин L1  и L2.
2.2. Дан массив слов (количество слов <=12). Упорядочить этот массив по первым буквам слов в лексикографическом порядке
2.3. Дан массив слов (количество слов <=12). Упорядочить этот массив в лексикографическом порядке. Затем вставить в массив новый элемент так, чтобы лексикографический порядок сохранился.
2.4. Вводим список фамилий (слова разделены запятой). Напечатать список в алфавитном порядке.
2.5. Задан список группы и пять оценок каждого студента. Фамилии от оценок и оценки друг от друга отделены символом *. Напечатать список группы и средний балл каждого студента.
2.6. Задан список группы студентов (фамилия, пол, год рождения). Данные для различных студентов отделяются запятыми, различные сведения об одном студенте - пробелами. Составить список студентов мужского пола, заданного года рождения.
2.7. Дан текст, содержащий список жильцов одного подъезда жилого дома с фамилиями и номерами квартир (разделитель запятая). Определите количество этажей дома по максимальному номеру квартиры в списке. На этаже 4 квартиры. Обеспечить вывод данных:
а) вывод фамилии по номеру квартиры;
б) вывод номера квартиры и этажа по фамилии;
в) вывод номера этажа по номеру квартиры.
2.8. Составить программу, которая по названию страны выводит название столицы этой страны. Названия стран и столиц вводятся в виде текста, слова разделены запятыми.
2.9. Задан текст, содержащий рост мужчины, рост женщины, имя мужчины, имя женщины (разделитель запятая). Вывести имя самого высокого мужчины и имя женщины, рост которой наиболее близок к женскому среднему росту.
2.10. Задан текст, содержащий фамилии и имена студентов (разделитель запятая). Определить, есть ли среди них однофамильцы с одинаковыми именами.
2.11. Задан текст. Выясните, сколько раз встречается каждый из символов предложенного текста.
2.12. Задан текст. В заданном тексте замените все последовательности повторяющихся символов на один символ и их количество, заключенное в скобки.
2.13. Задан текст, содержащий сведения о деталях: наименование, год начала выпуска, цена (без копеек), масса, ширина, длина, высота. Вывести только те из них, которые относятся к деталям с годом выпуска не ранее 1967, и подсчитать их полную стоимость.
2.14. Шпион использует простой код для передачи сообщения своему связному. В сообщении указывается, в какой день недели шпион хочет встретиться со связным. Чтобы определит этот день, связной выделяет в сообщении первую букву каждого слова. Напечатайте день встречи.
2.15. Составить программу "Классный журнал". Задается текст, имеющий сведения о каждом ученике: фамилия, имя, поле посещений и оценки. Посчитать среднюю оценку за четверть, количество пропущенных занятий. Напечатайте: фамилию, имя, оценку за четверть, количество пропусков.
2.16. Составить программу назначения студентов на стипендию по результатам сессии, используя следующие правила:
1) если все оценки 5, то стипендия увеличивается в 2 раза;
2) если оценки 4 и 5, то назначается обычная стипендия;
3) если есть оценки 3, то стипендия не назначается.
В результате работы программы должен быть напечатан список группы с оценками и средним баллом каждого студента и два списка фамилий, назначенных на повышенную и обычную стипендии. Данные вводятся в виде текста: фамилия студента и три оценки. Фамилии от оценок и оценки друг от друга отделены запятой.
2.17. Напишите программу для считывания текста, перевода его на язык "Перевертыш" и печати переведенного варианта. На "Перевертыше" слово переводится так: буквы, стоящие до первой гласной, передвигаются в конец слова и к вновь образованному слову добавляется окончание "циус".  Например: "кот в сапогах" - "откциус вциус апогахсциус".
2.18. Вводятся четыре строки текста. Напишите программу для подсчета числа слов в каждой строке этого текста. Ваша программа должна вывести также общее число слов в этом тексте.
2.19. Напишите программу переводчик с русского языка на английский. Переводчик разбивает текст на слова и заменяет их на соответствующие им в словаре. Дайте программе возможность обучаться, запрашивая значения незнакомых слов.
2.20. Вводится каталог домашней библиотеки: автор книги, название, количество томов. Подсчитайте сколько всего томов содержит библиотека. Реализуйте вывод по заданному автору всех произведений, имеющихся в библиотеки.
3. Системы счисления.
3.1. Даны две строки, содержащие очень длинные целые положительные числа. Составить третью строку, содержащую их сумму (имитация сложения двух чисел столбиком).
3.2. Перевести целое число из 2-ной системы счисления в 10-ную.
3.3. Перевести вещественное число из 2-ной системы счисления в 10-ную.
3.4. Шестнадцатеричное число записано в строчной переменной. Написать программу, которая переводит это число в десятичную систему счисления.
3.5. Перевести десятичное число в К-ичную (К<=16) систему счисления. Перевод дробной части ограничить пятью знаками.
3.6. Вывести все четырехзначные числа, которые в 2-ой (8-ой, 16-ой) системе счисления представляют палиндром.
3.7. Дано восьмеричное число. Увеличить его на А.
3.8. Вводятся любые числа. Количество известно. Сколько раз повторяется каждая цифра, и вывести ту, которая повторяется наибольшее количество раз.
4. Дополнительные.
4.1. Дан текст. Вывести на экране бегущую строку.
4.2. Дан текст.
а) Выяснить, имеются ли два слова, каждое из которых получается переворачиванием другого.
б) Удалить все слова, встречающиеся более двух раз.
4.3. Строка. Слова разделены одним или несколькими пробелами. В начале или в конце строки также могут находиться пробелы. Отредактировать строку, удалив из нее слова с количеством символов больше 4 и меньше 10, в которых нет повторяющихся символов, сохранив при этом первоначальное количество пробелов между остальными словами. Если таких слов нет, то выдать соответствующее сообщение.
4.4. Строка. Слова разделены одним или несколькими пробелами. В начале или в конце строки также могут находиться пробелы. Отредактировать строку, удалив из нее уникальные слова (т.е. не повторяющиеся), сохранив при этом первоначальное количество пробелов, между словами. Если таких слов нет, то выдать соответствующее сообщение.
4.5. Имеется непустая последовательность произвольных натуральных чисел, за которой следует ноль. Не используя массивов вывести в строку порядковые номера наибольших чисел в последовательности.
4.6. Среди простых чисел, не превосходящих заданного натурального числа N, найти такое, запись которого в двоичной системе счисления содержит максимальное число единиц. Если таких чисел несколько, найти минимальное среди них (конец ввода строк - это строка, первый символ которой *). В каждой строке текста содержится некоторое количество символьных конструкций вида x=y, где x - запись целого числа в восьмеричной системе счисления, y - запись того же числа в двоичной системе счисления. Определить количество правильных и неправильных записей.
   Например:
     1 строка :  1=1 256=10101110 300=011000000
     2 строка :  555=101111101 666=110110110
     3 строка :  350=01101000 770=111111000
   Ответ:  Общее количество заданий = 7
           Количество правильных записей = 4
           Количество неправильных записей = 3
4.8. В одну и туже непрерывную последовательность вводятся слова русского текста. Количество слов заранее не известно. Определить есть ли буквы, которые встретились во всех словах. Вывести на экран эти буквы или сообщение, что таких букв нет. Кроме того определить количество введенных слов.
4.9. В текстовую переменную вводятся три произвольные буквы. Затем в одну и ту же символьную переменную вводится N слов. Определить и вывести на экран слова, в которых заданные три буквы встретились хотя бы один раз каждая; кроме того определить количество таких слов. Расположение заданных букв в словах безразлично.
4.10. В одномерные массивы A и B введены цифры целых положительных слагаемых в двоичной системе счисления. Количество цифр в первом слагаемом N, во втором - M (N и M не более 15). Составить программу сложения этих чисел в двоичной системе счисления. Результат вывести на экран в виде строки. Незначащие нули не выводить. Предусмотреть проверку правильности ввода информации.
4.11. Преобразовать выражение (т.е. текст специального вида), составленное из цифр, знаков четырех арифметических операций (сложения, вычитания, умножения, деления) и круглых скобок, в постфиксную форму. В постфиксной форме сначала записываются операнды, а затем знак операции.
  Примеры:    обычная запись        постфиксная запись
               3+4                      34+
               (5-4)+2                54-2+
               2*(3+4)*5            234+*5*
4.12. Дано натуральное число N (N<=1000). Записать это число русскими словами (семнадцать, двести пятьдесят три, тысяча и т.д.).
4.13. Для большинства существительных, оканчивающихся на -онок и -енок, множественное число образуется от другой основы. Как правило это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед по следней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то а, иначе - я). Имеются слова исключения: ребенок (дети), бесенок (бесенята), опенок (опята), звонок (звонки), позвонок (позвонки), подонок (подонки), колонок (колонки), жаворонок (жаворонки), бочонок (бочонки). Дан русский текст, слова разделены пробелом. Слова, оканчивающиеся на -онок или -енок заменить словами во множественном числе.
Файлы
Текстовые файлы.
1. Написать программу, определяющую количество строк в текстовом файле и на ходит максимальную длину строки.
2. Написать программу, формирующую текстовый файл из 9 строк, в первой из которых - одна литера '1', во второй - две литеры '2', ...., в девятой - девять литер '9'.
3. Пусть дан текстовый файл, не содержащий пустых строк. Написать программу, для подсчета числа строк, которые
а) начинаются с буквы d;
б) оканчиваются буквой z;
в) начинаются и оканчиваются одной и той же литерой;
г) состоят из одинаковых литер.
4. В текстовый файл t1 записана последовательность целых чисел, разделенных пробелами. Написать программу, записывающую в текстовый файл t2 все положительные числа из t1.
5. Дан текстовый файл, содержащий список слов, упорядоченный в алфавитном порядке. Написать программу, вставляющую очередное слово на нужное место. Результат поместить в новый текстовый файл. Максимальная длина слова равна 16 букв.
6. Протокол лыжных гонок записать в файле. Для каждого участника вводится фамилия, время старта (часы, минуты, секунды), время финиша. Используя сформированный файл, вывести на экран фамилии участников, выполнивших норму ГТО.
7. Сформировать файл из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилии писателей). Используя сформированный файл, напечатать фамилии пяти наиболее популярных писателей.
8. Сформировать файл по результатам сдачи сессии (три экзамена) группой студентов. Информация об одном студенте вводится в символьном виде в следующем порядке: фамилия*N1*N2*N3, где N(i) (i=1,2,3) - оценки. Используя сформированный файл, результаты сессии вывести на экран в виде таблицы. В шапке таблицы вывести названия предметов.
9. Сформировать файл из фамилий и дат (день, месяц и год) рождения Ваших друзей. Используя сформированный файл, вывести на экран дисплея имена, начинающиеся с 
буквы А.
10. Сформировать файл, имеющий следующую структуру: фамилия студента, пол (одна буква М или Ж), год рождения. Напечатать список студентов мужского пола с указанием их возраста. В конце списка напечатать средний возраст.
11. Сформировать файл, содержащий информацию об автолюбителях: фамилия, марка автомобиля, цвет. Использую сформированный файл, вывести на экран сведения об автолюбителях, имеющих автомобиль "Жигули" зеленого цвета.
12. Сформировать файл о студентах одного курса (фамилия, пол, год рождения, месяц рождения). Используя сформированный файл, вывести на экран фамилии студентов мужского пола, родившихся летом (июнь, июль, августа).
13. Сформировать файл, содержащий информацию о поездах, отправляющихся с Ленинградского вокзала г. Москвы (номер поезда, станция назначения, время отправления, время в пути). Используя сформированный файл, вывести на экран информацию о поездах, отправляющихся в Ленинград от 21 до 24 часов.
14. Сформировать файл, содержащий информацию о поездах, отправляющихся с Ленинградского вокзала г. Москвы (номер поезда, станция назначения, время отправления, время в пути). Используя сформированный файл, вывести на экран информацию о поездах, следующих в г.Ленинград и находящихся в пути менее 8 часов.
15. Сформировать файл, содержащий информацию о бытовых магнитофонах: марка магнитофона, его стоимость. Используя сформированный файл, вывести информацию о магнитофонах стоимостью менее 200 усл.ед.
16. Сформировать файл, содержащий данные о книгах по программированию Вашей личной библиотеки (фамилия автора и его инициалы, название книги, название издательства, год издания). Используя сформированный файл, вывести на экран фамилии и названия книг, выпущенных издательством "Мир".
17. Сформировать файл, содержащий сведения о магазинах Вашего города : название магазина (универмаг, продукты, ткани и т.п.), его номер, адрес. Используя сформированный файл, вывести на экран информацию обо всех магазинах "Книги".
18. Первая строка текстового файла содержит названия стран Европы (не более 8 названий, количество пробелов между словами произвольно). Каждая из следующих 12 строк содержит название месяца и среднемесячную температуру в соответствующей стране.
   Пример таблицы:
            Франция     Австрия     Польша
   Январь     +2          -1          -2
   Февраль     0          +1           0
   ................
Определить, какой месяц и в какой стране самый холодный.
19. Текстовый файл AH_IN.TXT содержит сведения о наличии лекарственных препаратов и их количестве в штуках в каждой из 20 аптек города. Файл AP_KOR.TXT содержит сведения о новых поступлениях в аптеки, либо сведения о пополнении старых запасов. Требуется обновить информацию файла AP_IN.TXT. 
Примечание: новые препараты, а также сведения о дополнительных поступлениях могут быть не для аптек. Если фонд некоторой аптеки не изменился, то ее номер отсутствует в файле AP_KOR.TXT.
20. Текстовый файл AP1.TXT содержит сведения о наличии лекарственных препаратов в аптеках горда и сроке их годности. Требуется создать файл AP2.TXT
a) содержащий список препаратов с истекшим сроком годности для каждой аптеки;
b) содержащий список препаратов, годных к употреблению.
   Структура файла AP1.TXT:
      145
      панадол 06/09
      аспирин 10/98
      аллохол 12/97
      210
      анальгин 04/98
      аспирин 12/99
Примечание: срок годности дается в формате мм/гг. Количество пробелов в начале каждой строки и между словами произвольно.
21. Текстовый файл TAB.TXT содержит сведения о наличии товаров и их цене в некоторых магазинах города. Требуется определить магазин с наиболее широким ассортиментом товаров, при этом на экран вывести номера магазинов, наименования товаров и цену одной единицы товара.
Структура файла: первая строка содержит наименование товаров; слова записаны через один или несколько пробелов (не более 10 наименований). Каждая следующая строка содержит номер магазина (3 позиции), далее через пробел цену каждого товара, в том порядке, в котором наименования товаров представлены в первой строке файла, если товар в магазине отсутствует, то ставится символ "*".
    Пример таблицы:
    яблоки    свекла        бананы    виноград    морковь
143    10         *        7        20           3
127    *        3        8        35           3
22. На соревнованиях по стрельбе каждый из спортсменов совершил по шесть серий выстрелов. Победитель определяется по наилучшей сумме результатов, показанных во всех сериях. Результаты соревнования хранятся в текстовом файле LIST04.TXT. Каждая строка содержит восемь полей. Первое - содержит фамилию спортсмена. Второе - содержит название страны. Остальные шесть полей - числового типа, они содержат результаты, полученные спортсменом в каждой из шести серий выстрелов (через пробел).

    Пример таблицы:
Смитсон        Швеция        98 85 92 99 98 89
Кузнецов        Россия            78 67 50 90 87 67
Шмидт        Германия        97 94 98 98 88 91
Коваль        Украина        92 99 98 97 97 98

Определить участников, получивших лучший результат.
Типизированные файлы.
1. Компоненты целого и вещественного типа
1.1. Дан файл, компоненты которого являются действительными числами. Найти:
а) наибольшее из значений компонент;
б) наименьшее из значений компонент с четными номерами;
в) набольшее из отрицательных значений компонент; если отрицательных нет, то сообщить об их отсутствии.
1.2. Дан файл, компоненты которого целые числа. Получить два новых файла, состоящих: один - только из четных чисел исходного, а другой - из нечетных.
1.3. Дан файл, компоненты которого целые числа. Оставить в этом файле только четные числа.
1.4. Дан файл, компоненты которого целые числа. Найти наименьшее число и поставить его первым.
1.5. Дан файл, компоненты которого целые числа. Найти наибольшее число и вставить после него заданное число.
1.6. Дан файл, компоненты которого целые числа. Упорядочить числа этого файла по возрастанию.
1.7. Даны два файла, компоненты которых целые числа и числа упорядочены по возрастанию. Получить из них третий файл, в котором числа также будут упорядочены по возрастанию.
1.8. Дан файл, компоненты которого являются целыми числами. Получить из него новый файл, исключением повторных вхождений одного и того же числа.
1.9. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл f содержит столько же отрицательных чисел, сколько и положительных. Использую вспомогательный файл h, переписать компоненты файла f в файл так, чтобы в файле g:
а) не было двух соседних чисел с одним знаком;
б) сначала шли положительные, потом отрицательные числа;
в) числа шли в следующем порядке: два положительных, два отрицательных и т.д. (предполагается, что число компонент в файле f делится на 4).
1.10. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т.д. Переписать компоненты файла f в файл так, чтобы в файле g числа шли в следующем порядке:
а) пять положительных, пять отрицательных и т.д.;
б) двадцать положительных, двадцать отрицательных и т.д.(предполагается, что число компонент в файле f делится на 40).
1.11. Дан файл f, компоненты которого являются целыми числами. Записать в g наибольшее значение первых 20 компонент файла f, затем - следующих 20 компонент и т.д. Если в последней группе окажется менее 20 компонент, то последняя компонента файла g должна быть равна наибольшей из компонент файла f, образующих последнюю (неполную) группу.
2. Компоненты символьного типа
2.1. Даны символьные файлы f1 и f2. Переписать с сохранением порядка следования компоненты файла f1 в файл f2, а компоненты файла f2 - в файл f1. Использовать вспомогательный файл.
2.2. Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке.
2.3. Дан символьный файл, в котором не менее двух компонент. Определить, являются ли два первых символа файла цифрами. Если да, то установить, является ли число, образованное этими цифрами, четным.
2.4. Дан символьный файл.
а) получить новый файл, образованный из исходного заменой всех его прописных (больших) букв одноименными строчными (малыми);
б) в исходном файле заменить все его прописные (большие) буквы одноименными строчными (малыми).
2.5. Дан символьный файл.
а) определить, входит ли в файл сочетание abcdefgh;
б) подсчитать число вхождений в файл каждой из букв a, b, c, d, e, f.
2.6. Дан символьный файл. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в новый файл.
2.7. Дан символьный файл. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти самое длинное слово среди слов, вторая буква которых есть е; если слов с наибольшей длиной несколько, то найти последнее. Если таких слов нет вообще, то сообщить об этом. Решить эту задачу:
а) полагая, что слова состоят не более чем из 10 символов;
б) без ограничения на число символов в слове.
2.8. Дан символьный файл. Считая, что количество символов в слове не превосходит двадцати:
а) определить, сколько в файле имеется слов, состоящих и одного, двух, трех и т.д. символов;
б) получить гистограмму (столбчатую диаграмму) длин всех слов файла;
в) определить количество слов в файле.
3. Компоненты сложного типа (записи)
3.1. Дан файл, содержащий сведения о книгах (фамилия автора, название, год издания).
а) Найти названия книг данного автора, изданных с 1960 г.
б) Определить, имеется ли книга с заданным название. Если да, то сообщить фамилию автора и год издания. Если таких книг несколько, то сообщить имеющиеся сведения обо всех этих книгах.
3.2. Дан файл, содержащий фамилию сотрудника, его инициалы и номер телефона. Найти телефон сотрудника по его фамилии и инициалам.
3.3. Дан файл, содержащий сведения о кубиках: размер каждого кубика (длина ребра в сантиметрах), его цвет( красный, желтый, зеленый или синий) и материал (деревянный, металлический, картонный). Найти:
а) количество кубиков каждого из перечисленных цветов и их суммарный объем;
б) количество деревянных кубиков с ребром 3 см и количество металлических кубиков с ребром, большим 5 см.
3.4. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл, содержащий информацию о багаже нескольких пассажиров (файл записей).
а) Найти багаж, средний вес одной вещи в котором отличается  не более чем на 0,3 кг от общего среднего веса вещи.
б) Найти число пассажиров, имеющих более двух вещей, и число пассажиров, количество вещей которых превосходит среднее число вещей.
в) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.
г) Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
д) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом не менее 30 кг.
е) Дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей.
3.5. Сведения об ученике состоят из его имени, фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл, содержащий сведения об учениках школы.
а) Выяснить, имеются ли в школе однофамильцы.
б) Выяснить, имеются ли однофамильцы в каких-либо параллельных классах.
в) Выяснить, имеются ли однофамильцы в каком-нибудь классе.
г) Ответить на вопросы а)-в), но в отношении учеников, у которых совпадают и имя, и фамилия.
д) Выяснить, в каких классах насчитывается более 35 учащихся.
е) Выяснить, на сколько человек в восьмых классах больше, чем в десятых.
ж) Собрать в новом файле сведения об учениках 9-х и 10-х классов, поместив вначале сведения об учениках класса 9а, затем 9б и т.д., затем 10а, 10б и т.д.
з) Получить список учеников данного класса по следующим образцам:
фамилия имя
фамилия и.
и. фамилия
3.6. Дан файл, содержащий те же сведения об учениках школы, что и в предыдущей задаче, и дополнительно отметки, полученные учениками в последней четверти.
а) Выяснить, сколько учеников школы не имеют отметок ниже 4;
б) Собрать в новый файл сведения о лучших учениках школы, т.е. об учениках, не имеющих отметок ниже 4 и по сумме баллов не уступающих другим ученикам своего и параллельных классов;
3.7. Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл, содержащий сведения о нескольких автомобилях. Найти:
а) фамилии владельцев и номера автомобилей данной марки;
б) количество автомобилей каждой марки.
3.8. Дан файл, содержащий различные даты. Каждая дата - это число, месяц, год. Найти:
а) год с наименьшим номером;
б) все весенние даты;
в) саму позднюю дату.
3.9. Дан один(инвентарный) файл, содержащий сведения сколько изделий каких видов продукции хранится на складе, и второй файл, содержащий сведения о том, на сколько уменьшилось или увеличилось количество изделий по некоторым видам продукции (этот файл может содержать несколько сообщений по продукции одного вида или не содержать ни одного такого сообщения). Обновить инвентарный файл на основе второго файла.
3.10. Дан файл содержащий сведения об игрушках: указывается название игрушки, ее стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двух до пяти лет). Получить следующие сведения:
а) названия игрушек, цена которых не превышает 4 руб. и которые подходят детям 5 лет;
б) цену самого дорого конструктора, оформить вывод по образцу...руб. ...коп.;
в) названия наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более чем на 1 руб.);
г) можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так, чтобы суммарная стоимость игрушек не превосходила 5 руб.
3.11. Имеется типизированный файл, содержащий данные о работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Во второй файл записать только данные о тех из них, кто на сегодняшний день проработал не менее 5 лет. Затем расположить записи в файле в алфавитном порядке по фамилиям. Вывести содержимое файла, выделяя тех, кто живет на улице Школьная или Полевая.
3.12. Имеется типизированный файл, содержащий данные о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира), название предмета, взятого напрокат (только одного). Во второй файл записать данные о клиентах, взявших телевизор. Затем расположить записи в файле в алфавитном порядке по фамилиям. Вывести содержимое файла, выделяя тех, кто живет на улице Садовая.
3.13. Имеется типизированный файл, содержащий данные о работающих на фабрике: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Во второй файл записать все данный об Ивановых (Иванов, Иванова). Затем расположить записи в файле в алфавитном порядке по именам. Вывести содержимое файла, выделяя тех, кто живет на улице Лесная.
3.14. Имеется типизированный файл, содержащий данные об учениках школы: фамилия, имя, отчество, адрес (улица, дом, квартира), класс. Во второй файл записать все данные об учениках определенного класса. Затем расположить записи в файле в алфавитном порядке по фамилиям. Вывести содержимое файла, выделяя тех, кто живет на улице Ленина.


Категория: Информатика | Добавил: Админ (06.10.2016)
Просмотров: | Рейтинг: 0.0/0


Другие задачи:
Всего комментариев: 0
avatar