АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Способы описания алгоритмов

Читайте также:
  1. I. Открытые способы определения поставщика.
  2. III. Способы очистки.
  3. АДАПТАЦИЯ И ОСНОВНЫЕ СПОСОБЫ ПРИСПОСОБЛЕНИЯ ЖИВЫХ ОРГАНИЗМОВ К ЭКСТРЕМАЛЬНЫМ УСЛОВИЯМ СРЕДЫ
  4. Аппроксимация теоретического описания технической системы
  5. Б) СПОСОБЫ ПЕРЕВОДА СЛОВ, ОБОЗНАЧАЮЩИХ НАЦИОНАЛЬНО-СПЕЦИФИЧЕСКИЕ РЕАЛИИ
  6. Вещества, способы их выделения
  7. Взаимосвязь мероприятий по охране труда и рентабельности работы хозяйственных субъектов. Реальные способы улучшения условий труда и его охраны без конфликтов с работодателями.
  8. Виды буксирных линий. Способы подачи и крепления буксирных канатов.
  9. Виды и способы толкования.
  10. ВИДЫ ПОГРЕШНОСТЕЙ ИЗМЕРЕНИЯ И СПОСОБЫ ИХ УЧЕТА
  11. Виды проблем и способы их решения.
  12. Власть и способы ее реализации

Традиционно в школьной информатике используются два способа описания алгоритмов: блок-схемы и учебный алгоритмический язык (УАЯ). В базовом курсе информатики необходимо использовать обе эти формы. Основное достоинство блок-схем — наглядность алгоритмической структуры. Однако это качество проявляется лишь в том случае, если изображение блок-схемы происходит стандартным способом. Основным следствием и освоения учениками структурной методики должно стать умение при построении алгоритмов «мыслить структурами». Например, исходя из условия задачи, делать следующие выводы: «Алгоритм решения данной задачи будет представлять собой два вложенных цикла, или — цикл с вложенным ветвлением, или — два последовательных цикла» и т.п. Структурно изображенные блок-схемы помогают такому видению алгоритма. Вот, например, две блок-схемы.

На первый взгляд трудно понять, что на двух этих блок-схемах изображен один и тот же алгоритм. Из схемы а четко видна его структура: цикл-пока с вложенным ветвлением. В схеме б довольно сложно усмотреть эту же структуру. Блок-схема а нарисована стандартно, блок-схема б — произвольно.

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

19.Методика преподавания темы «Алгоритмы работы с величинами» в базовом курсе инф-ки. Семакин Базовый курс. 7-9 классы1 час).Основные темы параграфа:♦ комп-р как исполнитель алг-ов; ♦величины: константы и переем-ые;♦ система команд; ♦ команда присваивания; ♦ команда ввода; ♦ команда вывода.В рез-те изуч-я уч-к д-н знать/понимать: основные св-ва алгоритма, типы алгоритм-их конструкций: следование, ветвление, цикл; понятие вспомогательного алгоритма,Формализация действия исполнителя.; уметь: • выполнять и строить простые алгоритмы; Описывать режим работы и систему команд исполнителя.Макаренко. Базовый курс. 9кл. Алгоритм работы с величинами – план целенаправленных действий по проведению вычислений при заданных начальных данных с использованием промежуточных результатов.Есть две стороны в обучении алгоритмизации:— обучение структурной методике.построения алгоритмов;— обучение методам работы с величинами.Знакомясь с программным управлением исполнителями, работающими «в обстановке», ученики осваивали методику структурного программирования. При этом понятие «величина» могло быть не затронуто вовсе. Однако с величинами ученики уже встречались в других темах базового курса: в частности, при изучении баз данных, электронных таблиц. Теперь требуется объединить навыки структурной алгоритмизации и навыки работы с величинами. ЭВМ — исполнитель алгоритмов. Обсуждение методических вопросов изучения темы «Алгоритмы работы с величинами» будем проводить в программистском аспекте. Составление любой программы для ЭВМ начинается с построения алгоритма. Например, компьютер с работающей системой программирования на Бейсике называют «Бейсик-машина»; компьютер с работающей системой программирования на Паскале называют «Паскаль-машина» и т.п. Схематически это изображено на рис. 11.5.

Входным языком такого исполнителя является язык программирования Паскаль.При изучении элементов программирования в базовом курсе необходимо продолжать ту же структурную линию, которая была заложена в алгоритмическом разделе. Поэтому при выборе языка программирования следует отдавать предпочтение языкам структурного программирования. Наиболее подходящим из них для обучения является Паскаль.Процесс программирования делится на три этапа:1) составление алгоритма решения задачи;2) составление программы на языке программирования;3) отладка и тестирование программы. Характ-ки величин. Теперь обсудим специфику понятия величины и методические проблемы раскрытия этого понятия.Компьютер работает с информацией. Информация, обрабатываемая компьютерной программой, называется данными. Величинаэто отдельный информационный объект, отдельная единица данных. Команды в компьютерной программе определяют действия, выполняемые над величинами. По отношению к программе данные делятся на исходные, результаты (окончательные данные) и промежуточные данные, которые получаются в процессе вычислений (рис. 11.6).

Напр, при решении квадратного уравнения: ах2 + bх + с = = 0, исходными данными являются коэффициенты а, b, с; результатами — корни уравнения: х1, х2; промежуточным данным — дискриминант уравнения: D = b2 — 4ас. Важнейшим понятием, которое должны усвоить ученики, является следующее: всякая величина занимает свое определенное место в памяти ЭВМ — ячейку памяти. В результате в сознании учеников должен закрепиться образ ячейки памяти, сохраняющей величину. Термин «ячейка памяти» рекомендуется употреблять и в дальнейшем для обозначения места хранения величины.У всякой величины имеются три основных характеристики: имя, значение и тип. На уровне машинных команд всякая величина идентифицируется адресом ячейки памяти, в которой она хранится, а ее значение — двоичный код в этой ячейке. В алгоритмах и языках программирования величины делятся на константы и переменные. Константа — неизменная величина и в алгоритме она представляется собственным значением, например: 15, 34.7, 'к', true и пр. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами — идентификаторами, например: X, S2, cod!5 и пр. Однако ученики должны знать, что и константа, и переменная занимают ячейку памяти, а значение этих величин определяется двоичным кодом в этой ячейке. С понятием типа данных ученики уже могли встречаться, изучая базы данных и электронные таблицы. Это понятие является фундаментальным для программирования. Поэтому в данном разделе базового курса происходит возврат к знакомому разговору о типах, но на новом уровне.В каждом языке программирования существует своя концепция типов данных, своя система типов. Однако в любой язык входит минимально-необходимый набор основных типов данных, к которому относятся следующие: целый, вещественный, логический и символьный. Типы констант определяются по контексту (т.е. по форме записи в тексте), а типы переменных устанавливаются в описании переменных.Есть еще один вариант классификации данных: классификация по структуре. Данные делятся на простые и структурированные. Для простых величин (их еще называют скалярными) справедливо утверждение: одна величина — одно значение. Для структурированных: одна величина — множество значений. К структурированным величинам относятся массивы, строки, множества и др. В разделе базового курса «Введение в программирование» структурированные величины могут не рассматриваться. Действия над величинами, определяемые алгоритмом (программой), основываются на следующей иерархии понятий: операция — выражение — команда, или оператор — система команд

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

Педагогический опыт показывает, что в большинстве случаев непонимание некоторыми учениками программирования происходит от непонимания смысла присваивания. Поэтому учителям рекомендуется обратить особое внимание на этот вопрос.Ученикам, отождествляющим присваивание с равенством, совершенно непонятна такая команда: Х:= Х+ 1. Такого математического равенства не может быть! Смысл этой команды следует объяснять так: к значению переменной X прибавляется единица и результат присваивается этой же переменной X. Иначе говоря, данная команда увеличивает значение переменной Х наединицу.Эффективным методическим средством, позволяющим достичь понимания программирования, является ручная трассировка алгоритмов, которая производится путем заполнения трассировочной таблицы. Примеры решения задач Пр1. Вместо многоточия впишите в алгоритм несколько команд присваивания, в результате чего получится алгоритм возведения в 4-ю степень введенного числа (дополнительных переменных кроме А не использовать):

ввод А... вывод А

Решение. Ввод А

А:= А*А (А2)

А:= А*А (A4)

Вывод А

20.Мет.препод темы «Элементы программирования» в базов.курсе Програм-ие ~ это раздел инф-ки, задача кот-го —разработка программ-го обесп-я ЭВМ. Разработку средств системного ПО и систем программирования принято называть системным программированием; разработку прикладных программ называют прикладным программированием. По этому принципу делят программистов на системных и прикладных, в зависимости от типа создаваемых ими программ.Существуют различные парадигмы программирования, и преподавание каждой из них имеет свои особенности. К основным парадигмам программирования отн:•процедурное программирование (Паскаль, Бейсик, Фортран, Си, Ас-семблеры);•логическое программирование (Пролог);•функциональное программирование (Лисп);•объектно-ориентированное программирование (Смолток, Си++, Делфи).Процесс изучения и практического освоения программирования можно разделить на три части:• изучение методов построения ычислительных алгоритмов;• изучение языка программирования;• изучение и практическое освоение определенной системы программи-рования. Метод-е реком-ии по изуч-ю языков прог-ия Достаточно хорошо известна методика изучения языков программирования с целью практического их освоения.Языки программирования делятся на две группы:•машинно-ориен-анные: Автокоды, Ассемблеры;• языки программирования высокого уровня (ЯПВУ)Обучение программированию должно проводиться на примерах типовых задач с постепенным усложнением структуры алгоритмов. По признаку алгоритмической структуры их можно классифицировать так:• линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;• ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трех значений; диалог с ветвлениями• циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последовательной обработкой.

Примеры решения задач Пример 1. Составить алгоритм, по которому на компьютере будет происходить следующее: в переменную S вводится возраст Саши, в переменную М вводится возраст Маши. В качестве результата на экран выводится фраза «Саша старше Маши», или «Маша старше Саши», или «Саша и Маша ровесники». Написать программу на Паскале по этому алгоритму. Решение. Алгоритм имеет структуру двух вложенных полных ветвлений. При переходе от алгоритмического языка к Паскалю следует обратить особое внимание на необходимость точного соблюдения правил синтаксиса языка: точки с запятой в конце операторов, параметров ввода и вывода в круглых скобках и пр. Program Sasha&Masha;

var S, M: real;

begin write ('Возраст Саши:');

readln(S);

write('Возраст Маши:' );

readln(М); if S > М

then write('Саша старше Маши')

else if S = М

then write('Саша и Маша ровесники')

else write('Маша старше Саши')

End.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.)