Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Программирование разветвляющихся процессов

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

Презентация использовалась на занятиях профессионального модуля в ОПК СТИ НИТУ МИСиС

21.12.2017

Содержимое разработки

Тема 1 Основы алгоритмизации и программирования   Лекция 1.4. Программирование разветвляющихся процессов

Тема 1

Основы алгоритмизации и программирования

Лекция 1.4.

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

Литература Основная: Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. – М.: Финансы и статистика, 2004. Дополнительная: С/ C ++ Структурное программирование. Практикум. Программирование на языке высокого уровня. Питер, 2004. Юркин А. Задачник по программированию. Гриф МО. Учебное пособие, Питер, 2002. Шмидт Г. Самоучитель Си++. СПб.: БХВ – Петербург, 2004.

Литература

Основная:

Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. – М.: Финансы и статистика, 2004.

Дополнительная:

С/ C ++ Структурное программирование. Практикум. Программирование на языке высокого уровня. Питер, 2004.

Юркин А. Задачник по программированию. Гриф МО. Учебное пособие, Питер, 2002.

Шмидт Г. Самоучитель Си++. СПб.: БХВ – Петербург, 2004.

Вопросы:  1 . Логические значения и выражения.  2. Условный оператор. 3. Метки и оператор перехода. 4. Пример программирования разветвляющихся процессов.

Вопросы:

1 . Логические значения и выражения.

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

3. Метки и оператор перехода.

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

 1 . Логические значения и выражения

1 . Логические значения и выражения

Логические значения:  true – истина;  false – ложь.  В языке Си логический тип данных отсутствует, Обычно:  true кодируется как 1 (любое целое число, отличное от нуля);  false как 0 .  Логические операции выполняются над арифметическими операндами (числами, переменными, выражениями) или отношениями, результат соответствует целочисленному значению 1 (истина) или 0 (ложь).

Логические значения: true – истина; false – ложь. В языке Си логический тип данных отсутствует, Обычно: true кодируется как 1 (любое целое число, отличное от нуля); false как 0 . Логические операции выполняются над арифметическими операндами (числами, переменными, выражениями) или отношениями, результат соответствует целочисленному значению 1 (истина) или 0 (ложь).

Больше или равно = " width="640"

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

Равно ==

Не равно !=

Меньше, чем

Меньше или равно

Больше, чем

Больше или равно =

0 A1 != b1 Операции = = и != имеют более низкий ранг, по сравнению с другими операциями сравнения, например, конструкция F DSC = ros эквивалентна записи ( F DSC = ros ) " width="640"

Примеры записи операций сравнения

Z = = 3.1416

X 0

A1 != b1

Операции = = и != имеют более низкий

ранг, по сравнению с другими операциями

сравнения, например, конструкция

F DSC = ros

эквивалентна записи

( F DSC = ros )

Логические операции   && - конъюнкция ,   | |  - дизъюнкция.   Результаты выполнения логических операций А B false false true && false false false | | false true false true true false true true true true

Логические операции && - конъюнкция , | | - дизъюнкция. Результаты выполнения логических операций

А

B

false

false

true

&&

false

false

false

| |

false

true

false

true

true

false

true

true

true

true

= 2)&&( ozenka ) ( ozenka = = 5 ) || ( ozenka == 4 ) ( y1 = 2) && (y1 (r 3.14) && (r 5 ) (value || (value != 0) " width="640"

Примеры записи логических операций:

( ozenka = 2)&&( ozenka )

( ozenka = = 5 ) || ( ozenka == 4 )

( y1 = 2) && (y1

(r 3.14) && (r 5 )

(value || (value != 0)

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

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

Составной оператор {   оператор1;  оператор2; … } Пример записи составного оператора {  a=b+1.0;   c+=(a+b)/3.0;   x2=x1-x2; }

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

{

оператор1;

оператор2; …

}

Пример записи составного оператора

{

a=b+1.0;

c+=(a+b)/3.0;

x2=x1-x2;

}

Условный оператор  Условный оператор имеет две формы записи – полную и сокращенную. Полная форма if ( условие )  оператор 1 ; else  оператор 2 ; Условие записывается в круглых скобках, оно может представлять собой арифметическое или логическое выражение. Если условие истинно (значение выражения для условия не равно нулю) выполняется оператор 1. В случае ложности (нулевое значение выражения условия) – оператор 2. Оператор 1 и Оператор2 заканчиваются символом 0)&&( a b =1./ a ; else b *= a ; " width="640"

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

Условный оператор имеет две формы записи – полную и сокращенную. Полная форма

if ( условие ) оператор 1 ; else оператор 2 ;

Условие записывается в круглых скобках, оно может представлять собой арифметическое или логическое выражение. Если условие истинно (значение выражения для условия не равно нулю) выполняется оператор 1. В случае ложности (нулевое значение выражения условия) – оператор 2. Оператор 1 и Оператор2 заканчиваются символом " ; ". Пример записи условного оператора

if (( a 0)&&( a b =1./ a ; else b *= a ;

Условный оператор  сокращенный вариант записи if (  условие )  оператор 1 ; Оператор 1 выполняется только в случае истинности условия (не равенства нулю его значения). Если условие ложно, то условный оператор эквивалентен «пустому» оператору.

Условный оператор сокращенный вариант записи

if ( условие ) оператор 1 ;

Оператор 1 выполняется только в случае истинности условия (не равенства нулю его значения). Если условие ложно, то условный оператор эквивалентен «пустому» оператору.

=0) {x1=–a+d; x2=–a–d;} else {x1=0; x2=0.0;}; Перед закрывающей операторной скобкой символ " ; " записывается обязательно . После операторных скобок перед else символ " ; " не ставится. Условные операторы можно вкладывать друг в друга. " width="640"

Оператор1 и оператор2 в полной и в сокращенной форме могут быть простыми или составными (несколько операторов можно объединить операторными скобками)

if (d=0) {x1=–a+d; x2=–a–d;}

else {x1=0; x2=0.0;};

Перед закрывающей операторной скобкой символ " ; " записывается обязательно . После операторных скобок перед else символ " ; " не ставится. Условные операторы можно вкладывать друг в друга.

3. Метки и оператор перехода

3. Метки и оператор перехода

Метки Метка представляет собой идентификатор, который отделяется от оператора двоеточием. Пометить можно и пустой оператор. Примеры записи Met 1: a =1.0; rur 1:; Специально объявлять метки не нужно, они объявляются своим появлением в тексте программы.

Метки

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

Met 1: a =1.0;

rur 1:;

Специально объявлять метки не нужно, они объявляются своим появлением в тексте программы.

Оператор перехода goto  Оператор перехода обеспечивает изменение порядка выполнения команд программы и имеет вид  goto  метка ;  Все символы оператора перехода записываются без пробелов. Пример записи оператора перехода  goto Met 1;

Оператор перехода goto

Оператор перехода обеспечивает изменение порядка выполнения команд программы и имеет вид goto метка ; Все символы оператора перехода записываются без пробелов. Пример записи оператора перехода goto Met 1;

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

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

//Программа вычисления корней // квадратного уравнения #include  #include   //подключение библиотеки математ. ф-ций void main() { double a,b,c,x1,x2,d; printf(

//Программа вычисления корней

// квадратного уравнения

#include

#include //подключение библиотеки математ. ф-ций

void main()

{

double a,b,c,x1,x2,d;

printf("\nVychislenie korney kvadratnogo uravnenia ax*x+bx+c=0");

met1:printf ("\nVvedite koeffiz 'a', ne ravny nulu= ");

scanf("%lf",&a);

if (a==0) {printf("nelzya koeff 'a' zadavat', ravnym nulu"); goto met1;};

printf (

printf ("\nVvedite koeffiz 'b'= ");

scanf("%lf",&b);

printf ("\nVvedite koeffiz 'c'= ");

scanf("%lf",&c);

d=b*b-4*a*c;

if (d 0.0)

{

printf("\nDeystvitelnyh korney net\n");

goto met2;

};

x1=(-b+sqrt(d))/2.0/a;

x2=(-b-sqrt(d))/2.0/a;

printf("\nx1=%lf\nx2=%lf\n",x1,x2);

met2:;

}

Фрагмент текста без использования оператора безусловного перехода в обработке дискриминанта  d=b*b-4*a*c;  if (d   printf(

Фрагмент текста без использования оператора безусловного перехода в обработке дискриминанта

d=b*b-4*a*c;

if (d printf("\nDeystvitelnyh korney net\n");

else

{

x1=(-b+sqrt(d))/2.0/a;

x2=(-b-sqrt(d))/2.0/a;

printf("\nx1=%lf\nx2=%lf\n",x1,x2);

}

}

Вычислить значение функции

Вычислить значение функции

Фрагмент текста программы вычисления функции z void main() {  double x,z;  printf (0) && (x if ((x3) && (x if (x5) z=2; printf("\nz=%lf\n",z); } " width="640"

Фрагмент текста программы вычисления функции z

void main()

{

double x,z;

printf ("\nVvedite znachenie argumenta x= ");

scanf("%lf",&x);

if (x

if ((x0) && (x

if ((x3) && (x

if (x5) z=2;

printf("\nz=%lf\n",z);

}

Вопросы для самоподготовки 1. Логические значения. 2. Логические операции и выражения. 3. Порядок выполнения логических операций. 4. Назначение и структура условного оператора. 5. Назначение и форма записи оператора безусловной передачи управления.

Вопросы для самоподготовки

1. Логические значения.

2. Логические операции и выражения.

3. Порядок выполнения логических операций.

4. Назначение и структура условного оператора.

5. Назначение и форма записи оператора безусловной передачи управления.

Задания к практическому занятию. 1) заданы длины трех отрезков х 1 , х 2 и х 3 . Составить алгоритм и программу, которая по результатам анализа вводимых длин отрезков выводит на экран сообщение: разносторонний треугольник ; равнобедренный треугольник ; равносторонний треугольник ; построить треугольник нельзя . 2) Составить программу проверки соблюдения неравенства    для любых значений х 1 и х 2 для функции f ( x ) = x 2 . Значения х 1 и х 2 задаются вводом.

Задания к практическому занятию.

1) заданы длины трех отрезков х 1 , х 2 и х 3 . Составить алгоритм и программу, которая по результатам анализа вводимых длин отрезков выводит на экран сообщение:

разносторонний треугольник ;

равнобедренный треугольник ;

равносторонний треугольник ;

построить треугольник нельзя .

2) Составить программу проверки соблюдения неравенства

для любых значений х 1 и х 2 для функции f ( x ) = x 2 . Значения х 1 и х 2 задаются вводом.

3) Составить алгоритм и программу, которая определяет, принадлежит ли точка с заданными пользователем координатами ( х,  у ), к заштрихованной области рисунка. Ограничения: ( a – A ) R + r ), ( B – b )  r + R ), Значения параметров r  =2,6; R =3,7 ; B = ;  b = ; A = ; a =9,0; Доработать программу так, чтобы параметры A , a , B , b , R , r  задавались вводом.

3) Составить алгоритм и программу, которая определяет, принадлежит ли точка с заданными пользователем координатами ( х, у ), к заштрихованной области рисунка. Ограничения: ( a A ) R + r ), ( B b ) r + R ),

Значения параметров

r =2,6; R =3,7 ; B = ; b = ; A = ; a =9,0;

Доработать программу так, чтобы параметры A , a , B , b , R , r задавались вводом.

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Программирование разветвляющихся процессов (1.21 MB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

Пользовательское соглашение Политика обработки персональных данных Политика использования файлов cookie
Учителю!
Огромная база учебных материалов на каждый урок с возможностью удаленного управления
Тесты, видеоуроки, электронные тетради