КАРТА УРОКА
для организации занятий с использованием
Дистанционных технологий обучения
Учитель: Лавриненко А.П.
Предмет: Информатика и ИКТ
Класс: 10А
Дата проведения урока: 22.05 2020 Пт
Выполненное практическое задание необходимо предоставить в любом доступном формате (скан, фотография, документ MS Word):
- обязательно присоединено файлом выполненного домашнего задания в Виртуальной школе в своем дневнике;
- можно электронным письмом на адрес a-lvr@yandex.ru;
- можно сообщением на странице в социальной сети https://vk.com/club193796786 (в контакте).
Название файла (сообщение) должно содержать название предмета, фамилию ученика, дата и класс. Например: Информатика Иванов 6042020 10А.doc
Тема урока: Решение задач части С ЕГЭ.
Цель урока:
- повторить материал, изученный по теме «Программирование и алгоритмизация».
- учиться разрабатывать и анализировать программы с использованием различных алгоритмических конструкций.
Задание на урок:
1. Повторить учебный материал предыдущих уроков по теме «Программирование и алгоритмизация».
|
|
2. Решите задачи и проанализируйте их выполнение:
Задача 1
Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:
Бейсик | Паскаль | |
FOR i= 1 TO 100 FOR k=1 TO 100 IF i > k THEN A(i,k) = i ELSE A(i,k) = -k NEXT k NEXT i | for i:=1 to 100 do for k:=1 to 100 do if i > k then A[i,k]:= i else A[i,k]:= -k; | |
Си++ | Алгоритмический язык | |
for (i=1;i<=100;i++) { for (k=1;k<=100;k++) { if (i > k) { A[i,k] = i; } else A[i,k] = -k; }} | нц для i от 1 до 100 нц для k от 1 до 100 если i > k то A[i,k]:= i иначе A[i,k]:= -k кцкц | |
Python | ||
for i in range(1, 101): for k in range(1, 101): if i > k: A[i][k] = i else: A[i][k] = -k |
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
Решение.
Из данной программы мы получим такую таблицу
-1 -2 -3 -4
2 -2 -3 -4
3 3 -3 -4
4 4 4 -4 и т. д.
Если смотреть симметричность таблицы, то относительно главной диагонали ячейки будут взаимно уничтожаться, так что останется найти только сумму главной диагонали:
-1 - 2 - 3 - 4 - 5 -...- 98 - 99 - 100 = -(1 + 99) - (2 + 98) -...- (49 + 51) - 50 - 100 =
= -100 * 49 - 150 = -4 900 - 150 = -5 050.
Ответ: -5 050
Задача 2
Элементы двухмерного массива A размером 10x10 первоначально были равны 1. Затем значения некоторых из них меняют с помощью следующего фрагмента программы:
Бейсик | Python |
FOR n = 1 TO 4 FOR k = 1 TO n+1 A(n,k) = A(n,k) - 1 A(n,k+1) = A(n,k) - 1 NEXT k NEXT n | for n in range(1, 5): for k in range(1, n+2): A[n,k] = A[n,k]-1 A[n,k+1] = A[n,k]-1 |
Паскаль | Алгоритмический язык |
for n:= 1 to 4 do for k:=1 to n+1 do begin A[n,k]:= A[n,k]-1; A[n,k+1]:= A[n,k]-1; end; | нц для n от 1 до 4 нц для k от 1 до n+1 A[n,k]:= A[n,k]-1 A[n,k+1]:= A[n,k]-1 кц кц |
Си++ | |
for (n = 1; n <= 4; n++) { for (k = 1; k <= n+1; k++) { A[n][k]= A[n][k]-1; A[n][k+1]= A[n][k]-1; } } |
Сколько элементов массива в результате будут равны 0?
|
|
Решение.
Итак, идем по программе:
от n=1 до 4 выполняется
от k=1 до n+1 выполняется
(n=1, k=1) из ячейки вычитают 1 и ячейка принимает значение 0
ячейка, которая будет следовать дальше по счетчику, принимает значение
данной минус 1, т е значение -1.
(n=1, k=2) Дальше работаем с этой ячейкой и ее значение получается -2, Так что далее получим, что только ячейки с k=1, а n:=1 to 4 будут равны 0, т е только 4 ячейки.
Ответ: 4
Задача 3
Значения элементов двумерного массива А размером 5x5 задаются с помощью вложенного цикла в представленном фрагменте программы:
Бейсик | Python |
FOR i = 1 TO 5 FOR j = 1 TO 5 A(i,j) = i*j NEXT j NEXT i | for i in range(1, 6): for j in range(1, 6): A[i,j] = i*j |
Паскаль | Алгоритмический язык |
for i:= 1 to 5 do for j:=1 to 5 do begin A[i,j]:= i*j; end; | нц для i от 1 до 5 нц для j от 1 до 5 A[i,j]:= i*j кц кц |
Си++ | |
for (i = 1; i <= 5; i++) { for (j = 1; j <= 5; j++) { A[i][j]= i*j; } } |
Сколько элементов массива будут иметь значения больше 10?
Решение.
Элемент A[3,3] = 3 * 3 = 9, 9 < 10, следовательно, нас интересуют элементы, у которых один индекс не меньше 3, а другой больше 3. Обозначим все эти элементы: A[3,4], A[3,5], A[4,3], A[4,4], A[4,5], A[5,3], A[5,4], A[5,5]. Их 8.
Ответ: 8.
Задача 4
Все элементы двумерного массива A размером 10х10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик | Python |
FOR n = 1 TO 4 FOR k = n TO 4 A(n,k) = A(n,k) + 1 A(k,n) = A(k,n) + 1 NEXT k NEXT n | for n in range(1, 5): for k in range(n, 5): A[n][k] = A[n][k] + 1 A[k][n] = A[k][n] + 1 |
Паскаль | Алгоритмический язык |
for n:=1 to 4 do for k:=n to 4 do begin A[n,k]: = A[n,k] + 1; A[k,n]: = A[k,n] + 1; end; | нц для n от 1 до 4 нц для k от n до 4 A[n,k]: = A[n,k] + 1 A[k,n]: = A[k,n] + 1 кц кц |
Си++ | |
for (n = 1; n <= 4; n++) { for (k = n; k <= 4; k++) { A[n][k] = A[n][k] + 1; A[k][n] = A[k][n] + 1; } } |
Сколько элементов массива в результате будут равны 1?
Решение:
Операция A[n,k]: = A[n,k] + 1 при заданных n и k увеличивает на 1 элементы первых четырёх строк и столбцов, имеющих номера начиная с номера строки до 4.
Операция A[k,n]: = A[k,n] + 1 при заданных n и k увеличивает на 1 элементы строк, имеющих номера начиная с номера столбца до 4.
Нарисуем изменяющийся фрагмент числовой таблицы:
1 + 1 | 1 | 1 | 1 |
1 | 1 + 1 | 1 | 1 |
1 | 1 | 1 + 1 | 1 |
1 | 1 | 1 | 1 + 1 |
Видим, что операции пересеклись на 4-х элементах, т. е. 12 элементов будут равны 1.
Ответ: 12
3. Домашнее задание:
Решить задачу, записать ответ.
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 5; 1; 6; 7; 8; 8; 7; 7; 6; 9 соответственно, т. е. A[0] = 5; A[1] = 1 и т. д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
Напоминаю. Как уже заведено, в четверг 28.05.2020 последний в этом учебном году видеоурок с использованием Zoom. Ссылку выложу в whatsapp 28 мая перед уроком. Начало в 9.00.
ПРИМЕЧАНИЕ
Нужно скачать и иметь у себя дома Электронный учебник, которым мы пользовались на уроках, и программу ABCPascal. Это все находится на Яндекс диске по ссылкам:
- учебник (занимает 3,13 Мб) https://yadi.sk/d/5YNwdkJFVqXL0w
- программа для установки ABCPascal (занимает 84,4 Мб) https://yadi.sk/d/uT4dRKgYj1JX6A
Вопросы можно задать по адресу a-lvr@yandex.ru, или в WhatsApp +7(9205646603) 24 апреля 2020 года с 9.10 до 9.40 (время фактического проведения урока 1-ая группа), с 9.50 до 10.20 (время фактического проведения урока 2-ая группа), или 29 апреля 2020 года в среду с 15.15 до 16.00 (часы неаудиторной занятости, проведение индивидуальной консультации).