VII. Различные задачи.

7.1.  Три группы студентов после сдачи экзаменов имели средний балл:
1-я группа - 4.33
2-я группа - 4.25
3-я группа - 3.98
Определить средний балл экзаменов, если первая группа состояла из
m человек, вторая из n, третья - из k человек.

7.2.  Шестизначный номер билета называется  "счастливым", если сумма первых трех его цифр равна сумме трех последних. Найти их количество.( Номер первого билета 000000, последнего 999999).

7.3.  Идет К-ая секунда суток. Определите, сколько полных часов (Н) и полных минут (М) прошло к этому моменту. Например, Н=3 и М=40, если К=13257=3*3600+40*60+57)

7.4.  Поменять местами значения целых переменных X и Y, не используя дополнительные переменные.

7.5.  Пусть К - целое число от 1 до 365. Напишите программу, позволяющую распечатать на какой день недели - Понедельник, Вторник, Среду, Четверг, Пятницу, Субботу, Воскресенье - приходится К-тый день високосного года, в котором 1 января - понедельник.

7.6.  Дано целое положительное четырехзначное число. Напишите программу, позволяющую определить сумму двух первых цифр заданного четырехзначного числа. Например: 1234  - 3.

7.7.  Дано целое положительно число, соответствующее номеру года. Напишите программу, позволяющую определить,   является ли введенный год високосным. Год является високосным, если его номер кратен 4, но из лет, кратных 100, високосными считаются кратные 400. (Например, 1700, 1800 и 1900 - невисокосные годы, а 2000 - високосный).

7.8.  Вычислить высоту дерева, если известно расстояние до него и угол, под которым его видно. Информацию о высоте дерева распечатайте в следующем виде, например, 2 м 32 см.

7.9.  Переменной S присвоить сумму цифр трехзначного числа К, вводимого с клавиатуры.

7.10.        Присвоить целой переменной H третью от конца цифру в записи положительного целого числа K (например, если K=13198, то H=1).

7.11.        Дано целое положительное трехзначное число. Напишите программу, позволяющую определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа. Например: 123 - 321.

7.12.        Дано действительное положительное число х, меньше 5. Напишите программу, позволяющую округлить это число до ближайшего целого числа:
                   0, если х < 0.5
                   1, если 0.5 < x < 1.5
                   2, если 1.5 < x < 2.5
N =             3, если 2.5 < x < 3.5
                   4, если 3.5 < x < 4.5
                   5, если 4.5 < x

 

7.13.    Дано целое положительное четырехзначное число. Напишите программу, позволяющую определить сумму двух первых цифр и двух последних цифр заданного числа.

7.14.        Даны действительные положительные числа a, b, c, которые задают длины сторон треугольника и угол между ними. Напишите программу, позволяющую найти длину третьей стороны треугольника и два остальных угла.

7.15.        Задан целочисленный  массив Х, содержащий нулевые элементы. Напишите программу,  которая позволяет переписать элементы массива Х в массив Y, исключив при этом нулевые элементы.

7.16.        Определите элементы одномерного вещественного массива Х, используя функцию random. Напишите программу для вычисления величины Y: Y = Х1 * Х2 * Х3 *...* Хn

7.17.        Определите элементы одномерного вещественного массива Х. Напишите программу, позволяющую найти минимальное значение среди элементов массива, имеющих нечетные индексы. min (Х1, Х3, Х5, ...)

7.18.        Определите элементы одномерного вещественного массива Х. Напишите программу для вычисления значения величины Y: Y = Х1 * Хn + Х2 * Хn-1 + ...Хn * Х1

7.19.        Определите элементы одномерного вещественного массива Х. Напишите программу, позволяющую найти максимальное значение среди элементов массива, имеющих четные индексы. max (Х2, Х4, Х6, ...)

7.20.        Определите элементы одномерного вещественного массива Х. Напишите программу, позволяющую создать новый массив по следующему принципу:
Х1, Х1+Х2, ..., Х1+Х2+Х3+...+Хn

7.21.        Пусть a[1], ..., a[n] - целые числа. Требуется построить массив b[1], ..., b[n], содержащий те же числа, для которых b[1] <= ... <= b[n].Замечание. Среди чисел a[1]...a[n] могут быть равные. Требуется, чтобы каждое целое число входило в b[1]...b[n] столько же раз, сколько и в a[1]...a[n].

7.22.        Написать рекурсивную процедуру вычисления факториала целого положительного числа n (т.е. произведения чисел 1..n, обозначаемого n!).

7.23.         Используя лишь команды write(x) при x=0..9, написать рекурсивную программу печати десятичной записи целого положительного числа n

7.24.        Написать программу, которая печатает по одному разу все последовательности длины n, составленные из чисел 1..k (их количество равно k в степени n).

7.25.        Написать программу, которая печатала бы все перестановки чисел 1..n по одному разу.

7.26.        Имеется последовательность символов x[1]..x[n]. Определить, имеются ли в ней идущие друг за другом символы "abcd". (Другими словами, требуется выяснить, есть ли в слове x[1]..x[n] подслово "abcd".)

7.27.        Даны два натуральных числа a и b, не равные нулю одновременно. Вычислить НОД (a,b) - наибольший общий делитель а и b.

7.28.        Составить программу, печатающую разложение на простые множители заданного натурального числа n > 0 (другими словами, требуется печатать только простые числа и произведение напечатанных чисел должно быть равно n; если n = 1, печатать ничего не надо).

7.29.        Разрешим использовать команды write (i) лишь при i = 0,1,2,...,9. Составить программу, печатающую десятичную запись заданного натурального числа n > 0. (Случай n = 0 явился бы некоторым исключением, так как обычно нули в начале числа не печатаются, а для n = 0 - печатаются.)

7.30.        Дан массив x: array [1..n] of integer. Найти количество различных чисел среди элементов этого массива. Оформить решение в виде функции. (Число действий должно быть порядка n*n.)

7.31.        Коэффициенты многочлена хранятся в массиве a: array [0..n] of integer (n - натуральное число, степень многочлена). Вычислить значение этого многочлена в точке x (т. е. a[n]*xn+ ...+a[1]*x+a[0]).

7.32.        Даны два возрастающих массива x: array [1..k] of integer и y: array [1..l] of integer. Найти количество общих элементов в этих массивах (т. е. количество тех целых t, для которых t = x[i] = y[j] для некоторых i и j). (Число действий порядка k+l.)

7.33.        Даны два неубывающих массива x: array [1..k] of integer и y: array [1..l] of integer. Найти число различных элементов среди x[1],...,x[k], y[1],...,y[l]. (Число действий порядка k+l.)

7.34.        Даны два массива x[1] <= ... <= x[k] и y[1] <= ... <= y[l]. "Соединить" их в массив z[1] <= ... <= z[m] (m = k+l; каждый элемент должен входить в массив z столько раз, сколько раз он входит в общей сложности в массивы x и y). Число действий порядка m.

7.35.        Некоторое число содержится в каждом из трех целочисленных неубывающих массивов x[1] <= ... <= x[p],  y[1]  <=  ... <= y[q], z[1] <= ... <= z[r]. Найти одно из таких чисел. Число действий должно быть порядка p + q + r.

7.36.        Элементами массива a[1..n] являются неубывающие массивы [1..m] целых чисел (a: array [1..n] of array [1..m] of integer; a[1][1] <= ... <= a[1][m], ..., a[n][1] <= ... <= a[n][m]). Известно, что существует число, входящее во все массивы a[i] (существует такое х, что для всякого i из [1..n] найдётся j из [1..m], для которого a[i][j]=x). Найти одно из таких чисел х.

7.37.        Подсчитать количество нулей в массиве x.

 

<<Содержание:                                                                Решения>>
 

 
Сайт создан в системе uCoz