Выполнить следующие задания, используя процедуры и функции. 1 страница
Факультет
Компьютерных наук
Сборник задач по курсу
По программированию
для студентов специальности 230201
«Информационные системы и технологии»
Составители:
Н.А. Тюкачев
Е.Е. Михайлова
Г.Э. Вощинская
Е.М. Михайлов
В сборнике представлены задачи по различным разделам, начиная с линейных алгоритмов и заканчивая задачами на графы.
Сборник задач рассчитан на студентов дневного и вечерних отделений, изучающих программирование.
Рецензент: д.ф.-м.н., зав. каф. ПОиАИС Артемов М.А.
Печатается по решению ученого совета
факультета компьютерных наук
Воронежского государственного университета
Ó Коллектив авторов, 2012
Ó Оформление.
Воронежский государственный университет, 2012
Линейные алгоритмы
1. Составить программу для решения системы двух линейных уравнений с двумя неизвестными.
Указание
Значение неизвестных x, y системы уравнений
находятся по формулам
.
Проверить, что .
2. Подсчитать, сколько очков набрала команда в первом круге чемпионата по хоккею, если известно, что m встреч она выиграла, n встреч проиграла, k встреч закончились ничьими.
Указание
За выигрыш команда получает два очка, за ничью — 1 очко, за проигрыш — 0 очков.
3. Известны длины сторон a, b, c треугольника. Вычислить высоты этого треугольника.
Указание
Высоты треугольника вычисляются по формулам:
где .
4. Составить программу для вычисления времени t встречи автомобилей, движущихся равноускоренно навстречу друг другу, если известны их скорости V1 и V2, ускорения а1 и а2 и начальное расстояние S между ними.
Указание.
Расстояние S1, пройденное первым автомобилем, вычисляется по формуле ; расстояние, пройденное вторым автомобилем, вычисляется по формуле . Время t встречи автомобилей определяется из уравнения ,
откуда .
5. Найти x из пропорции .
6. Сколько процентов от А+В–С приходится на А? На В? На С?
7. Составить программу вычисления идеального веса человека по его росту, при условии, что идеальный_вес(кг) = рост(см) - 100.
8. Вы положили деньги в сбербанк на срочный депозит на квартал из расчета 24% годовых. Составить программу, которая вычислит причитающуюся вам сумму через 4 месяца.
9. Розничная цена мужского костюма составляет R рублей. Наценка магазина составляет T% от оптовой цены. Составить программу определения оптовой цены костюма.
10. Зарплата сотрудника частной фирмы r рублей в месяц. Сколько денег он получит за полгода после вычета налогов в размере t% ежемесячно и s% за полгода?
11. Даны координаты вершин некоторого треугольника. Вычислить его периметр.
12. Смешано V1 литров воды температуры t1 с V2 литрами воды температуры t2. Составить программу вычисления объема и температуры образованной смеси.
13. Определить стоимость набора, в который входят следующие конфеты:
Название | Вес | Стоимость 1кг |
Петровские | 200г | K руб. |
Воронежские | 300г | P руб. |
Чародейка | 250г | R руб. |
Факел | 150г | B руб. |
Ласточка | 200г | L руб. |
Стоимость упаковки — U руб. |
14. Сколько времени в минутах затратит школьник на дорогу от школы до стадиона, если известна длина этого расстояния S км и средняя скорость движения школьника V км/ч.
15. В квадрат вписана окружность (рис. 1.3). Определить площадь заштрихованной части фигуры, если известна длина стороны квадрата.
16. В квадрат вписана окружность (рис. 1.3). Определить площадь заштрихованной части фигуры, если известен радиус окружности.
17. В квадрат вписана окружность (рис. 1.4). Определить площадь заштрихованной части фигуры, если известна длина стороны квадрата.
Рис. 1.3 Рис. 1.4 Рис. 1.5
18. В квадрат вписана окружность (рис. 1.5). Определить площадь заштрихованной части фигуры, если известна длина стороны квадрата.
19. Даны два ненулевых числа. Найти их сумму, разность, произведение и частное.
20. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.
21. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S, пройденный лодкой.
22. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга.
23. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу.
24. Найти периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b.
Логическое выражение
Во всех заданиях данного пункта требуется вывести логическое значение True, если приведенное высказывание для предложенных исходных данных является истинным, и значение False в противном случае. Все числа, для которых указано количество цифр (двузначное число, трехзначное число и т.д.), считаются целыми.
1. Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей во второй координатной четверти».
2. Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти».
3. Проверить истинность высказывания: «Точка с координатами (x, y) лежит внутри прямоугольника, левая верхняя вершина которого имеет координаты (x1, y1), правая нижняя — (x2, y2), а стороны параллельны координатным осям».
4. Проверить истинность высказывания: «Данное целое число является четным двузначным числом».
5. Проверить истинность высказывания: «Данное целое число является нечетным трехзначным числом».
6. Проверить истинность высказывания: «Среди трех данных целых чисел есть хотя бы одна пара совпадающих».
7. Проверить истинность высказывания: «Среди трех данных целых чисел есть хотя бы одна пара взаимно противоположных».
8. Проверить истинность высказывания: «Сумма цифр данного трехзначного числа является четным числом».
9. Проверить истинность высказывания: «Сумма двух первых цифр данного четырехзначного числа равна сумме двух его последних цифр».
10. Проверить истинность высказывания: «Данное четырехзначное число читается одинаково слева направо и справа налево».
11. Проверить истинность высказывания: «Все цифры данного трехзначного числа различны».
12. Проверить истинность высказывания: «Цифры данного трехзначного числа образуют возрастающую последовательность».
13. Проверить истинность высказывания: «Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность».
14. Проверить истинность высказывания: «Цифры данного трехзначного числа образуют арифметическую прогрессию».
15. Проверить истинность высказывания: «Цифры данного трехзначного числа образуют геометрическую прогрессию».
16. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если ладья1| король2| слон3| ферзь4| конь5 за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
Условный оператор
1. Ввести три числа. Если они могут быть длинами сторон прямоугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
2. Ввести три числа. Если они могут быть длинами сторон остроугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
3. Ввести три числа. Если они могут быть длинами сторон тупоугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
4. Ввести три числа. Если они могут быть сторонами равностороннего треугольника, вычислить его площадь и длину высоты. Вывести стороны, площадь и длину высоты в порядке возрастания.
5. Ввести три числа. Если они могут быть длинами сторон равнобедренного треугольника, вычислить длины его высот. Вывести длину основания и длины высот в порядке возрастания.
6. Ввести три числа. Если они могут быть длинами сторон разностороннего тупоугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
7. Ввести три числа. Если они могут быть длинами сторон равнобедренного тупоугольного треугольника, вычислить его площадь. Вывести длины сторон и площадь в порядке возрастания.
8. Ввести три числа. Если они могут быть длинами сторон равнобедренного остроугольного треугольника, вычислить его площадь. Вывести длины сторон и площадь в порядке возрастания.
9. Ввести три числа. Если они могут быть длинами сторон разностороннего остроугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
10. Даны координаты трех точек на плоскости. Если они могут быть вершинами остроугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
11. Даны три числа. Если они могут быть длинами сторон треугольника, определить его вид (прямоугольный, тупоугольный, остроугольный). Вычислить длины его высот и напечатать их в порядке убывания.
12. Составить программу, которая определяла бы вид треугольника (равносторонний, равнобедренный, разносторонний, прямоугольный, тупоугольный, остроугольный), если по данным трём отрезкам его можно построить.
13. Даны координаты трех точек на плоскости. Составить программу, которая определяла бы вид треугольника (равносторонний, равнобедренный, разносторонний, прямоугольный, тупоугольный, остроугольный), если данные координаты вершин позволяют его построить.
14. Даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины.
15. Даны три целых числа. Возвести в квадрат отрицательные числа и в третью степень — положительные (число 0 не изменять).
16. Из трех данных чисел выбрать наименьшее.
17. Из трех данных чисел выбрать наибольшее.
18. Из трех данных чисел выбрать наименьшее и наибольшее.
19. Перераспределить значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — большее.
20. Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.
21. Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по убыванию.
22. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения.
23. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения.
24. Даны три переменные: X, Y, Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
25. Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
26. Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то вывести 0. Если точка совпадает с началом координат, то вывести 1. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 2 или 3.
27. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.
28. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.
29. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.
30. Дан номер некоторого года (положительное целое число). Вывести соответствующий ему номер столетия, учитывая, что, к примеру, началом 20 столетия был 1901 год.
31. Дан номер некоторого года (положительное целое число). Вывести число дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
32. Ввести три числа. Если они могут быть длинами сторон прямоугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
33. Ввести три числа. Если они могут быть длинами сторон остроугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
34. Ввести три числа. Если они могут быть длинами сторон тупоугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
35. Ввести три числа. Если они могут быть сторонами равностороннего треугольника, вычислить его площадь и длину высоты. Вывести стороны, площадь и длину высоты в порядке возрастания.
36. Ввести три числа. Если они могут быть длинами сторон равнобедренного треугольника, вычислить длины его высот. Вывести длину основания и длины высот в порядке возрастания.
37. Ввести три числа. Если они могут быть длинами сторон разностороннего тупоугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
38. Ввести три числа. Если они могут быть длинами сторон равнобедренного тупоугольного треугольника, вычислить его площадь. Вывести длины сторон и площадь в порядке возрастания.
39. Ввести три числа. Если они могут быть длинами сторон равнобедренного остроугольного треугольника, вычислить его площадь. Вывести длины сторон и площадь в порядке возрастания.
40. Ввести три числа. Если они могут быть длинами сторон разностороннего остроугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника.
41. Даны координаты трех точек на плоскости. Если они могут быть вершинами остроугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
42. Даны три числа. Если они могут быть длинами сторон треугольника, определить его вид (прямоугольный, тупоугольный, остроугольный). Вычислить длины его высот и напечатать их в порядке убывания.
43. Даны координаты трех точек на плоскости. Составить программу, которая определяла бы вид треугольника (равносторонний, равнобедренный, разносторонний, прямоугольный, тупоугольный, остроугольный), если данные координаты вершин позволяют его построить.
44. Даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины.
45. Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия
Циклы
1. Составить программу вычисления суммы вида:
a)
b)
2. Составить программу вычисления при заданных x и a значения функции y вида:
a) ;
b) .
3. Вычислить: ;
4. Написать программу вычисления при заданном x величины y по формуле
.
5. Вычислить .
6. Составить программу для нахождения и печати всех пифагоровых чисел, не превышающих 20.
7. Дано натуральное n. Вычислить значение выражения
8. Даны натуральное число n и действительное число x. Вычислить:
a)
b)
9. Дано натуральное k. Напечатать k-ую цифру последовательности 12345678910111213…, в которой выписаны подряд все натуральные числа.
10. Вычислить x1+x2+…+ x20, если последовательность x1, x2, … образована по следующему закону:
1. ;
2. x1 = 1; x2 = 0.3; xi = (i+1) ×xi – 2 , i = 3, 4, … .
3. x1 = x2 = x3 =1; xi = (i+3) × (xi – 4 –1)+ (i+4) ×xi – 3, i = 4, 5, … .
11. Дано вещественное число x и натуральное число n. Вычислить .
12. Даны вещественные числа a, h, натуральное число n.
Вычислить , где
13. Дано натуральное число n. Вычислить 1×2+2×3×4+…+n× …×2n.
14. При некоторых заданных x, N и E, определяемых вводом, вычислить:
a) сумму N слагаемых заданного вида;
b) сумму тех слагаемых, которые по абсолютной величине больше Е.
Для случая b выполнить суммирование для двух значений Е, отличающихся на порядок, и при этом определить количество слагаемых, включенных в сумму. Сравнить результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем в интервале (-R, R).
I) (R=¥).
II) (R=¥).
III) (R=1)
IV) (R=1).
V) (R=1).
VI) (R=1).
VII) (R=1).
VIII) (R=1).
IX) (R=1)
X) (R=1).
XI) (R=1).
XII) (R=1).
XIII) (R=1).
XIV) (R=1).
XV) (R=¥).
XVI) (R=¥).
Последовательности чисел
1. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, сколько раз в последовательности меняется знак при переходе к следующему элементу.
2. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, является ли эта последовательность возрастающей.
3. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, номер числа, по абсолютной величине самого близкого к своему номеру.
4. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, каких чисел в последовательности больше: положительных или отрицательных.
5. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, упорядочены ли положительные элементы по возрастанию.
6. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, равны ли все отрицательные.
7. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, имеют ли первое и последнее числа последовательности один знак.
8. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, заканчивается ли последовательность не менее чем двумя числами одного знака.
9. Вводится последовательность целых чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, являются ли вводимые числа числами Фибоначчи.
10. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, расположены ли все положительные числа после отрицательных.
11. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Найти разность между суммой четных и нечетных значений.
12. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Найти разность между суммой элементов, стоящих на четных и нечетных местах.
13. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Вывести числа последовательности, добавив к каждому, кроме первого, значение предыдущего.
14. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, образует ли эта последовательность ряд Фибоначчи.
15. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, сумму и количество тех из них, которые принадлежат отрезку [a,b]. a и b вводятся.
16. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Найти количество и сумму положительных и отрицательных.
17. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Найти количество и сумму элементов, равных первому отрицательному1| больших, чем первый отрицательный2| меньших, чем первый отрицательный3.
18. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Вывести числа последовательности, добавив к каждому, кроме последнего, значение следующего.
19. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Найти сумму тех из них, которые находятся, начиная с позиции i, и заканчивая позицией j. i и j вводятся. Если элементов с указанными номерами нет, сообщить об этом.
20. Вводится последовательность целых чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, сколько раз встречаются два равных рядом.
21. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Вывести для каждого количество стоящих перед ним положительных.
22. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, образуют ли эта последовательность арифметическую прогрессию.
23. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, образуют ли эта последовательность геометрическую прогрессию.
24. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, сколько в ней интервалов возрастания.
25. Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из одного ненулевого элемента. Определить, сколько из них имеют равных «соседей» слева и справа.
Строки
1. Дана строка. Напечатать входящие в нее слова, но в обратном порядке (сначала последнее, потом предпоследнее и т.д.).
2. Дана строка. Напечатать те слова этой строки, которые отличны от последнего слова и выполняется условие: в слове гласные буквы а, е, и, о, у чередуются с согласными.
3. Вводится строка. Если она является записью римского числа, то преобразовать ее в целое число.
4. Вводится 10 произвольных имен. Необходимо распечатать их в алфавитном порядке.
Замечание
Попытайтесь решить задачу, не сортируя сами имена. Поскольку требуется просто распечатать их в алфавитном порядке, заведите массив, содержащий порядковые номера имен. При необходимости перестановки, переставляйте не сами имена, а их порядковые номера. Такой подход особенно удобен, когда приходится сортировать сложные и "громоздкие" объекты.