Рекурсивные подпрограммы




188. Найдите сумму цифр заданного натурального числа.

189. Подсчитать количество цифр в заданном натуральном числе.

190. Описать функцию C(m, n), где 0 ≤ m ≤ n, для вычисления биномиального коэффициента по следующей формуле: при 0 < m < n.

191. Описать рекурсивную логическую функцию Simm(S, i, j), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчивающаяся j-м ее элементами.

192. Составить программу вычисления НОД двух натуральных чисел.

193. Составить программу нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например, для числа 1234 получаем ответ 4321.

194. Составить программу перевода данного натурального числа в P-ичную систему счисления (2 ≤ P ≤ 9).

195. Дана символьная строка, представляющая собой запись натурального числа в P-ичной системе счисления (2 ≤ P ≤ 9). Составить программу перевода этого числа в десятичную систему счисления.

196. Составить программу вычисления суммы: 1! + 2! + 3! +... + n! (n ≤ 15). Тип результата значения функции – LongInt.

197. Составить программу вычисления суммы: 2! + 4! + 6! +... + n! (n ≤ 16, n – четное). Тип результата значения функции – LongInt.

 

Обработка строк

A

198. Дана строка, заканчивающаяся точкой. Подсчитать, сколько в ней слов.

199. Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b.

200. Дана строка. Подсчитать в ней количество вхождений букв r, k, t.

201. Дана строка. Определить, сколько в ней символов *,;,:.

202. Дана строка, содержащая текст. Найти длины самого короткого и самого длинного слов.

203. Дана строка символов, среди которых есть двоеточие (:). Определить, сколько символов ему предшествует.

204. Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

205. Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *.

206. Дана строка. Определить, сколько раз входит в нее группа букв abc.

207. Дана строка. Подсчитать количество букв k в последнем ее слове.

208. Дана строка. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран.

209. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв a.

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

211. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.

212. Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в нем слов, заканчивающихся буквой а.

213. Дана строка. Указать те слова, которые содержат хотя бы одну букву k.

214. Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.

215. В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество таких замен.

216. В строке удалить символ двоеточие (:) и подсчитать количество удаленных символов.

217. В строке между словами вставить вместо пробела запятую и пробел.

218. Удалить часть символьной строки, заключенной в скобки (вместе со скобками).

219. Определить, сколько раз в строке встречается заданное слово.

220. В строке имеется одна точка с запятой. Подсчитать количество символов до и после точки с запятой.

221. Дана строка из n символов. Преобразовать ее, заменив точками все двоеточия (:), встречающиеся среди первых n/2 символов, и все восклицательные знаки, встречающиеся среди символов, стоящих после n/2 символов.

222. Строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).

223. В записке слова зашифрованы – каждое из них записано наоборот. Расшифровать сообщение.

224. Символьная строка представляет собой арифметическое выражение. Проверить правильность расстановки скобок в этом выражении (скобки могут быть вложенные).

225. Строка символов представляет собой предложение, написанное на русском языке. Предложение заканчивается точкой. Подсчитать и вывести количество различных букв, которые входят в это предложение. Ответ должен приводиться в грамматически правильной форме, например: а – 25 раз, к – 3 раза и т.д.

226. Упорядочить данный массив английских слов по алфавиту.

227. Даны две строки A и B. Составьте программу, проверяющую, можно ли из букв, входящих в A, составить B (буквы можно использовать не более одного раза и можно переставлять). Например, A: ИНТЕГРАЛ; B: АГЕНТ – составить можно; В: ГРАФ – нельзя.

228. Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных.

229. Двумерный массив n × m содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза.

230. Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которого записаны фамилия студента и отметки по каждому из M экзаменов.Определить количество абитуриентов, сдавших вступительные экзамены: а) только на "отлично"; б) на "хорошо" и "отлично".

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

232. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.

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

234. Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в десятичную систему счисления.

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

236. Дана строка символов. Проверить, является ли эта строка синтаксически правильной записью целого числа (десятичного или 16-ричного).

237. Дана строка символов. Проверить является ли эта запись синтаксически правильной записью вещественного числа.

Б

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

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

240. Дана строка, содержащая текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз.

241. Дана строка, содержащая текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается точкой или восклицательным знаком). Получить в новой строке отредактированный текст, в котором удалены подряд идущие вхождения слов в предложениях.

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

243. Дана строка, содержащая текст на русском языке. Определить, сколько раз встречается в ней самое длинное слово.

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

245. Дана строка, содержащая текст на русском языке. Составить в алфавитном порядке список всех слов, встречающихся в этом тексте.

246. Дана строка, содержащая текст на русском языке. Определить, сколько раз встречается в нем самое короткое слово.

247. Дана строка, содержащая текст на русском языке и некоторые два слова. Определить, сколько раз они входят в текст и сколько раз они входят непосредственно друг за другом.

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

249. Дана строка, содержащая текст и арифметические выражения вида: a + b, a – b, a * b и a / b. Выписать из нее все арифметические выражения и вычислить их значения.

250. Дана строка, содержащая текст на русском языке и некоторая буква. Найти слово, содержащие наибольшее количество указанных букв.

251. Дана строка, содержащая текст на русском языке и некоторая буква. Подсчитать, сколько слов начинается с указанной буквы.

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

253. Дана строка, содержащая текст, включающий русские и английские слова. Подсчитать, каких букв в тексте больше – русских или латинских.

254. Дана строка, содержащая произвольный текст. Сколько слов в тексте? Сколько цифр в тексте?

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

256. Дана строка, содержащая зашифрованный русский текст. Каждая буква заменяется следующей за ней в алфавите букву (буква я заменяется буквой а). Получить в новом файле расшифровку данного текста.

257. Даны две строки f1 и f2. Строка f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Строка f2 содержит не более 30 слов, которые разделены запятыми. Эти слова образуют пары: каждое второе является синонимом первого. Заменить в строке f1 те слова, которые можно, их синонимами. Результат поместить в новую строку.

258. Дана строка. Удалить из нее все лишние пробелы, оставив между словами не более одного. Если строка начиналась и/или заканчивалась пробелами, то их тоже нужно удалить. Результат поместить в новую строку.

259. Дана строка и некоторое слово. Напечатать те предложения строки, которые содержат данное слово.

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

261. Дана строка, содержащая текст на русском языке. Подсчитать количество слов, начинающихся и заканчивающихся на одну и ту же букву.

262. Дана строка символов. Проверить является ли эта строка синтаксически правильной записью арифметического выражения.

263. Дан текст, содержащий N строк. Каждая строка заканчивается точкой. Длина строки <= 60. Выровнять строки так, чтобы каждая строка имела длину 60. Строка не должна начинаться и заканчиваться пробелами. Выравнивание строк проводить равномерно вставляя дополнительные пробелы в тех местах, где они уже имеются. Вставлять все требуемые пробелы в одном месте не допускается.

 

Работа со списками

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

– фамилию;

– имя;

– отчество;

– год и месяц рождения;

– домашний адрес;

– изучаемый иностранный язык.

Сформировать списки студенческих групп с учетом следующих требований:

– количество групп – 2;

– количество студентов в группе, не более 10;

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

Списки групп должны быть упорядочены по алфавиту и размещены в типизированном файле.

265. Составить программу для начисления стипендии студентам по результатам экзаменационной сессии. Информация о результатах сессии включает в себя:

– фамилию;

– имя;

– отчество;

– номер группы;

– экзаменационные оценки.

Количество экзаменационных оценок не менее 3 и не более 5. Стипендия начисляется студентам, сдавшим все экзамены в сессию, по следующим правилам. Студенты, сдавшие все экзамены на "отлично" получают надбавку равную 100%; студенты, сдавшие экзамены на "хорошо" и "отлично" – 50%; а студенты, сдавшие экзамены на "хорошо", – 25%. Стипендия не начисляется студентам, имеющим в сессию более двух удовлетворительных оценок.

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

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

– фамилию, имя, отчество;

– оценки, на вступительных экзаменах (не более четырех);

– дополнительный балл за участие в олимпиадах.

Список студентов должен быть упорядочен по алфавиту и размещены в типизированном файле.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: