- Вопросы к устному зачёту
- Список вопросов
- Оценка на зачёте
- Однопроходные алгоритмы: задачи
- range1
- range2
- Пример — напечатать все числа
- Положительные числа
- От -10 до 10
- Пример — сумма чисел
- Сумма четных чисел
- Сколько отрицательных чисел.
- Минимум
- Капитан Флинт (целые числа)
- Пример — напечатать строку по 1 символу
- Сколько раз встретилась z
- for_14 — Скобки-1
- for_8 Строка из *
- for_9 Прямоугольник из *
- for_91 Прямоугольник из *
- Двойной минимум
- results matching » «
- No results matching » «
- Вычисление суммы (произведения) конечного ряда
- Решение
Вопросы к устному зачёту
Оценка по информатике ставится в результате устного ответа на дифференцированном зачёте.
Сдача происходит по билетам. В билете содержится два вопроса из основного списка. На подготовку студенту отводится не более 20 минут. Преподаватель слушает ответы на вопросы в билете, а также может задать дополнительные вопросы.
Список вопросов
- Ссылочная модель данных в Python. Изменяемые и неизменяемые типы данных. Проблема копирования.
- Операторы присваивания в Python. Множественное присваивание и варианты обмена переменных значениями.
- Операторы if, elif, else. Цикл while, операторы break, continue, else.
- Цикл for, операторы break, continue, else. Функция range().
- Проверка последовательности чисел на наличие элемента с заданными свойствами и на соответствие всех элементов заданному свойству.
- Однопроходные алгоритмы обработки последовательности: подсчёт, сумма, произведение.
- Поиск максимума и подсчёт количества элементов, равных максимальному.
- Нахождение трёх максимальных элементов в последовательности за один проход.
- Поиск местоположения максимума в последовательности за один проход.
- Проверка простоты числа. Метод грубой силы.
- Разложение числа на множители.
- Решето Эратосфена. Оценка временной сложности алгоритма.
- Алгоритм обращения чисел в массиве. Реализация циклом, без срезов.
- Алгоритм циклического сдвига в массиве. Реализация циклом, без срезов.
- Задача упорядочивания элементов в массиве. Проверка упорядоченности массива за O(N).
- Сортировка вставками. Оценка временной сложности алгоритма.
- Сортировка выбором. Оценка временной сложности алгоритма.
- Сортировка методом пузырька. Оценка временной сложности алгоритма.
- Сортировка подсчётом. Оценка временной сложности алгоритма.
- Поразрядная сортировка. Оценка временной сложности алгоритма.
- Быстрая сортировка Хоара. Временная сложность алгоритма (без док-ва).
- Сортировка слиянием. Оценка временной сложности алгоритма.
- Двоичный поиск в отсортированном массиве (левый и правый). Оценка временной сложности алгоритма. Двоичный поиск по ответу.
- Рекурсия. Прямой и обратный ход рекурсии. Стек вызовов при рекурсии. Вычисление факториала.
- Алгоритм Евклида. Доказательство корректности.
- Вычисление чисел Фибоначчи.
- Ханойские башни.
- Рекурсивная генерация всех чисел длины M.
- Генерация всех перестановок (рекурсивная).
- Динамическое программирование. Решение задач ДП циклами и рекурсией. Рекурсия с мемоизацией (ленивая динамика).
- Задача о количестве траекторий Кузнечика на числовой прямой.
- Задача о траектории наименьшей стоимости для Кузнечика. Восстановление траектории наименьшей стоимости.
- Вычисление расстояния Левенштейна.
- Наибольшая общая подпоследовательность.
- Наибольшая возрастающая подпоследовательность.
- Проверки корректности скобочной последовательности с помощью стека.
- Обратная Польская нотация. Вычисление выражения при помощи стека.
- Преобразование математического выражения в обратную польскую нотацию.
- Наивный поиск подстроки в строке. Реализация без использования стандартных методов str.
- Z-функция строки. Наивное вычисление и его оптимизация. Z-алгоритм. Оценка временной сложности алгоритма.
- Префикс-функция. Алгоритм Кнута-Морриса-Пратта. Оценка временной сложности алгоритма.
Оценка на зачёте
Основанием для рейтинговой оценки служат три оценки:
Преподаватель, экзаменующий студента, видит все эти оценки по отдельности, а также рекомендуемую итоговую оценку, которая вычисляется по этим пяти оценкам автоматически. Если устный ответ соответствует (отличаеться не более чем на два балла) рекомендуемой оценке (показывает уровень практических навыков программирования), преподаватель её выставляет студенту. В противном случае — проверяет навыки программирования студента поставив задачу, подобную любой из контестов.
Успехов в подготовке к зачёту!
Сайт построен с использованием Pelican. За основу оформления взята тема от Smashing Magazine. Исходные тексты программ, приведённые на этом сайте, распространяются под лицензией GPLv3, все остальные материалы сайта распространяются под лицензией CC-BY.
Однопроходные алгоритмы: задачи
TODO: сделать задачи с автоматической проверкой. Указать в заголовках задач короткие названия этих задач.
range1
Скопируйте код. Вместо . вставьте такие аргументы фукнции range, чтобы были напечатаны числа как в комментарии.
# 0 1 2 3 4 5 6 7 8 9 for x in range(10): print(x, end=' ') print() # 1 3 5 7 9 for x in range(. ): print(x, end=' ') print() # 1 6 11 16 for x in range(. ): print(x, end=' ') print() # 9 8 7 6 5 4 3 2 1 0 for x in range(. ): print(x, end=' ') print() # 20 16 12 8 4 for x in range(. ): print(x, end=' ') print()
0 1 2 3 4 5 6 7 8 9 1 3 5 7 9 1 6 11 16 9 8 7 6 5 4 3 2 1 0 20 16 12 8 4
range2
Даны целые числа k и n (по 1 числу на строке). Напечатайте числа от k до n с шагом 4. То есть если k=1, n=20, то напечатать 1 5 9 13 17
Input | Output |
---|---|
1 20 | 1 5 9 13 17 |
1 9 | 1 5 9 |
20 1 | 20 16 12 8 4 |
Пример — напечатать все числа
На строке даны целые числа через пробел. Напечатать все числа по одному числу на строку.
a = map(int, input().split()) # прочитали 1 строку, разбили ее на слова, из слов получили числа, записали их в a for x in a: # для каждого элемента из a print(x) # напечатать этот элемент
a и x — переменные. Им можно дать другие имена.
Input | Output |
---|---|
3 46 -2 18 | 3 46 -2 18 |
Положительные числа
Даны целые числа. Напечатать из них только положительные числа.
Input | Output |
---|---|
3 46 -2 18 | 3 46 -2 18 |
От -10 до 10
Даные целые числа. Напечатать только те числа, что лежат от -10 до 10 (включая).
Input | Output |
---|---|
3 46 -2 18 | 3 -2 |
100 -10 0 10 -99 | -10 0 10 |
Пример — сумма чисел
Даны целые числа. Найти их сумму.
Input | Output |
---|---|
3 46 -2 18 | 65 |
Сумма четных чисел
Даны целые числа. Найти сумму четных чисел.
Input | Output |
---|---|
3 46 -2 5 18 | 62 |
Сколько отрицательных чисел.
Даны целые числа. Сколько их них отрицательных чисел?
Input | Output |
---|---|
-3 46 -2 -18 | 3 |
Минимум
В задачу вставить пример максимума через None и через next.
Даны числа. Найти самое маленькое число.
Input | Output |
---|---|
-3 46 -2 18 | -3 |
Капитан Флинт (целые числа)
Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: «0 5», где первое число – одно из 0 (North, север), 2 (Sout, юг), 1 (East, восток), 3 (West, запад), а второе число – количество шагов, необходимое пройти в этом направлении.
Напишите программу, которая по описанию пути к кладу определяет точные координаты клада, считая, что начало координат находится в начале пути, ось OX направлена на восток, ось OY – на север.
Программа получает на вход последовательность строк указанного вида, завершающуюся строкой со словом «Treasure!». Программа должна вывести два целых числа: координаты клада.
Путь 5 шагов на север, 3 шага на восток, 1 шаг на юг мы запишем как:
x = 0 y = 0 while True : # прочитали одну строку в line line = input() # если Treasure! надо напечатать координаты и остановиться if line == 'Treasure!' : print(x, y) break # line разбили на части и каждую часть сделали int direction, d = map(int, line.split()) if direction == 0 : # север y = y + d # тут нужно дописать решение для юг, восток, запад
Пример — напечатать строку по 1 символу
s = input() # прочитать строку for x in s: # для каждого символа в строке s print(x) # напечатать этот символ # Input: # Hello # Output: # H # e # e # l # o
Сколько раз встретилась z
Дана строка. Сколько раз в ней встретилась буква z?
Input | Output |
---|---|
azzzbz | 4 |
z | 1 |
Hello | 0 |
ZZZ | 0 |
for_14 — Скобки-1
Дана строка из скобок. Напечатать YES, если это правильная скобочная последовательность. Иначе напечатать NO.
Input | Output |
---|---|
()() | YES |
(()()) | YES |
((())) | YES |
(() | NO |
()) | NO |
)( | NO |
for_8 Строка из *
Дано натуральное число N. Напечатать символ * N раз без пробелов.
Код, который печатает 4 символа:
for i in range(4): print('*', end='') # end='' - не делать новую строку, не делать пробелов
for_9 Прямоугольник из *
Даны натуральные числа M и N. Вывести символами * прямоугольник M строк на N столбцов.
for_91 Прямоугольник из *
Даны натуральные числа M и N. Вывести символами * рамку M строк на N столбцов.
Двойной минимум
Даны целые числа (2 или более). Найти в один проход минимум и второй минимум в этой последовательности.
Input | Output |
---|---|
3 -5 7 1 0 10 | -5 0 |
3 5 7 1 -1 10 | -1 1 |
3 5 7 1 13 10 | 1 3 |
3 5 7 1 13 1 | 1 1 |
results matching » «
No results matching » «
Вычисление суммы (произведения) конечного ряда
Задание: Вычислить значение выражения, представляющего собой сумму сумм или сумму произведений, или произведение сумм, или произведение произведений.
Пример:
Подсчет двойной суммы ряда
S=0; M=10; N=5 for i in range(1,N+1): for j in range(1,M+1): S += i*j print(S)
Вычисление суммы (произведения) конечного ряда
Задание: составить схему алгоритма и написать программу вычисления суммы (произведения) конечного.
Задание: составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда.
Задание: составить схему алгоритма и написать программу вычисления суммы (произведения) конечного.
Вычисление суммы произведения
Здравствуйте. Помогите пожалуйста Написать программу вычисления суммы произведения конечно ряда.
Вычисление суммы ряда
ПОМОГИТЕ решить в питоне с while и for
Вычисление суммы ряда чисел M и K
С клавиатуры вводятся два числа M и K. Вывести результат, равный: сумме этого ряда;.
«Действия над двадцать вторыми и тридцать седьмыми долями являются мучением, которому учителя подвергают двенадцатилетних детей из чистого садизма, без всякой надобности, могущей сыграть роль смягчающего обстоятельства» — А.Лебег, французский математик.
Задание: Вычислить значение произведения сумм ряда
я попыталась расписать, но что-то не выходит
from math import * x=0.2 a=0.5 while x 5.2+0.2: x+=0.2 while a 1.5+0.5: a+=0.1 S=(sqrt(3/x*abc(cos(5)))+exp(a))/(tan(x**3)-((cos(x)/sin(x))**3)) z+=S P=cos(a)*z
Сообщение было отмечено Logini как решение
Решение
Сообщение от Logini
Добавлено через 3 минуты
Проверьте
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
from math import atan, cos, sin, tan, exp, sqrt def ctan(x): return cos(x) / sin(x) p = 1 for a in range(5, 15 + 1): a /= 10 p *= atan(a) s = 0 for x in range(2, 52 + 1, 10): x /= 10 y = sqrt(3 / (x * abs(cos(5)))) + exp(a) z = tan(x**3) - ctan(x)**3 s += (y / z) p *= s print(p)
Вычисление суммы ряда квадратичной функции
Допустим для суммы ряда Σn при n= от 1 до 10 сумма ряда равна 55, работает следующий код: summa =.
Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда
составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда. При.
написать программу в виде суммы произведение конечного ряда чисел в пайтоне
Написать программу вычисления суммы (произведения) конечного ряда. Предусмотреть пропуск слагаемых.
Вычисление суммы ряда
Ввести натуральное n и действительное х. Вычислить: .