Invest-currency.ru

Как обезопасить себя в кризис?
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Задачи по информатике на ветвление паскаль

Конспект урока рефлексии в дидактической системе деятельностного метода обучения по теме «Программирование ветвлений на Паскале», 9 класс, информатика.

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

Помогает проект «Инфоурок»

Автор: Федорова Е.Н., учитель информатики и ИКТ, высшей кв.категории, МБОУ «Математический лицей», г. Хабаровск

Предмет: информатика, 9 класс

Тема: «Программирование ветвлений на Паскале»

Дидактическая система деятельностного метода обучения Л.Г. Петерсон.

Тип урока: рефлексия

Цель урока: формирование умений применять условный оператор для решения задач

тренировать навык представления решения задачи в виде алгоритма – программы на языке Паскаль, развивать способности решать задачу разными способами;

тренировать способность к рефлексии собственной деятельности;

тренировать умение фиксировать собственные затруднения и ставить цель деятельности,

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

развивать логическое мышление, тренировать умение анализировать, сравнивать и обобщать, использовать знако — символьные средства;

совершенствовать умение выражать свои мысли с достаточной полнотой и точностью, обосновывать свои суждения.

Умение выбирать смысловые единицы текста и устанавливать отношения между ними.

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

Умение устанавливать отношения между: данными условия и требованиями задачи.

Умение составлять программы для исполнителя.

Умение использовать оптимальный способ решения.

Способность строить понятные для собеседника высказывания.

Иметь навык конструктивного общения, взаимопонимания.

Уметь планировать общие способы работы.

Уметь обосновывать и доказывать свою точку зрения.

Понимать относительность оценок, выборов, совершаемых людьми.

Способность строить понятные для партнера высказывания, т.е. владеть вербальными и невербальными средствами общения.

Способность самостоятельно формулировать цели и задачи урока.

Умение планировать работу от начала до конца (планирующий самоконтроль).

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

Мотивация учебной деятельности учащихся

На доске проецириуются тексты программ, предложенных для самостоятельного решения:

if m mod n = 0 then writeln (m div n) else writeln (‘m на n нацело не делится ‘);

if n mod 2 = 0 then writeln (‘ последняя цифра чётная ‘) else writeln (‘ последняя цифра нечётная ‘);

writeln (‘Введите двузначное число’)

if n=c then writeln (‘ цифры одинаковы ‘) else writeln (‘ цифры разные ‘);

Сформулируйте условие задачи а).

Какие знания потребовались для написания программы? (Назначение операторов на Паскале для написания программы, содержащей ветвления, знания о применении операций над целыми числами mod и div .)

Сформулируйте условие задачи б).

Сформулируйте условие задачи в).

Возникло ли у вас затруднение в решении этих задач?

Сегодня вы продолжите учиться программировать ветвления на Паскале.

Что необходимо сделать, чтобы ответить себе на вопрос: все ли я понял, умею ли я написать программу, содержащую ветвление? (Надо самостоятельно выполнить задания, выяснить, есть ли затруднения.)

По какому плану вы будете работать сегодня на уроке? (Мы выполним самостоятельно работу и проверим её: кто не допустит ошибок, будет решать более сложные задачи, у кого возникнут затруднения – те ребята разберутся в их причине, исправят допущенные ошибки, будут учиться решать задачи правильно, напишут вторую самостоятельную работу).

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

Актуализация знаний, повторение

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

(Задача нахождения большего из трёх чисел).

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

var a, b, c, d: real;

if a>b then if a>c then d:=a else d:=b else if b>c then d:=b else d:=c;

— Сколько раз условный оператор употребляется в этой программе?

— Как называются такие структуры алгоритмов, в которых одно ветвление находится внутри другого? (Вложенные ветвления.)

Написать программу решения задачи:

Дано целое трёхзначное число. Определить, какая из цифр в записи этого числа наибольшая и вывести ее значение.

— Давайте обсудим решение этой задачи. Что дано? (Трехзначное целое число.) Что это означает? (В записи числа три цифры.) Что надо найти в этой задаче? (Наибольшую цифру.) Сравните предыдущую задачу с этой задачей. Что общего? (Необходимо найти наибольшее из трех чисел – цифр данного числа). В чём различие? (Цифры не даны по отдельности их надо выделить из данного числа). Каким способом это можно сделать? (Чтобы выделить последнюю цифру целого числа, необходимо использовать операцию над целыми числами – mod 10. Чтобы выделить вторую цифру числа, необходимо последовательно выполнить операции div 10 и mod 10, а чтобы выделить первую цифру, надо использовать операцию div 100.

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

Читать еще:  Задачи на классы программирование

— Выполните это задание за компьютером. (5 минут времени).

— Давайте сверим с эталоном.

Текст возможного варианта решения (на экране):

var m, a, b, c, d: integer;

writeln (‘Введите трёхначное число’);

b:=(m div 10) mod 10;

if a>b then if a>c then begin d:=a; writeln (‘1 цифра наибольшая ’, d) end

else d:=b else if b>c then begin d:=b; writeln (‘2 цифра наибольшая ’, d) end

else begin d:=c; writeln (‘3 цифра наибольшая ’, d) end;

Задайте вопросы, если они появились. У кого другой способ решения этой задачи? В чём может быть различие?

Какой следующий шаг в работе? (Самостоятельная работа № 1).

Самостоятельная работа № 1

Взять карточки с самостоятельной работой № 1. Выполнить задания, сохранив результаты в своей папке на рабочем столе. Сверить с эталоном (получить у учителя) и по мере выполнения заданий заполнять таблицу фиксации результатов (на рабочем столе у каждого ученика):

Таблица фиксации результатов.

Результат выполнения самостоятельной работы № 1

задачи, понятия, вызвавшего затруднение

Исправлено при работе с заданиями по выбору

Исправлено по результатам выполнения сам. работы № 2

Решение задач. День восьмой. Задачи If1-15

Всем привет! Сегодня мы начнем долгожданный разбор задач по программированию if1-15, а также вспомним и научимся применять различные процедуры. В решениях к некоторым задачам Вам встретится возможно неизвестная прежде процедура Inc. Пояснения к ней и к другим процедурам можно найти в этой статье .

If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.

If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.

If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.

If4°. Даны три целых числа. Найти количество положительных чисел в исходном наборе.

If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

If6°. Даны два числа. Вывести большее из них.

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

If8°. Даны два числа. Вывести вначале большее, а затем меньшее из них.

If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

If12°. Даны три числа. Найти наименьшее из них.

If13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).

Небольшое пояснение

If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.

Пояснение

If15. Даны три числа. Найти сумму двух наибольших из них.

Фух! На сегодня все! Если у вас возникли какие-либо вопросы не стесняйтесь, оставляйте все свои вопросы в комментариях под статьей! И не забывайте кликать по кнопочкам и рассказывать о нас своим друзьям.

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Pascal: Занятие №2. Часть 1: Условный оператор в Паскале (If)

Условный оператор в Паскале

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

Блок-схема условного оператора:

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

Сокращенный вариант:

if условие then оператор;

Полный вариант:

if условие then оператор else оператор;

Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.

Читать еще:  Структурный метод программирования

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

Если при истинном условии необходимо выполнять несколько операторов, то их по правилам языка Pascal необходимо заключать в блок, начинающийся со служебного слова begin и заканчивающегося служебным словом end . Такой блок принято называть операторными скобками, а данную конструкцию — составным оператором:

Операторные скобки и составной оператор в Паскале:

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

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


В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:

  • больше >
  • меньше
  • больше или равно в Pascal >=
  • меньше либо равно в Pascal
  • сравнение в Pascal =
  • не равно в Pascal <>

Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:

Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа real в pascal, можно использовать так называемый форматированный вывод, или запись с двумя двоеточиями:
y:6:2
— цифра после первого двоеточия ( 6 ) указывает на то, сколько знаков будет занимать число при выводе на экран
— цифра после второго двоеточия ( 2 ) указывает на то, сколько знаков после запятой вещественного числа будет выводиться

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

Логические операции в Паскале (в логическом выражении)

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

  • Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции — «конъюнкция».
  • Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции — «дизъюнкция».
  • На языке Паскаль XOR — знак логической операции, имеющий смысл «строгая дизъюнкция» и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое — не выполнялось (ложно).
  • Логическая операция NOT перед логическим выражением или переменной имеет смысл «отрицание» или «инверсия» и указывает на то, что если данная переменная или выражение истинны, то их отрицание — ложь и наоборот.

Ветвление в Паскале

Если условие выполняется, то будет выполнена инструкция "1", если нет, то — инструкция "2". Несмотря на то, что в схеме

Ветвление в Паскале

Другие материалы по предмету

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

Если условие выполняется, то будет выполнена инструкция «1», если нет, то — инструкция «2». Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Нет никакого сомнения, что число задач такого рода огромно. Более того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже примитивный пример, взятый из курса математики, как вы увидите, не может быть решен без использования ветвления. Итак, необходимо вычислить значение выражения y=1/x. Вам известно, что данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке не трудно:

1. Получить значение x.

2. Если x=0, то сообщить, что выражение значения не имеет, иначе — вычислить y как 1/x.

Таким образом используется приведенная выше алгоритмическая структура. Она может быть выражена простыми словами:

Как это записать на Паскале? Да точно так же, только по-английски.

Формат условного оператора на языке Паскаль:

Обратите внимание на то, что в Then- и Else- части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.

Вариант условного оператора в этом случае:

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

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

Читать еще:  Основы структурного программирования методы структурного программирования

В простых условиях могут применяться знаки операций сравнения: >(больше), (не равно), >=(больше или равно), =(D1*(45-2))

Приведем пример решения еще одной задачи: «Из двух чисел выбрать наибольшее».

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

Writeln(‘Введите два числа’);

If A>B Then C:=A Else C:=B; <Если A>B, то результат — A, иначе результат — B>

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

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

Var A, B, C, D, X1, X2: Real;

Writeln (‘Введите коэффициенты квадратного уравнения’);

If D 8) and (5 8 ложно 5 8) and (5 8) and (5

Задачи по информатике на ветвление паскаль

В языке Паскаль имеется оператор ветвления. Другое его название — условный оператор. Формат полного оператора ветвления следующий:

Здесь if — «если», then — «то», else — «иначе».

Программирование полного и неполного ветвления

Сравните запись алгоритма БИД1 из предыдущего параграфа с соответствующей программой.

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

Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):

А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.

Опять все очень похоже. Ветвь else в операторе ветвления может отсутствовать.

Программирование вложенных ветвлений

Запишем на Паскале программу определения большего из трех чисел, блок-схема которой показана на рис. 3.10. Структура этого алгоритма — вложенные ветвления. Алгоритм на АЯ (БИТ2) приведен в предыдущем параграфе.

Program BIT2;
var А, В, С, D: real;
begin readln(А, В, С);
if A>B
then if A>C then D:=A else D:=B
else if B>C then D:=B else D:=C;
writeln(D)
end.

Обратите внимание на то, что перед else точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=C.

Составим программу упорядочения значений двух переменных.

Этот пример иллюстрирует следующее правило Паскаля: если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами begin и end. Конструкция такого вида:

называется составным оператором. Следовательно, в описанной выше общей форме ветвления и могут быть простыми (один) и составными операторами.

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

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

Нетрудно понять смысл этой программы. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). С логическими операциями вы встречались, работая с базами данных и с электронными таблицами.

Напомним, что операция and называется логическим умножением или конъюнкцией. Ее результат — «истина», если значения обоих операндов — «истина». Очевидно, что если А>=В и А>=С, то А имеет наибольшее значение и т. д. В Паскале присутствуют все три основные логические операции:

and — И (конъюнкция), or — ИЛИ (дизъюнкция), not — НЕ (отрицание).

Сложные логические выражения

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

1. Как программируется на Паскале полное и неполное ветвление?

2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?

3. Выполните на компьютере все программы, приведенные в данном параграфе.

4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.

5. Составьте программу сортировки по возрастанию значений в трех переменных: А, В, С.

6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×