Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / Задания по программированию.pdf
Скачиваний:
142
Добавлен:
27.05.2015
Размер:
1.68 Mб
Скачать

17.Дана вещественная квадратная матрица A порядка n. Найти сумму элементов матрицы, расположенных в строках с отрицательным элементом на главной диагонали.

18.Дана вещественная прямоугольная матрица A размером n m. Необходимо каждый элемент заменить на результат деления этого элемента на сумму элементов строки, в которой он находится.

19.Дана вещественная прямоугольная матрица A размером n m. Полу-

 

n

 

 

aij

 

чить массив B = {bj}, j=1…m, b j

i 1

.

 

 

 

 

n

 

20. Сформировать целочисленную

квадратную

элементы которой рассчитываются по

формуле:

i, j = 1…n.

 

матрицу A порядка n,

 

i

для

j 1

j 1

 

 

aij aik

для

j 1,

 

 

 

 

k 1

 

 

21.Дана целочисленная квадратная матрица A порядка n, состоящая из нулей и единиц. Найти количество строк, в которых есть хотя бы один ноль.

22.Дана целочисленная квадратная матрица A порядка n. Определить номер столбца, в котором наибольшее количество отрицательных элементов.

23.Дана целочисленная квадратная матрица A порядка n. Найти та-

кие i и j (i, j = 1…n), для которых выражение aij i j. имеет наименьшее значение.

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

25.Дана целочисленная прямоугольная матрица A размером n m. Найти

n

S aik , где k – номер столбца, в котором расположен элемент, имеющий

i 1

максимальное значение.

1.6 Строки

Задание: Составить программу, предусматривающую обработку строковых данных. Для ввода/вывода использовать наиболее подходящие компоненты.

1. Дана строка, состоящая из букв и цифр. Найти сумму всех цифр, входящих в эту строку и получить новую строку путем удаления из исходной строки всех цифр. Если цифр нет, вывести в компонент вывода строку «Цифр нет».

15

2.Преобразовать заданную строку, заменив в ней каждое сочетание символов '<–>' на '–+–'.

3.Исключить из заданной строки группы символов между скобками '[', ']'. Сами скобки тоже должны быть исключены. Предполагается, что внутри каждой пары скобок нет других скобок.

4.Дан одномерный массив слов, каждое из которых записано в формате ХХ-YY. Часть XX состоит из букв, а часть YY – из цифр. Выбрать элементы с заданной частью XX и у них найти сумму частей YY. Если элементов с заданной частью XX нет, вывести в компонент вывода строку «Элементов нет».

5.В заданной строке удалить все лишние пробелы. Лишними считаются пробелы:

расположенные в начале строки до первого символа, отличного от пробела;

расположенные в конце строки, т.е. после последнего символа, отличного от пробела;

более одного пробела подряд в середине строки.

6.Задан одномерный массив слов. Сформировать строку, состоящую из отражений слов (abcd dcba), идущих в той же последовательности, что и в исходном массиве, и разделенных пробелами.

7.Дана строка, состоящая из цифр. Сформировать новую строку, в ко-

торой после каждой цифры идет соответствующая буква (после '0' 'a', после

'1''b' и т.д.).

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

9.Дана строка, состоящая из слов, разделенных пробелами. Расставить правильно знаки препинания, т.е. заменить комбинации «пробел-точка» и «пробел-запятая» на «точка-пробел» и «запятая-пробел» соответственно.

10.Дана строка, состоящая из букв и цифр. Определить максимальное из чисел, которые есть в данной строке. Записью числа считать непрерывную последовательность цифр в строке. Если цифр нет, вывести в компонент вывода строку «Цифр нет».

11.Дана строка, состоящая из слов, разделенных пробелами. Найти среднее арифметическое длин слов.

12.Дан одномерный массив слов, каждое из которых состоит из цифр. Найти сумму чисел, полученных из слов, заканчивающихся символом '7'.

13.Дана строка, состоящая из слов, разделенных пробелами (количество слов не менее 3). Вывести те слова, длина которых меньше, чем у предыдущего слова, и больше, чем у последующего.

14.Определить, какая гласная (a, e, i, o, u) чаше встречается в заданной строке. Если в строке нет ни одной гласной, вывести в компонент вывода строку «Гласных нет».

16

15.Из данной строки выделить группы символов, расположенных между скобками '(' и ')'. Вывести группу с наибольшей длиной. Предполагается, что внутри пары скобок других скобок нет. Если в строке скобок нет, вывести в компонент вывода строку «Скобок нет».

16.В заданной строке, имеющей четное число символов, поменять местами каждый четный и нечетный символ (1 и 2, 3 и 4 и т.д.) без использования дополнительной строки.

17.В заданной строке, состоящей из букв и цифр, заменить цифры в сле-

дующем порядке ('0''9', '1''8', …, '8''1', '9' '0').

18.Дана строка, состоящая из букв и включающая четное число вхождений символа '!'. Заменить каждое нечетное вхождение символа на '<', а каждое четное - на '>'.

19.Дана строка, состоящая из строчных латинских букв. Удалить из нее все гласные (a, e, i, o, u).

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

21.В заданной строке, состоящей из букв и цифр, заменить цифры в сле-

дующем порядке ('0''1', '1''2', …, '8''9', '9' '0').

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

23.Дана строка, число символов в которой кратно трем. Сформировать новую строку, в начале которой расположен каждый третий символ, начиная с позиции 1, потом каждый третий начиная с позиции 2, потом каждый третий

начиная с позиции 3 (например, 'abcdef' 'adbecf').

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

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

1.7 Записи и файлы

Задание: Составить две программы (или одну программу с двумя расчетами) с использованием типов запись и файл для решения задачи:

а) ввод исходных данных и запись информации в двоичный файл; б) чтение данных из файла и выполнение операций в соответствии с за-

данием.

17

(TSpinEdit

При вводе данных использовать компоненты классов / NumericUpDown) для ввода количества записей и (TStringGrid / DataGridView) для ввода самих записей. Указать в первых строках таблиц названия столбцов. Отобразить считанные данные и результаты выполнения операций. Для вывода использовать наиболее подходящие компоненты.

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

2.Анкета школьника включает фамилию, имя, номер школы (считать, что есть школы с номерами 1..5), оценки по двум предметам. Ввести данные для нескольких школьников и вывести лучшего по сумме оценок ученика для каждой школы.

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

4.Картотека содержит данные о людях: фамилию, город проживания и возраст. Вывести данные по людям заданного города и подсчитать их средний возраст.

5.Таблица содержит данные о налогоплательщиках: фамилию, имя, годовой доход. Вывести данные о налоге, уплаченном налогоплательщиком, если он рассчитывается по следующей формуле: до 20000 руб. – 12 %, 2000040000 руб. – 20 %, свыше 40000 руб. – 35 %.

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

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

взаданном году.

8.Телефонный справочник содержит данные об абонентах: фамилия, номер телефона (число формата ххуу), годе установки телефона (формат аабб). Вывести данные об абонентах, у которых уу=бб.

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

10.В таблице о каждом цветке имеются следующие сведения: наименование, месяц цветения, размер цветка. Вывести сведения о цветках, цветущих

вданном месяце, и найти из них самый маленький.

11.Картотека банка состоит из карточек операций, содержащих следующую информацию: фамилия клиента, имя клиента, вид операции (приход/расход), сумма операции. Вывести данные о клиенте, положившем на счет

18

за один раз наибольшую сумму и данные о тех клиентах, которые снимали за раз более 1000 руб.

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

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

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

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

16.Информация о городе включает следующие данные: название города, год основания, количество жителей. Вывести общее количество жителей городов, основанных в XX веке.

17.Данные о видеокассетах содержат: номер кассеты, название фильма и его продолжительность в минутах. Вывести информацию о номере кассеты и продолжительности заданного фильма.

18.В меню ресторана содержится информация о названии блюд, их веса

ицены. Вывести название самого дорогого блюда в относительном смысле (цена/ вес).

19.Картотека банка состоит из карточек операций, содержащих следующую информацию: фамилия клиента, имя клиента, вид операции (приход/расход), сумма операции. Вывести операции для клиента с заданной фамилией и подсчитать итоговый баланс.

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

выпуска n, себестоимостью с и ценой ц. Вывести наименование продукции, дающей наибольшую прибыль: P n (ц c) .

21.Данные о видеотеке содержат номер кассеты, название фильма и его режиссера. Вывести информацию о номерах кассет и наименовании фильмов, снятых заданным режиссером.

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

23.В меню ресторана содержится информация о названии блюд, их весе

иколичестве ингредиентов. Вывести названия блюд, имеющих заданное количество ингредиентов и вес которых более некоторого значения.

19