Файл: Основы программирования практическое задание 1 .docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.04.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение высшего образования

«Тольяттинский государственный университет»

(наименование института полностью)

Прикладная информатика и математика

(Наименование учебного структурного подразделения)

09.03.03 Прикладная информатика

(код и наименование направления подготовки / специальности)



(направленность (профиль) / специализация)

Практическое задание № 1

по учебному курсу «Основы программирования»

(наименование учебного курса)

Вариант _3_ (при наличии)

Обучающегося










(И.О. Фамилия)




Группа
















Преподаватель










(И.О. Фамилия)




Тольятти

Практическое задание 1

Тема 3. Базовые алгоритмические структуры

Задание 1.1

Вычислить значение функции y по заданной формуле. Значения

исходных данных x, a и b ввести с клавиатуры. Результат вывести на печать.

Функция выбирается из таблицы 2.

Определить тип вычислительного процесса.
Построить алгоритм в виде

блок-схемы, используя стандартные средства Microsoft Word, написать

программу на языке С++. Представить результаты вычислений по заранее

подготовленному тесту.

Для отладки программы можно использовать онлайн-компилятор

(например, С++ shell).



1. Линейный вычислительный процесс

2. Код:

#include

#include

using namespace std;

int main()

{

double a,b,x,y;

cout<<"Введите число a = ";

cin>>a;

cout<<"Введите число b = ";

cin>>b;

cout<<"Введите число x = ";

cin>>x;

y=pow(M_E,b)+(a + 1/sin(x))*sqrt(a+b);

cout<<"Y = "<
return 0;

}

3. Схема:



4. Тестирование: a=1, b=3, x=1. Ответ верен(24,4623271347), проверено на калькуляторе.



Задание 1.2

Составить программу по заданию, согласно варианту.

Определить тип вычислительного процесса. Построить алгоритм в виде

блок-схемы, используя стандартные средства Microsoft Word, написать

программу на языке С++.

Для отладки программы можно использовать онлайн-компилятор

(например, С++ shell).

Представить результаты вычислений по заранее подготовленному тесту,

проверить все возможные «ветви» алгоритма задачи.

Ввести с клавиатуры три целых числа. Определить, какие из них

принадлежат интервалу от 1 до 10. О каждом числе выдать информацию на

экран, принадлежит оно заданному интервалу или нет.

1. Ветвящийся вычислительный процесс

2. Код:

#include

#include

using namespace std;

int main()

{

int a,b,c;

cout<<"Введите первое число"<
cin>>a;

cout<<"Введите второе число"<
cin>>b;

cout<<"Введите третье число"<
cin>>c;

if(10>=a && a>=1) cout<<"Первое число "<
else cout<<"Первое число "<

if(10>=b && b>=1) cout<<"Второе число "<
else cout<<"Второе число "<
if(10>=c && c>=1) cout<<"Третье число "<
else cout<<"Третье число "<
return 0;

}

3. Схема:



4. Тестирование:

1. При a=5 b=7 c=6



2. При a=-5 b=0 c=25



2. При a=2 b=-5 c=7



Задание 1.3

Задана функция f(x). В равностоящих точках вычислить значения

функции f(x). Аргумент меняется в диапазоне: axb.

Границы интервала a, b и количество точек n ввести с клавиатуры.

Определить тип вычислительного процесса. Построить алгоритм в виде

блок-схемы, используя стандартные средства Microsoft Word, написать

программу на языке С++. Представить результаты вычислений по заранее

подготовленному тесту.

Для отладки программы можно использовать онлайн-компилятор

(например, С++ shell).



Подсчитать произведение отрицательных значений функции.

1. Циклический вычислительный процесс.

2. Код:

#include

#include

using namespace std;

int main()

{

double a,b,n,s=1,y,k=0;

cout<<"Введите нижнюю границу"<
cin>>a;

cout<<"Введите верхнюю границу"<
cin>>b;

cout<<"Введите шаг"<
cin>>n;

if(a>b) cout<<"Нижняя граница не может быть меньше верхней";

else if(n<=0) cout<<"Шаг не может быть нулевым или меньше нуля";

else {

for(int i=a;i<=b;i=i+n)

{

y=5*sin(M_PI*i)* pow(M_E,(-0.5*i));;

if(y<0) { s=s*y; k++;}

}

if(k>0) cout<<"Произведение отрицательных значений функции = "<
else cout<<"Oтрицательных значений функции нет ";

}

return 0;

}

3. Схема:



4. Тестирование:

1. При a>b:



2. При n<=0:



3. При n>0, a<=b: a=0, b=5, n=1 ответ– верен, проверено вручную калькулятором.



4. При n>0, a<=b: a=1, b=1, n=1.

Ответ: Oтрицательных значений функции нет. – так и есть. В заданном отрезке с заданным шагом функция имеет лишь одно значение и то положительное.