Главная 1 четверть  2 четверть  3 - 4 четверть

 9 класс

ОГЭ-2024

Видеоконсультация от разработчиков ГИА (ЕГЭ и ОГЭ) ОГЭ смотреть с 27 минуты

ОГЭ:   ФИПИ       Сдам ОГЭ    Сайт К.Ю. Поляков

Дополнительный электронный учебник

Алгоритмика

 

УМК: Л.Л. Босова. Информатика

Учебные пособия

Босова Л.Л. Информатика, 9 класс

Босова Л.Л. Информатика, 8 класс

Босова Л.Л. Информатика, 7 класс

 

ОЛИМПИАДЫ и КОНКУРСЫ   Участвуй и ПОБЕЖДАЙ!!!

 

Проект Код будущего https://talent-it.ru/

 

Викторина IT-знайка 14 ноября 2023 года

Участвовать

 

20 ноября — 10 декабря 2023 Урок цифры

Облачные технологии в поисках снежного барса

 

НИТУ "МИСиС"  Олимпиада имени С.П.Угаровой 13 декабря 2023 года

Регистрация с 15:00 до 16:00  Корпус № 1 Иметь с собой паспорт

 

Административная промежуточная контрольная работа

9АВ - 11.12.2023

- 04.12.2023

- 05.12.2023

 

25.12.2023, понедельник, 9АБВ

26.12.2023, вторник, 9Г

Решение задач. Одномерные массивы целых чисел

Образец

Задача

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

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

 

const n = 10;
var
a: array[1..n] of integer;
i, sum, max, min, imax, imin, c:integer;

begin
    for i:=1 to n do    //ввод элементов массива одной строкой через пробел
        read(a[i]);
    writeln();
    for i:=1 to n do      //вывод элементов массива в одной строке
        write(a[i], ' ');
    writeln();
    max := a[1]; imax := 1;   //объявление начальных значений максимального и минимального элементов и их индексов
    min := a[1]; imin := 1;
    for i := 2 to n do begin    //поиск значений первого максимального и минимального элементов и их индексов
        if a[i] > max then begin
            max := a[i]; imax := i;
        end;
        if a[i] < min then begin
            min := a[i]; imin := i;
    end;
    end;
    if imax < imin then begin    //объявление границ индексов для поиска суммы
        c := imin; imin := imax; imax := c;
    end;
    sum := 0;    //нахождение искомой суммы
    for i := imin +1 to imax - 1 do
        sum := sum + a[i];
    writeln(sum)    //вывод результата
end.

Тестирование программы

 

Тест Массив Результат
1 1 1 1 1 2 2 1 2 1 1 3
2 3 3 4 7 2 4 1 2 4 2 6
3 4 1 2 1 2 1 4 5 5 1 10

Задачи для самостоятельного решения

В одномерном массиве из 10 целых чисел найти:

1. количество элементов массива не превосходящих своего индекса;

2. сумму элементов массива, индексы которых на 1 больше или меньше самих элементов массива;

3. произведение элементов массива больших, чем первый элемент массива;

4. сумму элементов массива c нечётнымb индексами;

5. индексы тех элементов массива, которые являются нечётными;

6. количество элементов массива, которые больше своих соседей;

7. разность между первым и а=последним элементами массива;

8. индексы максимального и минимального элементов массива;

9. среднее арифметическое элементов массива с чётными индексами;

10. количество максимальных элементов массива и их индексы.

 

 

18.12.2023, понедельник, 9АБВ

19.12.2023, вторник, 9Г

Одномерные массивы целых чисел

Презентация Смотреть

Понятие одномерного массива.

    Если дано много однотипных данных, их удобно объединить в массив.
    Массив - это упорядоченный (пронумерованный) набор однотипных данных, объединённых одним именем.

    Данные  в массиве называются элементами массива, их номера - индексами.

    В одномерном массиве каждый элемент характеризуется общим именем и одним индексом.

    Пример одномерного массива из 10 элементов.

Индекс 1 2 3 4 5 6 7 8 9 10
Элемент a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]
Значение элемента 2 7 12 3 0 1 5 2 9 8

Объявление одномерного массива.

const

n = 10;

var

a: array[1..n] of integer;

Ввод и вывод элементов массива.

способ. Ввод элементов массива оператором присваивания. Вывод по одному элементу в строке.

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива}

    a[1] := 2; a[2] := 7; a[3] := 12; a[4] := 3; a[5] := 0;

    a[6] := 1; a[7] := 5; a[8] := 2; a[9] := 9; a[10] := 11;

    {вывод элементов массива по одному в строке}   

for i := 1 to n do

        writeln(a[i]);

end.

2 способ. Ввод элементов массива по одному с клавиатуры (каждый элемент вводится в новой строке).

                Вывод всех элементов в одной строке через пробел

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива}

    for i := 1 to n do

        readln(a[i]);

    {вывод всех элементов массива в одной строке через пробел}   

for i := 1 to n do

        write(a[i], ' ');

end.

 

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

                Вывод всех элементов в одной строке через пробел

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива в одной строке через пробел}

    for i := 1 to n do read(a[i]);

    writeln();

    {вывод всех элементов массива в одной строке через пробел}   

for i := 1 to n do

        write(a[i], ' ');

end.

 

Задача.

В одномерном массиве натуральных чисел из 10 элементов найти количество элементов, кратных своему индексу.

const

n = 10;

var

a: array[1..n] of integer;

i, k:integer;

begin

    for i := 1 to n do

        readln(a[i]);

    k := 0;   

    for i := 1 to n do

        if a[i] mod i = 0 then

            k :=  k + 1;

    write(k);

end.

 

Тестирование программы.

 

Массив

Результат (k)

Тест № 1    5                      8    12   24 2
Тест № 2    0    8    9    7    7    9   21   40    4   30 6

Самостоятельная работа.

Решение задач.

В одномерном массиве натуральных чисел из 10 элементов найти:

1. Сумму элементов массива.

2. Количество чётных элементов.

3. Количество элементов последняя цифра которых равна 3.

4. Количество элементов, являющихся двузначными числами.

5. Сумму чётных элементов массива.

6. Количество нечётных элементов массива.

7. Сумму элементов массива последняя цифра которых 7 или 5.

8. Сумму элементов массива, которые являются двузначными числами.

9. Произведение нечётных элементов массива.

10. Произведение элементов массива с чётными индексами.

11. Количество чётных элементов массива с нечётными индексами.

12. Произведение элементов массива, являющихся однозначными числами.

13. Количество элементов не больших, чем первый элемент массива.

14. Количество элементов кратных 2 и 3 одновременно.

15. Вывести в одной строке индексы элементов массива, которые кратны 3.

16. Вывести по одному в строке индексы элементов массива кратных своему индексу.

17. Вывести в одной строке элементов массива, которые являются двузначными числами.

18. Вывести по одному в строке индексы нечётных элементов массива.

19. Вывести в одной строке элементы массива и их индексы, если элемент массива больше, чем его индекс.

20. Вывести в обратном порядке в одной строке элементы массива индекс которых кратен 3.

Практическая работа

Решить 2 задачи по выбору (задача 1 из №№ 1- 10задача 2 из №№ 11-20)

 

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

§2.2. Оформить решение 2 задач по выборузадача 1 из №№ 1- 10задача 2 из №№ 11-20

Онлайн-тестирование для проверки знаний

 

 

04.12.2023, понедельник, 9АВ

11.12.2023, понедельник, 9Б

12.12.2023, вторник, 9Г

Зачет. Программирование циклических вычислительных процессов

1.  Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5.

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

В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000.

Введенные числа не превышают 30 000. Программа должна вывести одно число  — максимальное число, кратное 5.

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

 Входные данные

Выходные данные

3

10

25

12

25

 2. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6.

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

В последовательности всегда имеется число, кратное 6. Количество чисел не превышает 100.

Введенные числа не превышают 300. Программа должна вывести одно число  — сумму чисел, кратных 6.

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

 Входные данные

Выходные данные

3

12

25

6

18

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

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

В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000.

Введенные числа не превышают 30 000. Программа должна вывести одно число  — минимальное число, кратное 3.

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

 Входные данные

Выходные данные

3

21

12

31

12

 4. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3.

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

В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 100.

Введенные числа не превышают 300. Программа должна вывести одно число  — сумму чисел, кратных 3.

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

 Входные данные

Выходные данные

3

12

25

9

21

 5. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число  — максимальное число, кратное 4.

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

 Входные данные

Выходные данные

3

8

16

11

16

 6. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000.

Программа должна вывести одно число  — сумму чисел, оканчивающихся на 4.

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

 Входные данные

Выходные данные

3

14

25

24

38

 7. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3.

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

В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000.

Введенные числа не превышают 30 000.

Программа должна вывести одно число  — максимальное число, оканчивающееся на 3.

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

 Входные данные

Выходные данные

3

13

23

3

23

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

§2.2 Отработать приведённые примеры

Одномерные массивы целых чисел

Презентация Смотреть

Понятие одномерного массива.

    Если дано много однотипных данных, их удобно объединить в массив.
    Массив - это упорядоченный (пронумерованный) набор однотипных данных, объединённых одним именем.

    Данные  в массиве называются элементами массива, их номера - индексами.

    В одномерном массиве каждый элемент характеризуется общим именем и одним индексом.

    Пример одномерного массива из 10 элементов.

Индекс 1 2 3 4 5 6 7 8 9 10
Элемент a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]
Значение элемента 2 7 12 3 0 1 5 2 9 8

Объявление одномерного массива.

const

n = 10;

var

a: array[1..n] of integer;

Ввод и вывод элементов массива.

способ. Ввод элементов массива оператором присваивания. Вывод по одному элементу в строке.

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива}

    a[1] := 2; a[2] := 7; a[3] := 12; a[4] := 3; a[5] := 0;

    a[6] := 1; a[7] := 5; a[8] := 2; a[9] := 9; a[10] := 11;

    {вывод элементов массива по одному в строке}   

for i := 1 to n do

        writeln(a[i]);

end.

2 способ. Ввод элементов массива по одному с клавиатуры (каждый элемент вводится в новой строке).

                Вывод всех элементов в одной строке через пробел

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива}

    for i := 1 to n do

        readln(a[i]);

    {вывод всех элементов массива в одной строке через пробел}   

for i := 1 to n do

        write(a[i], ' ');

end.

 

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

                Вывод всех элементов в одной строке через пробел

const

n = 10;

var

a: array[1..n] of integer;

i:integer;

begin

    {ввод элементов массива в одной строке через пробел}

    for i := 1 to n do read(a[i]);

    writeln();

    {вывод всех элементов массива в одной строке через пробел}   

for i := 1 to n do

        write(a[i], ' ');

end.

 

Задача.

В одномерном массиве натуральных чисел из 10 элементов найти количество элементов, кратных своему индексу.

const

n = 10;

var

a: array[1..n] of integer;

i, k:integer;

begin

    for i := 1 to n do

        readln(a[i]);

    k := 0;   

    for i := 1 to n do

        if a[i] mod i = 0 then

            k :=  k + 1;

    write(k);

end.

 

Тестирование программы.

 

Массив

Результат (k)

Тест № 1    5                      8    12   24 2
Тест № 2    0    8    9    7    7    9   21   40    4   30 6

 

 

27.11.2023, понедельник, 9АБВ

28.11.2023, вторник, 9Г

Программирование циклических вычислительных процессов

Цикл с параметром с шагом +1 (Повторять до тех пор, пока счётчик меньше или равен конечному значению)

for <начальное значение счётчика> to <конечное значение счётчика> do

    <тело цикла>;

 

Цикл с параметром с шагом -1

for <начальное значение счётчика> downto <конечное значение счётчика> do

    <тело цикла>;

 

Цикл с предусловием

while <логическое выражение> do

    <тело цикла>;

 

Цикл с постусловием (Повторять до тех пор, пока логическое выражение принимает значение ЛОЖЬ)

repeat

    <тело цикла>;

until <логическое выражение>;

 

Задача

Дано натуральных чисел, которые вводятся по одному.

Найти количество чисел, кратных 7.

Обозначим: – cчётчик, – количество чисел, k – количество чисел, кратных 7, x – вводимое число из потока данных

 Цикл for с шагом +1

var

i,n,k,x: integer;

begin

    readln(n);                           // ввод количества чисел

    k:=0;                                   // инициализация начального значения чисел, кратных 7

    for i:=1 to n do begin          // перебор вводимых чисел в цикле

        readln(x);                        // ввод очередного числа

        if x mod 7 = 0 then          // проверка введённого числа на кратность 7

            k:=k+1;                       // увеличение количества чисел, кратных 7 на 1, если логическое выражение было истинным

    end;                                   

    writeln(k);                          // вывод результата – количества чисел, кратных 7

end.

 

Цикл for с шагом -1

var

i,n,k,x: integer;

begin

    readln(n);

    k:=0;

    for i:=n downto 1 do begin

        readln(x);

        if x mod 7 = 0 then

            k:=k+1;

    end;

    writeln(k);

end.

 

Цикл while

var

i,n,k,x: integer;

begin

    readln(n);

    k:=0;

    i:=1;

    while i<=n do begin

        readln(x);

        if x mod 7 = 0 then

            k:=k+1;

        i:=i+1;

    end;

    writeln(k);

end.

 

Цикл repeat

var

i,n,k,x: integer;

begin

    readln(n);

    k:=0;

    i:=1;

    repeat

        readln(x);

        if x mod 7 = 0 then

            k:=k+1;

        i:=i+1;

    until i>n;

    writeln(k);

end.

 

Задача

Найдите количество чётных чисел, кратных 3 и 2 одновременно.

Числа вводятся по одному. Количество чисел неизвестно. Известно, что ввод чисел заканчивается при вводе числа 0.

Решение.

Заметим, что числа, кратные 3 и одновременно - это числа, кратные 6.

Поэтому вместо логического выражения (x mod 3 = 0) and (x mod 2 = 0) удобнее написать x mod 6 = 0

var x, k:integer;
begin
    k:=0;
    readln(x);
    while x <> 0 do begin
            if x mod 6 = 0 then
                    k := k +1;
            readln(x);
    end;
writeln(k);
end.
 

Практическая работа

Задачи

1. Дано натуральных чисел, которые вводятся по одному. Найти:

a) сумму чисел;

б) произведение чисел;

в) количество чётных чисел;

г) количество нечётных чисел;

д) количество чисел, последняя цифра которых равна 5;

е) количество чисел, последняя цифра которых не 3 и не 7;

ж) количество чисел, которые являются однозначными;

з) количество трёхзначных чисел, или вывести NO, если таких чисел нет;

и) количество трёхзначных чисел, разность цифр сотен и десятков которых не больше цифры единиц;

к) количество двузначных чисел, цифра десятков которых кратна цифре единиц, или вывести сообщение о том, что таких чисел нет;

л) сумму двузначных чисел и произведение однозначных, или вывести сообщение, что таких чисел нет;

м) количество двузначных чисел, цифра десятков которых чётная, а цифра единиц - нечётная, или вывести сообщение, что таких чисел нет;

н) количество трёхзначных чисел, сумма цифр которых является чётной, или вывести сообщение, что таких чисел нет.

2. Задачи из № 1, но количество вводимых чисел неизвестно. Ввод осуществляется до тех пор, пока не будет введено число 0.

Домашнее задание.

Решить 2 задачи по выбору (одну задачу из номеров а - ж, другую из номеров з - н) двумя способами: 1) количество чисел равно n; 2) количество чисел неизвестно, ввод заканчивается, когда введено число 0.

 

 

14.11.2023, вторник, 9Г

20.11.2023, понедельник, 9АБВ

Программирование разветвляющихся вычислительных процессов

Презентация. Алгоритмическая конструкция ветвление СМОТРЕТЬ

Презентация. Программирование разветвляющихся алгоритмов на языке программирования Pascal СМОТРЕТЬ

 

Полная форма ветвления

if <логическое выражение> then

        <команды 1>

else

        <команды 2>;

Сокращённая форма ветвления

if <логическое выражение> then

        <команды>;

Примечания

1. Если количество команд более одной, то они заключаются в операторные скобки

if <логическое выражение> then begin

     <команды> ;

end;

2. Перед else точка с запятой не ставится.

3. Если логическое выражение составное, то простые условия заключаются в круглые скобки. Например: (x <= 5) and (x >=0)

Примеры

1. Дано целое число. Является ли оно чётным? Вывести число и YES или NO в зависимости от результата.

var

x: integer;

begin

    readln(x);

    if x mod 2 = 0 then

        writeln(x, '- YES')

    else

        writeln(x, '- NO');

end.

№ теста Входные данные (x) Результат
1 347 347 - NO
2 48 48 YES
3 1050 1050 YES
4 101 101 - NO

2. Дано три целых числа. Могут ли они быть длинами сторон треугольника?

    Вывести YES или NO, в зависимости от результата.

var

a,b,c: integer;

begin

    readln(a,b,c);

    if (a < b+c) and (b < a+c) and (c < a+b) then

        writeln('YES')

    else

        writeln('NO');

end.

№ теста Входные данные (a,b,c) Результат
1 6, 7, 9 YES
2 5, 8, 19 NO
3 13, 13, 13 YES
4 1, 3, 5 NO

3. Дано 4 целых числа. Сколько из них не больше 5?

var

a,b,c,d, k: integer;

begin

    readln(a,b,c,d);

    k:=0;

    if a <= 5 then k:=k+1;

    if b <= 5 then k:=k+1;

    if c <= 5 then k:=k+1;

    if d <= 5 then k:=k+1;

    writeln(k);

end.

№ теста Входные данные (x) Результат
1 5, 7, 8, 12 1
2 3, 0, -2, 2 4
3 12, 9, 6, 8 0
4 3, 0, 5, 19 3

Домашнее задание.

Уметь решать все задачи.

Оформить решение 3 любых задач по выбору (номера различаются не менее, чем на 4) в рабочей тетради.

Задачи.

Примечание.

a div b - возвращает целую часть от деления а на b

a mod b - возвращает остаток от деления а на b

 

4. Даны три числа. Могут ли они быть сторонами треугольника?

5. Стороны треугольника a, b, c. Является ли треугольник равнобедренным?

6. Вводятся координаты точки A(x,y). Принадлежит ли точка прямой y = 3x -2?

7. Дано трёхзначное число. Является ли цифра сотен чётной?

8. Дано трёхзначное число. Является ли цифра десятков чётной?

9. Дано трёхзначное натуральное число. Является ли цифра единиц равной 3 или 7?

10. Дано три целых числа. Найти наименьшее из них.

11. Дано целое число. Верно ли, что двоичная запись числа оканчивается на 1?

12. Дано целое число. Верно ли, что восьмеричная запись числа оканчивается на 5?

13. Дано целое число. Верно ли, что шестнадцатеричная запись числа оканчивается на A?

14. Дано четыре целых числа. Могут ли они быть углами выпуклого четырёхугольника?

15. Дано три целых числа. Могут ли они быть углами треугольника?

16. Дано три целых числа - величины углов. Могут ли они быть углами равнобедренного  треугольника?

17. Дано трёхзначное целое число. Является число палиндромом? (234 - не является палиндромом, 545 - является палиндромом)

18. Верно ли, сумма цифр единиц и сотен трёхзначного числа меньше цифры десятков?

19. Дано четырёхзначное число. Есть ли в числе цифра 0?

20. Дано четырёхзначное число. Сколько в числе цифр, меньших цифры тысяч?

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

ОГЭ-6 Онлайн-тестирование

Уметь решать все задачи.

ОФОРМИТЬ РЕШЕНИЕ ЛЮБЫХ 3 В РАБОЧЕЙ ТЕТРАДИ.

 

07.11.2023, вторник, 9Г

13.11.2023, понедельник, 9АБВ

Решение задач на компьютере

Этапы решения задач на компьютере:

    - постановка задачи (осмысление условия задачи, выделение входных и выходных данных, связи между ими);

    - формализация (составление информационной модели с помощью формального языка);

    - составление алгоритма (строгая последовательность команд исполнителю для решения задачи);

    - составление программы (кодирование алгоритма, запись на языке программирования);

    - отладка программы (проверка работоспособности программы - тестирование программы);

    - использование программы (получение результатов для наборов входных данных).

Назначение блоков алгоритма: начало, конец, ввод-вывод, процесс (блок действий), решение (блок логического выражения или проверки условия), модификация (блок записи параметров цикла).

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

Задача. В двузначном числе поменять цифры местами.

Способ 1

var

e,d,x: integer;

begin

    readln(x);

    e:= x mod 10;

    d:= x div 10;

    x:= 10*e + d;

    writeln(x);

end.

 

Способ 2

var

x: integer;

begin

    readln(x);

    x:=10*(x mod 10) + x div 10;

    writeln(x);

end.

 

№ теста

Входные данные

(введённое число)

Выходные данные (результат)

1. 73 37
2. 12 21
3. 66 66

Задачи.

1. Вычислить площадь треугольника, если известны его основание и высота.

2. Дано трёхзначное число. Найти сумму и произведение цифр числа.

3. Одно место в купейном вагоне пассажирского поезда стоит в 1,5 раза дороже, чем место в плацкартном вагоне.

Найти выручку кассы за смену, если продано а билетов в купейные вагоны и b билетов в плацкартные вагоны.

 

Практическая работа.

Протестировать программы для следующих наборов данных:

Задача 1. Основание равно 8, высота равна 5. Ожидаемый ответ: 20

Задача 2. Дано число 125. Ожидаемые ответы: 8 и 10.

Задача 3. Цена билета в плацкартный вагон 1400. Продано 150 билетов в купейные вагоны и 210 билетов в плацкартные вагоны. Ожидаемый отсвет: 609000.

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

п. 2.1. Разработать алгоритм и программу для задачи № 12 на стр. 71

Онлайн-тестирование. Ответы записать в тетрадь.

 

23.10.2023, понедельник, 9АБВ

24.10.2023, вторник, 9Г

Контрольная работа №1. Моделирование и формализация

 

1  2  3   4   5   6   7   8