Главная страница

Экзамен по технологиям и методам программирования


Скачать 110.13 Kb.
НазваниеЭкзамен по технологиям и методам программирования
Дата15.09.2020
Размер110.13 Kb.
Формат файлаdocx
Имя файлаexams.docx
ТипДокументы
#138114

Подборка по базе: Тексты Exams OM 2 проф.ин.яз. 2019 год.docx

Экзамен по технологиям и методам программирования
Теоретическая часть

1. История и тенденции развития языков программирования

2. Области применения языка программирования Python

3. Переменные в Python. Наименование. Модель памяти Python при работе с переменными

4. Функции в Python. Создание функций

5. Создание программ на языке Python в отдельном файле. Отличие от интерактивного режима

6. Строки и операции над строками в языке Python

7. Операторы отношений в Python. Логические операции над объектами

8. Условная инструкция if

9. Модули в Python

10. Создание собственных модулей в Python

11. Строковые методы в Python. Отличие функций от методов

12. Списки в Python. Создание списка

13. Операции над списками в Python

14. Пседонимы и копирование списков в Python

15. Методы списка в Python

16. Преобразование типов в Python (списки, строки)

17. Вложенные списки в Python

18. Циклы в Python

19. Цикл for для списков и строк в Python

20. Функция range() и цикл for в Python

21. Способы генерации списка в Python

22. Цикл while в Python

23. Вложенные циклы в Python (на примере вложенных списков)

24. Множества и операции над ними в Python

25. Кортежи и операции над ними в Python

26. Словари и операции над ними в Python

27. Обработка исключений в Python

28. Работа с файлами в Python. Менеджер контекста

29. Объектно-ориентированное программирование в Python. Классы, объекты

30. Иерархия наследования в Python (класс object)

31. Полиморфизм в Python

32. Структура оконного приложения на примере модуля tkinter (обработка событий)

33. Научные вычисление в Python.

34. Работа с xml-файлами в Python.

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

Пример работы программы:

Введите первое число: 1

Введите второе число: 4

Введите третье число: 7

Сумма введенных чисел: 12

Произведение введенных чисел: 28
2. Напишите программу, которая запрашивает у пользователя значение pH (с плавающей точкой) и выводит на экран вещество, соответствующее введенному pH (“Яблочный сок”, “Шампунь”, “Мыло для рук”). Определение pH производится в отдельной функции, которая возвращает строку с названием вещества или фразу “Не найдено”.
3. Напишите собственную программу, определяющую максимальное из двух введенных чисел. Реализовать в виде вызова собственной функции, возвращающей большее из двух переданных ей чисел.
4.Напишите программу, проверяющую целое число на четность. Реализовать в виде вызова собственной функции.
5. Напишите программу, вычисляющую значение функции (на вход подается вещественное число):


6. Напишите программу, которая по коду города и длительности переговоров вычисляет их стоимость и результат выводит на экран: Екатеринбург-код 343, 15 руб/мин; Омск-код 381, 18 руб/мин; Воронеж-код 473, 13 руб/мин; Ярославль-код 485, 11руб/мин.
7. Найдите площадь треугольника с помощью формулы Герона. Стороны задаются с клавиатуры. Реализовать вычисление площади в виде функции, на вход которой подаются три числа, на выходе – площадь. Функция находится в отдельном модуле, где происходит разделение между запуском и импортированием. Описание математических функций можно найти в документации


8. Вывести число Пи с точностью до сотых.
9. Создайте в отдельном модуле функцию для вычисления выражения:



10. Напишите программу-игру в виде отдельного модуля. Компьютер загадывает случайное число, пользователь пытается его угадать. Программа запрашивает число ОДИН раз. Если число угадано, то выводим на экран «Победа», иначе – «Повторите еще раз». Для написания программы понадобится функция randint() из модуля random.
11. Найдите значения выражений:



12. Напишите программу, вычисляющую значение функции (на вход подается вещественное число)



13. Напишите программу для моделирования бросания игрального кубика каждым из двух игроков. Определить, кто из игроков получил на кубике больше очков.

14. s = "У лукоморья 123 дуб зеленый 456"

1. Определить, встречается ли в строке буква 'я'. Вывести на экран ее позицию (индекс) в строке.

2. Определить, сколько раз в строке встречается буква 'у'.

3. Определить, состоит ли строка только из букв, ЕСЛИ нет, ТО вывести строку в верхнем регистре.

4. Определить длину строки. ЕСЛИ длина строки превышает 4 символа, ТО вывести строку в нижнем регистре.

5. Заменить в строке первый символ на 'О'. Результат вывести на экран.
15. Написать в отдельном модуле функцию, которая на вход принимает два аргумента: строку (s) и целочисленное значение (n).

ЕСЛИ длина строки s превышает n символов, ТО функция возвращает строку s в верхнем регистре, ИНАЧЕ возвращается исходная строка s.
16. L = [3, 6, 7, 4, -5, 4, 3, -1]

1. Определите сумму элементов списка L. ЕСЛИ сумма превышает значение 2, ТО вывести на экран число элементов списка.

2. Определить разность между минимальным и максимальным элементами списка. ЕСЛИ абсолютное значение разности больше 10, ТО вывести на экран отсортированный по возрастанию список, ИНАЧЕ вывести на экран фразу «Разность меньше 10».
17. L = [3, 'hello', 7, 4, 'привет', 4, 3, -1]

Определите наличие строки «привет» в списке. ЕСЛИ такая строка в списке присутствует, ТО вывести ее на экран, повторив 10 раз.
18. L = [3, 'hello', 7, 4, 'привет', 4, 3, -1]

Определите наличие строки «привет» в списке. ЕСЛИ такая строка в списке присутствует, ТО удалить ее из списка, ИНАЧЕ добавить строку в список.

Подсчитать, сколько раз в списке встречается число 4, ЕСЛИ больше одного раза, ТО очистить список.
19. Напишите программу, которая запрашивает у пользователя две строки и формирует из этих строк список. Если строки состоят только из чисел, то программа добавляет в середину списка сумму введенных чисел, иначе добавляется строка, образованная из слияния двух введенных ранее строк. Итоговая строка выводится на экран.


20. Задан список слов. Необходимо выбрать из него случайное слово. Из выбранного случайного слова случайно выбрать букву и попросить пользователя ее угадать.

Задан список слов: ['самовар', 'весна', 'лето']

Выбираем случайное слово: 'весна'

Выбираем случайную букву: 'с'

Выводим на экран: ве?на

Пользователь пытается угадать букву.

Подсказка: используйте метод choice() модуля random.
21. Напишите программу, которая запрашивает у пользователя две строки и формирует из этих строк список. Если строки состоят только из чисел, то программа добавляет в середину списка сумму введенных чисел, иначе добавляется строка, образованная из слияния двух введенных ранее строк. Итоговая строка выводится на экран.
22. Найдите все значения функции y (x) = x2 + 3 на интервале от 10 до 30 с шагом 2.
23. L = [-8, 8, 6.0, 5, 'строка', -3.1]

Определить сумму чисел, входящих в список L. Подсказка: для определения типа объекта можно воспользоваться сравнением вида type(-8) == int.
24. Дан список числовых значений, насчитывающий N элементов. Поменяйте местами первую и вторую половины списка.
25. Напишите программу-игру. Компьютер загадывает случайное число, пользователь пытается его угадать. Пользователь вводит число до тех пор, пока не угадает или не введет слово «Выход». Компьютер сравнивает число с введенным и сообщает пользователю больше оно или меньше загаданного.
26. Дано число, введенное с клавиатуры. Определите сумму квадратов нечетных цифр в числе.
27. Найдите сумму чисел, вводимых с клавиатуры. Количество вводимых чисел заранее неизвестно. Окончание ввода, например, слово «Стоп».
28. Задана строка из стихотворения: «Мой дядя самых честных правил, Когда не в шутку занемог, Он уважать себя заставил И лучше выдумать не мог»

Удалите из строки все слова, начинающиеся на букву «м». Результат вывести на экран в виде строки.

Подсказка: вспомните про модификацию списков.
29. Дан произвольный текст. Найдите номер первого самого длинного слова в нем.
30. Дан произвольный текст. Напечатайте все имеющиеся в нем цифры, определите их количество, сумму и найти максимальное.
31. Создайте матрицу (список из вложенных списков) размера N x M (фиксируются в программе), заполненную случайными целыми числами.
32. Создайте матрицу (список из вложенных списков) размера N x N (фиксируются в программе), заполненную случайными целыми числами.
33. Дана матрица (см. вопрос 31). Вывести номер строки, содержащей максимальное число одинаковых элементов.
34. Дана целочисленная квадратная матрица (см. вопрос 33). Найти произведение элементов матрицы, лежащих ниже главной диагонали.
35. Дана целочисленная квадратная матрица (см. вопрос 33). Найти сумму элементов матрицы, лежащих выше главной диагонали.

36. Написать функцию arithmetic, принимающую 3 аргумента: первые 2 - числа, третий - операция, которая должна быть произведена над ними. Если третий аргумент +, сложить их; если —, то вычесть; * — умножить; / — разделить (первое на второе). В остальных случаях вернуть строку "Неизвестная операция".
37. Написать функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую True, если год високосный, и False иначе.
38. Написать функцию square, принимающую 1 аргумент — сторону квадрата, и возвращающую 3 значения (с помощью кортежа): периметр квадрата, площадь квадрата и диагональ квадрата.
39. Написать функцию season, принимающую 1 аргумент — номер месяца (от 1 до 12), и возвращающую время года, которому этот месяц принадлежит (зима, весна, лето или осень).
40. Пользователь делает вклад в размере a рублей сроком на years лет под 10% годовых (каждый год размер его вклада увеличивается на 10%. Эти деньги прибавляются к сумме вклада, и на них в следующем году тоже будут проценты).
41. Написать функцию bank, принимающая аргументы a и years, и возвращающую сумму, которая будет на счету пользователя.
42. Написать функцию is_prime, принимающую 1 аргумент — число от 0 до 1000, и возвращающую True, если оно простое, и False - иначе.
43. Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть True, если такая дата есть в нашем календаре, и False иначе.
44. Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.
45. Напишите функцию, которая возвращает разность между наибольшим и наименьшим значениями из списка целых случайных чисел.
46. Напишите программу, которая для целочисленного списка из 1000 случайных элементов определяет, сколько отрицательных элементов располагается между его максимальным и минимальным элементами.
47. Найти элемент, наиболее близкий к среднему значению всех элементов списка.
48. Дан список, состоящий из чисел. Найти сумму простых чисел в списке.
49. Дан список целых чисел. Определить, есть ли в нем хотя бы одна пара соседних нечетных чисел. В случае положительного ответа определить номера элементов первой из таких пар.
50. Дан список целых чисел. Определить количество четных элементов и количество элементов, оканчивающихся на цифру 5.
51. Задан список из целых чисел. Определить процентное содержание элементов, превышающих среднеарифметическое всех элементов списка.


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

Выполните обработку возможных исключений.
55. Напишите программу, которая будет генерировать матрицу из случайных целых чисел. Пользователь может указать число строк и столбцов, а также диапазон целых чисел. Произведите обработку ошибок ввода пользователя.
56. Найдите в файле short.txt строки, содержащие почтовые адреса. Запишите найденные строки в файл с именем mail.txt.
57. Реализуйте функцию myGrep(), которая принимает два входных аргумента – имя файла и строку, а выводит на экран все строки указанного файла, содержащие заданную строку в качестве подстроки:

>>> myGrep('example.txt', 'line')

The 3 lines in this file end with the new line character.

There is a blank line above this line.
58. Реализуйте функцию links(), которая принимает на вход имя HTML-файла и возвращает количество гиперссылок в этом файле (тег ):

>>> links('twolinks.html')

2
59. Создайте класс Cat. Определите атрибуты name (имя), color (цвет) и weight (вес). Добавьте метод под названием meow («мяуканье»). Создайте объект класса Сat, установите атрибуты, вызовите метод meow.
60. 1. Напишите код, описывающий класс Animal:

 добавьте атрибут имени животного

 добавьте метод eat(), выводящий «Ням-ням»

 добавьте методы getName() и setName()

 добавьте метод makeNoise(), выводящий «Имя животного говорит Гррр»

 добавьте конструктор классу Animal, выводящий «Родилось животное имя животного»
2. Основная программа:

 создайте животное, в момент создания определите его имя

 узнайте имя животного через вызов метода getName()

 измените имя животного через вызов метода setName()

 вызовите eat() и makeNoise() для животного
61. Создайте класс StringVar для работы со строковым типом данных, содержащий методы set() и get(). Метод set() служит для изменения содержимого строки, get() – для получения содержимого строки. Создайте объект типа StringVar и протестируйте его методы.
62. Создайте класс точка Point, позволяющий работать с координатами (x, y). Добавьте необходимые методы класса.

63. 1. Напишите код, описывающий класс Animal:

a) Добавьте атрибут имени животного.

b) Добавьте метод eat(), выводящий «Ням-ням».

c) Добавьте методы getName() и setName().

d) Добавьте метод makeNoise(), выводящий «Имя животного говорит Гррр».

e) Добавьте конструктор класса Animal, выводящий «Родилось животное».
2. Пусть Animal будет родительским для класса Cat. Метод makeNoise() класса Cat выводит «Имя животного говорит Мяу». Конструктор класса Cat выводит «Родился кот», а также вызывает родительский конструктор.

3. Пусть Animal будет родительским для класса Dog. Метод makeNoise() для Dog выводит «Имя животного говорит Гав». Конструктор Dog выводит «Родилась собака», а также вызывает родительский конструктор.

4. Основная программа. Код, создающий кота, двух собак и одно простое животное. Дайте имя каждому животному (через вызов методов). Код, вызывающий eat() и makeNoise() для каждого животного.
63. Напишите программу, которая отображает случайное слово на русском языке (тип данных dict). Пользователь пытается угадать его на английском (или другом языке).

Дополнительно ограничить работу программы по числу неправильно угаданных слов.
64. Напишите программу, которая позволяет произвольный текст, введенный с клавиатуры, по нажатию кнопки сохранить в обычный текстовый файл либо в файл HTML-формата (тип файла указывается с помощью выпадающего меню).


написать администратору сайта