9 класс. Технология программирования.

2023-2024

Домашнее задание №2
Смотрим фильмы. Презентации прикреплены к урокам.
В тетради строим дерево вызовов рекурсии в задаче о ханойских башнях ( 4 диска)
 Учимся писать рекурсивно : факториал, числа Фибоначчи, алгоритм Евклида, степень двойки (проверочная работа), Ханойские башни.

Примеры рекурсивных программ https://www.youtube.com/watch?v=oRd4WanaeSQ


Домашнее задание №1

Примеры построения дерева рекурсивных вызовов

В тетрадях рисуем дерево рекурсивных вызовов . Тетради сдаем.

1)     186  Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 3, если n < 3,

F(n) = 2n + 5 + F(n­ –2), если n3.

Чему равно значение выражения F(3027) – F(3023)?


2)     166  Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1, при n ­ = 1,

F(n) = n · F(n – 2), если  n > 1.

Чему равно значение выражения F(2023) / F(2019)?


3)      139 Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 2, если n = 1,

F(n) = 2 · F(n – 1), если n > 1.

Чему равно значение выражения F(1900) / 21890?  


ОГЭ 

Статград 2022-2023


Тренировочная №2  6-12-2022

Рекурсия


2. Рекурсия. Задание №11 "Информатик Бу"

3. Разбор 11 задания ЕГЭ по информатике. Две рекурсивные функции

Тренировочная работа №4 Статград ОГЭ по информатике от 19.03.2021

https://ctege.info/oge-po-informatike/trenirovochnaya-rabota-4-statgrad-oge-po-informatike-ot-19-03-2021.html


На сайте РЦОК опубликованы видеозаписи с разбором заданий по ОГЭ по информатике
Посмотреть ролики можно здесь:




Лекция по Питону МФТИ

https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

ссылка на сайт дистанционного обучения

2022-2023

Домашнее задание №2
Смотрим фильмы. 
В тетради строим дерево вызовов рекурсии в задаче о ханойских башнях.
 Учимся писать рекурсивно : факториал, числа Фибоначчи, алгоритм Евклида, степень двойки (проверочная работа), Ханойские башни.

Примеры рекурсивных программ https://www.youtube.com/watch?v=oRd4WanaeSQ



Примеры построения дерева рекурсивных вызовов



Домашнее задание №1
В тетрадях рисуем дерево рекурсивных вызовов . Тетради сдаем.



1)   (133) Определите, что выведет на экран программа при вызове F(9).

procedure F(n: integer);

begin

  if n > 3 then begin

    write(n);

    F(n div 3);

    n:=n+1;

    F(n - 3);

   end

  else

    write(n);

end;


2)       134 Определите, что выведет на экран программа при вызове F(4).

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

begin

  if n > 2 then

   begin

    write(n);

    F(n - 1);

    G(n - 2);

   end

  else

    write(n+2);

end;

procedure G(n: integer);

begin

  write(n);

  if n > 2 then

   begin

    G(n - 1);

    F(n - 2);

   end

  else

    write(n+1);

end;


3)     112 Задана функция F(n). Определите значение F(11).

function F(n: integer): integer;

begin

  if n > 2 then

    F := F(n-2) + F(n div 2)

  else

    F := n

end;


подготовка к олимпиаде

2021-2022


Домашнее задание №3
В тетрадях рисуем дерево рекурсивных вызовов . Тетради сдаем.



1)   (133) Определите, что выведет на экран программа при вызове F(9).

procedure F(n: integer);

begin

  if n > 3 then begin

    write(n);

    F(n div 3);

    n:=n+1;

    F(n - 3);

   end

  else

    write(n);

end;


2)       134 Определите, что выведет на экран программа при вызове F(4).

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

begin

  if n > 2 then

   begin

    write(n);

    F(n - 1);

    G(n - 2);

   end

  else

    write(n+2);

end;

procedure G(n: integer);

begin

  write(n);

  if n > 2 then

   begin

    G(n - 1);

    F(n - 2);

   end

  else

    write(n+1);

end;


3)     112 Задана функция F(n). Определите значение F(11).

function F(n: integer): integer;

begin

  if n > 2 then

    F := F(n-2) + F(n div 2)

  else

    F := n

end;


Домашнее задание №2

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

ОТВЕТ: 95



2)      В текстовом файле k7c-6.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите количество цепочек длины 3, в которых символы не совпадают.

ОТВЕТ:5563


3)      В текстовом файле k7-m3.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. Найдите все подцепочки, состоящие из символов C (C-подцепочки) длиной не более четырех. В ответе через пробел укажите: порядковый номер найденной подцепочки (начиная с единицы) при проходе по исходной цепочке слева направо, длину подцепочки и саму подцепочку, заменив в ней, начиная со второго символа «С», большие «С» на «с» строчные (маленькие). Гарантируется, что в исходной цепочке есть C-подцепочки.

ОТВЕТ:'

1 4 Cccc

2 3 Ccc

3 1 C

4 2 Cc



Домашнее задание №1

1)      (37) В текстовом файле k7c-5.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите количество цепочек длины 5, в которых соседние символы не совпадают.


ОТВЕТ:4904

2)     (40) В текстовом файле k7-m2.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. Найдите длину самой длинной подцепочки, состоящей из символов C (C-подцепочки). В ответе через пробел укажите: длину найденной подцепочки (если C-подцепочек нет, то 0), количество C-подцепочек и длину исходной цепочки.


ОТВЕТ:14 9 179

3)     (43) В текстовом файле k7-m5.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. В исходной цепочке замените все найденные C-подцепочки на подцепочки, содержащие длину текущей С-подцепочки с последующей текущей C-подцепочкой с замененными символами «С» большими на «с» маленькие. В ответе в трех строчках выведите:

1) количество C-подцепочек;

2) левые 15 символов, пробел и правые 15 символов исходной цепочки;

3) левые 15 символов, пробел и правые 15 символов преобразованной цепочки.

ОТВЕТ: 18

AAACCAAABBBCBBB BBBCCCCCCABCCCC

AAA2ccAAABBB1cB B6ccccccAB4cccc


2020-2021

Python в СРЦОД: 2. Решение задач с помощью функций. 

Задачи: A-D в классе

Задачи: A-D домашнее задание 



ссылка на  сайт дистанционного обучения . Тема 8, "Функции и рекурсия"

Домашнее задание №13

 1.Интересные разбиения  
Недавно на кружке по математике Миша узнал про разбиения на слагаемые. Разбиением числа n на слагаемые называется представление его в виде суммы неубывающего набора натуральных чисел. Например, 9 = 1 + 2 + 2 + 4 является разбиением числа 9 на слагаемые. Миша называет разбиение интересным, если никакие два слагаемых в наборе не равны и не отличаются ровно на 1. Так, например, разбиение, приведенное выше, не является интересным, а разбиение 9 = 1 + 3 + 5 — является. Помогите Мише вывести все интересные разбиения числа n на слагаемые. 
 Формат входных данных  
На ввод подается одно целое число n (1 ≤ n ≤ 80).  
Формат выходных данных 
 Выведите все интересные разбиения числа n на слагаемые. 
Разбиения можно выводить в любом порядке. 
 Пример
 Ввод
9
 Вывод
9=1+3+5
9=1+8
9=2+7
9=3+6 
9=9 
2. Сгенерировать все разбиения  числа N  на простые слагаемые.


Домашнее задание №12
1. Написать программу генерации  размещения цифрами.
2. Написать программу генерации размещения символами, вводимыми в строке.

Домашнее задание №11

1. Написать программу генерации всех двоичных последовательностей длиной 8 (рекурсивно).
2. Написать программу генерации всех перестановок с повторением букв A,B,C,D,E,F длиной 3. (рекурсивно)


Домашнее задание №10

1)      61Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

 writeln(n);

 if n > 1 then begin

   F(n-3);

   F(n-1)

 end

end;

Найдите сумму чисел, которые будут выведены при вызове F(6).


2)    39  Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

 if n > 0 then begin

    F(n-2);

    F(n-1);

    F(n-1);

 end;

 writeln('*');

end;

 Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(5)?


Домашнее задание №9
Реализация на python
1. Вводится непустая последовательность, признак конца которой 0. Подсчитать количество простых чисел в последовательности. Анализ на "Простоту" оформить в виде функции.
2. Дана матрица N*N в каждой строке найти число, имеющее наибольшее количество делителей. Если таких чисел несколько, то вывести наименьшее по значению.
Подсчет количества делителей оформить как функцию. 


Домашнее задание №8

ссылка на видео https://www.youtube.com/watch?v=DvsCUI5FNnI
1. Дана последовательность длины N. Вычислить NOK всех элементов последовательности.
(нахождение Nod оформить как функцию). Реализация на Питоне.
2. Дана последовательность длины N. Найти элемент, содержащий максимальное количество делителей. Вывести значение этого элемента и максимальное количество делителей. Поиск количества делителей оформить как функцию. Реализация на Питоне.

Домашнее задание №7
Проверочная по теме  "Подпрограммы".
Повторить: оптимальный поиск делителей, анализ на простоту, перевод в 2с.с., алгоритм Евклида, вычисление длины отрезка, нахождение координат точки пересечения, нахождение площади треугольника, нахождение NOK

Домашнее задание №6
1. Дана последовательность из n чисел. Вычислить NOD элементов последовательности. Вычисление NOD оформить как функцию.

2. Дана матрица размером N*N. В каждом столбце подсчистеть количество элементов, которые при переводе в 2 систему счисления содержат не менее 3-х единиц. Подсчет количества единиц при переводе в 2 с.с. оформить как функцию.

Домашнее задание №5
Функции
1. Вводится непустая последовательность, признак конца которой 0. Подсчитать количество простых чисел в последовательности. Анализ на "Простоту" оформить в виде функции.
2. Дана матрица N*N в каждой строке найти число, имеющее наибольшее количество делителей. Если таких чисел несколько, то вывести наименьшее по значению.
Подсчет количества делителей оформить как функцию. 

Домашнее задание №4
Вводятся координаты трех точек, которые образуют треугольник. Вводится четвертая точка. Определить эта точка лежит внутри треугольника? ( Используем процедуру вычисления длин сторон  и процедуру вычисления площади треугольника)


Домашнее задание №3
Пусть сокр(а,в, р, q) от целых параметров (в не равно 0) приводит дробь к несократимому виду p/q.
Описать данную процедуру и использовать ее для приведения результата выполнения арифметических операций над дробями   к несократимому виду.
a/b+ c/d
a/b - c/d
a/b * c/d
(a/b) / (c/d) 

Используем алгоритм Евклида.

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

Далее по формуле Герона S=sqrt(p*(p-a)*(p-b)*(p-c)) вычислить площадь треугольника.

Домашнее задание №1
1)      Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество чётных чисел больше, чем количество нечётных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечётных чисел больше, заменить каждое чётное число на произведение чётных цифр в его десятичной записи. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из семи  элементов:
48 31 20 61 97 12 18
программа должна вывести следующий массив
48 3 20 1 63 12 18

2019-2020



Домашнее задание №17

Дано описание:
TYPE     YEAR      =1500..2000;
                  MONTH = 1..12;
                  DAY       = 1..31;
  DATA     = RECORD
                                    Y : YEAR;
                                    M : MONTH;
                                    D : DAY
                        END;
Написать программу, определяющую дату,  которая наступит через m дней.

Домашнее задание №15-16

1. Пусть текстовый файл t разбит на непустые строки. Описать функцию count(t) для подсчета числа строк, которые начинаются с буквы d и заканчиваются буквой z.

2. Дан текстовый файл f. Получить все строки файла, содержащие более 60 символов. Получить самую длинную строку файла, содержащую более 8 пробелов. Записать эту строку в выходной файл, если таких строк нет, то записать в файл «Таких строк нет».


Домашнее задание №14
Повтор д.з. №13. Проверочная работа по д.з. №13.

1. Реализовать через цикл и через рекурсию ( 2 (цикл, рекурсия)варианта решения для каждой задачи, всего 6 программ):
  •  поиск факториала N!, 
  • наибольшего общего делителя NOD, 
  • перевода в двоичную систему счисления.

Домашнее задание №13
1. Реализовать через цикл и через рекурсию:
  •  поиск факториала N!, 
  • наибольшего общего делителя NOD, 
  • перевода в двоичную систему счисления.

Домашнее задание №12
Постулат Бертрана утверждает, что для любого n>=2 найдется простое число p, для которого n<p<2n . 
Петя хочет повторить подвиг Бертрана и убедиться в справедливости   его постулата для разных значений n.
 Однако, поскольку он не сомневается в корректности доказательства, он немного изменил цель: для данного n, Петя хочет найти максимальный по длине отрезок составных чисел, который лежит строго между n и 2n.
Требуется найти такие L и R, так чтобы n<L<=R<2n, все числа от L до R, включительно, были составными и R-L было максимально. Если подходящих отрезков несколько, необходимо вывести тот, у которого L минимально.

Формат входных данных
На вход подается одно целое число n (3<=n<=10000000)
Формат выходных данных
Вывести искомые L,R

Пример
ввод
10
вывод
14 16

Домашнее задание №11
Ограничение по времени: 1 секунда

Ограничение по памяти: 512 мегабайт

Найдите и выведите в возрастающем порядке все несократимые обыкновенные дроби f

со знаменателем не превышающим n, которые удовлетворяют неравенству 1/p < f < 1/q.

Формат входных данных

На ввод подается три числа: n, p и q (1 < n < 100, 1 <q < p <100).

Формат выходных данных

Выведите все искомые дроби, по одной на строке.



стандартный ввод 
10 3 2 
стандартный вывод
3/8
2/5
3/7
4/9

Домашнее задание №10

Вводятся координаты трех точек, которые образуют треугольник. Вводится четвертая точка. Определить эта точка лежит внутри треугольника?

Домашнее задание №9

Пройти первый заочный тур ИТМО.

Домашнее задание №8
Миша увлекается компьютерной графикой. Он хочет нарисовать на экране квадрат размером * пикселей разными цветами.
Монитор Миши поддерживает 26 цветов. Для обозначения цветов будем использовать строчные буквы латинского алфавита от «a» до «z». Миша хочет нарисовать каждый пиксель некоторым цветом, который зависит от расстояния от пикселя до ближайшей диагонали.

А именно, клетки на диагоналях квадрата он хочет нарисовать цветом «a», соседние с ними клетки — цветом «b», соседние с ними, но еще не покрашенные — цветом «c», и так далее. После цвета «z» Миша снова переходит к цвету «a».

По заданному выведите картинку, которая получится у Миши.
Формат входных данных
Входные данные содержат одно целое число (< < 100).
Формат выходных данных
Выведите строк по символов — картинку, которая получится у Миши.
Для n=5
abcba
babab
cbabc
babab
abcba

Домашнее задание №7

1. Дана матрица размера M × N. Продублировать столбец матрицы, содержащий ее минимальный элемент.





2. Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.





3. Дана матрица размера M × N. Для каждого столбца матрицы найти произведение его элементов.

Домашнее задание №6


Длинная арифметика. Умножение.

Вводятся два числа длиной 0<n<255 . Найти произведение этих чисел.


Домашнее задание №5

Длинная арифметика. Сложение.
Вводятся два числа длиной 0<n<255 . Найти сумму этих чисел.

Домашнее задание №4

1. В музее регистрируется в течение дня время прихода и ухода каждого посетителя. Таким образом за день получены N пар значений, где первое значение в паре показывает время прихода посетителя и второе значения - время его ухода. Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей.
Примечание: для определенности считать, на i-й минуте посетители сначала заходят в музей, а потом выходят.
Входные данные
В первой строке ввода задается количество посетителей N (<=1000). В каждой следующей из N строк задаются по два натуральных числа - время ухода и прихода посетителя. Время задается в минутах от начала рабочего дня.
Пример ввода
7
1 1
1 1
1 1
2 3
10 100
11 99
20 30
Выходные данные
На выход вам надо подать все промежутки времени, в которые в музее находилось наибольшее число посетителей. Промежутки задаются в отдельных строках вывода. Промежуток - это два числа: время начала, и время окончания, разделенные символом "-". Если интервал времени содержит только одну минуту, то в строке выдавать только одно число. Промежутки должны выводиться в хронографическом порядке.

Пример вывода

1
20-30

2. Для тех кто не выполнил классную задачу

Имеются числа А12,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах встречаются ровно по одному разу.


Домашнее задание №3

1. Дан массив A[N] (целые положительные и отрицательные числа). Найти наименьшее произведение двух элементов массива ( необязательно рядом стоящие).


Домашнее задание №2

1.      Дан массив  Х1…  ХN . Вычислить
y = ХN ( ХN+ ХN-1 )( ХN+ ХN-1 + ХN-2 ) * … * ( ХN+ ХN-1 + …+ Х1).


2.      Дан массив  a1, … , aN. Удалить из нее элемент с номером k и вставить число р после элемента с максимальным значением. 
3. (10) В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
  A[i]:= i + 1;
for i:=1 to 10 do
  A[i]:= A[i-1];
Как изменяются элементы этого массива?
             1) все элементы, кроме последнего, сдвигаются на 1 элемент вправо
             2) все элементы, кроме первого, сдвигаются на 1 элемент влево
             3) все элементы окажутся равны 1
             4) все элементы окажутся равны своим индексам

Домашнее задание №1


1. Дан массив целых положительных чисел A(N). Удалить те элементы массива, которые кратны минимальному значению. (использовать алгоритм удаления, сдвигая каждый элемент один раз. Смотри конспект прошлого года).

2. Дан массив целых положительных чисел A(N). Найти среднее арифметическое тех элементов массива, которые являются трехзначными числами, кратными 3 и старшая цифра 6. Если таких элементов нет, то вывести "Таких элементов нет".

3. Подготовиться к проверочной работе по теме:
  • поиск максимального, минимального элемента массива ( все случаи выбора эталона для поиска)
  • удаление элементов массива.

________________________________________________________________________________

2018-2019

Домашнее задание №29

Готовим ОГЭ №19


Домашнее задание №28

Готовимся к ОГЭ. Сайт "Решу ОГЭ". 

Тетради соберу с д.з. №27.

Домашнее задание №27

Для двух групп  Сдаем в тетрадях д.з. №27.


 Группа№1 сдает и д.з. №26.

1. (1/03)Дано целое положительное число N ≥ 10. Необходимо найти наибольшую сумму двух соседних цифр в десятичной записи N. Например, для N = 2018 нужно получить ответ 9, а для N = 2010 ответ 2. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. 

var n,m, d1,d2,s: integer;
begin   
  readln(n);  
   m := 0;   
  d1 := n mod 10; 
    while n > 0 do begin 
    d2 := n mod 10;     
    s := d1 + d2;    
    if s > m then      
                  m := s;      
   d1 := n mod 10;  
   n := n div 100  
   end;  
   writeln(m) 
end.

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 2018. 2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. 





Последовательно выполните следующее.
 1. Напишите, что выведет эта программа при вводе N = 2018. 
2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ.

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

Домашнее задание №26
Группа №1

(16/11)Дано целое положительное число N ≥ 10. Необходимо найти наименьшую сумму двух соседних цифр в десятичной записи N. Например, для N = 2018 нужно получить ответ 1, а для N = 2030 ответ 2. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. 

n = int(input()) 
m = 10
while n >= 10:    
    d1 = n // 10  
    d2 = n // 10 % 10   
    s = d1 + d2   
    if s < m:      
        m = s    
    n //= 10 
print


Последовательно выполните следующее.
 1. Напишите, что выведет эта программа при вводе N = 2018. 
2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ.
 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. 


Группа №2


Дан текстовый файл f. Подсчитать все строки файла, содержащие более 10 символов. Вывести самую длинную строку файла, содержащую более 4 пробелов.

Домашнее задание №25
Группа №1


На вход программы поступает последовательность из N целых положительных чисел. Нужно определить количество пар различных чисел, сумма которых делится на 12.



 Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100.



 Пример входных данных:

8

10

14

 7

13

 5

30

 9

6

Пример выходных данных для приведённого выше примера входных данных:

3

В данном случае условиям удовлетворяют три пары: (10, 14), (7, 5) и (30, 6).

Суммы чисел в этих парах
 (24, 12 и 36) делятся на 12


Группа№2
Дан текстовой файл, содержащий программу на Паскале. Проверить программу на соответствие открывающихся и закрывающихся круглых скобок в каждой строке.

Домашнее задание №24
Группа №1

Дан массив, содержащий 70 положительных целых чисел. Опишите на

одном из языков программирования алгоритм, определяющий сумму чисел

не меньших 49 и кратных 7, заменяющий такие значения на найденную

сумму и выводящий измененный массив на экран (по одному элементу в

строке).

#допускается использовать
#целочисленных переменных
#j, x
а = []
n = 70
for і in range(n):
a.append(int(input()))


Домашнее задание №23
Группа№1

Сдаем тетради с д.з. №22.
1. Дан массив, содержащий 2019 положительных целых чисел, не превышающих 15 000. Необходимо найти сумму минимального чётного и минимального нечётного элементов (если в массиве нет чётных или нечётных элементов, соответствующий минимум считается равным нулю), уменьшить все элементы, которые больше этой суммы, на её значение и вывести изменённый массив. Например, для исходного массива из пяти элементов – 30, 99, 27, 90, 66 – программа должна вывести числа 30, 42, 27, 33, 9 (сумма минимумов равна 57, все элементы, большие 57, уменьшены на 57). Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. 




# кроме уже указанных

 # допускается использование

 # целочисленных переменных

 # k, m 

a = [] 

N = 2019 

for i in range(0, N):    

 a.append(int(input()))

Группа№2

Выполняем задания инд.  типиз. файлы с 1-4 пункт.

Домашнее задание №22
Группа №1


1)      Требовалось написать программу, которая для введённого натурального числа n выводит общее количество его различных делителей, включая 1 и n. К сожалению, ученик написал программу с ошибками:

Python
n = int(input())
j = 2
k = 0
while j*j < n:
    if n % j == 0:
        k = k + 2
    j = j + 1
if j*j == n:
    k = k + 3
print(k)



Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 10.
2. Укажите два наименьших  значения входной переменной n, при вводе которого программа выведет правильный ответ. Укажите это ответ в каждом случае.

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

2)      Факториалом натурального числа n называется произведение всех натуральных чисел от 1 до n. Например, 4! = 1 · 2 · 3 · 4 = 24.  На вход программы поступает положительное число A. Необходимо вывести минимальное натуральное K, для которого 1! + 2! + … + K! > A. К сожалению, приведённая ниже программа неправильная.


Python
A = int(input())
k = 1
f = 1
s = 1
while s <= A:
  f *= k
  k += 1
  s += f
print(k)


Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 8.
2. Назовите минимальное A, большее 5, при котором программа выведет верный ответ.

3. Найдите допущенные программистом ошибки и исправьте их.


3)      Дано натуральное число A>0. Требуется вывести такое минимально возможное нечётное натуральное число K, при котором сумма 1*2 + 3*4 + … + K*(K+1) окажется больше A. Приведённая ниже программа содержит ошибки.

Python
A = int(input())
s = 0
k = 0
while s <= A:
    s = s + k*(k+1)
    k = k + 1
print(k)



Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 15.
2. Укажите два наименьших значения A, большие, чем 10, при которых программа выведет верный ответ.

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


Группа №2

Составить список учебной группы (25 человек). Для каждого учащегося указать ФИО, дату рождения (день, месяц и год), номер группы, оценки (всего 15 для каждого).
Распечатать список студентов-отличников, упорядоченный по году рождения.


Домашнее задание №21

Пишем пробный ОГЭ.

Домашнее задание №20

Группа №1
Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить на занятия кружка по программированию. Придя на первое занятие кружка, он узнал, что занятия будут проходить еженедельно в один и тот же день недели. Помогите Володе составить календарь занятий до конца года – определите даты всех занятий, начиная с первого занятия и до конца года.
Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел – 9, 10, 11, 12. Номер дня месяца – число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами 10 и 12).
Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.

Пример входных и выходных данных

Ввод

11

20

Вывод

11 20

11 27

12 4

12 11

12 18

12 25

Группа №2

Составить список учебной группы (15 человек). Для каждого учащегося указать ФИО, дату рождения (день, месяц и год), номер группы, оценки (всего 10 для каждого).
Упорядочить список студентов по среднему баллу и распечатать его.



Домашнее задание №19

Группа №1

1)       Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [190061; 190080], числа, имеющие ровно 4 различных НЕЧЁТНЫХ делителя. Выведите эти четыре делителя для каждого найденного числа в порядке убывания.

Группа №2
Составить список учебной группы (25 человек). Для каждого учащегося указать ФИО, дату рождения (день, месяц и год), номер группы, оценки (всего 10 для каждого).

Упорядочить список студентов по году рождения и распечатать его.

Домашнее задание №18

Группа №1

На столе стоят три вазы с конфетами. В левой вазе лежат конфет, в средней вазе лежат конфет, в правой вазе лежат конфет. Лена съедает одну конфету из левой вазы, затем – одну конфету из средней вазы, затем из правой, средней, левой, средней, правой, средней и т. д. (слева направо, затем налево, опять направо и т.д.).

Если Лена хочет взять конфету из какой-то вазы, а конфет там нет, она расстраивается и идёт спать. Определите, сколько конфет съест Лена.



Программа получает на вход три целых неотрицательных числа ABC – количество конфет в левой, средней, правой вазе. Сумма трёх данных чисел не превосходит 2×109.

Пример входных и выходных данных

Ввод

3

3

3

Вывод


Группа №2

по индивидуальным карточкам на записи.


Домашнее задание №17

Группа №1
Дана последовательность степеней 10:
110100100010000...
Определить какая цифра 0 или 1 стоит на позиции с номером k.


Группа №2


String42.[Pascal] [C#] [VB.NET] [Python] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые начинаются и заканчиваются одной и той же буквой.



String43.[Pascal] [C#] [VB.NET] [Python] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат хотя бы одну букву «А».



String44°.[Pascal] [C#] [VB.NET] [Python] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат ровно три буквы «А». 

Домашнее задание №16

Группа №1
на сайте обучения "Питон" задачи из раздела "Цикл for" http://pythontutor.ru/
15 минутная проверочная по данному разделу.

Группа №2

Доделать классную работу. Отсортировать слова в предложении по первой букве.
Готовимся к проверочной работе по теме "Строки"


Домашнее задание №15
Группа №1
1. Индивидуальное по карточкам. Принадлежность области.
2. на сайте обучения "Питон" задачи из раздела "Вычисления" http://pythontutor.ru/
15 минутная проверочная по данному разделу.

Группа №2

Подготовка к проверочной работе по теме "Строки"


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

3.             Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, заменив в нем все последующие вхождения его первой буквы на символ «.» (точка). Например, слово «МИНИМУМ» надо преобразовать в «МИНИ.У.». Количество пробелов между словами не изменять. 

Python

скачать Питон https://www.python.org/downloads/
интерактивный учебник http://pythontutor.ru/

Домашнее задание №14

Группа №1
1. Установить Питон.


При установке под Windows установите флажки. См. рисунок.

2. Задачи в интерактивном учебнике  http://pythontutor.ru/ по темам 
  •  Ввод и вывод данных
  • Условия. 
3. Проверочная работа по теме "Условия"

Группа №2
1. 2 задачи по теме "Строки" по индивидуальным карточкам.

_______________________________________________________________________________

Домашнее задание №13

Группа №1
Собеседование с вашим рассказом о любой сортировке из 5. 
Убедительная просьба внимательно посмотреть сортировку вставками.

Группа №2

Присылаем все задачи проверочной работы. Собеседование по одной из них.
Задачи проверочной работы

1.  Вводятся коэффициенты трех прямых. Если данные прямые образуют треугольник, то рассчитать площадь образованного треугольника.
2.  Написать функцию, определяющую сумму цифр числа. Используя ее определить в каком из чисел последовательности, состоящей из  N элементов наибольшая сумма.
3. Совершенным числом называется число, равное сумме всех своих делителей, меньших, чем оно само. Найти все совершенные числа из заданного промежутка. Анализ числа на совершенство оформить в виде функции
4.  Дана последовательность из N чисел. Подсчитать количество в данной последовательности простых чисел.  Анализ числа на простоту оформить в виде функции.

Домашнее задание №12


Группа №1
1.  Реализация сортировки слиянием

2. Готовимся к проверочной работе по теме "Сортировки"

  1. сортировка выбором
  2. сортировка "пузырьком"
  3. сортировка бинарными вставками
  4. быстрая сортировка
  5. сортировка слиянием.


Будет предложено 2 сортировки
 1.  нерекусивная (3 шт.)
 2.  рекурсиная (2 шт.)




Группа №2

Готовимся к проверочной работе по теме "Процедуры и функции"

1. На интервале от n до m  найти число, которое при переводе в 2 .с. содержит больше всего единиц. Перевод  в двоичную с.с и подсчет количества единиц оформить в функции.

2. Совершенным числом называется число, равное сумме всех своих делителей, меньших, чем оно само. Найти все совершенные числа из заданного промежутка. Анализ числа на совершенство оформить в виде функции.

3.  Дана последовательность из N чисел. Подсчитать количество в данной последовательности простых чисел. Анализ числа на простоту оформить в виде функции.


Домашнее задание №11

Группа №1
1. Повтор д.з. №10
2. Реализация быстрой сортировки.

Группа №2

1. Повтор д.з. №10
2. Пусть сокр(а,в, р, q) от целых параметров (в не равно 0) приводит дробь к несократимому виду p/q.
Описать данную процедуру и использовать ее для приведения результата выполнения арифметических операций над дробями   к несократимому виду.
a/b+ c/d
a/b - c/d
a/b * c/d
(a/b) / (c/d) 

Используем алгоритм Евклида.

Домашнее задание №10

Группа №1

Найти все разбиения числа N на слагаемые.
Например:
N=4
1111
211
22
31
4


Группа№2

Вводятся коэффициенты 3- прямых a1, b1,a1,b2,a3,b3. Проанализировать образуют ли эти прямые треугольник. Если "да", то рассчитать площадь треугольника (вычисление координат пересечения и длин отрезков оформить как процедуры). 



Домашнее задание №9

Тестирование на сайте "Решу ОГЭ" №2, 12, 17, 18

Домашнее задание №8
Для всех!!!
1. Пишем программу на Паскале.


Пользователь вводит значение двух переменных N и R. При каком значении переменной N для переменной

R=123231312, будет получено значение G=131311716. В ответе запишите целое число.

2.Пишем программу на Паскале.
Дана блок-схема алгоритма обработки целочисленного массива длиной N. Индексация массива начинается с 1. Изначально массив заполнен элементами, значение каждого из которых равно значению его индекса. G является вещественной переменной.




Чему будет равно значение переменной sch при N равном 100. В ответе запишите целое число. 
Домашнее задание №7
Группа №1
1)      (37)Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln('*');
 if n > 0 then begin
   writeln('*');
   F(n-2);
   F(n div 2);
   F(n div 2);
 end
end;
 Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(7)?
Построить дерево рекурсивных вызовов.

2)     (70) Ниже записаны две рекурсивные процедуры, F и G:
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
if n > 0 then
  G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then begin
   writeln('*');
   F(n - 2);
end;
end;
Сколько символов «звёздочка» будет напечатано на экране при выполнении
вызова F(13)? Построить дерево рекурсивных вызовов.

Группа №2

Даны координаты трех точек. Найти площадь треугольника, вершины которого находятся в этих точках. Составить процедуру вычисления длин сторон треугольника.


Для исправления контрольного д.з.
 

Домашнее задание №6

Для двух групп. Статус контрольной домашней работы. Присылаем в дневнике.
Миша увлекается компьютерной графикой. Он хочет нарисовать на экране квадрат размером * пикселей разными цветами.
Монитор Миши поддерживает 26 цветов. Для обозначения цветов будем использовать строчные буквы латинского алфавита от «a» до «z». Миша хочет нарисовать каждый пиксель некоторым цветом, который зависит от расстояния от пикселя до ближайшей диагонали.

А именно, клетки на диагоналях квадрата он хочет нарисовать цветом «a», соседние с ними клетки — цветом «b», соседние с ними, но еще не покрашенные — цветом «c», и так далее. После цвета «z» Миша снова переходит к цвету «a».

По заданному выведите картинку, которая получится у Миши.
Формат входных данных
Входные данные содержат одно целое число (< < 100).
Формат выходных данных
Выведите строк по символов — картинку, которая получится у Миши.
Для n=5
abcba
babab
cbabc
babab
abcba


Домашнее задание №5

Группа №1
Написать программу. (Присылаем в дневнике в электронном виде.). Статус контрольной домашней работы

Миша увлекается компьютерной графикой. Он хочет нарисовать на экране квадрат размером * пикселей разными цветами.
Монитор Миши поддерживает 26 цветов. Для обозначения цветов будем использовать строчные буквы латинского алфавита от «a» до «z». Миша хочет нарисовать каждый пиксель некоторым цветом, который зависит от расстояния от пикселя до ближайшей диагонали.

А именно, клетки на диагоналях квадрата он хочет нарисовать цветом «a», соседние с ними клетки — цветом «b», соседние с ними, но еще не покрашенные — цветом «c», и так далее. После цвета «z» Миша снова переходит к цвету «a».

По заданному выведите картинку, которая получится у Миши.
Формат входных данных
Входные данные содержат одно целое число (< < 100).
Формат выходных данных
Выведите строк по символов — картинку, которая получится у Миши.
Для n=5
abcba
babab
cbabc
babab
abcba

Группа №2

Не увидела в дневнике вашего предыдущего д.з. задача №1 и №3. Жду...Присылаем мне в дневнике.
1. Дана матрица размера M × N. Продублировать столбец матрицы, содержащий ее минимальный элемент.



2. Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.



3. Дана матрица размера M × N. Для каждого столбца матрицы найти произведение его элементов.

Домашнее задание №4

Группа №1
Готовимся к проверочной работе по теме "Массивы"


1)      Дан массив, содержащий неотрицательные целые числа, не превышающие 10 000. Необходимо вывести:
– минимальный чётный элемент, если количество чётных элементов не больше, чем нечётных;
– минимальный нечётный элемент, если количество нечётных элементов меньше, чем чётных.
Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 9, 8, ответом будет 9 – наименьшее нечётное число, поскольку нечётных чисел в этом массиве меньше.
Количество переменных менять нельзя!!!

Паскаль
Алгоритмический язык
const N=2000;
var a: array [1..N] of integer;
    i, j, k, m: longint;
begin
  for i:=1 to N do
    readln(a[i]);
end.
алг
нач
  цел N=2000
  целтаб a[1:N]
  цел i, j, k, m
  нц для i от 1 до N
    ввод a[i]
  кц
кон


Группа №2
1 и 3 задачи из индивидуальной карточки. Присылаем в дневнике.


Домашнее задание №3


Группа №1
1)     (73) Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных  результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если элементов, заканчивающихся на цифру 3, меньше, чем элементов, заканчивающихся на цифру 5, все элементы, заканчивающие на цифру 3 заменяются на минимальный из них. Иначе все элементы, заканчивающиеся на цифру 5, заменяются на максимальный из них. Например, для исходного массива из восьми элементов:
15 13 3 27 145 5 93 65
программа должна вывести (по одному числу в строке) числа

15 3 3 27 145 5 3 65

Группа №2

1) Дана матрица размера M × N. Найти максимальный среди минимальных элементов ее строк.

Домашнее задание №2
Группа №1
1. Дан целочисленный массив размера N. Найти максимальное количество его одинаковых элементов.

2. Дана матрица размера M × N. Удалить ее первый столбец, содержащий только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

3. Дана целочисленная матрица размера M × N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0.


Группа №2

1. Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания.

2. Дан целочисленный массив размера N. Найти максимальное количество его одинаковых элементов.


Домашнее задание №1

Группа  №1


1. Дана матрица размера M × N. Найти минимальный среди максимальных элементов ее столбцов.

2. Дана целочисленная матрица размера M × N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0.

Группа №2

1. Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: A2, A4, A6, … .

2. Дан массив размера N. Найти номер его последнего локального максимума (локальный максимум — это элемент, который больше любого из своих соседей).

        

Комментариев нет:

Отправить комментарий