Обучающий семинар

Тема: Программирование на языке Turbo Pascal. Основные базовые конструкции: разветвляющиеся алгоритмы.

Подготовила:

учитель информатики

ШЛ №27

Астана, 2014 г.

Дата проведения: 16.01.2014 год

Тема занятия:

Программирование на языке Turbo Pascal. Основные базовые конструкции. Разветвляющиеся алгоритмы.

Материал

Презентация, карточки с задачами.

Цель:

Создание блока решенных задач по теме разветвляющиеся алгоритмы.

Задачи:

· Расширить знания по составлению программ на языка Паскаль.

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

Результат обучения:

Учителя создадут блок задач с решениями на разветвляющую базовую конструкцию.

Основные (ключевые) идеи:

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

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

Форма проведения

Описание

Время

Разминка:

Тренинговое упражнение «ЗНАКОМСТВО»

Начните, пожалуйста, ходить по комнате и здороваться с каждым за руку. При этом вы говорите простые слова: «Привет!», и называете свое имя, как бы представляясь. «Как твои дела?» Говорите только эти простые слова и больше ничего. Но в этой игре есть одно простое правило: здороваясь с кем-то из участников, вы можете освободить руку только после того, как другой рукой вы начнете здороваться еще с кем-то. Иными словами, вы должны непрерывно быть в контакте с кем-либо из группы.

5 минут

Интерактивная лекция

Язык программирования Паскаль:

Ветвление.

Операторы условного и безусловного перехода. Составления и разбор нескольких задач с использованием операторов условного и безусловного переходов (см. Приложение 1)

45 минут

Разминка, деление на группы

Игра животные Игра «КОРОВЫ, СОБАКИ, КОШКИ»

Ведущий. Пожалуйста, встаньте широким кругом. Я подойду к каждому из вас и шепотом скажу на ушко название какого-нибудь животного. Запомните его хорошенько, так как потом вам надо будет стать этим животным. Никому не проговоритесь о том, что я вам нашептала. По очереди шепчите участникам на ухо: «Ты будешь коровой», «Ты будешь собакой», «Ты будешь кошкой». Теперь закройте глаза. Забудьте на время человеческий язык. Через минуту я попрошу вас «заговорить» так, как «говорит» ваше животное. Вам надо, не открывая глаз, объединиться в группы со всеми теми животными, которые «говорят» так же, как вы. Вы можете ходить по комнате и, услышав свое животное, двигаться ему навстречу. Затем, взявшись за руки, вы идете уже вдвоем и вместе издаете звук этого животного, чтобы найти других участников, «говорящих» на вашем языке. Готовы? Все закрыли глаза? Навострите ушки и слушайте звуки, издаваемые коровой, собакой и кошкой... Начали!

Садитесь пожалуйста по группам.

10 минут

Групповая работа.

Решение задач на разветвляющуюся базовую конструкцию. Каждая команда решает указанные задачи (см. Приложении 1) и проверят их на компьютерах. Затем составленные программы оформляются на кластере.

30

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

Для объяснения материала спикеру дается 8 минут

24

 

Рефлексия

Рефлексия «Оцени себя».

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

Мне на семинаре было Я на семинаре Итог

1. интересно 1. работал 1. понял материал

2. скучно 2. отдыхал 2. узнал больше, чем знал

3.безразлично 3.помогал другим 3. не понял

Чтобы я хотел бы еще узнать

Стакеры прикрепляются на дерево рефлексии

6 минута

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

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

Приложение 1.

Интерактивная лекция №2

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ TURBO-PASCAL. ПРОРЯДКОВЫЕ ТИПЫ ДАННЫХ. ВЕТВЛЕНИЕ. ОПЕРАТОРЫ УСЛОВНОГО И БЕЗУСЛОВНОГО ПЕРЕХОДА. СОСТАВЛЕНИЕ ПРОГРАММ С ИСПОЛЬЗОВАНИЕ ВЕТВЛЕНИЯ И ПЕРЕХОДОВ.

ЦЕЛИ И ЗАДАЧИ: Знакомство с порядковыми типами данных и основными операторами ветвления языка Turbo-Pascal. Выработка навыков работы в Turbo-Pascal. Решение практических задач с использованием операторов ветвления.

1. Порядковые типы переменных (дополнительные сведения)

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

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

Логические переменные (тип Boolean) – это переменные, которые могут принимать только два значения истина - true (1) или ложь - false (0). Используются такие переменные для хранения результатов логических вычислений. Для булевых переменных разрешены только операции сравнения:

Логическая операция

Наименование

 

=

Равно

 

<> 

Неравно

 

And

Логическое И (логическое умножение, конъюнкция)

 

Or

Логическое ИЛИ (логическое сложение, дизъюнкция)

 

Xor

Логическое исключающее ИЛИ (результат тогда 1, когда на входе все нули)

 

Not

Логическое НЕ

 

Тип переменной

Символьные переменные

Логический тип

2. Условный оператор (выбор одного из двух направлений)

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

if <условие> then <оператор 1> [ else <оператор 2> ];

если тогда иначе

Условие – логическое выражение, которое может быть истинным или ложным.

оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т. е. несколько операторов, объединенных операторными скобками begin end.

Часть конструкции, заключенная в квадратные скобки может отсутствовать.

Принцип работы оператора:

¨ проверяется условие

¨ если условие истинно (верно), то выполняется оператор 1

¨ если условие ложно (неверно), то выполняется оператор 2

¨ если else <оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.

Например, из двух чисел a и b вывести на экран значение большего числа.

if a > b then writeln (‘большее число a - ’, a)

else writeln (‘большее число b - ’, b);

Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else можно писать на следующей строке.

<оператор 1>;

Пример использования оператора:

Вычислите значение функции f(x) в зависимости от значения аргумента x.

if x<0 then y=x;

if x=0 then y=0;

if x<0 then y=sqr(x);

Вложенные операторы if

Возможно использовать в качестве оператор1 или оператор2 других условных операторов:

if <условие1> then if <условие2> then <оператор1> else <оператор2>;

Вложенность операторов if неограниченна.

3. Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):

Позволяет выбрать из любого числа возможностей.

case <переменная или выражение> of

<список значений выбора1>:<оператор1>;

<список значений выбора2>:<оператор2>;

. . .

<список значений выбора N>:<оператор N>;

[else <оператор>]

end;

Переменная может быть любого порядкового типа, кроме longint (word, boolean, integer, char или перечисляемый тип). (см. приложение 1, СТРУКТУРА ТИПОВ ДАННЫХ)

Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')

Оператор - любой оператор, в том числе составной.

Принцип работы оператора:

¨ Значение переменной или выражения сравнивается с предложенными списками значений

¨ Если найдено нужное значение, выполняется соответствующий оператор

¨ Если нужное значение не найдено в перечисленных списках, выполняется оператор после else

¨ Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.

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

Пример использования оператора:

Написать программу, которая запрашивает номер месяца и выводит название времени года

uses crt;

var month : integer;

begin

writeln (‘введите номер месяца от 1 – 12’);

readln (month);

case month of

1,2,12 : writeln(‘зима’);

3,4,5 : writeln(‘весна’);

6,7,8 : writeln(‘лето’);

9,10,11 : writeln(‘осень’);

else writeln (‘ошибка ввода!’);

end;

repeat until keypressed;

end.

5. Операторы безусловного перехода goto и halt:

goto <метка>

перейти к

halt [<код>]

выход из программы

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

Метка - это любое целое число от 0 до 9999 или идентификатор

Метки необходимо описывать в разделе описаний перед описанием переменных.

Например, LABEL 1, 2, lab3;

Метки ставятся в программе перед операторами в начале строки, после метки - двоеточие.

Например, 1: repeat until keypressed;

ЗАМЕЧАНИЕ:

- Нельзя входить и выходить из функций и процедур с помощью операторов goto и halt

- Нельзя входить в циклы с помощью операторов goto и halt, но можно досрочно их заканчивать

- Из программы можно выйти оператором halt

Пример использования оператора. Решение задач

Составить программу проверки знания таблицы умножения.

program pt1;

uses crt;

label 1;

var a, b:integer;x, y,z:integer;t:char;

begin

clrscr;

writeln ('ПРОГРАММА ПРОВЕРКИ ТАБЛИЦЫ УМНОЖЕНИЯ.');

writeln ('Выход из программы - Q, продолжение - любая другая клавиша');

randomize;

1: x:= random(10);y:= random(10);

write(' ',x,' x ',y,' = ?');

read(z);

if z=x*y then writeln ('правильно!')

else writeln ('неправильно! ');

writeln ('продолжить?(y/n)')t:=readkey;

if (t='N') or (t='n') then halt else goto 1;

end.

Составить программу подсчета суммы введенных с клавиатуры чисел. Признак конца ввода – число 0.

program pt1;

uses crt;

label 1;

var x, z:integer;t:char;

begin clrscr;

writeln ('ПРОГРАММА ПОДСЧЕТА СУММЫ ВВЕДЕНЫХ ЧИСЕЛ.');

gotoxy(50,22);writeln ('Выход из программы - число 0');

1: write('Введите число'); read(x);

if х=0 then goto 2 else begin z:=z+x; goto 1;end;

2: writeln('сумма введенных чисел - ',z);

readkey;end.

Написать программу, которая проверяет, является ли четным введенное с клавиатуры число

Uses crt;

Var n:integer;

Begin

Readln(n);

Write(‘число’, n,’-‘);

If n mod 2=0 then writeln(‘четное’)

else writeln(‘нечетное’);

readkey; End.

Задачи на ветвление и выбор (выполняются в группах).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6