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

Рацеев.Лабораторные по информатике

.pdf
Скачиваний:
80
Добавлен:
18.04.2015
Размер:
680.77 Кб
Скачать

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

19.

20.

21.

22.

23.

24.

25.

26.

27.

4

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

Лабораторная работа № 4.

Тема: ВЫЧИСЛЕНИЕ ХАРАКТЕPИСТИК ЧИСЛОВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

Последовательность – это набор упорядоченно расположенных элементов. Каждый элемент последовательности характеризуется своим значением и порядковым номером.

Пусть имеется последовательность произвольных целых ненулевых чисел, завершающаяся числом 0 (число 0 в последовательность не входит). Последовательность может содержать повторяющиеся числа. Количество элементов в последовательности неизвестно, поэтому поместить всю последовательность в некоторый массив невозможно.

ЗАДАНИЕ:

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

ПРИМЕЧАНИЯ:

В программе обязательно применение функций с передаваемыми параметрами. Не допускается использование массивов.

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

ВАРИАНТЫ ЗАДАНИЙ.

1.Найти значения и порядковые номера элементов, являющихся наименьшим среди четных чисел и наибольшим среди нечетных чисел.

Пример: 5 8 -7 12 16 8 11 -4 8 7 12 0 результат: min= -4, i=8, max=11, i=7.

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

Пример: 1 55 31200 676 4884 30503 31412 29692 0 результат: 30503, i=6.

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

Пример: 1, 8, 10, 3, 4, 4, 7, 20, 21, 21, 54, 45, 15, -18, 0

результат: K=3.

4

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

4.Подсчитать количество простых чисел, которые больше своих соседних элементов справа и слева.

Пример: 1 2 5 3 -5 11 8 -12 -6 -5 7 4 0 результат: P=3.

5.Напечатать в обратном порядке наибольший элемент последовательности.

Пример: 1 5 16 234 587 14 0 результат: R=785.

6.Подсчитать количество наибольших и наименьших элементов.

Пример: 5 6 7 8 4 -1 4 -1 8 8 7 0 результат: Nmax=3, Nmin=2.

7.Вычислить общую сумму всех четных цифр во всех нечетных элементах.

Пример: 14 123 52 3241 5147 80 900 результат: 2+2+4+4=12.

8.Найти наибольший элемент (и его порядковый номер), имеющий в своем составе цифру 3.

Пример: 134 12 5 1324 52 21345 22521 0 результат: 21345, i=6.

9.Подсчитать количество простых чисел в последовательности, больших заданного числа М.

Пример: М=5, 2 3 4 7 19 18 7 8 11 15 0 результат: K=4.

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

Пример: 9 12 32 145 231 75 512 567 112 0 результат: 12+145+567=724.

11.Найти сумму таких элементов, которые больше всех предшествующих им элементов.

Пример: -2 6 7 5 14 5 2 16 -8 18 0 результат: -2+6+7+14+16+18=59.

12.Найти сумму всех элементов, состоящих только из разных цифр.

Пример: 32 122 343 166 -2 521 0 результат: 32+521+(-2)=551.

13.Найти количество четных чисел, сумма цифр в которых не превышает заданного числа P.

Пример: P=11, 345 2620 14492 1450 12206 0 результат: 2620; 1450; 12206; K=3.

14.Найти произведение чисел, которые не превосходят 4000 и являются полными квадратами некоторого натурального числа.

Пример: 2 5 4 19 25 4625 121 144 0 результат: 4*25*121*144=1742400.

15.Найти элементы (и подсчитать их количество), которые не превосходят 10000 и делятся на одну из своих цифр (кроме цифр 0 и 1).

Пример: 327 81 13452 548 1274 43 0 результат: 327, 548, 1274, K=3.

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

Пример: 1 5 6 1 2 -3 0

результат: (1,5,6)=(-2,-3); (5,6,1)=(-1,-0.2); (1,2,-3)=(1,-3).

17.Найти количество элементов, сумма цифр в которых есть простое число.

5

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

Пример: 137 14 171 512 928 17 0 результат: 137, 14, 928; K=3.

18.Найти произведение таких элементов, которые превосходят сумму всех предшествующих элементов.

Пример: -16 -5 20 -5 14 6 15 3 34 0 результат: (-16)*(-5)*(14)*(15)*(34)=571200.

19.Найти такие элементы (а также их сумму), в которых чередуются четные и нечетные цифры.

Пример: 2325 8122 5 1438 156 123 0 результат: сумма 2325+1438+123=3886.

20.Найти такие элементы (а также их сумму), которые состоят из двух равных частей и имеют в своем составе цифру 3.

Пример: 4343 9131 33 3313 646 3223 1313 0 результат: 4343+66+1313=5689.

21.Найти в последовательности минимальное число, имеющее наибольшее количество цифр, отличных от 0.

Пример: 4402 -2070 -2771 -3214 -4071 0 результат: -3214.

22.Найти такие элементы (а также их сумму), цифры в которых не превосходят заданного числа М (0<M<9).

Пример: М=7 1427 192 7 8 14 11 65 0 результат: 1427+7+14+11+65=1524.

23.Найти такие элементы (а также их произведение), которые состоят только из четных цифр.

Пример: -16 -5 22 -5 14 6 15 3 -64 0 результат: 22*6*(-64)=-8448.

24.Найти такие элементы (а также их количество), суммы цифр которых являются четными числами.

Пример: 9 12 32 145 231 75 513 567 112 0 результат: 145, 231, 75, 567, 112; K=5.

25.Найти в последовательности число, имеющее наибольшее в своем составе количество четных цифр (цифра 1 не является четным числом).

Пример: 4402 -2070 -2771 -22814 -4071 0 результат: -22814.

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

Пример: 55 31200 677 1317 837 1453 23171 0 результат: 1453=(10110101101), i=6.

6

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

Лабораторная работа № 5.

Тема: ОПPЕДЕЛЕНИЕ ХАPАКТЕPИСТИК ОДНОМЕPНЫХ МАССИВОВ

ЗАДАНИЕ:

Дана последовательность не более 30 ненулевых целых чисел, индикатором окончания последовательности является 0. Ввести последовательность в одномерный массив и вычислить характеристики последовательности согласно указанному варианту.

ПРИМЕЧАНИЯ:

Использование дополнительных массивов запрещено. В программе обязательно применение процедур и/или функций с передаваемыми параметрами. Рекомендуется использовать операции целочисленной арифметики. Если в последовательности отсутствует искомый элемент, об этом следует вывести сообщение. Индикатор окончания последовательности (число

0) НЕ ОБРАБАТЫВАТЬ!

ВАРИАНТЫ ЗАДАНИЙ.

1.Найти максимальный и минимальный элементы и номер элемента, наиболее близкого к среднему арифметическому минимального и максимального элементов.

2.Вычислить сумму только симметричных элементов, расположенных в интервале (А,В).

3.Найти порядковые номера и сумму двух наибольших элементов.

4.Найти наибольшее количество равных элементов.

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

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

7.Найти количество различающихся чисел, меньших числа А.

8.Вычислить среднее арифметическое чисел, содержащих только четные цифры, кроме цифры 0 и 1.

9.Определить порядковые номера трех наименьших нечетных элементов и их произведение.

10.Найти количество элементов, больших предыдущего и меньших последующих.

11.Найти, сколько раз встречается подпоследовательность А-2, А, А+2, где А – подходящее любое простое число.

7

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

12.Найти начальные и конечные номера подпоследовательностей элементов, сумма которых равна заданному числу А.

13.Найти наибольшее произведение двух элементов последовательности, указав их индексы.

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

15.Среди элементов массива найти индексы всех таких, которые могут быть получены суммированием двух элементов этого же массива.

16.Напечатать в порядке возрастания элементы, сумма цифр в которых находится в интервале от А до В.

17.Определить, имеется ли в последовательности элемент, равный сумме наибольшего четного элемента и наименьшего нечетного элемента.

18.Подсчитать количество элементов в массиве, являющихся точным квадратом другого элемента в этом массиве.

19.Среди всех симметричных чисел найти наиболее длинное (по количеству цифр) и определить на сколько оно меньше максимального числа в последовательности.

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

21.Напечатать индексы элементов массива и сами элементы, сумма цифр которых кратна индексу этого элемента.

22.Напечатать такие элементы массива и их количество, сумма цифр которых есть простое число.

23.Найти сумму всех чисел до первого нуля и произведение всех чисел после последнего нуля в массиве.

24.Определить, есть ли в числовом массиве элемент, взаимно простой с каждым из остальных элементов массива, и напечатать его.

8

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

Лабораторная работа № 6.

ТЕМА: МОДИФИКАЦИЯ ОДНОМЕPНЫХ МАССИВОВ

ЗАДАНИЕ:

Для произвольно выбранной последовательности целых чисел, в которой не более 30 элементов, выполнить следующее задание: ввести эти числа в одномерный массив и реорганизовать массив в соответствии с заданием. Использовать дополнительные массивы запрещено!

ПРИМЕЧАНИЯ:

В программе обязательно применение процедур и/или функций с передаваемыми параметрами. Количество элементов вводится в режиме диалога. Программа должна вывести на экран два изображения массива – исходного и после модификации.

ВАРИАНТЫ ЗАДАНИЙ.

1.Удалить элементы со значением В, упорядочить массив по возрастанию, а потом вставить в упорядоченную последовательность элемент А так, чтобы сохранился порядок следования.

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

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

4.Заменить числа, находящиеся в интервале (А,В) на наибольший четный элемент массива или на 0 при его отсутствии, упорядочить массив по убыванию и напечатать сумму заменяемых чисел.

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

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

7.Циклически сдвинуть на К номеров вправо последовательность, заполняя слева освободившиеся позиции выдвинутыми значениями, затем удалить из массива K нечетных чисел, начиная с левой стороны массива. Напечатать количество удаленных чисел.

9

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

8.Упорядочить только четные по значению элементы в порядке убывания, оставив нечетные на своих местах. Напечатать индексы тех элементов массива, которые остались на своих местах.

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

10.Перенести в начало массива четные отрицательные элементы, в конец массива – положительные нечетные элементы, сохранив для остальных элементов первоначальный порядок следования. Напечатать местонахождение (т. е. индексы начала и конца) группы “остальных” элементов.

11.Циклически сдвинуть последовательность на К номеров влево, заполняя освободившиеся позиции средним арифметическим сдвигаемых элементов, округленным до целого. Напечатать среднее арифметическое полученной последовательности с точностью до 5 знаков после запятой.

12.Каждый элемент с номером от 2 до Р-1 заменить на сумму соседних и расположить их по возрастанию. Напечатать все простые числа из полученной последовательности.

13.Заменить каждый элемент, содержащий только четные цифры, на его отклонение (округлив до целого) от среднего арифметического элементов массива. Напечатать номера этих элементов. Найти индекс элемента, наиболее близкого по значению к среднему арифметическому.

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

15.Заменить отрицательные элементы на их модули, если сумма их цифр больше К. Напечатать индексы и значения этих элементов.

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

17.Отрицательные элементы сдвинуть влево, упорядочив по возрастанию, у оставшихся удалить простые числа. Напечатать процент удаленных элементов.

18.Заменить все элементы с 2 по P-1 на среднее арифметическое суммы всех цифр двух соседних элементов и упорядочить по возрастанию получившуюся последовательность.

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

10

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

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

21.Все положительные числа заменить на их обратные изображения, т. е. например, 573 на 375, и упорядочить массив по убыванию. Напечатать процент измененных элементов.

22.Исключить отрицательные элементы, содержащие нечетные цифры и сжать массив влево, заполнив оставшиеся места максимальным элементом. Напечатать процент исключенных элементов.

11

Федеральное агентство по образованию

Форма

 

Ульяновский государственный университет

 

 

 

 

 

 

«Информатика»

 

 

 

 

 

Лабораторная работа № 7.

ТЕМА: ОБРАБОТКА ТЕКСТОВЫХ СТРОК

Дана последовательность слов в виде текстовой строки. Слова в

последовательности разделены символами-разделителями, например “.,;:\n\t!?”.

ОПРЕДЕЛЕНИЯ:

ЦЕПОЧКА – набор из последовательных символов слова. КРАТНЫЕ символы – цепочка из одинаковых символов.

ДВОЙНЫЕ символы – два рядом стоящих в слове одинаковых символа. ЧИСЛО – цепочка из цифр.

СЛОГ – цепочка из двух букв, согласной и гласной (A,E,I,O,U). РЕГУЛЯРНАЯ ЦЕПОЧКА – цепочка, состоящая только из больших

английских букв.

ПАЛИНДРОМ – это слово, в котором символы при просмотре слева направо и справа налево совпадают.

Алфавитный порядок – задается таблицей ASCII. Пример последовательности:

Begin a=aaa:aa repeat Time56Min15 946 3*f-5*x*i=17/6 **

ЗАДАНИЕ:

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

Одну из примененных в программе стандартных строковых процедур или функций реализовать самостоятельно с тем же именем, добавив только единичку, т. е. например: вместо ‘strcpy’ назвать ‘strcpy1’.

ПРИМЕЧАНИЯ:

Общее количество символов в последовательности не превышает 500 (с учетом ‘\0’). Текстовая строка задается с клавиатуры и вводится в переменную типа char s[500].

ВАРИАНТЫ ЗАДАНИЙ.

1.Подсчитать количество слов, начинающихся на большую букву и содержащих хотя бы один знак. Напечатать все слова, содержащие две рядом стоящие одинаковые буквы. (Большие и малые буквы не различаются).

12