
4 курс (заочка) / Лабораторные работы / ЛР1 (C) - ТП
.docxОрдена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики»
Центр заочного обучения по программам бакалавриата
Кафедра «Математической кибернетики и информационных технологий»
Дисциплина: Технологии программирования
Лабораторная работа №1
Программирование циклических вычислительных процессов
Выполнил: Иванов И.И., студент группы БСТ17XX Вариант №7
Проверил: Клешнин Н.Г.
Москва, 2021
Введение
В данной лабораторной работе мы изучаем программирование циклических вычислительных процессов для решения поставленных задач. Необходимо написать программу, которая будет удовлетворять заданным условиям, указанным в варианте задания.
Задание
Для
функции
составить программу построения
таблицы значений функции при изменении
аргумента от A =
−5 до B =
5 с шагом H =
0,1. Значения A, B и H объявить, как
константы в директивах #define. В каждой
строке выводить значение аргумента и
соответствующее ему значение функции
в форматированном виде с 4 знаками после
запятой. Кроме того, в конце таблицы
нужно напечатать отдельной строкой
значение, которое требуется вычислить
в соответствии с индивидуальным
вариантом.
Вариант задания
Уровень C
Для решения следующих заданий разрешается использовать цикл только один раз.
C7. Максимальное среди значений функции, имеющих дробную часть
больше 0,4, и количество таких максимальных значений.
Код программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lab1
{
class Program
{
static void Main(string[] args)
{
const double A = -5;
const double B = 5;
const double H = 0.1;
Func(A, B, H);
Console.ReadKey();
}
static void Func(double A, double B, double H)
{
double mem = 0;
int count = 0;
for (double x = A; x <= B; x += H)
{
double f = x * Math.Exp(x) + 2 * Math.Sin(x) - Math.Sqrt(Math.Abs(Math.Pow(x, 3) - Math.Pow(x,2)));
Console.WriteLine($"x = {Math.Round(x,4)} \t f = {Math.Round(f,4)}");
if ((f - (int)f) > 0.4)
{
if (f > mem)
mem = f;
count++;
}
}
if (count > 0)
Console.WriteLine($"Количество значений функции с дробной частью больше 0.4: {count}, Наибольшее значение: {Math.Round(mem, 4)}");
else
Console.WriteLine("Не найдено значений функции с дробной частью больше 0.4");
}
}
}
Результат работы программы
Заключение
В ходе выполнения лабораторной работы была написана программа, содержащая циклический вычислительный процесс, с помощью которой мы смогли выполнить поставленную перед нами задачу.