Конспект лекций по программированию для начинающих. Гладков В.П. - 78 стр.

UptoLike

Составители: 

80
a<>0, c=0, a<>b 1
a<>0, c<>0, a<>b 1
решений нет x x
x=1-c*y, y - любое x
x=1, y - любое x
x=b/a, y=(a-b)*c/a x
От нее перейдем к программе.
if a=0
then if b<>0
then write('решений нет')
else write('x=1-c*y, y - любое')
else if c=0
then if a=b
then write('x=1, y - любое')
else write('нет решений')
else write('x=',b/a,'y=',(a-b)*c/a).
Пример 9.36. Даны три числа. Проверить, могут ли они быть длинами
сторон треугольника, и, если могут, определить вид треугольника:
равносторонний, равнобедренный или разносторонний.
Решение. Три числа могут быть длинами сторон треугольника, если сумма
любых двух больше третьего числа. Треугольник равносторонний, если все его
стороны равны. В равнобедренном треугольнике равны две стороны. У
разностороннего треугольника все стороны разные. Обозначим исходные
данные буквами a, b и c. Построим таблицу решений:
a+b>c 0 1 1 1 1 1
a+c>b 0 1 1 1 1 1
b+c>a 0 1 1 1 1 1
a=b 1 1 0 0 0
a=c 1 0 - 1 0
b=c 1 - 1 0 0
не треугольник x x x
треугольник x x x x x
равносторонний x
равнобедренный x x x
разносторонний x
От нее перейдем к программе:
if (a+b>c) and (a+c>b) and (b+c>a)
then begin write('треугольник ');
if a=b
then if a=c
then write('равносторонний')
else write('равнобедренный')
else if b=c
then write('равнобедренный')
                                         80

                  a<>0, c=0, a<>b                         1
                  a<>0, c<>0, a<>b                            1
                  решений нет             x               x
                  x=1-c*y, y - любое           x
                  x=1, y - любое                   x
                  x=b/a, y=(a-b)*c/a                          x
   От нее перейдем к программе.
   if a=0
   then     if b<>0
            then write('решений нет')
            else write('x=1-c*y, y - любое')
   else     if c=0
            then if a=b
                   then write('x=1, y - любое')
                   else write('нет решений')
            else write('x=',b/a,'y=',(a-b)*c/a).
   Пример 9.36. Даны три числа. Проверить, могут ли они быть длинами
сторон треугольника, и, если могут, определить вид треугольника:
равносторонний, равнобедренный или разносторонний.
   Решение. Три числа могут быть длинами сторон треугольника, если сумма
любых двух больше третьего числа. Треугольник равносторонний, если все его
стороны равны. В равнобедренном треугольнике равны две стороны. У
разностороннего треугольника все стороны разные. Обозначим исходные
данные буквами a, b и c. Построим таблицу решений:
           a+b>c                   0             1 1 1  1  1
           a+c>b                         0       1 1 1  1  1
           b+c>a                              0  1 1 1  1  1
           a=b                                   1 1 0  0  0
           a=c                                   1 0 -  1  0
           b=c                                   1 - 1  0  0
           не треугольник          x     x    x
           треугольник                           x x x  x  x
           равносторонний                        x
           равнобедренный                          x x  x
           разносторонний                                  x
   От нее перейдем к программе:
   if (a+b>c) and (a+c>b) and (b+c>a)
   then      begin write('треугольник ');
                    if a=b
                    then if a=c
                           then write('равносторонний')
                           else write('равнобедренный')
                    else if b=c
                           then write('равнобедренный')