Pascal Алгоритмы разветвляющейся структуры, программирование на языке Pascal 10 «А» класс.

Презентация:



Advertisements
Похожие презентации
1 Программирование на языке Паскаль Тема 2. Ветвления.
Advertisements

1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
1 Программирование на языке Паскаль Сложные условия.
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
Программирование на языке Паскаль Тема 2. Ветвления 1.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 3. Сложные условия.
1 Программирование на языке Паскаль Тема 2. Ветвления © К.Ю. Поляков,
Основы языка Pascal Тема. Оператор ветвления. Алгоритм Алгоритм – это четко определенный план действий для исполнителя.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Вариант 2. Программа сложное условие program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); and if (x >= 25) and (x = = равно не равно.
Алгоритмы ветвления. Условный оператор 9 класс. Повторение 1. Что такое алгоритм? 2. Какие типы алгоритмов вы знаете? 3. Какой алгоритм называется линейным?
Тема урока: Виды алгоритмов и их реализация. Образовательные задачи: 1. Ввести понятия: полная форма ветвления и условный оператор ветвления. 2. Научить.
Программирование на языке Паскаль Тема 2. Ветвления.
1 Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Имя Поместится?
1 Программирование на языке Паскаль Тема 2. Ветвления.
PASCAL Условный оператор.. Этот оператор используется для выполнения одного из двух возможных вариантов программы. Условный оператор если логическое_условие.
1 Прикладное программирование Kafmi21. ru – учеба – заочнику – прикладное программирование.
Транксрипт:

Pascal Алгоритмы разветвляющейся структуры, программирование на языке Pascal 10 «А» класс

Pascal Теория

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

словесным Алгоритм, представленный словесным способом описания Начало 1. Команда 1 2. ЕСЛИ условие ТО действие1 ИНАЧЕ действие2 3. Команда 2 Конец

графическим Алгоритм, представленный графическим способом описания Начало Команда 1 Действие 1Действие 2 Команда 2 Конец Условие данет

УСЛОВИЕ ДЕЙСТВИЕ 1 ДЕЙСТВИЕ 2 данет Полная форма ветвления

УСЛОВИЕ ДЕЙСТВИЕ 1 данет Неполная форма ветвления

8 Условный оператор if then begin {что делать, если условие верно} end else begin {что делать, если условие неверно} end; if then begin {что делать, если условие верно} end else begin {что делать, если условие неверно} end; Особенности: перед else НЕ ставится точка с запятой вторая часть ( else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end

9 Что неправильно? if a > b then begin a := b; end else b := a; end; if a > b then begin a := b; end else b := a; end; if a > b then begin a := b; else begin b := a; end; if a > b then begin a := b; else begin b := a; end; if a > b then begin a := b; end; else begin b := a; end; if a > b then begin a := b; end; else begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; begin end begin end

10 Что неправильно? if a > b then begin a := b; else b := a; if a > b then begin a := b; else b := a; if a > b then begin a := b; end; else b := a; if a > b then begin a := b; end; else b := a; if a > b then else begin b := a; end; if a > b then else begin b := a; end; if a > b then a := b; else b := a; end; if a > b then a := b; else b := a; end; a := b end a := b if b >= a then b := a; if b >= a then b := a;

11 Ввести два целых числа и вывести на экран наибольшее из них. 1 способ решения. Блок-схема начало max:= a ввод a,b a > b? max:= b конец да нет полная форма ветвления блок «решение» вывод max

12 1 способ решения. Программа max := a ; max := b ; полная форма условного оператора program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); if a > b then begin end else begin end; writeln ('Наибольшее число ', max); end.

13 2 способ решения. Блок-схема неполная форма ветвления начало max:= a; ввод a,b вывод max max:= b конец да нет b > a? вывод max

14 2 способ решения. Программа неполная форма условного оператора program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := a; if b > a then max := b; writeln ('Наибольшее число ', max); end.

15 2 способ решения. Программа другая program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := b; if ??? then ??? writeln ('Наибольшее число ', max); end. max := a; a > b

16 1 способ решения. Блок-схема начало ввод x конец да нет x >= 25? да нет x < = 40? 'подходит''не подходит'

17 Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»). Особенность: надо проверить, выполняются ли два условия одновременно. Можно ли решить известными методами? ?

program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if x >= 25 then if x

19 2 способ решения. Блок-схема начало ввод x да нет x >= 25 и x

program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if (x >= 25) and (x

21 Сложные условия Простые условия (отношения) >= = Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций: not – НЕ (отрицание, инверсия) and – И (логическое умножение, конъюнкция, одновременное выполнение условий) or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий) xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих) равно не равно

22 Сложные условия Порядок выполнения (приоритет = старшинство) выражения в скобках not and or, xor, >=, =, Особенность – каждое из простых условий обязательно заключать в скобки. Пример if not (a > b) or (c d) and (b a) then begin... end if not (a > b) or (c d) and (b a) then begin... end

Pascal Практика

1.Написать алгоритм вычисления значения у, если Начало Ввод х ; Если х

Блок-схема начало у:= 12*х*х ввод х х >= 16 у:= 3*х-х*х*х конец да нет вывод у

Программа program qq; var x, у: real; begin writeln('Введите значение аргумента х'); read ( x ); if x >= 16 then у:=12*х*х else у:=3*х-х*х*х; writeln ('у=, у); end.

2. Определить является ли треугольник со сторонами a, b, c равносторонним треугольником. Начало Ввод a,b,c ; Если a=b и b=c то вывод (треугольник равносторонний) иначе вывод (треугольник неравносторонний); Конец. Треугольник является равносторонним, если все стороны равны между собой. Алгоритм

Блок-схема начало ввод a,b,c a=b и b=c конец да нет вывод треугольник равносторонний вывод треугольник неравносторонний

Программа program qq; var x, у: real; begin writeln('Введите длины сторон a, b, c'); read ( a,b,c ); if (a=b) and (b=c) then writeln('треугольник равносторонний') else writeln('треугольник неравносторонний'); end.

3. Найти наибольшее (максимум) среди трёх чисел. Блок-схема начало ввод a,b,c конец да нет a>=b? да нет a > = c? да нет b > = c? a>= b b>a a>=b a>=c c>a>=b c>b>a b>a b>=c max:=amax:=c max:=bmax:=c вывод max

Программа program qq; var a, b, c, max: real; begin writeln('Введите числа a, b, c'); read ( a,b,c ); if a>=b then if a>=c then max:=a else max:=c else if b>=c then max:=b else max:=c; writeln (max); end.

4. Составить программу гадания на ромашке «любит - не любит», взяв за исходное количество лепестков N. начало ввод N Nmod20? конец да нет вывод любит вывод не любит Блок-схема «Любит» если N – число нечетное, т.е. остаток от деления числа N на 2 не равен 0 т.е. N mod 2 0

Программа program qq; var N: integer; begin writeln('Введите количество лепестков'); read ( N ); if N mod 2 0 then writeln('любит') else writeln('не любит'); end.

Решить задачи (написать программы на языке Pascal) 1.Найти наименьшее (минимум) среди трёх чисел. 2.Даны три стороны одного треугольника и три стороны другого треугольника. Определить будут ли эти треугольники равновеликими (т.е. будут ли их площади равны). 3.Подсчитать количество положительных чисел среди чисел a, b, c.

4.Написать алгоритм вычисления значения z, если 5.Определить является ли треугольник со сторонами a, b, c равнобедренным треугольником. 6.Определить является ли треугольник со сторонами a, b, c прямоугольным треугольником.