СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 19.05.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

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

Проверка знаний

Объяснение материала

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

Итоги урока

Решение задач с использованием условного оператора

Категория: Информатика

Нажмите, чтобы узнать подробности

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

Просмотр содержимого документа
«Решение задач с использованием условного оператора»

Язык программирования Pascal  Ветвление  Практическая работа №4. Решение задач с использованием условного оператора

Язык программирования Pascal Ветвление

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

Решение задач с использованием условного оператора

=b+c соответствует 2≥5 значение FALSE " width="640"

Операции отношения =, , =,

  • возвращают значение типа boolean (true или false)
  • возвращают значение типа boolean (true или false)

Выражение отношения – два выражения , связанных операцией отношения.

Семантика:

  • Вычисляются значения выражений;
  • Проверяется истинность отношения

Например:

a:=1; b:=2;c:=3;

2*a=b+c

соответствует 2≥5 значение FALSE

0 then n:=n+1 else n:=n-2; writeln ('n=',n); end . Пример: If2. Дано целое число N . Если оно положительное, то прибавить к нему 1; если отрицательно вычесть из него 2. Вывести полученное число. " width="640"

Условный оператор if then else полная форма

Синтаксис:

if

then else ;

Семантика:

1. Вычисляется значение

2. Если истинно (TRUE), то выполняется оператор1, иначе выполняется оператор2.

program if_2;

var n: integer ;

begin

write ('введите целое число n=');

readln (n);

if n0

then n:=n+1

else n:=n-2;

writeln ('n=',n);

end .

Пример:

If2. Дано целое число N .

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

Вывести полученное число.

b then max:=a; writeln ('max=',max); end. Пример: If6. Даны два числа. Вывести большее из них " width="640"

Условный оператор if then краткая форма (обход)

Синтаксис:

if then ;

Семантика:

1. Вычисляется значение

2. Если оказывается истинным (TRUE), то выполняется оператор1, иначе переход к следующему оператору.

program a_max_b;

var a,b,max : real ;

begin

writeln ('введите числа a и b');

readln (a,b);

writeln ('a=',a,' b=',b);

max:=b;

if ab then max:=a;

writeln ('max=',max);

end.

Пример:

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

b then begin v:=a; a:=b; b:=v; end ; writeln ('a=',a,' b=',b); end. Пример If9. Даны две переменные A, B. Поместить в A меньшее из значений, а в B — большее. Вывести новые значения переменных A и B. " width="640"

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

  • Если в ветвях необходимо выполнить несколько операторов то используется составной оператор (блок - begin…end ).

program aib;

var a,b,v: real ;

begin

writeln ('введите числа a и b');

readln (a,b);

writeln ('a=',a,' b=',b);

if ab then begin v:=a; a:=b; b:=v; end ;

writeln ('a=',a,' b=',b);

end.

Пример

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

Решение задач на ветвление Задача 1 . Дано целое число. Если оно положительное, то удвоить его; если отрицательное, то вычесть из него 2; если нулевое, то заменить его на 10. Вывести полученное число . Задача 2 . Даны три числа. Найти наименьшее из них. Задача 3. Даны координаты точки, не лежащие на OX и OY.  Определить номер координатной четверти для точки. Задача 4. Для данного вещественного x найти значение функции f(х)   Задача 5. Для данного вещественного x найти значение функции f(х). Задача 6. Программа проверки знания таблицы умножения.  Использовать функцию Random (х).

Решение задач на ветвление

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

Задача 2 . Даны три числа. Найти наименьшее из них.

Задача 3. Даны координаты точки, не лежащие на OX и OY. Определить номер координатной четверти для точки.

Задача 4. Для данного вещественного x найти значение функции f(х)

Задача 5. Для данного вещественного x найти значение функции f(х).

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

0 then n:=2*n else begin if n=0 then n:= n+10 else n:=n-2; end ; writeln ('n=',n); end . " width="640"

Решение задач на ветвление

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

program if_2;

var

n: integer ;

begin

write ('введите целое число n=');

readln (n);

if n0

then n:=2*n

else

begin

if n=0

then n:= n+10

else n:=n-2;

end ;

writeln ('n=',n);

end .

y then min:=y; if minz then min:=z; writeln ('min=',min); end. Задача 2 . Даны три числа. Найти наименьшее из них. " width="640"

Решение задач на ветвление

program if_2;

var x,y,z,min :real;

begin

writeln ('введите три числа x y z');

readln(x,y,z);

writeln ('x=',x,' y=',y,' z=',z);

min:=x;

if miny then min:=y;

if minz then min:=z;

writeln ('min=',min);

end.

Задача 2 . Даны три числа.

Найти наименьшее из них.

0 then begin if y0 then n:=1 else n:=4; end else begin if y0 then n:=2 else n:=3; end; writeln ('четверть n=',n); end. Задача 3. Даны координаты точки, не лежащие на OX и OY. Определить номер координатной четверти для точки. " width="640"

Решение задач на ветвление

program XOY;

var x,y :real;

n: integer;

begin

writeln ('введите координаты точки x y');

readln(x,y);

writeln ('x=',x,' y=',y);

if x0 then begin

if y0 then n:=1

else n:=4;

end

else begin

if y0 then n:=2

else n:=3;

end;

writeln ('четверть n=',n);

end.

Задача 3. Даны координаты точки, не лежащие на OX и OY. Определить номер координатной четверти для точки.

0 then f:=2*sin(x) else f:=6-x; writeln ('f(',x,')=',f); end. " width="640"

Решение задач на ветвление

Задача 4. Для данного вещественного x найти значение функции f(х)

program f_sin ;

var

x,f: real;

begin

write ('введите x=');

readln (x);

if x0

then f:=2*sin(x)

else f:=6-x;

writeln ('f(',x,')=',f);

end.

=2 then f:=4 else f:=x*x end; writeln ('f(',x,')=',f); end. " width="640"

Решение задач на ветвление

Задача 5. Для данного вещественного x найти значение функции f(х).

program finctian ;

var

x,f: real;

begin

write('введите x=');

readln(x);

if x

then f:=-x

else begin if x=2

then f:=4

else f:=x*x

end;

writeln ('f(',x,')=',f);

end.

Логические операции and , or, not  Логические операции - применяют к операндам типа boolean, они возвращают значение типа boolean бинарные операции and , or и xor , унарная not , бинарные операции and , or и xor , унарная not , Логическое  выражение – имеют тип boolean . a 0 b 0 a and b 0 1 a or b 1 0 1 0 0 a xor b 0 0 1 0 1 not a 1 1 1 1 1 1 1 0 0 0 Not - логическое отрицание  And – логическое умножение Or - логическое сложение Xor – или-не, строгое или.

Логические операции and , or, not

  • Логические операции - применяют к операндам типа boolean, они возвращают значение типа boolean
  • бинарные операции and , or и xor , унарная not ,
  • бинарные операции and , or и xor , унарная not ,
  • Логическое выражение – имеют тип boolean .

a

0

b

0

a and b

0

1

a or b

1

0

1

0

0

a xor b

0

0

1

0

1

not a

1

1

1

1

1

1

1

0

0

0

Not - логическое отрицание

And – логическое умножение

Or - логическое сложение

Xor – или-не, строгое или.

= -2) and (x if (x = -1) and (x if (x = 1) and (x if x = 2 then y := 0; writeln ('Для x = ', x, ' y = ', y); end. По значению x вычислить значение составной функции y , заданной в виде графика " width="640"

Вычисление составной функции

program calc_function_1;

var x, y : real ;

begin

writeln (' Введите значение аргумента'); readln (x);

if x

if (x = -2) and (x

if (x = -1) and (x

if (x = 1) and (x

if x = 2 then y := 0;

writeln ('Для x = ', x, ' y = ', y);

end.

  • По значению x вычислить значение составной функции y , заданной в виде графика
Задачи на логические выражения If28. Дан номер года. Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются). If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д. If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.

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

  • If28. Дан номер года. Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
  • If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.
  • If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.
Задачи на логические выражения If28. Дан номер года. Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются). program  god;  var  N,D:integer;  begin  writeln ('введите год');  readln (N);  D:=365;  if  (N mod  4=0) and not ((N mod 100=0) and  (N mod  4000)) then  D:=366;  writeln ('в году ', N, ' число дней=',D);  end . Дано: N – год (integer) Найти: число дней D Делится на 4   N mod 4 =0 Делится на 100   N mod 100 =0 Не делится на 400   N mod 400 0  (N mod  4=0) and  not ((N mod  100=0) and  (N mod  4000))

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

  • If28. Дан номер года. Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

program god;

var N,D:integer;

begin

writeln ('введите год');

readln (N);

D:=365;

if (N mod 4=0) and not ((N mod 100=0) and (N mod 4000)) then D:=366;

writeln ('в году ', N, ' число дней=',D);

end .

Дано:

N – год (integer)

Найти: число дней D

Делится на 4  N mod 4 =0

Делится на 100  N mod 100 =0

Не делится на 400  N mod 400 0

(N mod 4=0) and not ((N mod 100=0) and (N mod 4000))

0) and (N mod 2=0) then writeln ('положительное четное'); if (N0) and (N mod 20) then writeln ('положительное нечетное'); end . If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д. Дано: N – целое Найти: словесное описание Отрицательное четное (N Отрицательное нечетное (N0) Нулевое N=0 Положительное четное (N0) and (N mod 2=0) Положительное нечетное (N0) and (N mod 20) " width="640"

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

program god;

var N:integer;

begin

write ('введите N=');

readln (N);

if (Nand (N mod 2=0) then writeln ('отрицательное четное');

if (Nand (N mod 20)

then writeln ('отрицательное нечетное');

if (N=0)

then writeln ('нулевое');

if (N0) and (N mod 2=0)

then writeln ('положительное четное');

if (N0) and (N mod 20)

then writeln ('положительное нечетное');

end .

If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.

Дано: N – целое

Найти: словесное описание

Отрицательное четное

(N

Отрицательное нечетное

(N0)

Нулевое

N=0

Положительное четное

(N0) and (N mod 2=0)

Положительное нечетное

(N0) and (N mod 20)

100) and (N mod 2=0) then writeln ('трехзначное четное'); if (N100) and (N mod 20) then writeln ('трехзначное нечетное'); end . If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д. Дано: N – целое (1-999) Найти: словесное описание Цифра четная (N Цифра нечетная (N0) Двухзначное четное (10 Двухзначное нечетное (100) Трехзначное четное (N100) and (N mod 2=0) Трехзначное нечетное (N100) and (N mod 20) " width="640"

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

program god;

var N:integer;

begin

write ('введите N=');

readln (N);

if (Nand (N mod 2=0) then writeln ('цифра четная');

if (Nand (N mod 20) then writeln ('цифра нечетная');

if (10and (Nand (N mod 2=0) then writeln ('двухзначное четное');

if (10and (Nand (N mod 20) then writeln ('двухзначное нечетное');

if (N100) and (N mod 2=0) then writeln ('трехзначное четное');

if (N100) and (N mod 20) then writeln ('трехзначное нечетное');

end .

  • If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.

Дано: N – целое (1-999)

Найти: словесное описание

Цифра четная

(N

Цифра нечетная

(N0)

Двухзначное четное

(10

Двухзначное нечетное

(100)

Трехзначное четное

(N100) and (N mod 2=0)

Трехзначное нечетное

(N100) and (N mod 20)

0) and (y0) then writeln('Точка находится в первой четверти'); if (x0) then writeln('Точка находится во второй четверти'); if (x if (x0) and (y if (x=0) or (y=0) then writeln('Точка находится на оси координат'); end. Ввод х, y Точка в первой четверти Да (x0) and (y0) Дано: (x,y) - координаты Найти: четверть Решение: (x0) and (y0) в первой четверти (x0) во второй четверти (x в третьей четверти (x0) and (y в четвертой четверти (x=0) or (y=0) на оси координат Нет Точка во второй четверти Да (x0) Нет Точка в третьей четверти Да (xНет Точка в четвертой четверти Да (x0) and (yНет Точка на оси координат Да (x=0) or (y=0) Нет Конец " width="640"

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

Начало

  • Заданы координаты точки (x,y). Определить, где находится точка.

Program v16_1;

Var x,y:real;

begin

writeln('Введите координаты точки:');

write('x= ');readln(x);

write('y= ');readln(y);

if (x0) and (y0) then writeln('Точка находится в первой четверти');

if (x0) then writeln('Точка находится во второй четверти');

if (x

if (x0) and (y

if (x=0) or (y=0) then writeln('Точка находится на оси координат');

end.

Ввод х, y

Точка в первой четверти

Да

(x0) and (y0)

Дано: (x,y) - координаты

Найти: четверть

Решение:

(x0) and (y0) в первой четверти

(x0) во второй четверти

(x в третьей четверти

(x0) and (y в четвертой четверти

(x=0) or (y=0) на оси координат

Нет

Точка во второй четверти

Да

(x0)

Нет

Точка в третьей

четверти

Да

(x

Нет

Точка в четвертой четверти

Да

(x0) and (y

Нет

Точка на оси координат

Да

(x=0) or (y=0)

Нет

Конец


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!

Поделитесь с друзьями
ВКонтактеОдноклассникиTwitterМой МирLiveJournalGoogle PlusЯндекс