Анализ урока информатики Основные базовые алгоритмические конструкции (цикл с условием) и их реализация на языке программирования Pascal

Программирование. Основные алгоритмические конструкции

Анализ урока информатики Основные базовые алгоритмические конструкции (цикл с условием) и их реализация на языке программирования Pascal

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

Алгоритм

Слово «алгоритм» пошло от латинского algoritmi. Что же оно означает? Аутентичное слово произошло от имени математика, деятельность которого пришлась на IX век. Благодаря трактату аль-Хорезми человечество смогло познакомиться с основным типом алгоритмической конструкции и вообще с общим понятием.

Ранее была принята форма написания слова – «алгорифм». Сейчас она используется лишь в некоторых случаях.

Алгоритм – процесс, который означает изменение исходных данных, происходящее в виде дискретных шагов. С этим понятием каждый человек сталкивается в жизни, кем бы он ни был.

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

Такие алгоритмы называются бытовыми. Есть и другие типы. Рассмотрим их.

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

Основные алгоритмические конструкции разбиваются на несколько типов, о которых и будет идти речь в данном подпункте. Какие они бывают?

  1. Информационные. Такие алгоритмы работают с большим количеством данных, но сам объем процесса их обработки маленький по длине и несложный.
  2. Управляющие. Работа таких алгоритмов связана с информацией, которая предоставляется от того или иного источника. После ее получения отправляются специальные сигналы, гарантирующие работу устройств.
  3. Вычислительные. В отличие от информационных алгоритмов, описываемые работают с маленькими объемами данных, но производят большой процесс работы.

По сути, алгоритмом является точная до мельчайших подробностей инструкция. Однако не все такие данные можно назвать описываемым понятием. Чтобы понять, алгоритм инструкция или нет, следует ее проверить на наличие определенных свойств.

Все основные алгоритмические конструкции должны иметь действия, которые им «подчиняются». Рассмотрим этот вопрос более подробно.

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

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

Иными словами, для автоматизированных устройств необходимо наличие данного процесса.

Какие же свойства должны иметь основные алгоритмические конструкции для максимально точной работы?

  1. Понятность. Каждая команда должна быть максимально понятна выполняемому объекту. Вроде бы ничего легче, чем, например, нарисовать точку в центре, нет, но пока не будет прописана команда, которая позволит выполнить действие, сделать это не удастся.
  2. Результативность. Что подразумевает данное свойство? Обязательное получение результата. Алгоритм не может не привести к какому-то ответу. Из-за ошибки можно получить не тот результат, который был желаемым, но все же он будет. Более того, ответ должен быть получен через определенное число шагов.
  3. Массовость. Любой алгоритм должен быть применимым к какому-то классу задач. Между собой они могут различаться исходными данными.
  4. Определенность. Каждое действие должно иметь лишь одно значение и не давать возможности для производной расшифровки. В идеале, сколько бы программа ни запускалась, результат должен быть одним и тем же всегда.
  5. Дискретность. Алгоритм – последовательное выполнение шагов. Каждый шаг является командой, пропускать или добавлять новые нельзя.
  6. Корректность. Любой алгоритм, применимый к какому-нибудь роду задач, должен быть правильным для всех. В программировании часто появляются проблемы не в написании шагов, которое зачастую не требует много времени, а в выполнении их для различного рода вопросов. Поэтому важным этапом будет отладка алгоритма. Могут в этом помочь и основные алгоритмические конструкции, повторение которых позволит добиться лучших результатов.

Описание алгоритмов

Если говорить о способах записи алгоритмов, то следует выделить следующие:

  • Словесный. Иными словами, на языке, которым удобно изъясняться составляющему.
  • Табличный. По логике вещей, алгоритм записывается в таблицы и, как правило, используется в качестве вспомогательного элемента.
  • Формульно-словесный. В основу взят словесный способ изъяснения, но в такие действия также записываются математические формулы или символы.
  • Графический. Такой алгоритм записан на специальном языке блок-схем.

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

Алгоритмические конструкции

Некоторые утверждают, что алгоритмы имеют не 3 вида, а 4. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. С чем связано такое заблуждение, непонятно. Однако для простого решения сложных проблем ЭВМ использует алгоритмы этих трех достаточно больших групп. Рассмотрим их.

  1. Линейный. Такой вычислительный процесс получил данное название за счет того, что все действия выполняются в линейной последовательности, при этом каждый шаг выполняется не более одного раза. Если рассматривать схему задачи, то блоки в ней размещаются один под другим в зависимости от порядкового номера выполнения. Линейные алгоритмы работают таким образом, что от исходных данных не меняется направление и смысл действий. Такой способ решения подойдет для вычисления суммы или разности, площади фигуры или ее периметра и т. п. Основным типом алгоритмической конструкции является именно он.
  2. Разветвляющийся. Этот вычислительный процесс подразумевает наличие логического выражения (далее ЛВ) и выбора условия (ветви «ложь» и «правда»). В каждом случае реализуется лишь одна из двух и более команд. Нет задач и не может быть, в которых будут выполнены еще и другие варианты. Если в алгоритме две ветви, он простой, если больше двух – сложный. Причем последний процесс легко представляется за счет первого. Основным типом алгоритмической конструкции является как первый пункт, так и второй. Следующий вид тоже входит в этот список.
  3. Циклический. В таком алгоритме обязательно будет элемент, повторяющийся многократно, при этом используются разные исходные данные. Иными словами, такой процесс называется циклом.

Нужно заметить, что все основные алгоритмические конструкции (следование, ветвление, цикл) взаимосвязаны друг с другом, хотя и могут использоваться отдельно.

Создание циклов и их виды

Что же необходимо для создания цикла?

  • Счетчик цикла. Это переменная, которая задает начальное значение, и при повторении действия она будет изменяться. Обязательно она должна входить в алгоритм. Основные алгоритмические конструкции циклового типа работать без нее не будут.
  • Смена показателя вышеописанных данных перед новым повторением самого цикла.
  • Проверка условия, чтобы ЭВМ решила, следует ли снова «прокручивать» цикл или больше в этом нет нужды.

Циклы могут быть детерминированными и итерационными. Первые представляют собой повтор действий с уже известным количеством повторений. Итерационный цикл – тот, который повторяется неопределенное количество раз, пока условие не станет правдой или ложью.

Базовый алгоритм

Стоит запомнить то, что к основным алгоритмическим конструкциям не относится базовый алгоритм. Что он собой представляет? Данное понятие уже давно не встречается в современной литературе, однако это не значит, что его и вовсе больше не существует.

Учитывая, что в решении задач может встретиться несколько ветвлений или повторений, можно выделить следующее заключение. Основные алгоритмические конструкции (линейные, разветвляющие, циклические) являются базовыми.

По сути, они представляют собою «структурную единицу» каждой так называемой инструкции.

Линейные алгоритмы

Как уже понятно из вышенаписанного, алгоритмы бывают линейные и нелинейные. Рассмотрим первый вариант. Почему он так называется? Все предельно просто. Дело в том, что все действия, которые воспроизводятся в алгоритме, имеют четко последовательное выполнение, все шаги выполняются строго друг за другом. Как правило, такие задачи небольшие и имеют низкий уровень сложности.

Примером линейного алгоритма может быть процесс приготовления чая:

  1. Налить воды в чайник.
  2. Поставить чайник на плиту закипать.
  3. Взять чашку.
  4. Насыпать в чашку чай.
  5. Добавить сахар.
  6. После кипения налить в чашку кипяток.
  7. Взять ложку.
  8. Перемешать сахар.

Программирование основных алгоритмических конструкций — достаточно тяжелое дело, но если речь идет о линейных алгоритмах, то зачастую реализовать их очень легко.

Разветвляющиеся алгоритмы

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

Основным признаком разветвляющегося алгоритма является существование условного перехода. Он происходит во время проверки выражения на истину или ложь.

Как правило, логические выражения представлены знаками «меньше», «больше», «меньше или равно», «больше или равно», «равно», «не равно». Иногда встречаются варианты, где условие связано между собой с помощью команд and (и) и or (или).

Примером такого алгоритма может быть решение следующей задачи: если выражение ((х+3)/1) равняется положительному числу, то вывести результат на экран, если отрицательному – сообщить пользователю об ошибке.

Достаточно просто на практике использовать основные алгоритмические конструкции. Ветвление является одним из самых распространенных методов решения.

Детерминированный цикл или цикл со счетчиком

Цикл со счетчиком – цикл, который включает в себя переменную, изменяющую значение с определенным шагом. Шаг задается пользователем или прописывается программистом во время написания обеспечения. Большая часть языков для такого цикла использует оператор for.

Чтобы программа выводила на экран две строки 4 раза:

  1. «Как дела?»
  2. «Хорошо, спасибо!»
  3. «Как дела?»
  4. «Хорошо, спасибо!»

Необходимо создать детерминированный цикл. Как это выглядит? Воспользуемся языком «Паскаль» для лучшего восприятия конструкции.

1. For i:=1 to 2 do:

— i является счетчиком цикла, именно он определяет количество повторений в цикле.

2. Begin (открываются операторные скобки для того, чтобы обе фразы являлись телом цикла и повторялись вместе.)

3. Writeln (‘Как дела?’):

— слово writeln означает вывод фразы, находящейся в одинарных кавычках.

4. Writeln (‘Хорошо, спасибо').

5. End.

6. i:=i + 1.

Как видно, достаточно легко и даже интересно использовать основные алгоритмические конструкции. Базовые алгоритмы действительно широко известны, без них невозможно писать программы.

Цикл с постусловием

Цикл с постусловием может повторять неопределенное количество действий без вставки в них операторных скобок или составных слов. Он обязательно выполнится хотя бы один раз. Работает цикл, пока условие является ложным. Прекращается он при становлении показателей правильными. На этом построен алгоритм. Основные алгоритмические конструкции такого типа работают именно в данном темпе.

Для реализации этого цикла необходима конструкция Repeat A until B. Дословно она переводится как «повторять действия, пока условие ложно». Соответственно, через А выражен сам процесс повторения, через В – данные, которые в результате должны принять правильное значение.

Цикл с предусловием

Цикл с постусловием строится таким образом, что он выполняется минимум один раз в любом случае. Однако имеются такие случаи, когда цикл необходим в случае того или иного условия, а при его отсутствии повторения осуществляться не должны. Иначе результат будет неверен.

Именно в таком случае используется цикл с предусловием. Для его создания необходима конструкция «while A do B». Первая команда дословно переводится как «пока». А – условие, а В – действия, которые будут повторяться.

Вся конструкция означает: «пока условие является верным, выполнять действия».

Все основные алгоритмические конструкции работают лишь в определенных случаях.

Какие же они в цикле с предусловием? Если необходимо, чтобы повторялось не одно действие, а сразу несколько, то стоит использовать или составные операторы, или специальные скобки.

Цикл вполне может не выполниться, если при вхождении в него условие не является верным. Соответственно, повторяться действия будут, если оно правильное.

Вспомогательный алгоритм

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

Для облегчения работы с кодом и впоследствии более простого решения задач каждое действие объединяется в один блок, который и является вспомогательным алгоритмом.

Каждому из них можно задать свое имя, что позволяет впоследствии неоднократно обращаться к нему.

Источник: http://fb.ru/article/256635/programmirovanie-osnovnyie-algoritmicheskie-konstruktsii

Алгоритмический язык Паскаль

Анализ урока информатики Основные базовые алгоритмические конструкции (цикл с условием) и их реализация на языке программирования Pascal

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ЧЕРЕПОВЕЦКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ им. А.В. ЛУНАЧАРСКОГО

КАФЕДРА ИНФОРМАТИКИ

Дипломная работа

ЧЕРЕПОВЕЦ

2010

ЭВМ — это устройство для автоматической обработки информации (данных). Эвм может выполнять только специальные, присущие ей команды. Чтобы машина сделала что-либо полезное, необходимо задать последовательность команд на том языке, который она понимает. Такая последовательность называется программой.

Известно, что ЦП каждого типа ЭВМ имеет свою систему команд и каждая команда внутри ЭВМ (в памяти) представляется в виде последовательности нулей и единиц — машинного кода. На этапе становления программирования программы для ЭВМ составлялись именно в машинных кодах, что стало довольно затруднительно при решении более сложных задач. Поэтому были разработаны языки программирования.

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

Язык низкого уровня представляет собой систему двоичных или шестнадцатеричных команд, написанных в машинных кодах. Программист общается с машиной на «ее языке». Он понимается ею без преобразований.

К таким языкам можно отнести АССЕМБЛЕР. Этот язык используется, в основном, программистами профессионалами и обладает существенным недостатком — машинная зависимость, т.е.

невозможность переноса программы на другой тип машин.

Работа с языками высокого уровня в машине происходит более сложно. Она вначале преобразует команды языка в шестнадцатеричные коды, затем расшифровывает их (ставит в соответствие каждому коду одну или несколько своих команд) и только после этого выполняет программу.

Примерами языков высокого уровня являются Паскаль, Бейсик, Си и другие языки. В отличие от языков низкого уровня, на языках высокого уровня легче программировать, т.е. общаться с машиной.

Однако часто с простотой общения теряются некоторые возможности машины, поэтому практически в каждом языке высокого уровня есть возможность писать команды непосредственно на машинном языке (программировать в «кодах»).

1.2 Трансляторы

Процесс перевода программы с языка программирования высокого уровня на машинный язык называется трансляцией. Трансляция осуществляется с помощью специальной программы, называемой транслятором.

Различают два вида трансляции: интерпретация и компиляция, а соответствующие им программы — интерпретаторы и компиляторы.

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

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

I. ИНТЕРПРЕТАТОР

1. Машина считывает очередной оператор программы.

2. Переводит оператор в свои, ей понятные команды.

3. При обнаружении ошибки интерпретация прерывается и машина указывает на это.

4. Выполняет переведенные команды.

5. «Забывает» считанный оператор.

6. Продолжает данный процесс, пока не выполнятся все операторы, т.е. пока не дойдет до указателя конца программы.

7. «Забывает» выполненную программу.

Процесс интерпретации можно также проиллюстрировать в виде следующей схемы:

II. КОМПИЛЯТОР

1. Машина считывает очередной оператор, написанный на языке.

2. Переводит оператор в свои, ей понятные команды.

3. При попадании на ошибку процесс перевода прерывается, и машина указывает на это.

4. Продолжает данный процесс, пока не иссякнут все строки программы, т.е. пока не дойдет до указателя конца программы.

5. Выполняет переведенную программу целиком.

Из указанного выше процесса выполнения программы следует, что языки интерпретаторы работают медленнее, при запуске не «вылавливают» всех ошибок (лишь при попадании на них машина указывает на ошибку).

1.3 История создания языков

Одним из первых языков программирования, созданных специально для учебных целей, был БЕЙСИК, разработанный в 1964 году в Дартмутском колледже (США). Его создание преследовало цель предоставить возможность студентам пользоваться средствами ЭВМ без длительной предварительной подготовки.

Предполагалось также, что БЕЙСИК будет использоваться в качестве универсального языка людьми, не имеющими опыта работы на ЭВМ — рядовыми пользователями.

Одним из достоинств языка является его удобство для работы в интерактивном режиме, что послужило использованием БЕЙСИКа при разработке диалоговых обучающих программ.

К концу 60-х годов сложилась ситуация, когда для профессиональных целей использовались языки типа ФОРТРАН, КОБОЛ и пр., а весь учебный мир предпочитал БЕЙСИК. Естественно, что многие считали такую ситуацию неудовлетворительной.

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

Такие языки были созданы. Одним из них являлся АЛГОЛ-68, другой же был разработан в Институте информатики г. Цюриха (Швейцария) Николасом Виртом в 1971 г.

Этот язык получил название ПАСКАЛЬ в честь великого французского ученого XYII века, сумевшего первым в мире изобрести автоматическое устройство для проведения вычислений. Транслятор с языка был разработан в 1973 г.

Так же как и Бейсик, Паскаль довольно просто изучать. Главное, чем обладает Паскаль — он удовлетворяет требованиям обыкновенных пользователей и специалистов по ВТ.

Известно, что первым нужен язык, который легко изучать, а вторым — логически правильно построенный язык. Паскаль имеет практически все конструкции языков ПЛ/1 и АЛГОЛ-68, однако он более лаконичен.

Грамматические правила языка можно уместить на 4-х страницах.

Хотя Паскаль почти так же прост, как и Бейсик, он имеет перед ним ряд преимуществ. Так, Паскаль способствует внедрению современной технологии программирования, основанной на поэтапном построении программы (принцип «cверху-вниз»), состоящих из небольших, четко определенных процедур (структурный подход).

Таким образом, преодолевается главный недостаток, свойственный Бейсику, — неэффективная организация подпрограмм. Разработанный Н. Виртом вариант языка является стандартом.

Помимо стандарта языка, в связи с разработкой различных компиляторов, появились версии Паскаля, среди которых наиболее популярной является система Turbo-Pascal, используемая на IBM — совместимых компьютерах.

1.4 Базовые структуры языков программирования

Понятие «структурное программирование» появилось в 1968 году, когда была опубликована статья одного из видных программистов того времени Дейкстры.

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

Программист Нор четко обосновал, что использование основных базовых конструкций способствует обеспечению ясности и читаемости при написании и дальнейшей доработке программ.

Таким образом, структурным языком назовем тот, у которого блок-схема любой программы состоит только из базовых структур.

Имеется четыре типа управляющих структур: следование, выбор, повторение (цикл) и группирование.

Для реализации следования есть правило: все команды выполняются в порядке их следования.

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

Таким образом, конструкция работает следующим образом: при истинности условия P выполняется серия команд S1, в противном случае либо S2, либо управление передается следующей за развилкой конструкции.

Повторение, или цикл, представляет собой конструкцию, которая состоит, как и выбор, из проверки условия и серии команд. Однако, в отличие от выбора, данная серия команд может выполняться неоднократно, в зависимости от проверки условия. Повторения подразделяются на циклы с предусловием (циклы-пока) и циклы с постусловием (циклы-до).

Серия команд S выполняется циклически до тех пор, пока условие истинно в первом случае и ложно — во втором.

Группирование означает объединение одной или нескольких инструкций внутри специальной инструкции. Во всех языках имеются средства для формирования единого блока из группы инструкций (подпрограммы в Бейсике, составные инструкции и процедуры в Паскале). Примером группирования может являться также выполнение в конструкциях циклов следования или выбора и т.д.

1.5 Синтаксические диаграммы

Программирование на любом языке предполагает знание определенных форм записи, которые необходимо соблюдать при написании каждой программы. Правила записи часто бывают, сложны в написании, и поэтому прибегают к различным способам их отображения. Рассмотрим один из них — синтаксическую диаграмму.

Синтаксическая диаграмма — это графическое представление отдельных объектов языка и строения самой программы.

Возьмем, например, правило записи команды проверки условия в школьном алгоритмическом языке: команда начинается со служебного слова «если», за ней следует логическое выражение, далее обязательно слово «то», серия команд 1 и, наконец, не обязательно «иначе» и серия команд 2. Синтаксическая диаграмма выражает данное правило в виде схемы игрушечной железной дороги.

Источник: http://MirZnanii.com/a/115799/algoritmicheskiy-yazyk-paskal

Алгоритмические структуры — Информатика и ИКТ

Анализ урока информатики Основные базовые алгоритмические конструкции (цикл с условием) и их реализация на языке программирования Pascal

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

Линейная структура

Линейной структурой или следованием называют последовательное однократное выполнение двух или более операторов. Например:

readln(a ,b);c := sqrt(a * a + b * b);

writeln(c);

Разветвленная структура

Разветвленная структура предусматривает выбор одной из двух или более последовательностей операторов в зависимости от некоторого условия. Основной вариант реализации в программе — с помощью условного оператора:

if логическое выражение 
   then оператор1
   else оператор2

Если значение логического выражения — истина, выполняется «оператор1», иначе (т.е. при ложности логического выражения) — «оператор2».

Пример:

if x > 0    then y := sqrt(x)

   else y := 0;

При положительном x переменная y получит значение квадратного корня из x, в другом случае — значение 0.

Если нужно выбирать более чем из 2 вариантов, используют вложенные условные операторы, например:
if x > 0   then y := sqrt(x)   else if x > -10      then y := 0

      else y := -sqrt(-x-10);

При выполнении этого фрагмента программы x сначала сравнивается с нулем, если условие в первом условном операторе не выполнено, то затем сравнивается с -10. В зависимости от результата проверки выбирается одно из трех возможных действий. В общем случае, количество условных операторов оказывается на 1 меньше числа возможных вариантов.

Второй вариант реализации ветвления — оператор множественного выбора:

case дискретное выражение of
    значение1: оператор1;
    значение2: оператор2; …

    значениеN: операторN;

end;

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

 В ряде реализаций языка может быть также указан оператор, выполняемый при несовпадении выражения ни с одним из перечисленных значений (эта часть, начинающаяся вместо значения словом «otherwise» или, в зависимости от реализации, «else», всегда записывается последней).

Пример:

write('Введите операцию');readln(c);case c of   '+': write(x + y);   '-': write(x — y);   '*': write(x * y);   '/': write(x / y);   else write('Недопустимая операция')

end;

Циклическая структура

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

В программе циклическая структура реализуется с помощью операторов цикла. В Pascal имеется 3 типа таких операторов: цикл с предусловием, цикл с постусловием и цикл с параметром. Они отличаются друг от друга тем, как определяется число повторений.

Циклы с условием

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

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

while условие do
    оператор;

Пример:

while a > 10 do
   a := sqrt(a);

Такая запись обозначает: пока значение переменной a превосходит 10, из него следует извлекать квадратный корень. Предположим, что до начала цикла переменная имела значение 10000. Поскольку 10000 > 10, из него будет извлечен корень; переменная получит значение 100.

С этим значением вновь проверяется условие повторения. 100 больше 10, поэтому квадратный корень извлекается еще раз; переменная получает значение 10.

Опять проверяется условие, но на этот раз 10 не больше 10, значит цикл будет завершен, и компьютер перейдет к исполнению следующего оператора.

Другой тип цикла с условием — цикл с постусловием, в котором проверка условия происходит после выполнения операторов тела цикла. Действия повторяются до того момента, когда условие станет истинным. В Pascal он записывается следующим образом:

repeat
    операторы
until условие;

Пример:

repeat   write('Введите положительное число:');   readln(x)

until x > 0;

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

Цикл с параметром

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

В Pascal оператор цикла с параметром выглядит следующим образом:

for параметр := начальное to конечное do
    оператор;

(в таком случае параметр будет увеличиваться). Если необходимо, чтобы значения параметра убывали, оператор немного изменяется:

for параметр := начальное downto конечное do
    оператор;

Пример 1:

for i := 1 to 20 do
   writeln(i:3, i*i*i:5);

При выполнении этого фрагмента программы переменная i примет поочередно все значения от 1 до 20, при каждом из них на экран на отдельной строке (writeln) будет выводиться само это значение и его куб.

В результате получится таблица кубов первых двадцати натуральных чисел.

Чтобы значения выводились ровными колонками, в процедуре вывода указан формат (на значение переменной i отведено 3 позиции, для куба — 5).

Пример 2:

for c := 'z' downto 'a' do
   write(c);Этот фрагмент программы выведет на экран английский алфавит в обратном порядке —от «z» до «a»:

zyxwvutsrqponmlkjihgfedcba

Параметр цикла

При составлении программ с использованием циклов с параметром необходимо помнить следующее:

  • Параметр цикла может быть только дискретного типа (т.е. целого или символьного).
  • За пределами цикла использовать значение параметра нельзя, т.к. оно не определено.
  • В теле цикла изменять параметр не рекомендуется.
  • Параметры циклов в процедурах и функциях должны быть локальными переменными.

Составной оператор

В ряде случаев (например, в условном операторе, цикле с предусловием, цикле с параметром) бывает необходимо объединить несколько действий в одно целое — единый составной оператор. В языке Pascal для этого служат «операторные скобки» begin…end. Например:

if d < 0 then writeln('Действительных корней нет')
   else begin      x1 := (-b — sqrt(d))/(2 * a);      x2 := (-b + sqrt(d))/(2 * a);      writeln('X1=', x1:8:2, 'X2=', x2:8:2);

   end;

При ложности условия d < 0 будет выполнена группа из трех операторов.

Источник: https://www.sites.google.com/site/415ict/textbooks/pascal/alg-struct

Анализ урока информатики

Анализ урока информатики Основные базовые алгоритмические конструкции (цикл с условием) и их реализация на языке программирования Pascal

Тип урока: комбинированный – урок первичного предъявления новых знаний, формирования первоначальных предметных навыков, овладения предметными умениями применения предметных ЗУНов.

Структура урока соответствовала теме и дидактической цели занятия: формирование умений применения теоретических положений в условиях решения учебных задач. 

Учитель был доброжелательным, смог быстро включить всех учащихся в деловой ритм.

Изучение новой темы проходило в ходе рассказа учителя и сопровождалось показом презентации. Закрепление проходило путем решения учебных задач.

Все учащиеся быстро переключались с одного вида деятельности на другой.

Учителем были поставлены цели урока:

1. изучить тему «Циклический алгоритм. Цикл с условием и его реализация на языке программирования Pascal»;

2. повысить ИКТ-компетентность учащихся путем освоения и практического использования навыков работы в среде «PascalABCNET»;

3. научить использовать полученные знания на практике.

Причины, позволяющие считать этот метод продуктивным на уроках информатики при изучении раздела «Программирование»:1. Повышается активность учащихся на уроке;2. Повышается работоспособность учащихся на уроке;3. Повышается мотивация к изучению учебного материала;

4. Улучшается качество знаний учащихся.

В структуре уровневой дифференциации по обученности (именно такой вариант технологии разноуровневого обучения использовала на уроке Анна Анатольевна) выделяют, как правило, три уровня:

  1. минимальный (государственный стандарт),

  2. базовый (программный),

  3. вариативный (творческий или  усложненный).

Критерии отбора учащихся в тот или иной уровень:

  • результаты обучения учащегося;

  • желание самих учащихся;

Примерное разделение учащихся на три группы:

  • первую группу образовали ученики “тугодумы” (2 чел.) с замедленной реакцией на вопрос или задание учителя, с медленной речью, бедной по составу. Этим ученикам требуется значительно больше времени на усвоение материала, чем другим.

  • вторую группу образовали дети с преобладанием в нервных процессах возбуждения над торможением (3 чел.). Такие дети не могут сконцентрировать своё внимание и в работе могут допустить ошибки. Им необходимо систематическое повторение ранее усвоенного.

  • третью группу образовали дети с уравновешенными нервными процессами возбуждения и торможения (5 чел.). Это дети, которые обладают высоким уровнем аналитико-синтетической деятельности, им доступны обобщения и абстрагирования. У этих детей ровная, выразительная речь, достаточно велик словарный запас.

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

Важным условием разноуровневого обучения является работа с учащимися на договорных началах, предусматривающая совместное согласование следующих позиций:

  • добровольный выбор каждым учеником уровня усвоения учебного материала (не ниже госстандарта);

  • полное усвоение базового компонента содержания обучения гарантировано всем при условии соблюдения правил коммуникаций и общения (на уроке учащиеся из одной группы, сидевшие рядом, при необходимости обсуждали решение задач);

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

  • в случае затруднений каждый получает помощь и этой помощью следует обязательно воспользоваться, чтобы не нарушать ритм совместной учебной работы;

  • при оперативной работе школьника на уроке возможно выполнение обязательной части домашнего задания за счет экономии времени на выполнение планируемой нормы (учащиеся, которые справились на уроке с решением индивидуальных заданий были освобождены от этой части домашней работы).

Методику уровневого обучения Анна Анатольевна использовала при индивидуальной работе с учениками, но ее можно использовать и при работе учащихся в группах. При систематическом использовании методики уровневого обучения по мере развития ученики могут переходить с одного уровня обученности на другой, более высокий.

Деятельность учителя при организации разноуровневых групп состоит в:

  • делении учащихся на группы (по уровню знаний, способностям);

  • разработке или подборке разноуровневых заданий;

  • оценивании деятельности учащихся.

Применение разноуровневого обучения помогает учителю достичь следующих целей:

Для первой группы (группа “А”) 

1. Пробудить интерес к предмету путем использования заданий базового уровня, позволяющих работать в соответствии с его индивидуальными способностями. 2. Ликвидировать пробелы в знаниях и умениях. 3. Сформировать умения осуществлять самостоятельную деятельность по образцу.

Для второй группы (группа “В”) 
1. Развивать устойчивый интерес к предмету. 

2. Закрепить и повторить имеющиеся знания и способы действия. 3. Актуализировать имеющиеся знания для успешного изучения нового материала. 4. Сформулировать умение самостоятельно работать над заданием, проектом.

Для третьей группы (группа “ С”) 
1. Развивать устойчивый интерес к предмету. 

2. Сформировать новые способы действия, умения выполнять задания повышенной сложности. 3. Развивать воображение, ассоциативное мышление, раскрыть творческие возможности, совершенствовать языковые умения учащихся.

Задачей учителя является преодоление единообразия, перенос акцента с коллектива учащихся на личность каждого из них с её индивидуальными возможностями и интересами, создание условий для развития познавательной активности и самостоятельности.

2.3. Актуализация имеющихся знаний. Опора на жизненный опыт учащихся и знания, имеющиеся по данной теме. Учитель использует различные приемы актуализации (указать), позволяющие включить учащих­ся в освоение нового знания.

2.4. учебного материала и содержание образования, деятельность учащихся на уроке. Учебный материал и единица содержания образования (способ, схема, алгоритм) не даются учащимся в готовом виде, а проектируются и «добываются» на уроке вместе с учащимися. Учащиеся вовлечены в самостоятельную деятельность более 50% времени урока.

2.5. Рефлексия. Организована рефлексия учащихся по следующим позициям:

• цель, поставленная учащимися;

• усвоенные способы действий;

• возникшие трудности;

• дальнейшие задачи.

2.6. Оценка результатов. Учащиеся имеют возможность оценить свою работу и работу одноклассников по известным им критериям.

2.7. Домашнее задание. Домашнее задание носит дифференцированный характер в зависимости от результатов урока.

3. Основные характеристики учащихся

3.1. Степень познавательной активности. Более 70% учащихся класса проявляют активность на уроке. Поднимают руки, отвечают на вопросы учителя, участвуют в обсуждениях, делают дополнения.

3.2. Степень самостоятельности. Учащиеся самостоятельно ставят учебные задачи, выполняют задания без помощи учителя и одноклассников, определяют оптимальный для себя объем заданий. Могут самостоятельно определить свои учебные трудности

3.3. Уровень специальных умений и навыков. Устные и письменные ответы более 70% учащихся отличаются грамотностью и полнотой. Учащиеся свободно владеют терминологией по предмету. Могут применять знания в нестандартной ситуации.

3.4. Уровень сформированности (развития) универсальных учебных действий (УУД). Учащиеся владеют разными груп­пами УУД в соответствии с возрастом (коммуникативными, познавательными, регулятивными).

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

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

Источник: https://infourok.ru/analiz-uroka-informatiki-osnovnie-bazovie-algoritmicheskie-konstrukcii-cikl-s-usloviem-i-ih-realizaciya-na-yazike-programmirovan-1058172.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.