Различия между версиями 1 и 6 (по 5 версиям)
Версия 1 от 2011-10-27 11:39:08
Размер: 1981
Редактор: FrBrGeorge
Комментарий:
Версия 6 от 2011-11-02 15:01:13
Размер: 3251
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 20: Строка 20:
   1. Проверить сравнения A,,1,, < A,,2,, < … < A,,n,, и A,,1,, == A,,2,, == … == A,,n,,
  1. Ввести три числа — длины сторон треугольника — и проверить корректность трекгольника
  {{{#!highlight python
a,b,c = 0,5,7
print a,b,c, ":", a < b < c, (a<b) < c
a,b,c = 0,7,5
print a,b,c, ":", a < b < c, (a<b) < c
a,b,c = 5,7,0
print a,b,c, ":", a < b < c, (a<b) < c
a,b,c = 5,0,7
print a,b,c, ":", a < b < c, (a<b) < c
a,b,c = 7,5,0
print a,b,c, ":", a < b < c, (a<b) < c
a,b,c = 7,0,5
print a,b,c, ":", a < b < c, (a<b) < c
   }}}
   1. <!> Проверить сравнения A,,1,, < A,,2,, < … < A,,n,, и A,,1,, == A,,2,, == … == A,,n,,
  1. Ввести три числа — длины сторон треугольника — и проверить корректность треугольника
  {{{#!highlight python
a,b,c = input("ВВедите длины сторон треугольника a,b,c: ")
if a>=b+c or b>=a+c or c>=a+b:
    print a,b,c,"— это НЕ треугольник"
else:
    print a,b,c,"— это треугольник"
  }}}
Строка 23: Строка 44:
  {{{#!highlight python
from math import sqrt
Строка 24: Строка 47:
A,B,C = input("Введите A,B,C из уравнения Ax²+Bx+С=0: ")
D=B*B-4*A*C
if D<0:
    print "Уравнение не имеет решений"
elif D==0:
    print "X =",-B/(2*A)
else:
    print "X₁ =",(-B+sqrt(D))/(2*A)
    print "X₁ =",(-B-sqrt(D))/(2*A)
  }}}
  '''Замечание''': в этом решении есть одна формальная ошибка (связанная с представлением данных), которая, тем не менее, никогда не возникнет в действительности

Логические операции, условные операторы и модуль math

Условные операторы, то, что с ними связано, и математические функции.

  • Нулевой элемент класса и трактовка истинности выражения
  • Логические операции and, or и not; соответствие таблиц истинности Python и классической Булевой алгебры

  • Оператор if, if … else и if … elif … elif … … else

    • Вложенный if

  • Понятие блока с отступом (indented block)
  • Логические операции сравнения, is и in

  • input() и raw_input(), eval()

Домашнее задание

  1. {i} Прочитать про логические выражения и условные операторы в учебнике

  2. Проверить, является ли сравнение вида a < b < c тройственным сравнением, аналогично a == b == c

       1 a,b,c = 0,5,7
       2 print a,b,c, ":", a < b < c, (a<b) < c
       3 a,b,c = 0,7,5
       4 print a,b,c, ":", a < b < c, (a<b) < c
       5 a,b,c = 5,7,0
       6 print a,b,c, ":", a < b < c, (a<b) < c
       7 a,b,c = 5,0,7
       8 print a,b,c, ":", a < b < c, (a<b) < c
       9 a,b,c = 7,5,0
      10 print a,b,c, ":", a < b < c, (a<b) < c
      11 a,b,c = 7,0,5
      12 print a,b,c, ":", a < b < c, (a<b) < c
    
    1. <!> Проверить сравнения A1 < A2 < … < An и A1 == A2 == … == An

  3. Ввести три числа — длины сторон треугольника — и проверить корректность треугольника
       1 a,b,c = input("ВВедите длины сторон треугольника a,b,c: ")
       2 if a>=b+c or b>=a+c or c>=a+b:
       3     print a,b,c,"— это НЕ треугольник"
       4 else:
       5     print a,b,c,"— это треугольник"
    
  4. Ввести коэффициенты квадратного уравнения a, b, и c и решить его
       1 from math import sqrt
       2 
       3 A,B,C = input("Введите A,B,C из уравнения Ax²+Bx+С=0: ")
       4 D=B*B-4*A*C
       5 if D<0:
       6     print "Уравнение не имеет решений"
       7 elif D==0:
       8     print "X =",-B/(2*A)
       9 else:
      10     print "X₁ =",(-B+sqrt(D))/(2*A)
      11     print "X₁ =",(-B-sqrt(D))/(2*A)
    

    Замечание: в этом решении есть одна формальная ошибка (связанная с представлением данных), которая, тем не менее, никогда не возникнет в действительности

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2011-10-26 (последним исправлял пользователь FrBrGeorge 2011-11-02 15:01:13)