Сначала отрицательные числа, потом положительные. При этом должна сохраняться исходное взаимное положение, как среди отрицательных, так и среди положительных чисел

Часть-6-1. Строковый тип-Вступление

1)Выведите на экран коды букв, из которых состоит ваше имя.

2)Напишите программу, в которой вводится символ, если он находится в интервале ‘0’ .. ‘9’, то на экране выводится его код, в противном случае на экран выводятся следующие за ним два символа

3)Подсчитайте, сколько раз во введенной строке встречается буква А.

4)Слова в строке отделяются одним символом пробела. Определите количество слов, содержащихся в строке.

5) Замените в строке все символы «круглые скобки» на символы «квадратные»

6)Написать программу, чтобы проверить, является ли число восьмеричным.

7) Составить программу, определяющую, на какую букву начинается 3 слово в предложении.

8)Составить программу, заменяющую в предложении союз И на союз ИЛИ.

9) Составить программу, удаляющую из предложения каждую вторую букву Т.

10)Слово или строка являются полиндромом, если слева направо и справа налево читаются одинаково. Написать программу, определяющую является ли слово полиндромом.

11) На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая подсчитает, сколько букв среди введенных символов . Строчные и прописные буквы при этом считаются не различимыми.

12) Посчитать, сколько раз встречается в введенной строке

каждая буква латинского алфавита. Ввод символов заканчивается

13) Посчитать, сколько раз встречается в введенной строке

каждая цифра от 0 до 9. Ввод символов заканчивается восклицательным знаком.

Часть 6-2 Символьный тип

1) На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв ("а" "b"... "z") из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке. Например, пусть на вход подаются следующие символы: fhb5kbfыshfm. В этом случае программа должна вывести b2 f3 h2 k1 m1 s1

2) Во входном файле text.dat содержится текст на английском языке, заканчивающийся точкой (другие символы "." в этом файле отсутствуют). Написать программу, которая будет определять и выводить на экран английскую букву, встречающуюся в этом тексте чаще всего, и количество там таких букв. Строчные и прописные буквы при этом считаются не различимыми. Если искомых букв несколько, то программа должна выводить на экран первую из них по алфавиту. Например, пусть файл содержит следующую запись: It is not а simple task. Yes ! Чаще всего здесь встречаются буквы I, S и Т (слово Yes в подсчете не учитывается, так как расположено после точки). Следовательно, в данном случае программа должна вывести два символа, разделенных пробелом: I 3

3) На вход в программу подается текст, состоящий из прописных букв русского и английского алфавита. между словами ставится один пробел, ввод текста заканчивается точкой.(другие символы отличные от "." и букв "А"..."Я" и "А"..."Z" на вход программы не поступают).

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

4) На вход программы подаются строчные английские буквы. Ввод этих букв заканчивается точкой (другие символы, отличные от «.» и букв «a».. «z» во входных данных отсутствуют. Требуется написать программу на одном из языков программирования, которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они выдаются в алфавитном порядке. Например, пусть на вход подаются следующие символы: colaclc

В данном случае программа должна вывести: аoсl

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

то результат должен быть следующий: 356124

6) На вход программе подается последовательность целых чисел. В первой строке сообщается количество чисел N, которое должно быть не больше 100, во второй строке идут сами числа.

Требуется написать программу, которая будет выводить на экран числа в следующем порядке:

сначала отрицательные числа, потом положительные. При этом должна сохраняться исходное взаимное положение, как среди отрицательных, так и среди положительных чисел

7) На вход программы подается последовательность символов, состоящая из букв латинского алфавита и цифр. Ввод символов заканчивается вопросительным знаком. Требуется написать программу, которая из всех цифр, встретившихся в строке и не равных нулю, формирует наименьшее число (без повторения цифр) и выводит на экран число, равное синусу полученного числа. если таких цифр нет, то программа выводит нуль.

8) На вход программы подается последовательность символов, состоящая из букв латинского алфавита и цифр. Ввод символов заканчивается вопросительным знаком. Требуется написать программу, которая из всех цифр, встретившихся в строке и не равных нулю, формирует наибольшее число (без повторения цифр) и выводит на экран число, равное факториалу этого числа, предварительно разделенного на 50 и округленного в меньшую сторону. Если таких цифр нет, то программа выводит нуль.

 

Часть 6-3 Строковый тип. Сумма, среднее…

1) В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестирование проводится по двум предметам, по каждому предмету абитуриент может набрать от 0 до 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из двух предметов. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 500.

В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат:

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

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

Ветров Роман 68 59

Анисимова Екатерина 64 88

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

2) На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:

<Фамилия> <Инициалы> <номер школы>

где <Фамилия> - строка, состоящая не более чем из 20 символов, <Инициалы> - строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> - не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:

Иванов П.С. 57

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N<=1000.

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

<Фамилия> <Инициалы> <телефон>

где <Фамилия> - строка, состоящая не более чем из 20 символов, <Инициалы> - строка, состоящая не более чем из 4-х символов (буква, точка, буква, точка), <телефон> - семизначный номер, 3-я и 4, я, а также 5-я и 6-я цифры которого разделены символом «-». <Фамилия> и <Инициалы>, а также <Инициалы> и <телефон> разделены одним пробелом. Пример входной строки:

Иванов П.С. 555-66-77

Сотрудники одного подразделения имеют один и тот же номер телефона. Номера телефонов в учреждении отличаются только двумя последними цифрами. Требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, сколько сотрудников работает в каждом подразделении данного учреждения .

4) На городской олимпиаде по информатике участникам было предложено выполнить 3 задания, каждое из которых оценивалось по 25-балльной шкале.Известно, что общее количе­ство участников первого тура олимпиады не превосходит 250 человек. На вход программы подаются сведения о результатах олимпиады. В первой строке вводится количество участников N. Далее следуют N строк, имеющих следующий формат:

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

Здесь < Фамилия > - строка, состоящая не более чем из 20 символов; <Имя > - строка, состоящая не более чем из 15 символов;

<Баллы > - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным участником за каждое задание первого тура. При этом < Фамилия > и

< Имя >, < Имя > и < Баллы > разделены одним пробелом.

Примеры входных строк: Петрова Ольга 25 18 16Калиниченко Иван 14 19 15 Напишите программу, которая будет выводить на экран, фамилию и имя участника, набравшего максимальное количество баллов. Если среди остальных участников есть ученики, набравшие такое же количество баллов, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.

5) На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщает­ся количество учащихся N, каждая из следующих N строк имеет формат:

< Фамилия > < Инициалы > <БаллыПоРусскомуЯзыку> <БаллыПоМа- тематике> <Баллы ПоИнформатике>, где <Фамилия> — строка, состо­ящая не более чем из 20 символов, < Инициалы > — строка, состоящая из 4-х символов (буква, точка, буква, точка), <БаллыПоРусскомуЯзыку>, <БаллыПоМатематике>, <Баллы ПоИнформатике> — целые чис­ла в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров С.Н. 78 82 70

Требуется написать как можно более эффективную программу (ука­жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и инициалы уче­ников, набравших минимальное среднее арифметическое баллов по трём предметам, отличное от 0 (таких учеников может быть несколько), а также среднее арифметическое набранных ими баллов.Следует учитывать, что N > 100.

6) На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> - строка, состоящая не более чем из 15 символов, <оценки> - через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 2 4

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена неуспевающих учеников (имеющих по результатам экзаменов хотя бы одну двойку), располагая их в порядке уменьшения числа двоек.

7) На вход в программе подаются сведения о сдаче экзаменов учениками 9─х классов, некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, не превосходит 100. Каждая из N строк имеет следующий формат: <Фамилия><Имя><оценки>

где<Фамилия>─строка, состоящая не более чем из 20 символов <Имя>─строка, состоящая не более чем из 15 символов <оценки>─через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия>, <Имя> и <оценки> разделены одним пробелом.

требуется написать программу, которая будет: выводить на экран только фамилии учеников в порядке возрастания среднего балла

8) В соревнованиях по многоборью (из M видов спорта) участвуют N спортсменов (N < 1000) . На вход программе в первой строке подается число спортсменов N, во второй - число видов спорта M. В каждой из последующих N строк находится информация в следующем формате:

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

где <Фамилия> - строка, состоящая не более, чем из 20 символов без пробелов, <Имя> - строка, состоящая не более, чем из 12 символов без пробелов, <Баллы> - M целых чисел, обозначающие количество баллов, набранных спортсменом в каждом из видов многоборья.

<Фамилия> и <Имя>, <Имя> и <Баллы>, а также отдельные числа в поле <Баллы> разделены ровно одним пробелом. Пример входных строк:

Иванов Сергей 100 30 78 13

Петров Антон 90 16 98 14

Сидоров Юрий 100 70 30 21

Программа должна выводить результирующую таблицу, содержащую список спортсменов, отсортированный по убыванию суммы баллов, набранные суммы и занятые места.

В данном случае программа должна вывести

Иванов Сергей 221 1

Сидоров Юрий 221 1

Петров Антон 218 2

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

Районный методист решила выяснить фамилии учеников, которые набрали наибольший балл, по каждой школе в отдельности, но только если из школы информатику сдавало не меньше 3 человек. Если в школе информатику сдавало меньше 3 человек, информацию по этой школе выводить не нужно.

Программа должна вывести на экран информацию в виде:

<Номер школы> <Фамилия ученика>

в отдельной строке для каждой школы.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

На вход программе сначала подаётся число учеников, сда-вавших экзамен. В каждой из следующих N строк находится информация об учениках в формате:

<Фамилия> <Имя> <Номер школы> <Количество баллов>

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 0 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

Пример выходных данных:

5 Иванов

50 Петров

74 Сидоров

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

Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.