|
|
(7 промежуточных версий не показаны.) | Строка 1: |
Строка 1: |
| + | <metakeywords>Информатика, класc, урок, на тему, 9 класc, Линейные вычислительные алгоритмы, таблицы, программирование, блок-схемы, компьютер</metakeywords> |
| + | |
| '''[[Гипермаркет знаний - первый в мире!|Гипермаркет знаний]]>>[[Информатика|Информатика]]>>[[Информатика 9 класс|Информатика 9 класс]]>>Информатика: Линейные вычислительные алгоритмы''' | | '''[[Гипермаркет знаний - первый в мире!|Гипермаркет знаний]]>>[[Информатика|Информатика]]>>[[Информатика 9 класс|Информатика 9 класс]]>>Информатика: Линейные вычислительные алгоритмы''' |
| | | |
- | <br> | + | <br> <br> |
| + | |
| + | '''§ 34. Линейные вычислительные алгоритмы'''<br> |
| + | |
| + | |
| + | |
| + | Основные темы параграфа:<br> |
| + | |
| + | ♦ присваивание; свойства присваивания;<br>♦ обмен значениями двух переменных;<br>♦ описание линейного вычислительного алгоритма.<br> |
| + | |
| + | |
| + | |
| + | '''Присваивание; свойства присваивания'''<br> |
| + | |
| + | Поскольку присваивание является важнейшей операцией в '''[[Вспомогательные алгоритмы и подпрограммы|алгоритмах]]''', работающих с величинами, то поговорим о ней более подробно.<br> |
| + | |
| + | ''Переменная величина получает значение в результате присваивания.''<br> |
| + | |
| + | Присваивание производится [http://xvatit.com/it/games/ '''компьютером'''] при выполнении одной из двух команд из представленной выше системы: команды присваивания или команды ввода.<br> |
| + | |
| + | Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две переменные а и b. В приведенной ниже '''[[Конспект уроку до теми «Робота з таблицями»|таблице]]''' против каждой команды указываются значения переменных, которые устанавливаются после ее выполнения. Такая таблица называется трассировочной таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в порядке их записи в алгоритме. <br> |
| + | |
| + | {| width="250" cellspacing="1" cellpadding="1" border="1" |
| + | |- |
| + | | Команда<br> |
| + | | a<br> |
| + | | b<br> |
| + | |- |
| + | | a:= 1<br> |
| + | | 1 <br> |
| + | | — |
| + | |- |
| + | | b:= 2 x a<br> |
| + | | 1<br> |
| + | | 2<br> |
| + | |- |
| + | | a:= b<br> |
| + | | 2<br> |
| + | | 2<br> |
| + | |- |
| + | | b:= a + b<br> |
| + | | 2<br> |
| + | | 4<br> |
| + | |} |
| + | |
| + | Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают переменные а и b, соответственно равны 2 и 4. |
| + | |
| + | Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства: |
| + | |
| + | 1) пока переменной не присвоена значения, она остается неопределенной;<br>2) значение, присвоенное переменной, сохраняется вплоть до выполнения следующего присваивания этой переменной нового значения;<br>3) новое значение, присвоенное переменной, заменяет ее предыдущее значение. |
| + | |
| + | |
| + | |
| + | '''Обмен значениями двух переменных''' |
| + | |
| + | Рассмотрим еще один очень полезный алгоритм, с которым при '''[[Что такое программирование|программировании]]''' часто приходится встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Например, если первоначально было: X= 1; Y = 2, то после обмена должно стать: X = 2, Y = 1. |
| + | |
| + | Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом — молоко, во втором — вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей: |
| + | |
| + | 1) перелить из 1-го в 3-й;<br>2) перелить из 2-го в 1-й;<br>3) перелить из 3-го во 2-й. |
| + | |
| + | Цель достигнута! |
| + | |
| + | По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная, Назовем ее Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные значения 1 и 2 для переменных X и Y задаются вводом): |
| + | |
| + | {| cellspacing="1" cellpadding="1" border="1" style="width: 250px; height: 129px;" |
| + | |- |
| + | | Команда |
| + | | X |
| + | | Y |
| + | | Z |
| + | |- |
| + | | ввод X, Y |
| + | | 1 |
| + | | 2 |
| + | | - |
| + | |- |
| + | | Z:=X |
| + | | 1 |
| + | | 2 |
| + | | 1 |
| + | |- |
| + | | X:=Y |
| + | | 2 |
| + | | 2 |
| + | | 1 |
| + | |- |
| + | | Y:=Z |
| + | | 2 |
| + | | 1 |
| + | | 1 |
| + | |- |
| + | | вывод X, Y |
| + | | 2 |
| + | | 1 |
| + | | 1 |
| + | |} |
| + | |
| + | Действительно, в итоге переменные X и Y поменялись значениями. На экран будут выведены значения X и Y в таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом. |
| + | |
| + | Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пустым. В результате же присваивания (Х:=Y) переменная, стоящая справа (Y), сохраняет свое значение. |
| + | |
| + | |
| + | |
| + | '''Описание линейного вычислительного алгоритма''' |
| + | |
| + | И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны две простые дроби; получить дробь, являющуюся результатов их деления. |
| + | |
| + | В школьном учебнике математики правила деления обыкновенных дробей описаны так: |
| + | |
| + | 1. Числитель первой дроби умножить на знаменатель второй.<br>2. Знаменатель первой дроби умножить на числитель второй.<br>3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем — результат выполнения пункта 2. |
| + | |
| + | В алгебраической форме это выглядит следующим образом: |
| + | |
| + | [[Image:Informatika 9 198.jpg|240px|Алгебраическая форма дроби]] |
| + | |
| + | Теперь построим алгоритм деления дробей для '''[[Основные характеристики персонального компьютера|компьютера]]'''. В этом алгоритме сохраним те же обозначения для переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные переменные а, b, с, d. Результатом — также целые величины m и n. |
| + | |
| + | Ниже алгоритм представлен в двух формах; в виде '''[[Цикли. Блок–схеми алгоритмів з циклами|блок-схемы]]''' и на Алгоритмическом языке (АЯ). |
| + | |
| + | Раньше прямоугольник в схемах алгоритмов управления мы называли блоком простой команды. Для вычислительных алгоритмов такой простой командой является команда присваивания. Прямоугольник будем называть блоком присваивания, или вычислительным блоком. В форме параллелограмма рисуется блок ввода/вывода. Полученный алгоритм имеет линейную структуру (рис. 6.1). |
| + | |
| + | [[Image:Informatika 9 199z.jpg|420px|Алгоритм деления дроби]]<br> |
| + | |
| + | В алгоритме на АЯ строка, стоящая после заголовка алгоритма, называется описанием переменных. Служебное слово цел означает целый тип. Величины этого типа могут иметь только целочисленные значения. Описание переменных имеет вид: |
| + | |
| + | <тип переменных> <список переменных> |
| + | |
| + | Список переменных включает все переменные величины данного типа, входящие в алгоритм. |
| + | |
| + | В блок-схемах типы переменных не указываются, но подразумеваются. Запись алгоритма на АЯ ближе по форме к языкам [http://xvatit.com/it/fishki-ot-itshki/ '''программирования'''], чем блок-схемы. |
| + | |
| + | |
| + | |
| + | '''Коротко о главном''' |
| + | |
| + | Основные свойства присваивания: |
| + | |
| + | • значение переменной не определено, если ей не присвоено никакого значения;<br>• новое значение, присваиваемое переменной, заменяет ее старое значение;<br>• присвоенное переменной значение сохраняется в ней вплоть до нового присваивания. |
| + | |
| + | Обмен значениями двух переменных производится через третью дополнительную переменную. |
| + | |
| + | Трассировочная таблица используется для «ручного» исполнения алгоритма с целью его проверки. |
| + | |
| + | В алгоритмах на АЯ указываются типы всех переменных. Такое указание называется описанием переменных. |
| + | |
| + | Числовые величины, принимающие только целочисленные значения, описываются с помощью служебного слова цел (целый). |
| + | |
| + | |
| + | |
| + | '''Вопросы и задания''' |
| + | |
| + | ''1. Из каких команд составляется линейный вычислительный алгоритм?<br>2. Что такое трассировка? Как она производится?<br>3. В каком случае значение переменной считается неопределенным?<br>4. Что происходит с предыдущим значением переменной после присваивания ей нового значения?<br>5. Как вы думаете, можно ли использовать в арифметическом выражении оператора присваивания неопределенную переменную? К каким последствиям это может привести?<br>6. Напишите на АЯ алгоритм сложения двух простых дробей (без сокращения дроби).<br>7. Напишите на АЯ алгоритм вычисления у по формуле'' |
| + | |
| + | ''у = (1 - х<sup>2</sup> + 5х<sup>4</sup>)<sup>2</sup>,'' |
| + | |
| + | ''где х — заданное целое число. Учтите следующие ограничения:<br>1) в арифметических выражениях можно использовать только операций сложения, вычитания и умножений; 2) выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х = 2.<br>8. Пользуясь ограничениями предыдущей задачи, напишите наиболее короткие алгоритмы вычисления выражений:'' |
| + | |
| + | ''y = х<sup>8</sup>; y = x<sup>10</sup>; y = х<sup>15</sup>; у = х<sup>19</sup>.'' |
| + | |
| + | ''Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку алгоритмов.<br>9. Запишите алгоритм циклического обмена значениями трех переменных А, В, С. Схема циклического обмена:'' |
| + | |
| + | [[Image:Informatika 9 200.jpg|120px|Схема циклического обмена]]<br> |
| + | |
| + | ''Например, если до обмена было: А = 1, В = 2, С = 3, то после обмена должно стать: А = 3, В = 1, С=2. Выполните трассировку.'' |
| + | |
| | | |
- | <metakeywords>Информатика, класc, урок, на тему, 9 класc, Линейные вычислительные алгоритмы.</metakeywords>ЛИНЕЙНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ
| |
| | | |
| <br> | | <br> |
| | | |
- | § 34 Линейные вычислительные алгоритмы<br><br>Основные темы параграфа:<br><br>присваивание; <br>свойства присваивания;<br>обмен значениями двух переменных;<br>описание линейного вычислительного алгоритма.<br>Присваивание; свойства присваивания<br>Поскольку присваивание является важнейшей операцией в алгоритмах, работающих с величинами, то поговорим о ней более подробно.<br>Переменная величина получает значение в результате присваивания.<br>Присваивание производится компьютером при выполнении одной из двух команд из представленной выше системы: команды присваивания или команды ввода.<br>Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две переменные а и b. В приведенной ниже таблице против каждой команды указываются значения переменных, которые устанавливаются после ее выполнения. Такая таблица называется трассировочной таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в порядке их записи в алгоритме. <br> <br>Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают переменные а и b, соответственно равны 2 и 4.<br><br>Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства:<br>1) пока переменной не присвоена значения, она остается неопределенной;<br>2) значение, присвоенное переменной, сохраняется вплоть до выполнения следующего присваивания этой переменной нового значения;<br>3) новое значение, присвоенное переменной, заменяет ее предыдущее значение.<br>Обмен значениями двух переменных<br>Рассмотрим еще один очень полезный алгоритм, с которым при программировании часто приходится встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Например, если первоначально было: X= 1; Y = 2, то после обмена должно стать: X = 2, Y = 1.<br>Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом — молоко, во втором — вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей:<br>1) перелить из 1-го в 3-й;<br>2) перелить из 2-го в 1-й;<br>3) перелить из 3-го во 2-й.<br>Цель достигнута!<br>По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная, Назовем ее Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные значения 1 и 2 для переменных X и Y задаются вводом):<br><br><br>Действительно, в итоге переменные X и Y поменялись значениями. На экран будут выведены значения X и Y в таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом.<br>Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пустым. В результате же присваивания (Х:=Y) переменная, стоящая справа (Y), сохраняет свое значение.<br>Описание линейного вычислительного алгоритма<br>И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны две простые дроби; получить дробь, являющуюся результатов их деления.<br>В школьном учебнике математики правила деления обыкновенных дробей описаны так:<br>1. Числитель первой дроби умножить на знаменатель второй.<br>2. Знаменатель первой дроби умножить на числитель второй.<br>3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем — результат выполнения пункта 2.<br>В алгебраической форме это выглядит следующим образом:<br><br>Теперь построим алгоритм деления дробей для компьютера. В этом алгоритме сохраним те же обозначения для переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные переменные а, b, с, d. Результатом — также целые величины m и n.<br>Ниже алгоритм представлен в двух формах; в виде блок-схемы и на Алгоритмическом языке (АЯ).<br>Раньше прямоугольник в схемах алгоритмов управления мы называли блоком простой команды. Для вычислительных алгоритмов такой простой командой является команда присваивания. Прямоугольник будем называть блоком присваивания, или вычислительным блоком. В форме параллелограмма рисуется блок ввода/вывода. Полученный алгоритм имеет линейную структуру (рис. 6.1).<br><br><br>В алгоритме на АЯ строка, стоящая после заголовка алгоритма, называется описанием переменных. Служебное слово цел означает целый тип. Величины этого типа могут иметь только целочисленные значения. Описание переменных имеет вид:<br><тип переменных> <список переменных><br>Список переменных включает все переменные величины данного типа, входящие в алгоритм.<br>В блок-схемах типы переменных не указываются, но подразумеваются. Запись алгоритма на АЯ ближе по форме к языкам программирования, чем блок-схемы.<br>Коротко о главном<br>Основные свойства присваивания:<br>значение переменной не определено, если ей не присвоено никакого значения;<br>новое значение, присваиваемое переменной, заменяет ее старое значение;<br>присвоенное переменной значение сохраняется в ней вплоть до нового присваивания.<br><br>Обмен значениями двух переменных производится через третью дополнительную переменную.<br>Трассировочная таблица используется для «ручного» исполнения алгоритма с целью его проверки.<br>В алгоритмах на АЯ указываются типы всех переменных. Такое указание называется описанием переменных.<br><br><br>Числовые величины, принимающие только целочисленные значения, описываются с помощью служебного слова цел (целый).<br>Вопросы и задания<br>1. Из каких команд составляется линейный вычислительный алгоритм?<br>2. Что такое трассировка? Как она производится?<br>3. В каком случае значение переменной считается неопределенным?<br>4. Что происходит с предыдущим значением переменной после присваивания ей нового значения?<br>5. Как вы думаете, можно ли использовать в арифметическом выражении оператора присваивания неопределенную переменную? К каким последствиям это может привести?<br>6. Напишите на АЯ алгоритм сложения двух простых дробей (без сокращения дроби).<br>7. Напишите на АЯ алгоритм вычисления у по формуле<br>у = (1 - х2 + 5х4)2,<br>где х — заданное целое число. Учтите следующие ограничения: <br><br>1) в арифметических выражениях можно использовать только операций сложения, вычитания и умножений; 2) выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х = 2.<br>8. Пользуясь ограничениями предыдущей задачи, напишите наиболее короткие алгоритмы вычисления выражений: <br>y = х8; y = x10; y = х 15; у = х19.<br>Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку алгоритмов.<br>9. Запишите алгоритм циклического обмена значениями трех переменных А, В, С. Схема циклического обмена: <br>Например, если до обмена было: А = 1, В = 2, С = 3, то после обмена должно стать: А = 3, В = 1, С=2. Выполните трассировку.<br><br> ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов''
| + | ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов'' |
| | | |
- | <br> <sub>Основы информатики, подборка рефератов к урокам информатики, скачать рефераты, уроки информатики 9 класс онлайн, домашняя работа</sub> | + | <br> <sub>Основы информатики, подборка рефератов к урокам [[Інформатика|информатики]], [[Гипермаркет знаний - первый в мире!|скачать]] рефераты, уроки [[Информатика 9 класс|информатики 9 класс]] онлайн, домашняя работа</sub> |
| | | |
| <br> | | <br> |
| | | |
| '''<u>Содержание урока</u>''' | | '''<u>Содержание урока</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] конспект урока ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] конспект урока ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] опорный каркас | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] опорный каркас |
- | [[Image:1236084776 kr.jpg|10x10px]] презентация урока | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] презентация урока |
- | [[Image:1236084776 kr.jpg|10x10px]] акселеративные методы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] акселеративные методы |
- | [[Image:1236084776 kr.jpg|10x10px]] интерактивные технологии | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] интерактивные технологии |
| | | |
| '''<u>Практика</u>''' | | '''<u>Практика</u>''' |
- | [[Image:1236084776 kr.jpg|10x10px]] задачи и упражнения | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] задачи и упражнения |
- | [[Image:1236084776 kr.jpg|10x10px]] самопроверка | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] самопроверка |
- | [[Image:1236084776 kr.jpg|10x10px]] практикумы, тренинги, кейсы, квесты | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] практикумы, тренинги, кейсы, квесты |
- | [[Image:1236084776 kr.jpg|10x10px]] домашние задания | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] домашние задания |
- | [[Image:1236084776 kr.jpg|10x10px]] дискуссионные вопросы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] дискуссионные вопросы |
- | [[Image:1236084776 kr.jpg|10x10px]] риторические вопросы от учеников | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] риторические вопросы от учеников |
- |
| + | |
| '''<u>Иллюстрации</u>''' | | '''<u>Иллюстрации</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] аудио-, видеоклипы и мультимедиа ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] аудио-, видеоклипы и мультимедиа ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] фотографии, картинки | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] фотографии, картинки |
- | [[Image:1236084776 kr.jpg|10x10px]] графики, таблицы, схемы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] графики, таблицы, схемы |
- | [[Image:1236084776 kr.jpg|10x10px]] юмор, анекдоты, приколы, комиксы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] юмор, анекдоты, приколы, комиксы |
- | [[Image:1236084776 kr.jpg|10x10px]] притчи, поговорки, кроссворды, цитаты | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] притчи, поговорки, кроссворды, цитаты |
| | | |
| '''<u>Дополнения</u>''' | | '''<u>Дополнения</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] рефераты''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] рефераты''' |
- | [[Image:1236084776 kr.jpg|10x10px]] статьи | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] статьи |
- | [[Image:1236084776 kr.jpg|10x10px]] фишки для любознательных | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] фишки для любознательных |
- | [[Image:1236084776 kr.jpg|10x10px]] шпаргалки | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] шпаргалки |
- | [[Image:1236084776 kr.jpg|10x10px]] учебники основные и дополнительные | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] учебники основные и дополнительные |
- | [[Image:1236084776 kr.jpg|10x10px]] словарь терминов | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] словарь терминов |
- | [[Image:1236084776 kr.jpg|10x10px]] прочие | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] прочие |
| | | |
| <u>Совершенствование учебников и уроков | | <u>Совершенствование учебников и уроков |
- | </u>'''[[Image:1236084776 kr.jpg|10x10px]] исправление ошибок в учебнике''' | + | </u>'''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] исправление ошибок в учебнике''' |
- | [[Image:1236084776 kr.jpg|10x10px]] обновление фрагмента в учебнике | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] обновление фрагмента в учебнике |
- | [[Image:1236084776 kr.jpg|10x10px]] элементы новаторства на уроке | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] элементы новаторства на уроке |
- | [[Image:1236084776 kr.jpg|10x10px]] замена устаревших знаний новыми | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] замена устаревших знаний новыми |
- |
| + | |
| '''<u>Только для учителей</u>''' | | '''<u>Только для учителей</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] идеальные уроки ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] идеальные уроки ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] календарный план на год | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] календарный план на год |
- | [[Image:1236084776 kr.jpg|10x10px]] методические рекомендации | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] методические рекомендации |
- | [[Image:1236084776 kr.jpg|10x10px]] программы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] программы |
- | [[Image:1236084776 kr.jpg|10x10px]] обсуждения | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] обсуждения |
| | | |
| | | |
Текущая версия на 18:03, 3 июля 2012
Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Линейные вычислительные алгоритмы
§ 34. Линейные вычислительные алгоритмы
Основные темы параграфа:
♦ присваивание; свойства присваивания; ♦ обмен значениями двух переменных; ♦ описание линейного вычислительного алгоритма.
Присваивание; свойства присваивания
Поскольку присваивание является важнейшей операцией в алгоритмах, работающих с величинами, то поговорим о ней более подробно.
Переменная величина получает значение в результате присваивания.
Присваивание производится компьютером при выполнении одной из двух команд из представленной выше системы: команды присваивания или команды ввода.
Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две переменные а и b. В приведенной ниже таблице против каждой команды указываются значения переменных, которые устанавливаются после ее выполнения. Такая таблица называется трассировочной таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в порядке их записи в алгоритме.
Команда
| a
| b
|
a:= 1
| 1
| —
|
b:= 2 x a
| 1
| 2
|
a:= b
| 2
| 2
|
b:= a + b
| 2
| 4
|
Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают переменные а и b, соответственно равны 2 и 4.
Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства:
1) пока переменной не присвоена значения, она остается неопределенной; 2) значение, присвоенное переменной, сохраняется вплоть до выполнения следующего присваивания этой переменной нового значения; 3) новое значение, присвоенное переменной, заменяет ее предыдущее значение.
Обмен значениями двух переменных
Рассмотрим еще один очень полезный алгоритм, с которым при программировании часто приходится встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Например, если первоначально было: X= 1; Y = 2, то после обмена должно стать: X = 2, Y = 1.
Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом — молоко, во втором — вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей:
1) перелить из 1-го в 3-й; 2) перелить из 2-го в 1-й; 3) перелить из 3-го во 2-й.
Цель достигнута!
По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная, Назовем ее Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные значения 1 и 2 для переменных X и Y задаются вводом):
Команда
| X
| Y
| Z
|
ввод X, Y
| 1
| 2
| -
|
Z:=X
| 1
| 2
| 1
|
X:=Y
| 2
| 2
| 1
|
Y:=Z
| 2
| 1
| 1
|
вывод X, Y
| 2
| 1
| 1
|
Действительно, в итоге переменные X и Y поменялись значениями. На экран будут выведены значения X и Y в таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом.
Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пустым. В результате же присваивания (Х:=Y) переменная, стоящая справа (Y), сохраняет свое значение.
Описание линейного вычислительного алгоритма
И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны две простые дроби; получить дробь, являющуюся результатов их деления.
В школьном учебнике математики правила деления обыкновенных дробей описаны так:
1. Числитель первой дроби умножить на знаменатель второй. 2. Знаменатель первой дроби умножить на числитель второй. 3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем — результат выполнения пункта 2.
В алгебраической форме это выглядит следующим образом:
Теперь построим алгоритм деления дробей для компьютера. В этом алгоритме сохраним те же обозначения для переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные переменные а, b, с, d. Результатом — также целые величины m и n.
Ниже алгоритм представлен в двух формах; в виде блок-схемы и на Алгоритмическом языке (АЯ).
Раньше прямоугольник в схемах алгоритмов управления мы называли блоком простой команды. Для вычислительных алгоритмов такой простой командой является команда присваивания. Прямоугольник будем называть блоком присваивания, или вычислительным блоком. В форме параллелограмма рисуется блок ввода/вывода. Полученный алгоритм имеет линейную структуру (рис. 6.1).

В алгоритме на АЯ строка, стоящая после заголовка алгоритма, называется описанием переменных. Служебное слово цел означает целый тип. Величины этого типа могут иметь только целочисленные значения. Описание переменных имеет вид:
<тип переменных> <список переменных>
Список переменных включает все переменные величины данного типа, входящие в алгоритм.
В блок-схемах типы переменных не указываются, но подразумеваются. Запись алгоритма на АЯ ближе по форме к языкам программирования, чем блок-схемы.
Коротко о главном
Основные свойства присваивания:
• значение переменной не определено, если ей не присвоено никакого значения; • новое значение, присваиваемое переменной, заменяет ее старое значение; • присвоенное переменной значение сохраняется в ней вплоть до нового присваивания.
Обмен значениями двух переменных производится через третью дополнительную переменную.
Трассировочная таблица используется для «ручного» исполнения алгоритма с целью его проверки.
В алгоритмах на АЯ указываются типы всех переменных. Такое указание называется описанием переменных.
Числовые величины, принимающие только целочисленные значения, описываются с помощью служебного слова цел (целый).
Вопросы и задания
1. Из каких команд составляется линейный вычислительный алгоритм? 2. Что такое трассировка? Как она производится? 3. В каком случае значение переменной считается неопределенным? 4. Что происходит с предыдущим значением переменной после присваивания ей нового значения? 5. Как вы думаете, можно ли использовать в арифметическом выражении оператора присваивания неопределенную переменную? К каким последствиям это может привести? 6. Напишите на АЯ алгоритм сложения двух простых дробей (без сокращения дроби). 7. Напишите на АЯ алгоритм вычисления у по формуле
у = (1 - х2 + 5х4)2,
где х — заданное целое число. Учтите следующие ограничения: 1) в арифметических выражениях можно использовать только операций сложения, вычитания и умножений; 2) выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х = 2. 8. Пользуясь ограничениями предыдущей задачи, напишите наиболее короткие алгоритмы вычисления выражений:
y = х8; y = x10; y = х15; у = х19.
Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку алгоритмов. 9. Запишите алгоритм циклического обмена значениями трех переменных А, В, С. Схема циклического обмена:

Например, если до обмена было: А = 1, В = 2, С = 3, то после обмена должно стать: А = 3, В = 1, С=2. Выполните трассировку.
И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс Отослано читателями из интернет-сайтов
Основы информатики, подборка рефератов к урокам информатики, скачать рефераты, уроки информатики 9 класс онлайн, домашняя работа
Содержание урока
конспект урока
опорный каркас
презентация урока
акселеративные методы
интерактивные технологии
Практика
задачи и упражнения
самопроверка
практикумы, тренинги, кейсы, квесты
домашние задания
дискуссионные вопросы
риторические вопросы от учеников
Иллюстрации
аудио-, видеоклипы и мультимедиа
фотографии, картинки
графики, таблицы, схемы
юмор, анекдоты, приколы, комиксы
притчи, поговорки, кроссворды, цитаты
Дополнения
рефераты
статьи
фишки для любознательных
шпаргалки
учебники основные и дополнительные
словарь терминов
прочие
Совершенствование учебников и уроков
исправление ошибок в учебнике
обновление фрагмента в учебнике
элементы новаторства на уроке
замена устаревших знаний новыми
Только для учителей
идеальные уроки
календарный план на год
методические рекомендации
программы
обсуждения
Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|