Методические рекомендации по проведению уроков в 11 классе урок Табличный процессор. Основные сведения Планируемые образовательные результаты
Скачать 1.38 Mb.
|
do Вопрос к примеру 4 на стр. 94. При d = 31 s = 186. При d = 35 s = 210; при d = 36 s = 216. Такого значения d, при котором s = 212, не существует. Вопрос к примеру 6 на стр. 96. При n = 25 получим строку: 11001. Находится двоичная запись натурального числа. Вопрос к примеру 7 на стр. 97. При условии s < 2990 n = 432; при s <= 2992 n = 434; при s <= 300 n = 0. Вопрос к примеру 8 на стр. 98. Речь идёт о формуле, которая позволяет найти число сочетаний из n объектов по k: ! )! ( ! k k n n C k n . Можно воспользоваться и формулой для числа перестановок с повторениями: . n n n n n P n ! ! ! ) , ( 2 1 2 1 Наибольшее число: 55111; наименьшее число: 11155; остальные числа: 51511, 51151, 51115, 15511, 15151, 15115, 11551, 11515. Ответы на задания к параграфу № 6. Алгоритм решает задачу поиска наибольшего из трёх чисел. Программа поиска наибольшего из четырёх чисел: var x, y, z, w, m : real; begin writeln ('Введите x, y, z, w'); readln (x, y, z, w); m:=x; if m if m if m end. № 7. Построим трассировочную таблицу второго вида. Будем считать, что контрольная точка поставлена в строке s:=s+2. Результат в КТ n s Начальные значения 1 0 1 2 2 2 4 4 3 8 6 4 16 8 5 32 10 Ответ: n = 32. 41 № 8. Построим трассировочную таблицу второго вида. Будем считать, что контрольная точка поставлена в строке s:=s+2*i-j. Результат в КТ i j s Начальные значения – – 0 1 1 1 1 2 2 1 3 3 0 4 4 –2 5 2 2 0 6 3 1 7 4 1 8 3 3 4 9 4 6 Ответ: s = 6. № 9. При каждом выполнении тела цикла значение переменной s уменьшается на 2. Для выхода из цикла оно должно уменьшиться на 902 (до 98); это будет сделано за n = 451 раз. № 10. 8888, 1008. Всего таких чисел 2248. Посчитать их можно так: всего четырёхзначных чисел без 9 (8 – самая большая цифра): 8 9 9 9 = 5832. Из них без 8: 7 8 8 8 = 3584. Следовательно, четырёхзначных чисел, в записи которых есть цифра 8, но нет цифры 9 будет 2248. Более сильным ученикам можно предложить организовать подсчёт таких чисел с помощью программы: var d1, d2, d3, d4, k: integer; begin k:=0; for d1:=1 to 8 do for d2:=0 to 8 do for d3:=0 to 8 do for d4:=0 to 8 do if (d1=8) or (d2=8) or (d3=8) or (d4=8) then k:=k+1; write(k) end. Кроме того, можно предложить ученикам прокомментировать следующий способ решения этой задачи: 42 № 11. Program N_11; var i: integer; begin for i:=100 to 998 do if i mod 2=0 then write (i:5) end. Рекомендуется обсудить с учащимися, как можно ускорить работу этой программы. Самое маленькое чётное трёхзначное число — 100, самое большое — 998, значит можно организовать цикл от 50 до 499 и сразу получать те числа, которые являются чётными, при этом избежав проверки на чётность в теле цикла. Быстродействие программы увеличивается в два раза. Program N_11; var i: integer; begin for i:=50 to 499 do write (i*2:5) end. № 12. Program N_12; var i, n, s: integer; begin s := 0; writeln ('Введите n'); readln (n); for i := 1 to n do s:=s+i*i; write (s:5) end. № 13. Program N_13; var n, x: integer; flag: boolean; begin writeln ('Введите цифру n'); readln (n); writeln ('Введите число x'); readln (x); flag := false; while x>0 do begin if x mod 10 = n then flag := true; x:=x div 10 end; if flag then write ('Да') else write ('Нет') end. 43 № 14. Приводим достаточно громоздкое, но доступное большинству учащихся решение. С оператором CASE решение было бы изящней. Можно также ввести дополнительную переменную. Program N_14; var n: integer; nt: string; begin writeln ('Введите число n'); readln (n); nt:=''; while n>0 do begin if n mod 3 = 0 then nt := '0' + nt; if n mod 3 = 1 then nt := '1' + nt; if n mod 3 = 2 then nt := '2' + nt; n:=n div 3 end; write (nt) end. Вариант решения с процедурой str: Program N_14; var n: integer; nt, c: string; begin writeln('Введите число n'); readln (n); nt:=''; while n>0 do begin str(n mod 3,c); nt:=c+nt; n:=n div 3 end; write (nt) end. № 15. Program N_15_1; var x, y: real; begin writeln('Введите x, y'); readln(x, y); if (x*x+y*y>=9) (abs(x)<=3) and (abs(y)<=3) then writeln('Да') else writeln('Нет'); end. Program N_15_2; var x, y: real; begin writeln('Введите x, y'); 44 readln (x, y); if ((x*x+y*y<=9) and (x*x+y*y>=4) and (y>=0) and (x<=0)) or ((x*x+y*y<=4) and (y<=0) and (x>=0)) then writeln('Да') else writeln('Нет'); end. № 16. Program N_16; var a, b: integer; begin for a:=1 to 9 do for b:=0 to 9 do if a+b+a*b=a*10+b then write (a*10+b:3) end. Возможные варианты программ разноуровневой самостоятельной работы № 2 «Запись алгоритмов на языке программирования» Вариант 1. № 1. program r2_v1_1; var a, b, c: integer; sa: real; begin a := random(10); b := random(10); c := random(10); sa := (a+b+c)/3; writeln ('a=', a); writeln ('b=', b); writeln ('c=', c); writeln ('sa=', sa); end. № 2. program r2_v1_2; var x: integer; t: string; begin writeln ('Сколько Вам полных лет?'); readln (x); if x<6 then t:='Рано'; if x=6 then t:='1-й отряд'; if (x>=7) and (x<9) then t:='2-й отряд'; if (x>=9) and (x<11) then t:='3-й отряд'; if (x>=11) and (x<13) then t:='4-й отряд'; if (x>=13) and (x<=15) then t:='5-й отряд'; if x>15 then t := 'Поздно'; writeln (t) end. № 3. program r2_v1_3; 45 var i: integer; N: real; begin N := 40000; for i:=1 to 5 do N := N + 0.03*N; writeln (int(N)) end. Вариант 2. № 1. program r2_v2_1; var a, b, c: integer; sg: real; begin a := random(20)+1; b := random(20)+1; c := random(20)+1; sg := Exp(Ln(a*b*c)/3); writeln ('a=', a); writeln ('b=', b); writeln ('c=', c); writeln ('sg=', sg); end. Примечание. Для вычисления кубического корня в Паскале нет стандартной функции, однако, его можно вычислить, используя функции экспоненты и логарифма. Так как a x = e x ln a , а извлечение кубического корня — это возведение в степень 1/3, то для положительных чисел можно воспользоваться формулой: ) ln exp( x x 3 1 3 1 № 2. Program r2_V2_2; var a, b, c, best: real; begin writeln ('Введите a, b, c'); readln (a,b,c); best:=a; if best>b then best := b; if best>c then best := c; writeln ('Лучший результат - ', best:4:1); end. Примечание. Эта задача на поиск минимального из трёх чисел. Ученики зачастую «лучший» понимают как «максимальный». № 3. Program r2_V2_3; var V, VP, VL: real; i: integer; begin writeln ('Введите значение V'); readln (V); 46 VP := V; VL := V; for i:=1 to 10 do begin VP := VP*1.1; VL := VL*1.07; end; writeln ('VP>VL в ',VP/VL:4:2,' раз(а)') end. Вариант 3. № 1. Program r2_V3_1; var x, y:real; begin writeln('Введите значение x'); readln (x); y := x + 2.5; y := y * x; y := y - 1; y := y * x; y := y + 1; writeln('y=',y:6:3) end. № 2. Program r2_V3_2; var k, d1, d2: integer; c: string; begin writeln('Введите k'); read(k); d1 := k mod 10; d2 := k mod 100 div 10; if k<0 then writeln('Ошибка') else begin write('Мы нашли в лесу ',k,' гриб'); if (d1=1) and (d2<>1) then c := '' else if (d2<> 1 ) and (d1< 5 ) and (d1<> 1 ) and (d1<> 0 ) then c:='a' else c:='ов' end; write(c) end. № 3. Program r2_V3_3; var x, d: longint; begin readln(x); while x>0 do 47 begin d := x mod 2; write(d,' '); x := x div 2 end; end. Уроки 12–14. Структурированные типы данных. Массивы. Задачи обработки массивов. Сортировка массивов Планируемые образовательные результаты: предметные: создавать на алгоритмическом языке программы для решения типовых задач базового уровня из различных предметных областей с использованием основных алгоритмических конструкций; использовать знания о постановках задач поиска и сортировки, их роли при решении задач анализа данных; использовать навыки и опыт разработки программ в выбранной среде программирования, включая тестирование и отладку программ; использовать основные управляющие конструкции последовательного программирования и библиотеки прикладных программ; выполнять созданные программы; метапредметные: самостоятельно определять цели, задавать параметры и критерии, по которым можно определить, что цель достигнута; оценивать возможные последствия достижения поставленной цели в деятельности, собственной жизни и жизни окружающих людей, основываясь на соображениях этики и морали; ставить и формулировать собственные задачи в образовательной деятельности и жизненных ситуациях; оценивать ресурсы, в том числе время и другие нематериальные ресурсы, необходимые для достижения поставленной цели; выбирать путь достижения цели, планировать решение поставленных задач, оптимизируя материальные и нематериальные затраты; организовывать эффективный поиск ресурсов, необходимых для достижения поставленной цели; сопоставлять полученный результат деятельности с поставленной заранее целью; личностные: мировоззрение, соответствующее современному уровню развития науки, значимости науки, готовность к научно-техническому творчеству, владение достоверной информацией о передовых достижениях и открытиях мировой и отечественной науки, заинтересованность в научных знаниях об устройстве мира и общества. Решаемые учебные задачи: 1) актуализация основных сведений о массивах; 2) рассмотрение типовых задач обработки массивов; 3) рассмотрение алгоритмов сортировки массивов. Основные понятия: массив, размерность массива, описание массива, типовые задачи обработки одномерных массивов за один просмотр, сортировка массива, метод «пузырька», сортировка выбором. 48 Электронное приложение к учебнику: презентация «Структурированные типы данных. Массивы»; онлайн-тест № 8 «Структурированные типы данных. Массивы». Дополнительные интернет-ресурсы: РЭШ (https://resh.edu.ru). Урок 5. Массивы. Дополнительные печатные материалы: Информатика. 11 класс. Базовый уровень. Самостоятельные и контрольные работы / Л. Л. Босова, А. Ю. Босова, Н. А. Аквилянов. – М. : БИНОМ. Лаборатория знаний, 2019. Особенности изложения содержания темы урока При рассмотрении содержания темы рекомендуется использовать презентацию, которую можно считать электронным сборником задач. В ней разобраны девять типовых задач обработки одномерных массивов: • поиск элементов с заданными свойствами; • поиск максимумов и минимумов; • подсчёт элементов, удовлетворяющих условию; • проверка массива на упорядоченность; • удаление из массива элемента с индексом k; • вставка в массив элемента на место с индексом k; • перестановка элементов в обратном порядке; • сортировка массива методом «пузырька»; • сортировка выбором. Для учителя предусмотрена удобная система навигации по слайдам презентации. На слайде «Типовые задачи обработки одномерных массивов» (слайд 5) расположены кнопки перехода на слайды с алгоритмами решения задач. Дополнительный вызов решения пошагово демонстрирует программу на языке Паскаль. Для удобства номера примеров совпадают с номерами в учебнике (в презентации разобраны не все программы). Все слайды скрытые (за исключением алгоритмов сортировки), поэтому возврат осуществляется по специальным кнопкам. Данный способ организации информации в презентации позволяет использовать её не на одном уроке, а на серии уроков, осуществляя выбор необходимого примера. Особое внимание в презентации уделено сортировке элементов массива (слайды 20–30). Сортировка методом «пузырька» является наиболее простым способом сортировки. В презентации данный метод представлен наглядно с использованием примитивной анимации (слайды 22–27). На слайдах предусмотрена возможность прекратить демонстрацию (кнопка «Стоп» в правом нижнем углу). На первом уроке рекомендуется рассмотреть общие сведения об одномерных массивах; алгоритм последовательного поиска в неупорядоченном массиве; алгоритм поиска максимума (минимума). Соответствующие алгоритмы подробно рассмотрены в примерах 1–4 в § 8 учебника и представлены на слайдах презентации. Можно начать 49 выполнение разноуровневой самостоятельной работы № 4 «Способы заполнения и типовые приёмы обработки одномерных массивов». В качестве домашнего задания к первому уроку можно предложить вопросы и задания № 1–5 к § 8 учебника. На втором уроке можно рассмотреть алгоритм подсчёта количества элементов, удовлетворяющих некоторому условию, алгоритм проверки массива на упорядоченность, алгоритмы удаления и вставки элементов массива, алгоритм перестановки всех элементов в обратном порядке. Соответствующие алгоритмы подробно рассмотрены в примерах 5–10 в § 8 учебника и представлены на слайдах презентации. Можно продолжить выполнение разноуровневой самостоятельной работы № 4 «Способы заполнения и типовые приёмы обработки одномерных массивов». В качестве домашнего задания ко второму уроку можно предложить вопросы и задания № 6–10 к § 8 учебника. На третьем уроке рекомендуется рассмотреть алгоритмы сортировки массива. Можно завершить выполнение разноуровневой самостоятельной работы № 4 «Способы заполнения и типовые приёмы обработки одномерных массивов». В качестве домашнего задания к третьему уроку можно предложить задание № 11 к § 8 учебника, а также один из вариантов (часть заданий) самостоятельной работы № 5 «Решение задач по обработке одномерных массивов». При наличии времени в конце третьего урока можно предложить ученикам выполнить онлайн-тест № 8. В тест включено несколько заданий на работу с двумерными массивами, хотя в основном учебном материале речь о них не шла. Онлайн-тест № 8. Структурированные типы данных. Массивы 1. В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведённом ниже фрагменте программы массив сначала заполняется, а потом изменяется: for i:=0 to 10 do A[i]:=i; for i:=0 to 10 do begin A[10-i]:=A[i]; A[i]:=A[10-i]; end; Чему будут равны элементы этого массива? 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10; 0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0. 2. Элементы двухмерного массива A размером 9 9 задаются с помощью следующего фрагмента программы: for n:=1 to 9 do 50 for k:=1 to 9 do A[n,k]:=n+k+1; Сколько элементов массива A будут принимать чётные значения? 36; 40; 41; 45. 3. Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы: for i:=1 to 100 do for k:=1 to 100 do if i=k then A[i,k]:=1 else A[i,k]:=-1; Чему равна сумма элементов массива после выполнения этого фрагмента программы? 0; –9800; –9900; –10000. 4. Дан фрагмент программы, обрабатывающий двухмерный массив A размером n n. for i:=1 to n-1 do for j:=i 0>6> |