0 / 0 / 1 Регистрация: 03.11.2020 Сообщений: 8 |
|
1 |
|
Создать программу для расчета формулы03.11.2020, 22:01. Показов 10862. Ответов 8
Ребят , очень нужна помощь , не могу разобраться с данной задачей , заранее спасибо!
0 |
0 / 0 / 1 Регистрация: 03.11.2020 Сообщений: 8 |
|
03.11.2020, 22:14 [ТС] |
2 |
b = 47.4 a = b + c — (D / (E + b))
0 |
Gdez 7257 / 4046 / 1780 Регистрация: 27.03.2020 Сообщений: 6,871 |
||||
03.11.2020, 22:18 |
3 |
|||
PeTp0,
0 |
0 / 0 / 1 Регистрация: 03.11.2020 Сообщений: 8 |
|
03.11.2020, 22:28 [ТС] |
4 |
Спасибо , но я хочу разобраться как написать программу для вычисления по формуле
0 |
Gdez 7257 / 4046 / 1780 Регистрация: 27.03.2020 Сообщений: 6,871 |
||||
03.11.2020, 22:35 |
5 |
|||
PeTp0,
Или условия, что именно требуется…
0 |
isaak 163 / 96 / 25 Регистрация: 17.10.2010 Сообщений: 1,069 |
||||
03.11.2020, 23:02 |
6 |
|||
print(a) Как вводить данные, ошибка выскакивает?????? Миниатюры
1 |
Gdez 7257 / 4046 / 1780 Регистрация: 27.03.2020 Сообщений: 6,871 |
||||
03.11.2020, 23:07 |
7 |
|||
isaak,
Извиняюсь
1 |
PeTp0 0 / 0 / 1 Регистрация: 03.11.2020 Сообщений: 8 |
||||
05.11.2020, 23:07 [ТС] |
8 |
|||
Сообщение было отмечено Рыжий Лис как решение РешениеСпасибо ребята) разобрался , в общем должно было выглядеть вот так:
вдруг кому-нибудь понадобится
0 |
Модератор 35427 / 19452 / 4071 Регистрация: 12.02.2012 Сообщений: 32,488 Записей в блоге: 13 |
|
06.11.2020, 07:44 |
9 |
Не по теме:
вдруг кому-нибудь понадобится — какая щедрость! Добавлено через 1 минуту
0 |
Одна из распространенных задач в практических или лабораторных работах по C++ — это вычисление по формуле. Сами по себе такие задачи не отличаются сложностью, но нередко требуется введение данных с клавиатуры – вот здесь и могут вылезти некоторые подводные камни визуал студио C++.
Итак, предположим, что нам надо решить вариант номер 6 из задания ниже:
Быстренько набрасываем вот такой вот код в консольном приложении C++:
И, увы, видим, следующие ошибки:
То есть, компилятор пишет что нужно проверить scanf, и используется тип данных не double, a double. Добавляем & перед переменной и теперь получаем новую ошибку:
error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Еще немного меняем код, используем scanf_s:
Теперь компилируется без ошибок, но ничего не выводит на экран. В чем же проблема? Надо преобразовать double перед выводом в printf. Итак, конечный код будет такой:
#include "stdafx.h" #include <conio.h> #include <math.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) { double x, y, a, c; printf("Enter xn"); scanf_s("%lf", &x); a = pow(x, 3) - 0, 8 * x - 0, 75; if (a == 0) { printf("Error"); } else { c = cos(x); if (c == 0) { printf("Error"); } else { y = (7, 3 * pow(x, 3) + pow(tan(x), 1 / 5)) / (pow(x, 3) - 0, 8 * x - 0.75); printf("%3fn", y); _getch(); } } return 0; }
Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
заметки, си плюс плюс, формулы, вычисления, visual studio
Пример программы, предназначенной для вычисления по формуле
Задача:
требуется подготовить программу для
вычисления значения арифметического
выражения, заданного формулой:
Решение:
Алгоритм
вычисления можно свести к следующим
шагам:
-
Ввести
значения исходных данных — значения
i,
x
и j. -
Получить
результат — вычислить по формуле
значение y. -
Вывести
значение y
на экран.
Программа
на языке С++ может быть записана, как это
показано на рис 8.
Если
проанализировать текст программы, то
можно заметить, что в конце программы,
а именно, после вывода значения y
на консоль, добавлены две строчки, в
которых содержатся:
-
описание
Ch
— некоторой вспомогательной переменной; -
инструкция
для ввода этой вспомогательной
переменной.
Это
сделано для того, чтобы «подержать»
экран (окно) с результатами вычислений.
После анализа результата следует нажать
любой символ на клавиатуре и вернуться
к окну редактора кода.
Рис.
8. Окно редактора кода с программой
вычисления по формуле
Об ошибках
-
Ошибки
компиляции
– ошибки в синтаксисе написания языковых
конструкций. -
Ошибки
выполнения
— это такие ошибки, которые не нарушают
синтаксис языка, но приводят к ошибочным
операциям в процессе выполнения
программы (например, деление на нуль.
зацикливание, выход за границу индексов
и т.д.). В этом случае система выдаст
сообщение об ошибке, но уже на этапе
выполнения программы. -
Ошибки
алгоритма
— те, которые при верных исходных данных
и безошибочной работе программы приводят
к неверным результатам. Эти
ошибкидолжен
обнаруживать сам программист при
тестировании программы.
Об
инструкциях ввода-вывода
Тщательно
проработанная программа ввод данных
сопровождает осмысленными сообщениями,
чтобы пользователь знал, каких данных
ждет от него программа. Для ввода и
вывода данных, как правило, достаточно
классов-потоков
cin
и cout,
организующих обмен данными со стандартными
устройствами — клавиатурой и дисплеем.
Знакомство
с классами предполагается на более
поздних этапах изучения языка С++. На
начальном же этапе к задачам ввода/вывода
будем подходить формально: за инструкцией
cin>>
— перечисляются
переменные для ввода, а за инструкцией
cout<<
— данные для вывода. Эти классы-потоки
cin
и cout,
описаны в одном из стандартных заголовочных
файлов iostream.h.
Поэтому этот файл должен быть подключен
командой препроцессора #include.
Варианты заданий
1Препроцессор — часть компилятора,
которая производит предварительную
обработку текста программ. Препроцессор
узнает свои инструкции по специальному
знаку «#» — решетка
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Ваше решение записывайте как комментарий к данной странице (пример оформления).
Решены задачи: 1-22, 24,27 Не решены: 23,25,26,28. Для многих задач есть варианты решений с обсуждениями, смотрите.
Задачи
S2.1. Составить программу:
а) вычисления значения функции y=7x2+3x+6 при любом значении x;
б) вычисления значения функции x=12a2+7a+12 при любом значении а.
S2.2. Дана сторона квадрата. Найти его периметр. — решение.
S2.3. Дан радиус окружности. Найти ее диаметр. — решение.
S2.4. Считая, что Земля — идеальная сфера с радиусом R=6350 км, определить расстояние до линии горизонта от точки В с заданной высотой h=AB над Землей.
S2.5. Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности. — решение
S2.6. Дан радиус окружности. Найти длину окружности и площадь круга.
S2.7. Даны два целых числа. Найти: а) их среднее арифметическое; б) их среднее геометрическое.
S2.8. Известны объем и масса тела. Определить плотность материала этого тела.
S2.9. Известны количество жителей в государстве и площадь его территории. Определить плотность населения в этом государстве.
S2.10. Составить программу решения линейного уравнения ax+b=0 (a ≠ 0).
S2.11. Даны катеты прямоугольного треугольника. Найти его гипотенузу.
S2.12. Найти площадь кольца по заданным внешнему и внутреннему радиусам.
S2.13. Даны катеты прямоугольного треугольника. Найти его периметр.
S2.13А. Даны два числа. Найти среднее арифметическое и среднее геометрическое их модулей.
S2.14. Даны основания и высота равнобедренной трапеции. Найти ее периметр.
S2.14А. Даны стороны прямоугольника. Найти его периметр и длину диагонали.
S2.15. Даны два числа. Найти их сумму, разность, произведение, а также частное от деления первого числа на второе.
S2.16. Даны длины сторон прямоугольного параллелепипеда. Найти его объем и площадь боковой поверхности.
S2.17. Известны координаты на плоскости двух точек. Составить программу вычисления расстояния между ними.
S2.18. Даны основания и высота равнобедренной трапеции. Найти периметр трапеции.
S2.19. Даны основания равнобедренной трапеции и угол при большем основании. Найти площадь трапеции.
S2.20. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника.
S2.21. Выпуклый четырехугольник задан координатами своих вершин. Найти площадь этого четырехугольника как сумму площадей треугольников.
S2.22. Известна стоимость 1 кг конфет, печенья и яблок. Найти стоимость всей покупки, если купили x кг конфет, у кг печенья и z кг яблок.
S2.23. Известна стоимость монитора, системного блока, клавиатуры и мыши. Сколько будут стоить 3 компьютера из этих элементов? N компьютеров?
S2.24. Возраст Тани — X лет, а возраст Мити — Y лет. Найти их средний возраст, а также определить, на сколько отличается возраст каждого ребенка от среднего значения. — решение
S2.25. Два автомобиля едут навстречу друг другу с постоянными скоростями V1 и V2 км/час. Определить, через какое время автомобили встретятся, если расстояние между ними было S км.
S2.26. Два автомобиля едут друг за другом с постоянными скоростями V1 и V2 км/час (V1>V2). Определить, какое расстояние будет между ними через 30 минут после того, как первый автомобиль опередил второй на S км.
S2.27. Известно значение температуры по шкале Цельсия. Найти соответствующее значение температуры по шкале: а) Фаренгейта; б) Кельвина. Для пересчета по шкале Фаренгейта необходимо исходное значение температуры умножить на 1,8 и к результату прибавить 32, а по шкале Кельвина абсолютное значение нуля соответствует 273,15 градуса по шкале Цельсия.
S2.28. У американского писателя-фантаста Рэя Бредбери есть роман «450 градусов по Фаренгейту». Какой температуре по шкале Цельсия соответствует указанное в названии значение? (См. предыдущую задачу).
Пример оформления:
Задача S2.3
static void Main(string[] args) { Console.Write("Введите радиус окружности : "); double r = Convert.ToDouble(Console.ReadLine()); double d = 2 * r; Console.WriteLine("Диаметр окружности = {0}", d); }
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
Помощь проекту:
Раздел:
Задачи /
Простейшие /
Программа вычисления суммы
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее… |
Условие задачи 2.4
Задача 2.4
Написать программу для вычисления суммы по формуле:
S = (1*2) / (3*4) + (3*4) / (5*6) + … + (85*86) / (87*88)
Хотя в учебнике, из которого я взял эту задачу, она помечена звёздочкой
(что означает средний уровень сложности), особых затруднений её решение не должно
вызвать даже у новичка, если, конечно, он знает, что такое циклы.
Итак, как вы уже догадались, составить программу вычисления суммы по заданной выше формуле можно, используя цикл.
Алгоритм будет несложным. Мы используем четыре переменных для работы с множителями и одну переменную (Sum) для вычисления суммы:
- Сначала мы определяем первый множитель (n1) и присваиваем ему значение 1.
- Затем в цикле:
- Увеличиваем значения остальных множителей (n2, n3, n4) таким образом, чтобы в первой итерации n2, n3 и n4 были равны соответственно 2, 3 и 4. А последующих итерациях они также будут зависеть от значения первого множителя n1.
- Вычисляем выражение (n1 * n2) / (n3 * n4) и прибавляем его к значению переменной Sum.
- В итоге после завершения цикла будет вычислена нужная нам сумма.
Ниже приведены решения на Паскале и
С++.
Решение задачи 2.4 на Паскале
program summa; const MAX_NUM = 85; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var n1, n2, n3, n4 : Integer; Sum : Single; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin Sum := 0; n1 := 1; while n1 <= MAX_NUM do begin n2 := n1 + 1; n3 := n2 + 1; n4 := n3 + 1; Sum := Sum + (n1 * n2) / (n3 * n4); Inc(n1, 2); end; WriteLn('Summa = ', Sum:0:4); WriteLn('The end. Press ENTER...'); ReadLn; end.
Решение задачи 2.4 на С++
#include #include using namespace std; const int MAX_NUM = 85; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv[]) { int n1, n2, n3, n4; float Sum; Sum = 0; n1 = 1; while (n1 <= MAX_NUM) { n2 = n1 + 1; n3 = n2 + 1; n4 = n3 + 1; Sum = Sum + float(n1 * n2) / float(n3 * n4); n1 = n1 + 2; } cout << "Summa = " << Sum << endl; system("PAUSE"); return EXIT_SUCCESS; }
ВАЖНО!
Обратите внимание на строку в примере на С++, которая выделена красным цветом.
Результат выражений (n1 * n2) и (n3 * n4) мы явно преобразуем к типу float.
Если этого не сделать, то деление первого выражения на второе вернёт ноль,
так как n1…n4 — это целочисленные переменные. Поэтому нам надо либо объявлять
n1…n4 как float, либо явно преобразовывать их в тип float. Вот такой вот
С++ заморочистый язык.
|
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… |
|
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение — ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. |