Программирование разветвленных алгоритмов. Программирование разветвляющихся алгоритмов

  • 09.09.2022

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

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

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

Краткая форма оператора ф. Краткая форма условного оператора записывается следующим образом:

где - это выражение логического типа, про которое можно сказать, что оно «истина» или «ложь» (фактически, это вопрос, предполагающий только 2 варианта ответа - «Да» или «Нет»), В зависимости от (от ответа на вопрос) происходит дальнейшее выполнение программы.

Описание работы краткой формы оператора ф. Оператор И” в краткой форме работает следующим образом:

  • вычисляется выражение, записанное в условии (формулируется ответ на вопрос, записанный в условии);
  • если получили результат - «истина» (не равно 0 - ответ «Да»), то выполняется;
  • если «ложь» (равно 0 - ответ «Нет»), то выполняется следующая за условным оператором строка программы.

На схеме алгоритма краткая форма ії представлена следующим образом (рис. 4.1).

Рис. 4.1.

Пример программы с краткой формой оператора 1/. Вычислить ш = тт(с,б).

1. Схема алгоритма

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

2. Программа

#include //подключ, стандартной библиотеки

//ввода-вывода

int main () { //заголовок функции main(9

int с, d, m; //описание переменных с, d, m типа int

printf ("Введите через пробел с и d "); /* вывод на экран

приглашения к вводу с и d и перевод курсора на начало следующей строки экрана */ scanf (" %d%d" , &с, &d) ; //ввод значений переменных с и d

m=c; //оператор присваивания переменной m значения переменной с

if (d //если d

m=d; //то присваиваем переменной m значение переменной d

printf("m=%d ",m);

//вывод m и перевод курсора на начало следующей строки экрана getchar () ;

Полная форма оператора if. Полная форма условного оператора записывается следующим образом:

; else ; if и else - ключевые слова;

Это выражение логического или арифметического типа, про которое можно сказать, что оно «истина» (арифметическое выражение не равно нулю) или «ложь» (арифметическое выражение равно нулю) - фактически, это вопрос, предполагающий только 2 варианта ответа - «Да» или «Нет». В зависимости от происходит дальнейшее выполнение программы.

Оператор, который выполняется, если условие истинно (не равно нулю);

Оператор, который выполняется, если условие ложно (равно нулю).

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

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

На схеме алгоритма полная форма ії представлена следующим образом (рис. 4.2).

Рис. 4.2.

х + 0,5, если х

Задача 2. Дано х. Вычислить у -

- + 1, если х > 0,6.

1. Схема алгоритма


Пояснение. Входным данным является переменная X. Перед вычислением У проверяется условие «X

2. Программа

ttinclude

main () //описание переменных х, у типа double

scanf("%lf",&x); if (x

х

//ввод значения переменной х

//если х//то вычисляем у=х+0.5 //иначе вычисляем у=х/2+1

printf("y=%lf ",у);

//остановка работы программы до нажатия любой клавиши

Пояснение. Так как у вычисляется по одной из двух формул в зависимости от значения х, то в программе используется условный оператор if. После вычисления у по одной из формул значение у выводится на экран по форматной спецификации %lf, так как у имеет тип

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

Задача 3. Вычислить значение у: - 2, если х

х + 4, если х > -210.

1. Схема алгоритма


Пояснение. Входным данным является X. Перед вычислением у проверяется условие «X

то происходит вычисление значения У по формуле У = 4 X - 2 (X -2). После вычисления У (по одной из формул) на экран выводится результат (значение У).

2. Программа

double x, у; printf("Введите

scant("%lf",&x); if (x

//подключ, стандарт, библиотеки

//ввода-вывода //заголовок функции main(9 //описание переменных х, у типа double

//вывод на экран приглашения к вводу переменной х

//ввод значения переменной х

//если х//то вычисляем у=4 * х+2 //иначе если х//то вычисляем у=10*х+5 //иначе вычисляем у = х+4

printf("y=%lf ",у);

//выводу и перевод курсора на начало следующей строки экрана get char () ; //остановка работы программы до нажатия любой

клавиши

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

Несколько операторов (блоки операторов) в операторе if. Если по одной или обеим ветвям условного оператора необходимо использовать несколько операторов, то они объединяются в блок - перед первым ставится открывающаяся фигурная скобка, после последнего - закрывающаяся фигурная скобка

Пример 1. Даны а, Ь, с - коэффициенты квадратного уравнения ах 2 + Ьх+ с = 0. Найти корни этого уравнения или вывести сообщение «корней нет», считая, что а Ф 0.

1. Схема алгоритма

Пояснение. Входными данными являются коэффициенты квадратного уравнения - переменные а, Ь, с. Сначала вычисляется дискриминант квадратного уравнения б = Ь 2 - 4 а с. Если дискриминант больше или равен нулю (б > 0), то вычисляются два корня квадратного уравнения по следующим формулам:

, -Ь - л1ь 2 -4ас Л -Ь + у!ь 2 -4ас х1 =-; х2 - -.

2а 2 а

Затем на экран выводятся результаты (значения переменных х1 и х2).

Если дискриминант меньше нуля (б

2. Программа

/1подключение стандартной библиотеки ввода-вывода #include Цподключение библиотеки математических

//функций

int main () { //заголовок функции main$

double a ,b, с, xl ,х2 , d; //описаниепеременных

printf("Введите через пробел а,Ь,сп");

//вывод приглашения к вводу значений переменных а, b, с scant (" %lf %lf %lf", &a, &b,&c) ; //ввод значений переменных a ,b, c

d=b*b-4*a*c; //вычисление дискриминанта (д.)

if (d>=0) //если d>=0

(xl=(-b-sqrt(d))/(2*a);

//то вычисляем корни квадратного уравнения xl и х2 х2 =(-b+sqrt(d))/(2*а);

printf ("xl = %lf x2 = %lf " , xl, х2) ; //и выводим их на экран

else //если d

printf ("Корней нетп") ; //выводим текст «Корней нет»

getchar (); return 0;

Пример 2. Вычислить значение у - - + -. Если у вычислить

нельзя, то вывести на экран сообщение об этом. Значение х вводится с клавиатуры.

Данную задачу можно решить двумя способами: а) используя логическое И (&&); б) используя логическое ИЛИ 1-й способ (использование логического И).

1. Схема алгоритма

Вывод Y

Нельзя вы-

числить Y!»

Пояснение. Входным данным является X. На нуль делить нельзя, поэтому знаменатели дробей не должны быть равны нулю (в условии задачи даны две дроби: 1/Х и 3/(Х+ 1)). Таким образом, для вычисления Y надо проверить, что знаменатели обеих дробей одновременно не равны нулю. Для этого проверяется сложное условие «X Ф 0 и X + 1 Ф 0». Если оно истинно (ответ «Да» на оба вопроса), то происходит вычисление значения Y и вывод его на экран. Если условие ложно (ответ «Нет» хотя бы на один из вопросов), то выводится сообщение «Нельзя вычислить Y!».

2. Программа

#include int main() {

double x,y; printf("Введите x ");

if ((x!=0)&&(x+3!=0)){ //если одновременно хФО их+1^0

у=1/х+3/ (х+1) ; //вычисляем у

printf ("y=51f " ,у) ; //ивыводим у на экран

else printf("Нельзя вычислить у!п"); getchar(); return 0;

Пояснение. Для вычисления у необходимо, чтобы одновременно знаменатели обеих дробей были не равны нулю. Для этого используется операция && (логическое И). В операторе И"проверяется сложное условие «х ф 0 и х+1 ф 0» (в С++ оно записывается в виде ((х! =0) && ((х+1) 1=0), причем каждое простое условие заключается в отдельные круглые скобки).

  • 2-й способ (использование ИЛИ).
  • 1. Схема алгоритма

^ Начало ^

Z1 Ввод X 3^

Вывод У З 7

Пояснение. При решении задачи с помощью «логического ИЛИ» проверяется невозможность вычисления Y. Для этого надо проверить, что хотя бы один из знаменателей дробей равен нулю. Для этого проверяется сложное условие «X = 0 или X -г 1 = 0». Если оно истинно (ответ «Да» хотя бы на один из вопросов), то выводится сообщение «Нельзя вычислить Y!». Если условие ложно (ответ «Нет» на оба вопроса), то происходит вычисление значения Y и вывод его на экран.

2. Программа

printf("Введите x ");

scant("%lf",&x);

if ((x==0) I I (x+l==0))

printf("Нельзя вычислить y! ");

else (y=l/x+3/(x+1);

printf("y=%lf ",y);

getchar(); return 0;

Пояснение. В программе используется операция | | (логическое ИЛИ). В операторе if проверяется сложное условие «х=0 или х+1=0» (в C++ оно записывается в виде ((х==0) I I ((х+1) ==0)).

Разделы: Информатика

Класс: 9

Тип урока: комбинированный, изучение нового материала.

Место урока в теме : 1 урок

Цели урока:

  • Повторить и закрепить материал по теме “Алгоритм”
  • Ввести понятие “условный оператор”
  • Познакомить со способами записи разветвляющегося алгоритма на языке Pascal
  • Применить полученные знания при решении жизненных ситуаций и различных задач

Задачи урока:

  • Воспитательная – развитие познавательного интереса, логического мышления
  • Учебная – освоение умений составления разветвляющихся алгоритмов
  • Развивающая – развитие алгоритмического мышления, памяти, внимательности

Материально-техническое обеспечение урока:

  • Наглядные и дидактические материалы
  • Презентация для интерактивной доски, выполненная в программе Notebook (см. <Приложение 1 >)
  • Карточки с текстом задач

Технические средства обучения

  • ПК учителя
  • Мультимедийный проектор
  • Интерактивная доска SMART Board
  • ПК учащихся

Программные средства

  • Операционная система Windows ХР
  • Система программирования Free Pascal
  • Программное обеспечение интерактивной доски SMART Board

Учебно-методическое обеспечение урока:

  1. Семакин И.Г., Залогова Л.А, Русаков С.В., Шестакова Л.В. Информатика и ИКТ. Базовый курс: Учебник для 9 класса. – М.: БИНОМ. Лаборатория знаний, 2011
  2. Задачник-практикум по информатике в II ч. / И. Семакин, Е. Хеннер – М.:БИНОМ. Лаборатория Базовых Знаний, 2010

План урока

  1. Организационный момент (1 мин)
  2. Повторение (8 мин)
  3. Изучение нового материала (7 мин)
  4. Закрепление (8 мин)
  5. Практическая работа (18 мин)
  6. Подведение итогов урока и задание на дом (3 мин)

Ход урока

1. Организационный момент

2. Повторение

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

Проверим, как вы усвоили этот материал.

Работаем устно.

<Рисунок1>.

Рисунок1

Задание№1

1) Прокомментируйте каждую строку программы (см. <Рисунок1>):

Дополнительные вопросы:

Перечислите целые типы Pascal;

Перечислите операторы ввода;

Для чего служит оператор присваивания;

Перечислите операторы вывода;

Какие переменные будут входными, какие выходными.

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

На доску проецируется слайд презентации, содержащий <Рисунок2>.

Рисунок2

Задание№2

Установите соответствие между математической записью алгебраического выражения и записью алгебраического выражения на языке Pascal (см. <Рисунок2>).

Какое алгебраическое выражение соответствует пункту а?

Назовите математический смысл функций sqr и sqrt.

Как записываются на Pascal арифметические операции над целыми числами и вещественными числами?

На доску проецируется слайд презентации, содержащий <Рисунок3>.

Рисунок3

Задание№3

1) Найдите 5 ошибок в программе вычисления значения переменной y (см. <Рисунок3>).

2) Перечислите вещественные типы Pascal.

Изучение нового материала

На доску проецируется слайд презентации, содержащий <Рисунок4 >.

У всех рассмотренных нами до сих пор программ была линейная структура

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

Однако не любую задачу можно решить с помощью линейного алгоритма

Например, значение переменной y, заданной формулой ,

в зависимости от значения переменной x будет вычисляться либо по формуле , либо по формуле 2.

В данном случае мы имеем дело с другой алгоритмической структурой – разветвлением.

Сегодня на уроке:

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

Запишите тему урока

“Программирование разветвляющихся алгоритмов на языке Pascal”

Вспомним:

1) Какой алгоритм называется разветвляющимся?

2) Что означает структура ветвления? (выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки условия)

Существуют две формы ветвления: полная и неполная (<Рисунок5>)

В полной форме при истинности условия выполняется действие 1, при ложности условия – действие 2.

(Пример – Если у меня повысилась температура, то я вызываю врача,…иду на работу)

В неполной форме действие выполняется только при истинности условия.

(Пример – Если на улице дождь – то я беру с собой зонт)

Для реализации структуры “ветвления” на языке Pascal используется условный оператор.

Запись в тетрадях:

1) Полная форма условного оператора

IF условие THEN действие1 ELSE действие2;

2) Неполная форма условного оператора

IF условие THEN действие;

Русский перевод условного оператора: IF-если, THEN- то, ELSE – иначе.

Условия могут быть простыми и сложными.

Для составления простых условий используют операции сравнения: <, >, <=, >=, <>, =.

Слева и справа от знака сравнения записывают арифметические выражения.

Рассмотрим примеры записи условных операторов.

Закрепление материала

На доску проецируется слайд презентации, содержащий <Рисунок6>.

Задание№4

Дано ветвление (см. <Рисунок6>):

1) Назовите условие

2) Назовите действие, которое будет выполняться в случае Истинности условия; в случае Ложности условия.

3) Запишите условный оператор (записи ведутся на интерактивной доске и в тетрадях учащихся).

4) При каких значениях x выполняется действие y:= x-1? (x4)

Условия x>4 и x4 два взаимоисключающих условия в нашем случае

1 – Истинно 2 – Ложно

1 – Ложно 2 – Истинно

Во второй блок-схеме в качестве условия укажем x4

5) Заполните действия во второй блок-схеме (записи ведутся на интерактивной доске и в тетрадях учащихся).

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

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

Практическая работа

Выполнение практического задания.

На доску проецируется слайд презентации, содержащий <Рисунок7>

Карточка №1

Задание№5

Составьте программу вычисления значения переменной

= ; x, y – целые числа

Этапы работы:

Составление блок-схемы (см. <Рисунок7>)

(записи ведутся на интерактивной доске и в тетрадях учащихся)

Составление компьютерной модели (учащиеся работают за ПК)

На доску проецируется слайд презентации, содержащий <Рисунок8>

Компьютерный эксперимент (тестирование программы)(см. <Рисунок8>)

Анализ результатов компьютерного эксперимента

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

На доску проецируется слайд презентации, содержащий <Рисунок9>, содержащий тест для программы.

Подведение итогов урока и задание на дом

Оценивание работы учащихся на уроке, оценивание практической работы.

Мы познакомились с условным оператором

Научились составлять программы для разветвляющихся алгоритмов

На следующем уроке мы продолжим изучения данной темы

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

Задание на дом:

Параграф 37, записи в тетради, решить задачу:

“Даны числа x и y. Вычислите число z, равное (x+y), если x y и (1-x+y) в противном случае”

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

Учебник: Босова Л. Л. Информатика: учебник для 8 класса – М. : БИНОМ. Лаборатория знаний, 2014. – 160 с. : ил.

Тип урока: урок изучения нового материала.

Цели урока :

    обучающая : организовать деятельность обучающихся по ознакомлению с синтаксисом условного оператора (оператора if ); создать условия для формирования у обучающихся умения использовать оператор if при написании программ;

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

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

Формируемые универсальные учебные действия (УУД) :

    Личностные УУД :

    1. фантазия и воображение при выполнении учебных действий;

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

    Познавательные УУД :

    1. логические действия и операции;

      создание и преобразование моделей и схем для решения задач.

    Коммуникативные УУД :

    1. формулирование собственного мнения и позиции.

    Регулятивные УУД :

    1. планирование своих действий в соответствии с поставленной задачей и условиями ее реализации.

Оборудование : персональный компьютер (ПК), мультимедийный проектор, экран.

Программные средства : презентация «Программирование разветвляющихся алгоритмов. Условный оператор».

План урока

Ход урока.

1. Организационный момент

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

Включаются в деловой ритм урока.

2. Актуализация знаний

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

Запишите сегодняшнюю дату и тему сегодняшнего урока: «Программирование разветвляющихся алгоритмов. Условный оператор».

Теперь повторим материал из раздела «Алгоритмизация» и предыдущих занятий:

Какую алгоритмическую конструкцию называют ветвлением;

Какие формы ветвления вы знаете;

Изобразите блок-схемы полной и сокращенной форм ветвления;

Как записываются логические функции И, ИЛИ, НЕ в языке Pascal .

(Отвечают на вопросы)

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

Существуют полная и сокращенная формы ветвления.

Блок-схемы:

AND, OR, NOT соответственно.

3. Изучение нового материала

А теперь рассмотрим, какой синтаксис имеют операторы ветвления в языке Pascal . Для начала я предлагаю вам заготовить таблицу из двух колонок. Колонки таблицы назовите «Полная форма условного оператора» и «Сокращенная форма условного оператора». Теперь в соответствующие колонки занесите блок-схемы полной и сокращенной форм ветвления, которые изображены на доске.

Ниже запишем общий вид полной и сокращенной форм условного оператора.

Полная форма имеет следующий синтаксис:

if <условие>

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

else <оператор 2>;

if then , после которого записывается оператор, который выполнится в случае истинности условия. Затем записывается служебное слово else , после которого записывается оператор, который выполнится в том случае, если условие окажется ложным.

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

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

if <условие>

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

Сначала записывается служебное слово if , затем – условие, от истинности которого зависит выполнение той или иной ветки условного оператора. После условия записывается служебное слово then , после которого записывается оператор, который выполнится в случае истинности условия.

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

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

(Составляют таблицу)

if <условие>

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

else <оператор 2>;

if <условие>

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

Перед else знак «;» не ставится!

(Записывают в тетрадях)

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

4. Закрепление изученного

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

Давайте попробуем изменить прошлый алгоритм для решения этой задачи так, чтобы применить цикл с постусловием. Пока я буду набирать задачу в редакторе, записывайте её решение у себя в тетради. [ Совместно с обучающимися решаю задачу на компьютере в IDE, попутно решение проецируется на экран ].

Список возможных вопросов обсуждения задачи.

1) Сколько переменных нам необходимо описать?

2) Как последовательно найти минимальный элемент среди известных элементов?

Рассмотрим с вами следующий фрагмент кода:

a:=11;

b:=a div 3;

a:=a-b;

if a*b mod 2 = 0

then writeln(a*b)

else writeln(b-a);

Какими будут значения переменных a и b после выполнения этой последовательности операторов? Что будет выведено на экран?

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

1) Найти значение функции y(x) и вывести его на экран с точностью до тысячных: . Значение x вводится с клавиатуры.

2) Написать программу, определяющую, принадлежит ли точка A(x , y ) закрашенной области, в том числе и границе области:

Записывают условие в тетрадях.

Участвуют в обсуждении задачи, записывают решение в своих тетрадях.

program minimum;

var

a, b, c, min: real;

begin

read(a, b, c);

min:=a;

if b < min then min:=b;

if c < min then min:=c;

writeln (" Min -> ", min );

end .

(Отвечают на вопросы)

a = 8, b = 3. На экран будет выведено число 24.

Самостоятельно оформляют решение задач на компьютере.

Код программы к задаче 1:

program func ;

var

x, y: real;

begin

read(x);

if x <= 5 then

y:=x*x*x+2*x*x-sqrt(5-x)

else

y:=sqrt((x+1)/(3*x*x*x-x));

writeln("y(", x, ") = ", y:0:3);

end .

Код программы к задаче 2:

program point;

var

x, y: real;

begin

readln(x, y);

if (x >= -1) and (x <= 3) and (y >= -2) and (y <= 4) then

writeln ("Точка принадлежит области")

else

writeln ("Точка не принадлежит области");

end.

5. Подведение итогов

Итак, чему вы научились в течение сегодняшнего занятия?

Что представляет собой условие в условном операторе?

Мы изучили синтаксис полной и сокращенной формы условного оператора.

Простое или сложное логическое выражение.

6. Домашнее задание

П. 3.5.

Задачи:

1) Даны три отрезка длиной a, b, c. Проверить, существует ли треугольник с такими сторонами. Если да, то вывести на экран сообщение «Треугольник существует!», найти его площадь и вывести её на следующей строке; если нет, то вывести на экран сообщение «Треугольника не существует».

2) Задача № 14 (учебник 2012 г., стр. 205)

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введенным координатам полей (k , p ) и ( m , n ) определяет, являются ли эти поля полями одного цвета.

Пример входных данных

Пример выходных данных

2 2

3 3

Поля одного цвета

2 3

3 3

Поля разного цвета

2 7

5 4

Поля одного цвета

Записывают в дневниках д/з.


Общий вид условного оператора else Перед else знак «;» не ставится. Полная форма условного оператора: ifthenelse if then else Сокращённая форма условного оператора: ifthen if then Операции отношений Операции отношений Логические операции Логические операции Простые Сложные Условия - логические выражения!


>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" title="Условный оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" class="link_thumb"> 4 Условный оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x >"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x"> >"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x"> >"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" title="Условный оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x">
>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" title="Условный оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x">


>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " title="Сокращённая форма условного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " class="link_thumb"> 5 Сокращённая форма условного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. Y:=A B>Y Y:=B Y:=C C>Y данет данет >"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. "> >"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. Y:=A B>Y Y:=B Y:=C C>Y данет данет"> >"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " title="Сокращённая форма условного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. ">
>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " title="Сокращённая форма условного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. ">


Составной оператор thenelse В условном операторе и после then, и после else можно использовать только один оператор. then else Если в условном операторе после then или после else нужно выполнить несколько операторов, то используют составной оператор – конструкцию вида: begin end


0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 7 Блок-схема решения КВУР Конец Вывод «Корни уравнения: х1=», х1, «х2=», х2 х1:=(-b+sqrt(d))/2/a d>0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d 0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d title="Блок-схема решения КВУР Конец Вывод «Корни уравнения: х1=», х1, «х2=», х2 х1:=(-b+sqrt(d))/2/a d>0 да Начало Введите коэффициенты a, b, c d:=b*b-4*a*c d


Begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; program n_11; var a, b, c: real; var d: real; var x, x1, x2: real; begin writeln ("Решение квадратного уравнения"); write ("Введите коэффициенты a, b, c >>"); readln (a, b, c); d:=b*b-4*a*c; if d0 then end. >"); readln (a, b, c); d:=b*b-4*a*c; if d0 then end.">




>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri" title="Решение линейного уравнения program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri" class="link_thumb"> 10 Решение линейного уравнения program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then writeln ("Корней нет") else writeln ("x – любое число"); end. Корней нет Список данных a, b, x - вещ a, b a0 x:=-b/a b0 Любое число нет да нет >"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri"> >"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then writeln ("Корней нет") else writeln ("x – любое число"); end. Корней нет Список данных a, b, x - вещ a, b a0 x:=-b/a b0 Любое число нет да нет"> >"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri" title="Решение линейного уравнения program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri">
>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri" title="Решение линейного уравнения program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri">


Самое главное При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор: if then else Для записи неполных ветвлений используется сокращённый условный оператор: if then Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид: begin end.


>3, 4 Первая точк" title="Вопросы и задания Как на языке Паскаль записывается полное и неполное ветвление? Является ли условным оператором последовательность символов? а) if x=y then x:=0; y:=0 else write (z) в) if xb then d:=2; if a1, 2 Координаты 2-й точки>>3, 4 Первая точк" class="link_thumb"> 12 Вопросы и задания Как на языке Паскаль записывается полное и неполное ветвление? Является ли условным оператором последовательность символов? а) if x=y then x:=0; y:=0 else write (z) в) if xb then d:=2; if a1, 2 Координаты 2-й точки>>3, 4 Первая точка ближе Пример входных данныхПример выходных данных a b c>> 1 2 1Не существует a b c>> 2 2 2Равносторонний a b c>> Равнобедренный a b c>> 3 4 5Разносторонний Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний). Имеются данные о количестве полных лет трёх призёров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призёра. Пример входных данныхПример выходных данных k, 1>>-1 5 xa, ya >>1 2 Точка лежит под прямой k, 1>>-1 5 xa, ya >>1 10 Точка лежит над прямой k, 1>>-1 5 xa, ya >>1 4 Точка лежит на прямой Напишите программу, определяющую, лежит ли точка А(ха, ya): а) на прямой y = kx + 1, над ней или под ней; б) на окружности x 2 + y 2 = r 2, над ней или под ней. Примеры входных данных и соответствующих им выходных данных разработайте самостоятельно. Пример входных данныхПример выходных данных x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 Напишите программу, которая производит обмен значений переменных x и y, если x больше y. Дан условный оператор: If a5 then c:=2 else c:=3 Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3? Пример входных данныхПример выходных данных -5y = - 1 0y = 0 5y = 1 Напишите программу, вычисляющую значение функции: -1 при x 0 y = Составьте программу для решения задачи: Известно, что 31 января 2011 года приходится на понедельник. Какие значения должны быть присвоены литерной переменной y в алгоритме, определяющем день недели для любого числа (chislo) января 2011 года? chislo:= chislo mod 7 если chislo=3 то у:="… если chislo=4 то у:="… если chislo=5 то у:="… если chislo=6 то у:="… если chislo=0 то у:="… если chislo=1 то у:="… если chislo=2 то у:="… Пример входных данныхПример выходных данных Координаты 1 – го поля >> 2 2 Координаты 2 – го поля >> 3 3 Поля одного цвета Координаты 1 – го поля >> 2 3 Координаты 2 – го поля >> 3 3 Поля разного цвета Координаты 1 – го поля >> 2 7 Координаты 2 – го поля >> 5 4 Поля одного цвета Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, являются ли эти поля полями одного цвета. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а - случайное число, меньшее 100). Ответ пользователя проверяется и комментируется. >3, 4 Первая точк"> >3, 4 Первая точка ближе Пример входных данныхПример выходных данных a b c>> 1 2 1Не существует a b c>> 2 2 2Равносторонний a b c>> 20 20 30Равнобедренный a b c>> 3 4 5Разносторонний Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний). Имеются данные о количестве полных лет трёх призёров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призёра. Пример входных данныхПример выходных данных k, 1>>-1 5 xa, ya >>1 2 Точка лежит под прямой k, 1>>-1 5 xa, ya >>1 10 Точка лежит над прямой k, 1>>-1 5 xa, ya >>1 4 Точка лежит на прямой Напишите программу, определяющую, лежит ли точка А(ха, ya): а) на прямой y = kx + 1, над ней или под ней; б) на окружности x 2 + y 2 = r 2, над ней или под ней. Примеры входных данных и соответствующих им выходных данных разработайте самостоятельно. Пример входных данныхПример выходных данных x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 Напишите программу, которая производит обмен значений переменных x и y, если x больше y. Дан условный оператор: If a5 then c:=2 else c:=3 Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3? Пример входных данныхПример выходных данных -5y = - 1 0y = 0 5y = 1 Напишите программу, вычисляющую значение функции: -1 при x 0 y = Составьте программу для решения задачи: Известно, что 31 января 2011 года приходится на понедельник. Какие значения должны быть присвоены литерной переменной y в алгоритме, определяющем день недели для любого числа (chislo) января 2011 года? chislo:= chislo mod 7 если chislo=3 то у:="… если chislo=4 то у:="… если chislo=5 то у:="… если chislo=6 то у:="… если chislo=0 то у:="… если chislo=1 то у:="… если chislo=2 то у:="… Пример входных данныхПример выходных данных Координаты 1 – го поля >> 2 2 Координаты 2 – го поля >> 3 3 Поля одного цвета Координаты 1 – го поля >> 2 3 Координаты 2 – го поля >> 3 3 Поля разного цвета Координаты 1 – го поля >> 2 7 Координаты 2 – го поля >> 5 4 Поля одного цвета Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, являются ли эти поля полями одного цвета. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а - случайное число, меньшее 100). Ответ пользователя проверяется и комментируется."> >3, 4 Первая точк" title="Вопросы и задания Как на языке Паскаль записывается полное и неполное ветвление? Является ли условным оператором последовательность символов? а) if x=y then x:=0; y:=0 else write (z) в) if xb then d:=2; if a1, 2 Координаты 2-й точки>>3, 4 Первая точк"> title="Вопросы и задания Как на языке Паскаль записывается полное и неполное ветвление? Является ли условным оператором последовательность символов? а) if x=y then x:=0; y:=0 else write (z) в) if xb then d:=2; if a1, 2 Координаты 2-й точки>>3, 4 Первая точк">