Выполнение алгоритмов компьютером. 9 класс

Тема: “ Выполнение алгоритмов компьютером”.

Продолжительность: 1 урок, 45 мин.

Вид урока: комбинированный (урок-практикум, тренировочный урок).

Цели урока:

•  закрепить теоретические знания;

•  правила записи и выполнения алгоритмов;

•  рассмотреть влияние последовательности команд алгоритма на результат его выполнения;

•  научиться  составлять и выполнять алгоритмы;

•  ответить на тесты ЭТ по теме:

«Блок-схемы. Выполнение алгоритмов компьютером. Линейный алгоритм»

Задачи

Образовательные

Воспитательные

Развивающие

Закрепление приобретённых знаний и умений,

приобретение навыков при решении задач на компьютере,

систематизация полученных знаний

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

выработка умения работать в коллективе

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

Учащиеся должны

знать

уметь

Знать определение алгоритма, его свойства,

формы записи алгоритмов, виды алгоритмов. Геометрические элементы блок-схем. Языки программирования.

применять теоретические знания при выполнении и составлении линейных алгоритмов, с условиями и циклических

Оборудование:

-  Маркерная доска, компьютеры.

-  Электронная тетрадь по информатике для 9 класса.

-  Раздаточный материал.

Межпредметные связи: математика, геометрия.

НЕ нашли? Не то? Что вы ищете?

Этапы урока:

Повторение пройденного материала (10 мин) Теоретическая часть урока (20 мин) Практическая часть урока (10 мин) Д/з (2 мин) Итог урока. Выставление оценок.(3 мин)

Организационный момент

Приветствие класса. Контроль отсутствующих. Формулировка темы и цели урока.

Ход урока

1)  Вспомним определение алгоритма его свойств, формы записи алгоритмов, видов алгоритмов, определение программы, основные элементы блок-схем и их назначение, известные языки программирования

Алгоритм

Это определенная последовательность логических действий для решения поставленной задачи.

Алгоритм может быть предназначен для выполнения его человеком или компьютером.

Свойства алгоритма


Понятность - т. е исполнитель алгоритма должен знать, как его выполнять.

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

Определенность - каждый шаг алгоритма должен пониматься однозначно и не допускать произвола.

Результативность - алгоритм должен приводить к решению поставленной задачи за конечное число шагов

Массовость - алгоритм должен быть применен для класса подобных задач

Форма записи алгоритма

1.  Словесная (на естественном языке).

2.  Графическая (набор связанных между собой геометрических фигур, блок схем).

3.  Программная (тексты на языках программирования).

Виды алгоритмов

1.  Линейный - алгоритм, в котором все шаги выполняются так, как записаны, без изменения порядка следования, строго друг за другом.

2.  Разветвляющийся - алгоритм, в котором выполнение того или иного действия зависит от выполнения или не выполнения какого-либо условия.

3.  Циклический - алгоритм, в котором некоторая последовательность действий повторяется несколько раз.

Каждый исполнитель алгоритма имеет свою систему команд (набор действий) и свою среду, (набор объектов, над которыми совершаются действия), в которой, и только в ней, он работает.

Пример: Исполнитель чертежник имеет свою систему команд: вперед  (1 см), направо 90 градусов (по часовой стрелке) и свою среду - чертежную доску. Результатом исполнения следующего алгоритма будет Способ записи алгоритмарисунок.

Вперед (1 см), направо 90, вперед (1 см),

направо 90, направо 90, направо 90,

вперед (1 см), направо 90, вперед (1 см)

Программа - это форма представления алгоритма для исполнения его машиной.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

Блок-схема: решение: условияБлок-схема: подготовка: ЦиклБлок-схема: данные: Ввод/вывод данныхЭлементы блок-схем

Вычисления, присваивания

 
Блок-схема: знак завершения: Начало/конец

Языки программирования

Ассемблер, Алгол, Фортран, Паскаль, Си, Си++ и другие

2)  Теоретическая часть урока

Ал­го­ритм для кон­крет­но­го исполнителя с фик­си­ро­ван­ным набором команд

За­да­ние 6. Ис­пол­ни­тель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плос­ко­сти, остав­ляя след в виде линии. Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм:

По­вто­ри 3 раз

Сме­стить­ся на (–2, –3) Сме­стить­ся на (3, 4)

конец

Сме­стить­ся на (–4, –2)

Какую ко­ман­ду надо вы­пол­нить Чертёжнику, чтобы вер­нуть­ся в ис­ход­ную точку, из ко­то­рой он начал дви­же­ние?

1) Сме­стить­ся на (1, –1); 2) Сме­стить­ся на (–3, –1); 3) Сме­стить­ся на (–3, –3); 4) Сме­стить­ся на (–1, 1)

По­яс­не­ние.

Ко­ман­да По­вто­ри 3 раз озна­ча­ет, что ко­ман­ды Сме­стить­ся на (–2, –3) и Сме­стить­ся на (3, 4) вы­пол­нят­ся три раза. В ре­зуль­та­те Чертёжник пе­ре­ме­стит­ся на 3·(−2 + 3, −3 + 4) = (3, 3). Таким об­ра­зом, чертёжник ока­жет­ся в точке (3; 3), далее он вы­пол­нит ко­ман­ду Сме­стить­ся на (–4, –2), после чего ока­жет­ся в точке (−1; 1). Сле­до­ва­тель­но, для того, чтобы Чертёжник вер­нул­ся в ис­ход­ную точку ему не­об­хо­ди­мо вы­пол­нить ко­ман­ду Сме­стить­ся на (1, −1).

 Ответ: 1.

Ли­ней­ный алгоритм, за­пи­сан­ный на ал­го­рит­ми­че­ском языке

За­да­ние 8 

a := 2

b := 6

b := 12+a*b

a := b/4*a

По­яс­не­ние. Вы­пол­ним про­грам­му:

а := 2

b := 6

b := 12+a*b = 12 + 2 · 6 = 24

а := b/4*a = 6 · 2 = 12.

 Ответ: 12.

Про­стей­ший циклический алгоритм, за­пи­сан­ный на ал­го­рит­ми­че­ском языке

За­да­ние 9 За­пи­ши­те зна­че­ние пе­ре­ме­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей про­грам­мы.

Пас­каль Var s, k: integer;

Begin

 s:=0;

for k:=1 to 11 do

 s:=s+12;

 write(s);

End.

По­яс­не­ние.

Цикл «for k:=1 to 11 do» вы­пол­ня­ет­ся один­на­дцать раз. Каж­дый раз пе­ре­мен­ная s уве­ли­чи­ва­ет­ся на 12. По­сколь­ку из­на­чаль­но s = 0, после вы­пол­не­ния про­грам­мы по­лу­чим: s = 11 · 12 = 132.

Ответ: 132.

Цик­ли­че­ский алгоритм об­ра­бот­ки массива чисел, за­пи­сан­ный на ал­го­рит­ми­че­ском языке

За­да­ние 10 В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве уче­ни­ков в клас­сах (Dat[1] – ко­ли­че­ство уче­ни­ков в пер­вом клас­се, Dat[2] – во вто­ром и т. д.). Опре­де­ли­те, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей про­грам­мы.

Пас­каль

Var k, m: integer;

 Dat: array[1..11] of integer;

Begin

 Dat[1] := 20; Dat[2] := 25;

 Dat[3] := 19; Dat[4] := 25;

 Dat[5] := 26; Dat[6] := 22;

 Dat[7] := 24; Dat[8] := 28;

 Dat[9] := 26; Dat[10] := 21;

 Dat[11] := 27;

 m := 0;

 for k := 1 to 11 do

 if Dat[k] < 25 then

 begin

 m := m + 1

 end;

 writeln(m)

End.

По­яс­не­ние.

Про­грам­ма пред­на­зна­че­на для на­хож­де­ния ко­ли­че­ства клас­сов, в ко­то­рых менее 25 уче­ни­ков. Про­ана­ли­зи­ро­вав вход­ные дан­ные, при­хо­дим к вы­во­ду, что ответ 5.

Ответ: 5.

Про­стой линейный ал­го­ритм для фор­маль­но­го исполнителя

За­да­ние 14. У ис­пол­ни­те­ля Квад­ра­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

1. воз­ве­ди в квад­рат

2. вычти 2

Пер­вая из них воз­во­дит число на экра­не во вто­рую сте­пень, вто­рая – вы­чи­та­ет из числа 2.

Со­ставь­те ал­го­ритм по­лу­че­ния из числа 7 числа 79, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд. Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.

По­яс­не­ние.

За­ме­тим, что 81 = 92. Из числа 7 число 9 можно по­лу­чить по­сле­до­ва­тель­но­стью ко­манд 221. Сле­до­ва­тель­но, ис­ко­мый ал­го­ритм: 22112.

Ответ: 22112.

За­да­ние (Поляков тест 37, глава 8) Чему будет равна переменная «c» после выполнения этой программы:

div – деление нацело (остаток отбрасывается)

mod – остаток от деления

a := 26;
b := 6;
c := a mod b + b;

a := 28;
b := 7;
c := a div b + a;

Ответ: 8

Ответ: 32

3)  Практическая часть урока Электронная тетрадь № 000-228 Д. Тарасов

4)  Домашнее задание: стр.109-112 (читать), Вопросы 1,2 стр. 112(устно);

Ответить на вопросы теста (письменно). Поляков тесты (Глава 8, тест №37. Язык Паскаль.

Подготовиться к опросу)