8«В» — Самостоятельная работа №2.

Задача 1. «Фамилия, имя, отчество»

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

Пример

Ввод Вывод
  Агафонов   Федор  Иванович  
Ф. И. Агафонов
Крокодил Гена
ERROR

Задача 2. «Переставить в обратном порядке»

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

Вам нужно изменить значения элементов самого списка, поменяв местами A[0] c A[n-1], A[1] с A[n-2] и т.д., а затем вывести элементы списка подряд.

Ввод Вывод
1 2 3 4 5
5 4 3 2 1

Задача 3. «Минимальный делитель числа»

Дано натуральное число n>1. Выведите его наименьший делитель, отличный от 1.

Решение оформите в виде функции MinDivisor(n).

Ввод Вывод
4
2
5
5

Задача 4: «Число сочетаний»

Напишите функцию "факториал"(n) (для неотрицательных n, причём 0! = 1) и функцию "число сочетаний"(n,k) = n!/(k!*(n-k)!) (для неотрицательных n и для k от 0 до n включительно). Функция "число сочетаний" обязательно должна вызывать функцию "факториал".
Пользуясь этими функциями, по данному N посчитайте сумму сочетаний(N,k) для всех k от 0 до N, для всех чётных k от 0 до N и для всех нечётных k от 0 до N. И выведите эти три числа.

Задача 5. «Диаметр множества точек»

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

Задача 6. «Победители олимпиады»

Даны два списка: список участников олимпиады и список набранных ими баллов. Победителем олимпиады считается школьник (или несколько школьников), набравший наибольший балл среди участников.

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

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

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

Примеры

Ввод Вывод
Petrov Ivanov Sidorov
10 5 10
Petrov Sidorov
Cheburashka Gena Shapoklyak Galya
20 2 3 7
Cheburashka

Задача 7. «Адрес IPv4»

Дана строка. Выясните, представляет ли она правильный адрес IPv4.

Правильный IPv4-адрес состоит из 4-х чисел от 0 до 255, разделённых точками.

Примеры правильных адресов:
0.1.2.3
192.168.43.100
255.255.255.0
Примеры неправильных:
1.-5.1.1
55,66,77,88
222.111.17
10.10.15.43.
100.200.300.44