Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию [pdf]

.pdf
Скачиваний:
740
Добавлен:
02.05.2014
Размер:
6.04 Mб
Скачать

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

иповторив каждый символ, отличный от *.

260.Даны натуральное число n, символы s1, …, sn, среди которых есть двоеточие.

а) Получить все символы, расположенные до первого двоеточия включительно.

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

в) Получить все символы, расположенные между первым и вторым двоеточием. Если второго двоеточия нет, то получить все символы, расположенные после единственного имеющегося двоеточия.

261.Даны натуральное число n, символы s1, …, sn.

а) Подсчитать наибольшее количество идущих подряд пробелов.

б) Выяснить, верно ли, что в последовательности s1, …, sn имеются пять идущих подряд букв е.

262.Даны натуральное число n, символы s1, …, sn. Определить число вхождений в последовательность s1, …, sn группы букв:

а) abc. б) aba.

263.Даны натуральное число n, символы s1, …, sn. Заменить в последовательности s1, …, sn каждую группу букв child группой букв children.

264.Даны натуральное число n, символы s1, …, sn. Исключить из последовательности s1, …, sn группы символов, расположенные между скобками (,). Сами скобки тоже должны быть исключены. Предполагается, что внутри каждой пары скобок нет других скобок.

265.Даны натуральное число n, символы s1, …, sn. Преобразовать последовательность s1, …, sn: если нет символа *, то оставить ее без изменения, иначе заменить каждый символ, встречающийся после первого вхождения символа *, на символ -.

266.Даны натуральное число n, символы s1, …, sn, среди которых есть хотя бы одна точка. Преобразовать последовательность s1, …, sn, удалив из нее все запятые, предшествующие первой точке, и заменив знаком + все цифры 3, встречающиеся после первой точки.

267.Даны натуральное число n, символы s1, …, sn (n >1). Преобразовать последовательность s1, …, sn, заменив запятыми все двоеточия, встречающиеся среди s1, , s[n / 2], и заменив точками все восклицательные знаки, встречающиеся среди s[n / 2]+1, …, sn.

268.Даны натуральное число n, символы s1, …, sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. Требуется преобразовать последовательность s1, …, sn следующим

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

269. Даны натуральное число n, символы s1, …, sn. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами.

а) Подсчитать количество слов в данной последовательности. б) Подсчитать количество букв а в последнем слове данной

последовательности.

в) Найти количество слов, начинающихся с буквы б.

г) Найти количество слов, у которых первый и последний символы совпадают между собой.

д) Найти какое-нибудь слово, начинающееся с буквы а.

е) Преобразовать данную последовательность, заменяя каждое вхождение слова это на слово то.

ж) Найти длину самого короткого слова.

270. Даны символы s1, s2, … Известно, что символ s1 отличен от пробела и что среди s2, s3, … имеется хотя бы один пробел. Рассматриваются s1, …, sn – символы, предшествующие первому пробелу (n заранее неизвестно). Преобразовать последовательность s1, …, sn:

а) удалив из нее все символы, не являющиеся буквами; б) заменив все малые буквы одноименными большими;

в) удалив все символы, не являющиеся буквами или цифрами, и заменив каждую большую букву одноименной малой;

г) удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, ab + 0.1973 1.1 преобразуется в ab + 0.19 1.1);

д) удалив из каждой группы цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка).

§ 9. Вычисления с хранением последовательности значений

271. Даны действительные числа а1, …, а15. Получить

 

 

 

 

 

15

~

2

 

 

 

 

 

 

å(ai

 

~

 

1

15

a )

 

 

=

i= 1

 

 

 

a

 

 

åai ,

 

 

 

.

 

 

14

 

 

15

 

 

 

i= 1

 

 

 

 

 

 

 

 

 

 

 

272. Даны действительные числа а1901, a1902, …, а1950 – количество осадков (в миллиметрах), выпавших в Москве в течение первых 50 лет нашего столетия. Надо вычислить среднее количество осадков и отклонение от среднего для каждого года.

273. Система из 25 материальных точек в пространстве задана с помощью последовательности действительных чисел x1, y1, z1, p1, x2, y2, z2, p2, …, x25, y25, z25, p25, где xi, yi, zi - координаты i-ой точки, а pi – ее вес (i=1, 2, …, 25). Получить координаты центра тяжести системы, а также расстояние от центра тяжести до всех точек системы.

274.Даны действительные числа а1, …, а20. Получить числа b1, …, b20, где bi – среднее арифметическое всех членов последовательности а1, …, а20, кроме ai (i=1, 2,. .., 20).

275.Даны действительные числа x1, …, x10, y1, …, y10. Получить

10

åxi yi . Как упростить решение, если исходные данные будут иметь

i= 1

следующий порядок: x1, y1, …, x10, y10?

276. Построить последовательность целых чисел а1, …, а30, где a1=1, a2=1; ai = a[i/2] + ai–2 (i = 3,..., 30).

277. Даны действительные числа a1, …, an. Получить an, an–1,. ..,

a1*).

*) Каждый раз, когда число членов в данной последовательности зависит от некоторой величины n, m,..., не отнесенных явно к данным задачи, то подразумевается, что при работе с языками, в которых не предусмотрены массивы с динамическими границами (таким языком

является, в частности, паскаль), эти величины либо определяются в программе как константы (например, в программе на Паскале даются определения const n=...; const m=... с конкретными числами вместо многоточий), либо же еще до составления программы эти величины заменяются конкретными числами. Если же язык позволяет после ввода значений переменных n, m,..., рассматривать массив, границы которого зависят от n, m,..., то следует воспользоваться этой возможностью и считать значения n, m,..., данными числами.

278. Даны натуральные числа n1, …, n20, действительные числа

x1, …, x20. Вычислить n1x1 + ... +

n20 x20 .

 

n1 + ... +

n20

 

279.Даны действительные числа a1, …, an, b1, …, bn. Вычислить

(a1+bn)(a2+bn-1)...(an+b1).

280.Пусть xi, yi (i=1, 2,. ..) определены, как в задаче 167.

Получить x1, …, x25, y1, …, y25.

281. Даны действительные числа a1, …, a28, b1, …, b28. Члены последовательности c1, …, c29 связаны с членами данных

последовательностей соотношениями c29 = 0, c29i =

a29i

(i=1,

 

 

 

b29i c29i+ 1

 

..., 28). Получить c1, …, c29.

 

 

282. Даны действительные числа a1, a2, …, a2n. Получить:

а) a1, an+1, a2, an+2, …, an, a2n;

б) a1, a2n, a2, a2n-1, a3, …, an, an+1;

в) a1+ a2n, a2+ a2n-1, …, an+ an+1.

283.Даны действительные числа a1, …, a17. Получить:

а) a17, a1, a2, …, a16;

б) a11, a12, …, a17, a1, a2, …, a10; в) a11, a12, …, a17, a10, a9, …, a1;

284.Даны действительные числа a1, …, a20. Получить:

а) a20, a11, a19, a10, …, a10, a1;