Смекни!
smekni.com

Методические проблемы изучения алгоритмов работы с величинами (стр. 2 из 4)

Константа - неизменная величина и в алгоритме она представляется собственным значением, например: 15, 34.7, true и пр. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами идентификаторами, например: X, S2, соd15 и пр. Однако ученикидолжны знать, что и константа, и переменная занимают ячейку памяти, а значение этих величин определяется двоичным кодом и этой ячейке.

Теперь о типах величин -типах данных. С понятием типа данных ученики уже могли встречаться, изучая базы данных и электронныетронные таблицы. Это понятие является фундаментальным, или программирования. Поэтому в данном разделе базового курса происходит возврат к знакомому разговору о типах, но на новом уровне.

В каждом языке программирования существует своя концепция типов данных, своя система типов. Однако в любой язык минимально-необходимый набор основных типов данных, n которому относятся следующие: целый, вещественный, логическая и символьный. С типом величины связаны три ее свойства: множество допустимых значений, множество допустимых операции, форма внутреннего представления

Типы констант определяются по контексту (т.е. по форме записи » тексте), а типы переменных устанавливаются в описании.

Есть еще один вариант классификации данных: классификация по структуре. Данные делятся на простые и структурированные. Для простых величин (их еще называют скалярными) справедливо утверждение: одна величина - одно значение. Для структурированиеодна величина - множество значений. К структурированным величинам относятся массивы, строки, множества и др. В разделе базоаого курса «Введение в программирование» структурирование величины могут не рассматриваться.

Действия над величинами.

Определяемые алгоритмом (прогромный), основываются на следующей иерархии понятий: операция -выражение- команда, или оператор - система

команд (рис. 3).

Рис. 3. Средства выполнения действий над величинами

Операция -простейшее законченное действие над данными. Операции для основных типов данных перечислены в приведен­ной выше таблице.

Выражение -запись в алгоритме (программе), определяю­щий последовательность операций для вычисления некоторой ве­личины.

Команда -входящее в запись алгоритма типовое предписание исполнителю выполнить некоторое законченное действие. Команды присваивания, ввода, вывода называются простыми командами; команды цикла и ветвления - составными, или структурными, В языках программирования строго определены правила записи операций, выражений, команд. Эти правила составляют синтаксис языка. При описании алгоритма в виде блок-схемы или наалгоритмическом языке строгое соблюдение синтаксических правил не является обьязательным. Программист пишет алгоритм для себя как предварительный этап работы перед последующим составлением программы. Поэтому достаточно, чтобы смысл алгоритма был понятен его автору. В то же время в учебном процессе требуется некоторая унификация способа описания алгоритма для взаимопонимания. Однако еще раз подчеркнем, что эта унификация не так жестко формализована, как в языках программирования.

Не следует требовать от учеников строгости в описаниях алгоритмов с точностью до точки или запятой. Например, если для команда в алгоритме на АЯ записывается в отдельной строке, то совсем не обязательно в конце ставить точку с запятой. В качестве знака умножения можно употреблять привычные из математики тики точку или крестик, но можно и звездочку - характерную для языков программирования. Но следует иметь в виду, что и описаниях алгоритмов нужно ориентироваться только на тот отбор операций и команд, который имеется у исполнителя. Не нужно употреблять операции или функции, которые нет в используемом языке программирования. Например, если составляется алгоритм для дальнейшего программирования Бейсике, то в нем можно использовать операцию возведения и степень в виде: х5или х^5, потому что в языке программировании есть эта операция (пишется Х^5). Если же программа будет записываться на Паскале, в котором отсутствует операция возведении в степень, то и в алгоритме не следует ее употреблять; нужно писать так: х*х*х*х*х. Возведение в большую целую чисел, например в 20, 30-ю, следует производить циклическим умножением. Возведение в вещественную степень организуется через функции ехр и ln:ху= еуlпх=> ехр(y*ln(x)).

Узловыми понятиями в программировании являются понятии переменной и присваивания. О переменной уже говорилось выше, Процесс решения вычислительной задачи -это процесс последовательного изменения значений переменных. В итоге в определенных переменных получается искомый результат. Переменная получает определенное значение в результате присваивания. Из числа команд, входящих в представленную выше СКИ, присваивание выполняют команда ввода и команда присваивания. Есть еще трети способ присваивания - передача значений через параметры под программ. Но о нем мы здесь говорить не будем.Педагогический опыт показывает, что в большинстве случае непонимание некоторыми учениками программирования происходит от непонимания смысла присваивания. Поэтому учителям рекомендуется обратить особое внимание на этот вопрос.

Команда присваивания имеет следующий вид:

<переменная> := <выражение>

Знак «:=» надо читать как «присвоить». Это инструкция, который обозначает следующий порядок действий:

1) вычислить выражение;

2) присвоить полученное значение переменной.

Обратите внимание учеников на то, что команда выполняется право или налево. Нельзя путать команду присваивания с математическим равенством! Особенно часто путаница возникает в тех случаях, когда в качестве знака присваивания используется знак «=» учитель читает его как «равно». В некоторых языках программирования знак «=» используется как присваивание, например, в идейке и Си. В любом случае надо говорить «присвоить».

Ученикам, отождествляющим присваивание с равенством, совершенно непонятна такая команда: Х= Х+ 1. Такого математического равенства не может быть! Смысл этой команды следует, и исполнять так: к значению переменной Xприбавляется единица, и культура присваивается этой же переменной X. Иначе говоря, данная команда увеличивает значение переменной X на единицу.

Под вводом в программировании понимается процесс переда­чи данных с любого внешнего устройства в оперативную память. В рамках введения в программирование можно ограничиться узким пониманием ввода как передачи данных с устройства ввода клавиатуры в ОЗУ. В таком случае ввод выполняется компьюте­ром совместно с человеком. По команде ввода работа процессора прерывается и происходит ожидание действий пользователя; пользователь набирает на клавиатуре вводимые данные и нажи­мист на клавишу <ВВОД>; значения присваиваются вводимымпеременным.

Вернемся к вопросу об архитектуре ЭВМ - исполнителе вы­числительных алгоритмов. Как известно, одним из важнейших практических принципов в методике обучения является прин­цип наглядности. За каждым изучаемым понятием в сознании уче­ника должен закрепиться какой-то визуальный образ. Успешность поучения алгоритмизации при использовании учебных материалов объясняется именно наличием таких образов как (Черепашки, Кенгуренка и др.). Можно еще сказать так: архитектура исполнителей является наглядной, понятной ученикам. Ис­полнителем вычислительных алгоритмов (алгоритмов работы с величинами) является компьютер. Успешность освоения програм­мирования для ЭВМ во многом зависит от того, удастся ли учителю создать в сознании учеников наглядный образ архитектуры компьютера-исполнителя. Работа с реализованными в виде испол­нителей учебными компьютерами («УК Нейман», «Кроха», «Ма­лютка» и др.) помогает решению этой задачи. Составляя вычис­лительные алгоритмы, программы на языках высокого уровня, ученики в своем понимании архитектуры могут отойти от деталей ячеек памяти, типов регистров процессора и т.п. подробностей, но представление об общих ЭВМ по выполнению программы у них должно остаться. Вот как должен представлять себе ученик выполнение алгоритма сложения двух чисел (рис. 11.8):

Алг сложения

цел А, В, С

нач

Ввод А

Ввод В

С:=А+В

Рис. 11.8. Исполнение компьютером вычислительного алгоритма.

Эффективным методическим средством, позволяющим достичь, понимания программирования, является ручная трассировка алгоритмов, которая производится путем заполнения трассировочной таблицы.

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

Каждое указание алгоритма предписываетисполнителю выполнить одно конкретное законченное действие. Исполнитель не может перейти к выполнению следующей операции, не закончив полностью выполнения предыдущей. Предписания алгоритма надо выполнять последовательно одно за другим, в соответствии с указанным порядком их записи. Выполнение всех предписаний гарантирует правильное решение задачи. Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели. Разделение выполнения решения задачи па отдельные операции (выполняемые исполнителем по определенным командам) - важное свойство алгоритмов, называемое дискретностью.