Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет 1 семестр практика 2 11 вариант

.odt
Скачиваний:
14
Добавлен:
06.07.2021
Размер:
128.86 Кб
Скачать

Балтийский государственный технический университет «ВОЕНМЕХ» им. Д. Ф. Устинова

Кафедра И5 «Информационные системы и программная инженерия»

Практическая работа №2 по дисциплине «Информатика: Основы программирования» на тему «Ветвления»

Выполнил: Студент Ситева Софья Борисовна Группа О401Б Преподаватель: Лазарева Татьяна Ильинична

Санкт-Петербург 2020 г.

Задача 1.

Вычислить значение функции , используя условную операцию

Исходные данные:

аргумент, обозначим a, тип double

Результирующие данные:

значение функции, обозначим f, тип double

Таблица тестирования:

Входные данные

Ожидаемый результат

Результат работы программы

0

error

error

3

0.918204

1.086091

5

1.32613

1.365406

1

error

error

Схема программы

Текст программы

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

double a, f;

scanf_s("%lf", &a);

if ((a > 0) && (a != 0) && (a != 1))

{

f = cos((a * a + sqrt(a)) / (1 + sin(a) * sin(a) / (2 * a))) + 2, 5 / (2 * log(a));

if (f >= 0)

printf("F = %lf\n", sqrt(f));

else

printf("error");

}

else

printf("error");

}

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

Исходные данные:

Аргументы обозначим a и b, тип double.

a ≠ - b

Результирующие данные:

Значение функции, тип double.

Дополнительные переменные:

Индикатор, обозначим f, тип int.

Таблица тестирования:

Входные данные

Ожидаемый результат

Результат работы программы

a=20, b=3

17

17

a=10, b=-6

4

4

a=10, b=-10

error

error

a=0, b=14

14

14

Схема программы:

Текст программы 1 способом:

#include <stdio.h>

#include <stdlib.h>

int main()

{

double a, b, f;

scanf_s("%lf %lf", &a, &b);

if (a > 10)

printf("%lf\n", a - b);

else

if ((a <= 10) && (a > 0) && (b < 0))

(a + b == 0) ? printf("error\n") : printf("%lf\n", (a - b) / (a + b));

else

printf("%lf\n", b);

}

Текст программы 2 способом:

#include <stdio.h>

#include <stdlib.h>

int main()

{

double a, b;

int f;

f = 0;

scanf_s("%lf %lf", &a, &b);

(a > 10) ? printf("%lf\n", a - b) : (f = 1);

((a <= 10) && (a > 0) && (b < 0) && (f == 1)) ? (f = 2) : (f = 3);

(f == 2) ? ((a + b == 0) ? printf("error\n") : printf("%lf\n", (a - b) / (a + b))) : (f = f);

(f == 3) ? printf("%lf\n", b): (f = 4);

}

Задача 3.

Даны 2 числа. Если они оба отрицательны, то первое уменьшить на 1, а второе увеличить на 1; если оба положительны, то большее из них удвоить, а меньшее утроить; в противном случае отрицательное из чисел заменить его абсолютным значением

Исходные данные:

Два вещественных числа, обозначим их a и b, тип double.

Результирующие данные:

Два измененных вещественных числа a и b.

Таблица тестирования:

Входные данные

Ожидаемый результат

Результат работы программы

a=-1, b=-3

a=-2, b=-2

a=-2, b=-2

a=6, b=4

a=12, b=12

a=12, b=12

a=3, b=9

a=9, b=18

a=9, b=18

a=-5, b=1

a=5, b=1

a=5, b=1

Схема программы:

Текст программы:

#include <stdio.h>

#include <stdlib.h>

int main()

{

double a, b;

scanf_s("%lf %lf", &a, &b);

if ((a < 0) && (b < 0))

printf("%lf %lf\n", a - 1, b + 1);

else

if ((a > 0) && (b > 0))

if (a > b)

printf("%lf %lf", a * 2, b * 3);

else

printf("%lf %lf", a * 3, b * 2);

else

{

if (a < 0)

a = -a;

else

b = -b;

printf("%lf %lf", a, b);

}

}

Задача 4.

Схема программы:

Текст программы:

#include <stdio.h>

#include <stdlib.h>

int main()

{

int n;

printf("\n ww ? mesjca");

scanf_s("%d", &n);

switch (n)

{

case 1:;

case 2:;

case 12: printf("\n zima\n");

break;

case 3:;

case 4:;

case 5:printf("\n wesna\n");

break;

case 6:;

case 7:;

case 8:printf("\n leto \n");

break;

case 9:;

case 10:;

case 11:printf("\n osen \n");

break;

default: printf("\n error\n");

}

system("pause");

return 0;

}

Вывод: оператор switch: выполняет действия, основываясь на сравнении значения со списком констант символов или целых чисел. При обнаружении совпадения выполняется оператор или операторы, ассоциированные с данным значением. Оператор default выполняется, если не найдено соответствий.