Скачать презентацию 1 Лекция 9 РВП Козьминых Н М дисциплина Скачать презентацию 1 Лекция 9 РВП Козьминых Н М дисциплина

Лекция 09. РВП.pptx

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

1 Лекция 9. РВП Козьминых Н. М. дисциплина «Программирование» 1 Лекция 9. РВП Козьминых Н. М. дисциплина «Программирование»

2 Разветвляющиеся вычислительные процессы (РВП) Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено 2 Разветвляющиеся вычислительные процессы (РВП) Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено и «нет» — условие не выполнено. Козьминых Н. М.

Средства организации РВП 3 операция условия ? : условный оператор if. Три формы: полная Средства организации РВП 3 операция условия ? : условный оператор if. Три формы: полная форма; неполная форма; с несколькими условиями. оператор множественного выбора switch Козьминых Н. М.

4 Условный оператор if Полная форма оператора if (выражение) оператор1; else оператор2; выражение — 4 Условный оператор if Полная форма оператора if (выражение) оператор1; else оператор2; выражение — это некоторое условие, содержащее операции отношения и логические операции Козьминых Н. М.

5 Условный оператор if Неполная форма оператора if (выражение) оператор; Козьминых Н. М. 5 Условный оператор if Неполная форма оператора if (выражение) оператор; Козьминых Н. М.

6 Условный оператор if С несколькими условиями if (выражение 1) оператор1; else if(выражение 2) 6 Условный оператор if С несколькими условиями if (выражение 1) оператор1; else if(выражение 2) оператор2; else оператор3; Козьминых Н. М.

7 Условный оператор if Пример использования № 1 Нахождение большего значения из двух переменных 7 Условный оператор if Пример использования № 1 Нахождение большего значения из двух переменных а и b Полная форма if(a>b) max = a; else max = b; Неполная форма max = a; if(b>a) max = b; Козьминых Н. М.

8 Условный оператор if Пример использования № 2. 1 Алгоритм с полными вложенными ветвлениями 8 Условный оператор if Пример использования № 2. 1 Алгоритм с полными вложенными ветвлениями if(х <= if(x y else y 0) == 0) = 0; = -l; = l; Козьминых Н. М.

9 Условный оператор if Пример использования № 2. 2 Алгоритм с неполным ветвлением у 9 Условный оператор if Пример использования № 2. 2 Алгоритм с неполным ветвлением у = 1; if( x<= 0) if(x==0) y=0; else y=-l; Козьминых Н. М.

10 Условный оператор if Пример использования № 2. 3 Алгоритм с несколькими условиями if(x<0) 10 Условный оператор if Пример использования № 2. 3 Алгоритм с несколькими условиями if(x<0) у = -1; else if(x==0) y = 0; else y = l; Козьминых Н. М.

11 Условный оператор if Пример использования № 3 Упорядочить по возрастанию значения в двух 11 Условный оператор if Пример использования № 3 Упорядочить по возрастанию значения в двух переменных а, b if(a с a b } > = = = b){ а; b; c; Козьминых Н. М.

12 Условный оператор if Пример использования № 4 Вычислить площадь треугольника по длинам трех 12 Условный оператор if Пример использования № 4 Вычислить площадь треугольника по длинам трех сторон Козьминых Н. М.

13 Условный оператор if Пример использования № 4 1. 2. 3. 4. 5. 6. 13 Условный оператор if Пример использования № 4 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. private void btn. Decide_Click(object sender, Event. Args e) { double a, b, c, p, s; a = Convert. To. Double(txt. A. Text); b = Convert. To. Double(txt. B. Text); c = Convert. To. Double(txt. C. Text); if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a) { p = (a + b + c) / 2; s = Math. Sqrt(p * (p - a) * (p - b) * (p - c)); txt. Result. Text = "Площадь треугольника: " + s. To. String(); } else txt. Result. Text = "Неверные исходные данные. "; } Козьминых Н. М.

14 Оператор множественного выбора (переключатель) switch Козьминых Н. М. 14 Оператор множественного выбора (переключатель) switch Козьминых Н. М.

15 Оператор множественного выбора (переключатель) switch (выражение) { case константа 1: список_операторов 1; [break; 15 Оператор множественного выбора (переключатель) switch (выражение) { case константа 1: список_операторов 1; [break; ] case константа 2: список_операторов 2; [break; ]. . . . [default: список операторов 3; break; ] } break (прерывание) может отсутствовать; default (блок по умолчанию, если не найдено значение в case) может отсутствовать. Козьминых Н. М.

16 Оператор множественного выбора (переключатель) switch Выполнение оператора: Вычисляется выражение, если это необходимо; Полученное 16 Оператор множественного выбора (переключатель) switch Выполнение оператора: Вычисляется выражение, если это необходимо; Полученное значение последовательно сравнивается с константами, помещенными после служебного слова case; при первом совпадении значений выполняются операторы, стоящие после двоеточия; Если ни с одной из констант совпадения не произошло, то выполнятся операторы после слова default. Козьминых Н. М.

17 Оператор множественного выбора Пример использования № 1 Перевести числовую оценку знаний учащегося в 17 Оператор множественного выбора Пример использования № 1 Перевести числовую оценку знаний учащегося в ее словесный эквивалент: 5 — «отлично» , 4 — «хорошо» , 3 — «удовлетворительно» , 2 — «неудовлетворительно» . Козьминых Н. М.

18 Оператор множественного выбора Пример использования № 1 Козьминых Н. М. 18 Оператор множественного выбора Пример использования № 1 Козьминых Н. М.

19 Оператор множественного выбора Пример использования № 1 1. private void btn. Decide_Click(object sender, 19 Оператор множественного выбора Пример использования № 1 1. private void btn. Decide_Click(object sender, Event. Args e) 2. { 3. int ball; 4. ball = Convert. To. Int 32(txt. Ball. Text); 5. switch (ball){ 6. case 2: 7. txt. Result. Text = "Это неудовлетворительно !"; break; 8. case 3: 9. txt. Result. Text = "Это удовлетворительно !"; break; 10. case 4: txt. Result. Text = "Это хорошо !"; break; 11. case 5: txt. Result. Text = "Это отлично !"; break; 12. default: txt. Result. Text = "Нет такой оценки!"; break; 13. } 14. } Козьминых Н. М.

Пример 1 20 Вычислить значение выражения Козьминых Н. М. Пример 1 20 Вычислить значение выражения Козьминых Н. М.

Пример 1 21 1. private void btn_Click(object sender, Event. Args e) 2. { 3. Пример 1 21 1. private void btn_Click(object sender, Event. Args e) 2. { 3. double x, y; 4. x = Convert. To. Double(txt. X. Text); 5. if (x >= 13) 6. y = -Math. Pow(x, 2) - 9; 7. else 8. y = -1 / (Math. Pow(x, 2) - 9); 9. txt. Result. Text = y. To. String(); 10. } Козьминых Н. М.

Пример 2 22 Создать приложение для вычисления значения по формуле: Козьминых Н. М. Пример 2 22 Создать приложение для вычисления значения по формуле: Козьминых Н. М.

Пример 2 23 Список идентификаторов Назначение Идентификатор Тип Вводимые переменные x, t double Вычисляемые Пример 2 23 Список идентификаторов Назначение Идентификатор Тип Вводимые переменные x, t double Вычисляемые переменные z, p, y double Козьминых Н. М.

Пример 2 24 Козьминых Н. М. Пример 2 24 Козьминых Н. М.

Пример 2 25 Козьминых Н. М. Пример 2 25 Козьминых Н. М.

Пример 2 26 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Пример 2 26 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. private void btn. Decide_Click(object sender, Event. Args e) { double x, t, z, p, y; x = Convert. To. Double(msk. X. Text); t = Convert. To. Double(msk. T. Text); z = Math. Log(Math. Abs((2* Math. Pow(x, 2) – 1)/(3 * t + 1)), 3. 0); if(z >= 2) p = 1 / Math. Sqrt(2 + 3 * Math. Pow(z, 2)); else if(z <= 0 && z < 2) p = z; else p = z / Math. Sqrt(2 + 3 * Math. Pow(z, 2)); y = p * Math. Exp(Math. Cos(x) - 1); if(chk. Format. Checked){ txt. Z. Text = String. Format("{0: N 4}", z); txt. P. Text = String. Format("{0: N 4}", p); txt. Y. Text = String. Format("{0: N 4}", y); }else{ txt. Z. Text = z. To. String(); txt. P. Text = p. To. String(); txt. Y. Text = y. To. String(); } Козьминых Н. М. }

Пример 2 27 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Пример 2 27 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. private void Form 1_Shown(object sender, Event. Args e){ msk. X. Focus(); } private void msk. X_Key. Press(object sender, Key. Press. Event. Args e){ if (e. Key. Char == 13) msk. T. Focus(); } private void msk. T_Key. Press(object sender, Key. Press. Event. Args e){ if (e. Key. Char == 13) btn. Decide_Click(sender, e); } private void btn. Exit_Click(object sender, Event. Args e){ Close(); } private void btn. Clear_Click(object sender, Event. Args e){ txt. Z. Clear(); txt. P. Clear(); txt. Y. Clear(); } Козьминых Н. М.

Пример 2 28 Козьминых Н. М. Пример 2 28 Козьминых Н. М.

29 Спасибо за внимание Вопросы… Козьминых Н. М. 29 Спасибо за внимание Вопросы… Козьминых Н. М.