Подготовка к олимпиаде по программированию

advertisement
1
ЗАДАЧНИК
№1 Дан прямоугольный треугольник: с клавиатуры вводится длина одного из катетов A
и величина прилежащего к нему угла (в градусах) BU. Составить программу
вычисления периметра треугольника.
№2 С клавиатуры вводятся координаты точки на плоскости (X и Y). Указать, в какой из
четвертей находится точка.
№3 С клавиатуры вводится положительное двузначное число N. Определить, кратно ли
оно 12. Предусмотреть проверку вводимых значений.
№4 Компьютер должен "запросить" два числа (M и N), которые вводятся с клавиатуры.
Произвести над этими числами одно из арифметических действий (сложение,
вычитание, умножение, деление) - по выбору пользователя. Вывести результат на экран
с пояснительным текстом.
№5 В простую переменную с клавиатуры последовательно ввести N чисел и
посчитать их сумму.
№6 Имеется экзаменационная ведомость по 4 группам студентов. В каждой по 25
человек. Вывести средний балл для каждой группы и подсчитать общий средний балл.
№7 В простую переменную с клавиатуры последовательно вводятся положительные
числа. Условие окончания ввода - ввод символа 0. Вычислить произведение этих чисел.
№8 В переменную последовательно вводятся числа. Окончание ввода - по желанию
пользователя либо когда сумма отрицательных чисел достигнет -1000. Определить
среднее арифметическое отрицательных чисел.
№9 В простую переменную последовательно вводятся N вещественных чисел.
Вычислить максимальное значение.
№10 В простую переменную последовательно вводятся 10 чисел. Определить
максимальное значение и количество чисел, равных максимуму.
№11 В простую переменную последовательно вводятся N положительных чисел.
Определить: 1. Минимальное значение и порядковый номер последнего числа, равного
этому значению. 2. Максимальное значение и порядковый номер первого числа, равного
этому значению.
№12 В простую переменную последовательно вводятся N чисел. Сколько чисел
больших своих соседей слева?
№13 В простую переменную последовательно вводятся числа. Окончание ввода - 0.
Определить, сколько чисел больше своих соседей слева и справа.
№14 В простую переменную последовательно вводятся N чисел. Все ли числа меньше
заданного числа K?
№15 В простую переменную последовательно вводится N чисел, отличных от нуля.
Положительные или отрицательные числа завершают последовательность и сколько их?
№16 Вводится положительное целое число A < 10000.Определить сумму его цифр S
и разность A-S.
№17Вводится положительное целое число B < 10000. Является ли оно палиндромом?
Массивы не использовать.
2
№18Диапазон положительных чисел задан нижней и верхней границами. Распечатать
все простые числа, лежащие в указанном диапазоне.
№19Для произвольного значения аргумента "x" (по модулю больше 1) вычислить сумму:
S = 1 + 1/x + 1/x^2 + 1/x^3 + ... + 1/x^k.
№20Для произвольного значения аргумента "x" (по модулю больше 1) вычислить сумму:
S = 1 + 1/x + 1/x^2 + 1/x^3 + ... . Вычисления продолжать до тех пор, пока очередное
слагаемое больше заданного значения Z. Вывести на экран число слагаемых K.
№21Вычислить сумму членов ряда. Суммировать до тех пор, пока разность между
текущей и предыдущей суммами больше 0.001. Вывести сумму, последнее слагаемое,
вошедшее в сумму, и его номер. Ряд имеет следующий вид:
(1^2*5)/(2*4) + (2^2*6)/(2*4*6) + (3^2*7)/(2*4*6*8) + ...
№22Составить программу вычисления приближенного значения суммы элементов ряда
S = 1 - x/1! + x^3/3! - x^5/5! + ... для произвольного значения аргумента "x" (по модулю
меньше 1). Суммирование продолжать до тех пор, пока разность между очередным и
предыдущим слагаемым не станет меньше заданной величины Z (точности вычислений).
№23Дан одномерный массив из N элементов. Посчитать среднее арифметическое
элементов, кратных трем.
№24Определить в двумерном массиве максимальный элемент и его координаты,
считая, что он единственный.
№25Проверить, есть ли в целочисленном трехмерном массиве элемент с заданным
значением.
№26Проверить, все ли элементы одномерного массива разные.
№27Составить перечень значений элементов одномерного целочисленного массива.
№28Ввести двумерный массив M x N. Определить сумму элементов каждой строки.
№29Ввести двумерный массив M x N. Определить максимальные значения для каждого
столбца.
№30Ввести двумерный массив M x N. Определить произведение элементов K-й строки
(K вводится с клавиатуры), значение которых лежит в диапазоне от 1 до 9.
№31Ввести двумерный массив N x N. Определить минимальное значение для элементов,
лежащих на главной диагонали, и максимальные значения для элементов, лежащих на
побочной диагонали.
№32Ввести двумерный массив N x N. Определить произведение элементов, лежащих
выше побочной диагонали.
№33Ввести двумерный массив N x N. Определить среднее арифметическое элементов,
лежащих ниже главной диагонали.
№34Ввести числовую квадратную матрицу N x N элементов. Найти суммы элементов на
периметрах всех вложенных квадратных подматриц, центр которых совпадает с центром
исходной матрицы.
№35Поменять местами элементы двух строк в двумерном массиве из M x N элементов.
Номера строк вводятся с клавиатуры.
3
№36Ввести массив из M x N элементов. Сформировать три новых массива, повернув
исходный на 180 градусов.
№37Ввести массив из M x N элементов. Сформировать три новых массива, повернув
исходный на 90 градусов по часовой стрелке.
№38Ввести массив из M x N элементов. Сформировать три новых массива, повернув
исходный на 90 градусов против часовой стрелки.
№39Ввести массив из M x N элементов. Повернуть его относительно горизонтальной
оси. Дополнительных массивов не создавать.
№40Ввести массив из M x N элементов. Повернуть его относительно вертикальной оси.
Дополнительных массивов не создавать.
№41Ввести квадратную матрицу из N x N элементов. Повернуть матрицу относительно
главной диагонали. Дополнительных массивов не создавать.
№42Ввести квадратную матрицу из N x N элементов. Повернуть матрицу относительно
побочной диагонали. Дополнительных массивов не создавать.
№43Ввести числовой массив (M строк, N столбцов). Преобразовать его в одномерный
массив из M x N элементов.
№44Ввести одномерный числовой массив R из N элементов. Отсортировать его по
возрастанию с использованием метода прямого выбора.
№45Ввести одномерный числовой массив R из N элементов. Отсортировать его по
возрастанию с использованием метода прямого обмена.
№46Ввести одномерный числовой массив R из N элементов. Отсортировать его по
возрастанию с использованием пузырьковой сортировки.
№47Ввести два одномерных числовых массива из M и N элементов, упорядоченных по
возрастанию. Сформировать из элементов обоих массивов упорядоченный по
возрастанию третий массив из (M + N) элементов, не используя сортировку последнего.
№48Ввести числовой одномерный массив из M x N элементов. Преобразовать его в
двумерный массив (M строк, N столбцов).
№49Ввести одномерный массив из N% элементов. Удалите из него числа, кратные трем.
Дополнительный массив не создавать.
№50Дан одномерный массив, упорядоченный по возрастанию. С клавиатуры
вводится число. Вставить это число в массив, не нарушая упорядоченности.
Последний элемент вытеснить.
№51Ввести одномерный массив из N элементов. Изменить порядок следования значений
элементов на обратный от позиции BEG до позиции FIN.
№52Ввести одномерный массив из N элементов. Произвести кольцевой сдвиг его
элементов на K позиций. K вводят с клавиатуры, оно может быть как положительным,
так и отрицательным.
№53Ввести одномерный массив из N случайных целых чисел в диапазоне от -5 до +5.
Вычислить среднее арифметическое квадратов отрицательных чисел; положительные
элементы уменьшить вдвое, отрицательные заменить значениями их индексов. Вывести
результирующий массив.
4
№54В одномерном массиве из N произвольных чисел поменять местами элементы,
стоящие равноудаленно от элемента с заданным индексом K. Вывести на экран
исходный и результирующий массив.
№55В двумерном массиве случайных чисел (M строк, N столбцов) определить номера
столбцов, среднее арифметическое элементов которых меньше среднего
арифметического элементов во всем массиве.
№56В двумерном массиве случайных чисел (M строк, N столбцов) переставить строки
так, чтобы суммы их элементов возрастали.
№57В одномерном массиве из N произвольных чисел изменить порядок следования
элементов на обратный на участках слева и справа от элемента с заданным индексом K.
Вывести на экран исходных и результирующий массивы.
№58Сформировать матрицу 7 x 7 элементов, заполненную согласно схеме. Вывести ее
на экран, развернув на 90 градусов против часовой стрелки.
1 8 15 22 29 36 43
2 9 16 23 30 37 44
3 10 17 24 31 38 45
4 11 18 25 32 39 46
5 12 19 26 33 40 47
6 13 20 27 34 41 48
7 14 21 28 35 42 49
№59В одномерный массив размера N (N задано: не менее 8 и не более 20) ввести
натуральные числа. Создать новый массив, в который поместить только те элементы
исходного массива, которые имеют с предыдущим элементом общий делитель,
отличный от 1. Распечатать результирующий массив; если искомых элементов нет,
вывести соответствующее сообщение.
№60 Представить результат, который программа выводит на экран.
10 N = 4: DIM A (N, N)
20 FOR i = 1 TO N
30 FOR j = 1 TO N
40 IF i + j > N + 1 THEN A(i, j) = N + j ELSE A(i, j) = N - 1
50 NEXT j, i
60 FOR i = 1 TO N \ 2
70 FOR j = 1 TO N
80 SWAP A(i, j), A(N - i + 1, j)
90 NEXT j
100 PRINT A(i, N - i + 1)
110 NEXT i
120 FOR i = 1 TO N
130 PRINT
140 FOR j = 1 TO N - i
150 SWAP A(i, j), A(N - j + 1, N - i + 1)
160 PRINT A (j, i);
170 NEXT j, i
180 END
5
№76Среди N учащихся старших классовпровели опрос (N задано): каждый выбрал из
предложенного списка три разных университета страны, представляющих для него
интерес (список пронумерован и содержит 8 университетов). Определить количество
учащихся, чьи предпочтения совпали ( с учетом последовательности перечисления) и
номера выбранных ими университетов.
№77Каждая из N ферм представила заказ на приобретение M машин (все машины в
перечне разные). Составить общий перечень необходимых машин с указанием
потребности в них, упорядочить список по убыванию потребности.
№78В ряде городов провели опрос некоторого процента жителей на предмет доверия,
недоверия или безразличия к правительству. Всего опросили N человек. Результаты
опроса по городам не упорядочены. Напечатать список городов, где, соглачно опросу,
большая часть населения поддерживает правительство. При выводеуказать также
количество опрошенных из данного города и процент тех, кто доверяет
правительству.
№79Клуб собаководства на ежегодной выставке проводит опрос общественного
мнения. Каждому из N посетителей предлагается назвать три породы из
прошлогоднего списка ( в списке M пород расположены в порядке убывания
популярности). Сформировать новый список в порядке убывания популярности
породы, указав место каждой породы в прошлогоднем списке. Предусмотреть
проверку: каждый из опрошенных должен назвать триразные породы и только из
предложенного списка.
№80Треугольник задан двумя сторонами и углом между ними ( в градусах).
Определить длину третьей стороны треугольника и его медианы.
№81Известны ребра прямоугольного параллелепипеда. Вычислить длину диагонали,
объем и полную поверхность параллелепипеда.
№82Определить, принадлежит ли точка с координатами X, Y ромбу с вершинами в
точках (0, 1), (1, 0), (0, -1), (-1, 0).
№83С клавиатуры вводятся координаты точки на плоскости (X и Y). Принадлежит ли
точка фигуре, ограниченной линиями: а) Y = |X| и Y = X/3 + 2; б) X = 2 * Y, X + Y = 4
и Y = 3 * X; в) X + Y = 5 и Y = X^2?
№84Определить наибольшее из трех чисел.
№85Найти два меньших числа из трех.
№86Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдет ли
кирпич с ребрами a, b и c в прямоугольное отверстие со сторонами x и y.
№87Определить, високосный или нет год, номер которого вводится с клавиатуры.
Примечание: високосный год делится без остатка на 4, но не заканчивается на два
нуля, либо делится без остатка на 400.
№88Даны 3 прямоугольника. Прямоугольники ограничены следующими прямыми: 1й x = 0; x = 3; y = 0; y = 3; 2-й x = 1; x = 4; y = 1; y = 4; 3-й x = 2; x = 5; y = 2; y = 5. С
клавиатуры вводятся координаты некоторой точки: xt и yt. Вывести сообщение о том,
принадлежит или не принадлежит точка: а) одновременно всем трем квадратам; б) ни
одному из трех квадратов; в) одновременно первому и второму квадратам, не
принадлежа при этом третьему; г) либо второму, либо третьему квадрату.
6
№89С клавиатуры вводится натуральное трехзначное число N. Определить, кратно ли
оно 19. Предусмотреть проверку вводимых значений.
№90Юрист принимает по понедельникам и четвергам с 9 до 14, по вторникам с 14 до
19, по пятницам с 15 до 20 часов. В прочие дни приема нет. Организовать вывод
названия дня недели и приемных часов при вводе номера дня недели.
№91В простую переменную с клавиатуры последовательно ввести N чисел и
посчитать их произведение.
№92Вычислить факториал введенного с клавиатуры целого числа M.
№93Распечатать квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0,2.
№94Распечатать произведение чисел A и B, изменяющихся от 11 и -25 с шагом -3 и 5
соответственно до тех пор, пока это произведение - отрицательное число.
№95Известен поквартальный выпуск продукции для 5 цехов. Вывести среднее
арифметическое значение выпуска по каждому цеху и определить суммарный выпуск
по всем цехам.
№96В простую переменную последовательно вводят и суммируют
положительные числа. Ввод заканчивается, когда сумма превысит 120. Вывести
сумму.
№97В переменную последовательно вводят числа, отличные от нуля. Окончание
ввода - ноль. Определить среднее арифметическое отрицательных чисел.
Download