Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. работа 3(ОАиП).doc
Скачиваний:
23
Добавлен:
11.07.2019
Размер:
610.3 Кб
Скачать

Задание 4.2.

Выполнить задачу № 17. Вывести исходные данные и полученные результаты. Исходные данные для отладки программы выбрать самостоятельно так, чтобы проверить все возможные варианты выполнения программы.

задача: Даны три целых числа a, b, c. Найти вещественные корни уравнения ax2+bx+c=0 или вывести сообщение об их отсутствии.

Б

0

лок-схема:

1

D=b*b-4*a*c

вывод D

Да

2

Нет

3

6

Да

Нет

x=(0-b)/(2*a)

4

7

10

n=2

8

5

9

10

Таблица соответствия переменных:

Переменные в задаче

Переменные на языке Си

Тип

Комментарий

х(1)

х

float

результат

x(2)

у

float

результат

D

D

float

результат

a

a

float

исходное данное

b

b

float

исходное данное

c

c

float

исходное данное

Листинг программы

#include <stdio.h>

#include <math.h>

main()

{

float a,b,c,x,y,D;

puts("Введите a,b,c\n");

scanf("%f%f%f", &a,&b,&c);

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

printf("D=%.0f\n", D);

if(D>0)

{

x=(0-b+sqrt(D))/(2*a);

y=(0-b-sqrt(D))/(2*a);

printf("корни уравнения x(1)=%.2f, x(2)=%.2f", x,y);

}

else

if(D==0)

{

x=(0-b)/(2*a);

printf("корень уравнения x=%.2f", x);

}

else

{

puts("Нету корней уравнения");

}

fflush(stdin);

getchar();

return(0);

}

Тесты:

тест №

значение

значение x

(в программе)

значение x

(вычисленное)

a

b

c

x(1)

x(2)

1

1

2

1

-1

-1

2

3

2

4

3

-1

4

2

-0,45

4,45

-0,45

4,45

Тесты показали, что программа работает правильно.

Задание 4.3

Проверить, лежит ли данная точка внутри окружности , на её границе или вне окружности.

0

Блок-схема:

1

2

Да

2

Нет

3

Да

Нет

6

5

8

Таблица соответствия переменных

Переменные в задаче

Переменные на языке Си

Тип

Комментарий

x

x

float

исходное данное

y

y

float

исходное данное

x(0)

a

float

исходное данное

y(0)

b

float

исходное данное

Листинг программы:

#include <stdio.h>

#include <math.h>

main()

{

float a,b,x,y;

puts("Введите координаты окружности x и y");

scanf("%f%f",&x,&y);

puts("Введите координаты точки А(x(0),y(0))\n");

scanf("%f%f", &a,&b);

if((a*a+b*b)<sqrt(x*x+y*y))

{puts("Точка А лежит в данной окружности");}

else

if((a*a+b*b)==(x*x+y*y))

{puts("Точка А лежит на границе данной окружности");}

else

{puts("Точка А не находится в данной окружности");}

fflush(stdin);

getchar();

return(0);

}

Тесты:

тест №

значение

результат вычисления

результат выполнения программы

x

y

x(0)

y(0)

точка А находится

1

1

1

1

1

на окружности

на окружности

2

1

1

2

2

в окружности

в окружности

3

2

2

3

3

за окружностью

за окружностью

Тесты показали, что программа работает правильно

Задание: 4.4

Введите четырехзначное число. Является ли оно палиндромомом.

2222, 6116, 0440. и т.д.

4

3

Таблица соответствия переменных

Переменные в задаче

Переменные на языке Си

Тип

Комментарий

a

a

float

исходное данное

b

b

float

исходное данное

c

c

float

исходное данное

d

d

float

исходное данное

Листинг программы:

#include <stdio.h>

#include <math.h>

main()

{

float a,b,c,d;

puts("Введите число a b c d (Вводить каждую цифру отдельно)\n");

scanf("%f%f%f%f", &a,&b,&c,&d);

if(a==d||b==c)

{printf("Введённое число – полиндром”;

}

else

{

printf(“Введённое число – НЕ полиндром ");

}

fflush(stdin);

getchar();

return(0);

}

Тесты:

тест №

значение

результат вычисления

результат выполнения программы

a

b

c

d

Введённое число

1

1

2

2

1

полиндром

полиндром

2

1

2

3

4

не полиндром

не полиндром

Тесты показали, что программа работает правильно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]