ОПК

 
20/05

Что нужно знать:

  • сначала нужно прочитать строку из файла; эта задача в разных языках программирования решается несколько по-разному
  • в языке Python удобнее всего использовать такую конструкцию:

with open("k7.txt", "r") as F:

  s = F.readline()

конструкция with-as – это контекстный менеджер, в данном случае он открывает указанный файл в режиме чтения (второй аргумент «r» при вызове функции open), записывает ссылку на него в файловую переменную F, выполняет тело блока (читает первую строку файла в переменную s) и закрывает (освобождает) файл

Пример 1. В текстовом файле k7b-3.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите максимальную длину цепочки вида BAFEBAFEBAFE... (состоящей из фрагментов BAFE, последний фрагмент может быть неполным).

Решение:

with open("k7b-3.txt", "r") as Fin:

  s = Fin.readline()

 

c = 'BAFE'

while c in s: # ищем BAFE, потом BAFEBAFE  и т.д.

    c += 'BAFE'

 

if c[:-1] in s: # неполная строка BAFEBAF

  print(len(c)-1)

elif c[:-2] in s: #неполная строка BAFEBA

  print(len(c)-2)

elif c[:-3] in s: #неполная строка BAFEB

  print(len(c)-3)

else:

    print(len(c)-4) # полная строка

Выполнить любые 5 заданий из раздела 1-25, прислать на почту только ответы в письме до 26.05
30/04

Матрицы

Алгоритмы обработки данных матрицы

Задача 1Найти сумму элементов матрицы 4х5.

#Сумма элементов матрицы

a = []

n =4

m = 5

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    for x in row:

        print(x, end = " ")

    print()

print()

#нахождение суммы перебором элементов матрицы по значениям

s = 0

for row in a:

    for x in row:

        s += x

print("Сумма =", s)

# или так

#нахождение суммы перебором строк  матрицы

s = 0

for row in a:

    s += sum(row)

print(s)

Задача 2

Найти сумму элементов каждой строки матрицы.

# сумма элементов каждой строки матрицы

a = []

n =4

m = 5

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    for x in row:

        print(x, end = " ")

    print()

print()

#1  способ, суммы строк

for i in range(n):

    s = 0

    for j in range(m):

        s += a[i][j]

    print("Cумма {} строки = {}".format(i,s))

print()

#2 способ, суммы строк

for i in range(n):

    print("Cумма {} строки = {}".format(i,sum(a[i])))

Задача 3

Поменять местами две строки матрицы. Номера строк для обмена запрашиваются и вводятся с клавиатуры.

# перестановка строк

a = []

n = 6

m =9

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    for x in row:

        print(x, end = " ")

    print()

print()

#запрос номеров строк для перестановки

s1 = int(input("1-я строка"))

s2 = int(input("2-я строка"))

#обмен строк местами

a[s1],a[s2] = a[s2],a[s1]

#вывод изменённой матрицы

for row in a:

    for x in row:

        print(x, end = " ")

    print()

Задачи для самостоятельного решения:(решение прислать на почту до 1.05)

Грачева №№20,10

Кровяков №№ 4,13

Пособилов №№5,12

Прудских №№ 5,15

Селезнева №№9,19

Сивачева №№ 7,17

Федянина №№ 8,18

Филимонова №№6,11

Хромыщенко №№6,16

Шулик Александр №№4,14

Шульгин Александр №№ 13,20

Часовских Мария, Ковалева София, Шулик Анжелика - делают один любой номер

Дана матрица. (Размер матрицы можно брать произвольным)

4. Переставить местами два любых столбца.

5. Найти максимальный элемент матрицы. Вывести значение максимального и его координаты (номер строки и столбца). Если максимальных элементов несколько, то выбирать можно любой.

6. Найти сумму элементов каждого столбца.

7. Найти максимальный элемент каждой строки.

8. Найти минимальный элемент каждого столбца.

9. Найти сумму элементов той строки, в которой находится минимальный элемент.

10. Найти произведение элементов того столбца, в котором находится первый минимальный элемент.

11. Переставить местами те строки матрицы, в которых находятся первый максимальный и последний минимальный элементы.

12. Найти строку с наибольшей суммой.

13. Найти столбец с наименьшей суммой.

14. Найти сумму той строки, в которой наибольшее количество чётных элементов.

15. Найти минимальный элемент той строки, в которой находится первый нулевой элемент матрицы при просмотре матрицы по строкам.

16. Найти количество нечётных элементов каждой строки.

17. Найти максимальный элемент матрицы среди элементов, которые в каждой строке являются последними.

18. Отсортировать каждую строку массива по возрастанию.

19. Отсортировать нечётные строки по возрастанию, чётные – по убыванию.

20. Вывести номера строк, в которых находятся нулевые элементы. Отсортировать эти строки по убыванию.

 

24/04
Самостоятельная практическая работа. Файлы с программами выслать до 26.04.2021
  1. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Напишите программу, позволяющую найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива.
  2. Дан целочисленный массив из 2000 элементов. Если сумма всех элементов массива чётная, нужно вывести количество нечётных (по значению) элементов массива, если нечётная – количество чётных. Например, для массива из 6 элементов, равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов, так как общая сумма всех элементов чётна.
  3. Дан массив, содержащий неотрицательные целые числа, не превышающие 10 000. Необходимо вывести:

– минимальный чётный элемент, если количество чётных элементов не больше, чем нечётных;

– минимальный нечётный элемент, если количество нечётных элементов меньше, чем чётных.

Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 9, 8, ответом будет 9 – наименьшее нечётное число, поскольку нечётных чисел в этом массиве меньше.

 
5.03
Решение 9.2 ЕГЭ
 
Выполнить задания. Оформить решения с ответами в тетради по ОПК, принести тетради на проверку 12.03.2021
Грачева  Ксения-№№1,10,20,30,40,50,60,70,80
 
Ковалёва София- №№2,11, 21,31,41,51,61,71,81
 
Кровяков Кирилл- №№3,12,22,32,42,52,62,72,82
 
Пособилов Александр - №№ 4,13,23,33,43,53,63,73,83
 
Прудских Арина- №№ 5,15,25,35,45,55,65,75,85
 
Селезнёва София - №№ 6,16,26,36,46,56,66,76,86
 
Сивачева Виталина - №№7,17,27,37,47,57,67,77,87
 
Федянина Юлия - №№ 8,18,28,38,48,58,68,78,88
 
Филимонова Александра - №№9,19,29,39,49,59,69,79,89
 
Хромыщенко Иван - №№ 5,10,20,30,40,50,60,70,80
 
Часовских Мария - №№11,21,31,41,51,61,71,81,89
 
Шулик Анжелика - №№8,12,22,32,42,52,62,72,82
 
Шулик Александр - №№13,23,33,43,53,63,73,83,88
 
Шульгин Александр - №№10,14,24,34,44,54,64,74,84
 
 
12.02
долги:
не сданы работы по первой четверти (текст и презентация):
Ковалева
Прудских
Сивачева
Федянина
Филимонова
Хромыщенко
Часовских
Шулик Анжелика
 
Нет зачетной работы по Audocity и Scribus:
Кровяков
Прудских
Хромыщенко
Шулик Анжелика
Шулик Александр
 
Долги необходимо сдать до 1  марта!!!!!
 
 
05/02
Сдача зачета
- Audacity
- Scribus
- теория - 5 задание ЕГЭ
д.з.
ЕГЭ-2 №№187,190 СДЕЛАТЬ С ПОМОЩЬЮ СКНФ ИЛИ СДНФ
22.01.2021
РАБОТА ПО ЗАКРЕПЛЕНИЮ ПРОЙДЕННОГО МАТЕРИАЛА:
elena.kaluzhskikh@yandex.ru - РЕЗУЛЬТАТЫ ПРИСЛАТЬ ОДНИМ ПИСЬМОМ!!! В ТЕМЕ ПИСЬМА УКАЗАТЬ "ОТРАБОТКА 2 ЧАСА ОПК ЗА 22.01.2021!!!
 

Koнтакт

kaluzhskikh_elena elena.kaluzhskikh@yandex.ru