Скачать презентацию Программирование ветвящихся алгоритмов Условный оператор АЛГОРИТМИЧЕСКАЯ СТРУКТУРА Скачать презентацию Программирование ветвящихся алгоритмов Условный оператор АЛГОРИТМИЧЕСКАЯ СТРУКТУРА

2_Оператор_IF_Then_Else.pptx

  • Количество слайдов: 26

Программирование ветвящихся алгоритмов Условный оператор Программирование ветвящихся алгоритмов Условный оператор

АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ» Форма организации действий, при которых в зависимости от выполнения некоторого условия АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ» Форма организации действий, при которых в зависимости от выполнения некоторого условия происходит одна или другая последовательность действий, называется ветвлением. На языке программирования Pascal ветвление кодируется с использованием условного оператора if … then … else.

ФОРМЫ УСЛОВНОГО ОПЕРАТОРА 1) Полная форма if <условие> then <оператор 1> else <оператор 2>; ФОРМЫ УСЛОВНОГО ОПЕРАТОРА 1) Полная форма if <условие> then <оператор 1> else <оператор 2>; 2) Неполная форма if <условие> then <оператор>; Операторы 1 и 2 могут быть простыми или составными. Если условие принимает значение true (истина), то выполняется оператор 1, если – false (ложь), то оператор 2.

ПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА if <условие> then <оператор 1> else <оператор 2>; да оператор ПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА if <условие> then <оператор 1> else <оператор 2>; да оператор 1 условие нет оператор 2

НЕПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА if <условие> then <оператор>; да оператор условие нет НЕПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА if <условие> then <оператор>; да оператор условие нет

УСЛОВИЕ (СРАВНЕНИЕ ВЫРАЖЕНИЙ) простое составное операции отношений = равно not < меньше > больше УСЛОВИЕ (СРАВНЕНИЕ ВЫРАЖЕНИЙ) простое составное операции отношений = равно not < меньше > больше <= меньше или равно >= больше или равно <> не равно логические операции не and и or или Примеры: 1) if (n>0) then n: =n+2; 2) if (n<0) and (n<>-3) then n: =n+1;

КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ: 1) a: =3; b: КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ: 1) a: =3; b: =2; if (a>b) then d: =a else d: =b; Ответ: 3 2) a: =-3; b: =2; if (a>b) then d: =a else d: =b; Ответ: 2

КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ: 3) a: =2; b: КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ: 3) a: =2; b: =3; d: =5; if (a>b) then d: =a else begin d: =b; d: =d+a; end; Ответ: 5

СОСТАВИТЬ БЛОК-СХЕМУ И НАПИСАТЬ ТЕКСТ ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ: 1) Даны два целых числа. СОСТАВИТЬ БЛОК-СХЕМУ И НАПИСАТЬ ТЕКСТ ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ: 1) Даны два целых числа. Найти наименьшее из них. 2) Ввести число. Если оно неотрицательно, вычесть из него 30, в противном случае прибавить к нему 70. 3) Ввести целое число и определить четное оно или нет.

Решение задач ДАНЫ ДВА ЦЕЛЫХ ЧИСЛА. НАЙТИ НАИМЕНЬШЕЕ ИЗ НИХ program zadanie 1; var Решение задач ДАНЫ ДВА ЦЕЛЫХ ЧИСЛА. НАЙТИ НАИМЕНЬШЕЕ ИЗ НИХ program zadanie 1; var a, b: integer; min: integer; да begin write(‘Введите a, b: '); min: =a readln(a, b); if a <= b then min : = a else min : = b; writeln('minimum = ', min); end. начало ввод a, b а

ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО Решение задач НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 30, ИНАЧЕ ПРИБАВИТЬ 70 program zadanie ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО Решение задач НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 30, ИНАЧЕ ПРИБАВИТЬ 70 program zadanie 2; начало var ввод a a: integer; begin write('Vvedite a: '); да нет а>0 readln(a); if a >= 0 then a: =a - 30 a: =a + 70 a : = a - 30 else a : = a + 70; вывод a writeln(‘a = ', a); end. конец

ВВЕСТИ ЦЕЛОЕ ЧИСЛО И ОПРЕДЕЛИТЬ ЧЕТНОЕ ОНО ИЛИ НЕТ program zadanie 3; var a: ВВЕСТИ ЦЕЛОЕ ЧИСЛО И ОПРЕДЕЛИТЬ ЧЕТНОЕ ОНО ИЛИ НЕТ program zadanie 3; var a: integer; begin write(Введите a: '); readln(a); if (a mod 2 = 0) then writeln(‘Да') else writeln(‘Нет'); end. Решение задач начало ввод a нет да a mod 2 =0 вывод ‘Нет’ вывод ‘Да’ конец

Операции Div и Mod Операция Div используется для нахождения частного от деления Примеры: 25 Операции Div и Mod Операция Div используется для нахождения частного от деления Примеры: 25 div 20 = 1; 20 div 25 = 0; 39 div 5 = 7; 158 div 3 = 52. Операция Mod используется для нахождения остатка от деления Примеры: 25 mod 20 = 5; 20 mod 25 = 0; 39 mod 5 = 4; 158 mod 3 = 2.

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ 1) Ввести 2 числа. Если их произведение отрицательно, умножить его ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ 1) Ввести 2 числа. Если их произведение отрицательно, умножить его на 2 и вывести на экран, в противном случае увеличить его в 1, 5 раза и вывести на экран. Ввести число. Если оно четное, разделить его на 4, в противном случае умножить на 3 div деление нацело (25 div 10=2) mod - нахождение остатка (4 mod 2=0). 3) Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

program zadanie 1; var a, b: real; p: real; begin write('Введите a, b: '); program zadanie 1; var a, b: real; p: real; begin write('Введите a, b: '); readln(a, b); if a*b <= 0 then p: =2*a*b else p: =1. 5*a*b; writeln('произв = ', p); end. program zadanie 3; var m, n: integer; begin readln(m, n); if m<>n then begin if m>n then n: =m else m: =n; end else begin m: =0; n: =0; end; writeln(m, ' ', n); end. program zadanie 2; var a: integer; begin writeln('Введите a='); readln(a); if (a mod 2)=0 then writeln(a div 4) else writeln(a*3); end.

Задача 1. Найти сумму цифр двухзначного числа. program Sumoftwo; var Number, Num 1, Num Задача 1. Найти сумму цифр двухзначного числа. program Sumoftwo; var Number, Num 1, Num 2, Sum: integer; begin write('Введите двухзначное число: '); read(Number); { Возьмем число 25 } Num 1 : = Number div 10; { 25 div 10 = 2 } Num 2 : = Number mod 10; { 25 mod 10 = 5 } Sum : = Num 1 + Num 2; { 2 + 5 = 7 } write('Сумма двух чисел -- ', Sum); end.

Задача 2. Найти сумму цифр трехзначного числа. Div нахождение частного от деления Mod нахождение Задача 2. Найти сумму цифр трехзначного числа. Div нахождение частного от деления Mod нахождение остатка от деления Возьмем число 255 Сумма цифр этого числа равна 2+5+5=12 255 div 100=2 (целая часть, т. е 255: 100=2, 55) 255 mod 10=5 (дробная часть, т. е 255: 10=25, 5) 255 div 10 mod 10=5 (255 div 10=25 -целое от 25, 5 25 mod 10=5, т. к. от 2, 5 берем дробную часть, т. е. 5)

Программа для решения задачи нахождения суммы цифр трехзначного числа. program Sumoftree; var Number, Sum: Программа для решения задачи нахождения суммы цифр трехзначного числа. program Sumoftree; var Number, Sum: integer; begin write('Введите трехзначное число: '); read(Number); { Возьмем число 255 } Sum : = Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 } write('Сумма трёх чисел -- ', Sum); end.

Математические функции в Паскаль Функция - это подпрограмма, которая возвращает какое-либо значение. Математические функции в Паскаль Функция - это подпрограмма, которая возвращает какое-либо значение.

Математические процедуры Преобразование типов Процедура - это подпрограмма, которая сразу изменяет значения и выполняет Математические процедуры Преобразование типов Процедура - это подпрограмма, которая сразу изменяет значения и выполняет операции с числами, операторами и т. д. Наименован ие процедуры Тип аргумента Тип значения Результат Математические процедуры Inc(x) Целый x: =(x+1) Dec(x) Целый x: =(x-1) Inc(x, n) Целый x: =(x+n) Dec(x, n) Целый x: =(x-n) Преобразование типов Trunc(x) Вещественный Целая часть Trunc(5. 67)=5 Round(x) Вещественный Округление х до целого Round(5. 67)=6

Ветвление. Оператор выбора CASE (в случае) позволяет сделать выбор из произвольного числа имеющихся вариантов Ветвление. Оператор выбора CASE (в случае) позволяет сделать выбор из произвольного числа имеющихся вариантов CASE N OF N – переключатель; M 1: оператор1; М 2: оператор2; Mi –метки, возможные значения …. . переключателя( переключатель и метки Мn: операторn; должны быть одного типа, кроме REAL. ) ELSE оператор; Часть ELSE может отсутствовать END; Оператор CASE передает управление тому оператору, значение метки Мi которого совпало со значением переключателя N, а затем – на следующий за END оператор. Если N не совпало ни с одним из значений Мi, то выполняется оператор следующий за ELSE.

Задача case 1. Преобразовать целое число к словесному виду Begin writeln(‘Введите цифру ‘); readln(a); Задача case 1. Преобразовать целое число к словесному виду Begin writeln(‘Введите цифру ‘); readln(a); if (a<0) or (a>4) then writeln (‘Это число не является искомой цифрой‘) else В случае, если переменная case a of а равна 0– вывести «Ноль» ; 0 : writeln (‘ноль‘); 1 : writeln (‘один‘); В случае, если переменная 2 : writeln (‘два‘); равна 1 – вывести «Один» ; 3 : writeln (‘три‘); 4 : writeln (‘четыре‘); В случае, если переменная end; равна 2 – вывести «Два» readln; И т. д. End.

Задача case 2. Напишите программу с помощью которой можно определить название дня недели по Задача case 2. Напишите программу с помощью которой можно определить название дня недели по введенному номеру var { Прогр. определяет день недели по введенному номеру } n: integer; begin writeln('Введите целое число от 1 до 7'); В случае, если переменная write('-> '); равна 1– вывести readln(n); «Понедельник» ; case n of 1: writeln('Понедельник'); В случае, если переменная 2: writeln ('Вторник'); равна 2 – вывести 3: writeln ('Среда'); «Вторник» ; 4: writeln ('Четверг'); 5: writeln ('Пятница'); В случае, если переменная 6: writeln ('Суббота'); равна 3 – вывести «Среда» 7: writeln ('Воскресенье'); И т. д. else writeln ('Вы неправильно ввели номер'); end; readln;

Задача case 3. Написать алгоритм, классифицирующий треугольник var c: integer; begin read(c); case c Задача case 3. Написать алгоритм, классифицирующий треугольник var c: integer; begin read(c); case c of В случае, если переменная равна от 1 до 89 – вывести «Остроугольный» ; 1. . 89: writeln('Остроугольный'); В случае, если переменная 90: writeln('Прямоугольный'); равна 90 – вывести «Прямоугольный» ; 91. . 180: writeln('Тупоугольный'); В случае, если переменная end; end. равна от 91 до 180 – вывести «Тупоугольный»

Задание на дом: Задача case 3. Написать программу, которая запрашивает номер дня недели и Задание на дом: Задача case 3. Написать программу, которая запрашивает номер дня недели и выводит одно из сообщений: «Это рабочий день» , «Это суббота» , «Это воскресенье» или «Такого дня недели нет» . Задача case 4. Написать программу, которая запрашивает номер месяца и выводит его название или сообщение, что такого месяца не существует. Задача case 5. Напишите программу, которая по введенному числу из промежутка 0. . 24, определяет время суток.