Решить задачу, записать ответ

КАРТА УРОКА

 для организации занятий с использованием

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

 

Учитель: Лавриненко А.П.

Предмет: Информатика и ИКТ

Класс: 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 (часы неаудиторной занятости, проведение индивидуальной консультации).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: