Температура — один из самых важных параметров, которые мы измеряем и используем в повседневной жизни, научных и технических расчетах. Она может быть выражена в разных шкалах, и две из самых распространенных — шкалы Цельсия (°C) и Фаренгейта (°F). Многие страны используют разные системы измерения температуры, и это может привести к некоторым затруднениям при коммуникации и анализе данных. Чтобы справиться с этими различиями и упростить преобразование температуры между шкалами, созданы специальные программы и алгоритмы. В данной статье мы рассмотрим, как создать программу для преобразования шкалы Цельсия в шкалу Фаренгейта и наоборот.
Теория
Для перевода температуры из шкалы Цельсия в шкалу Фаренгейта можно использовать следующую формулу:
Fahrenheit = (Celsius * 9/5) + 32
C++
Программа на C++, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
#include <iostream> using namespace std; int main() { char choice; double temperature, convertedTemperature; cout << "Выберите тип преобразования:\n"; cout << "1. Из Цельсия в Фаренгейт\n"; cout << "2. Из Фаренгейта в Цельсия\n"; cout << "Введите 1 или 2: "; cin >> choice; if (choice == '1') { cout << "Введите температуру в градусах Цельсия: "; cin >> temperature; convertedTemperature = (temperature * 9/5) + 32; cout << "Температура в градусах Фаренгейта: " << convertedTemperature << "°F" << endl; } else if (choice == '2') { cout << "Введите температуру в градусах Фаренгейта: "; cin >> temperature; convertedTemperature = (temperature - 32) * 5/9; cout << "Температура в градусах Цельсия: " << convertedTemperature << "°C" << endl; } else { cout << "Неверный выбор. Пожалуйста, выберите 1 или 2." << endl; } return 0; }
Эта программа предлагает пользователю выбрать тип преобразования: из Цельсия в Фаренгейт (1) или из Фаренгейта в Цельсия (2). Затем она запрашивает температуру и выполняет соответствующее преобразование, используя соответствующие формулы. Результат выводится на экран.
Пример работы программы:
Выберите тип преобразования: 1. Из Цельсия в Фаренгейт 2. Из Фаренгейта в Цельсия Введите 1 или 2: 1 Введите температуру в градусах Цельсия: 25 Температура в градусах Фаренгейта: 77°F
Программа также проверяет валидность выбора пользователя и выводит сообщение об ошибке при неверном вводе.
C#
Программа на C#, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
using System; class Program { static void Main() { char choice; double temperature, convertedTemperature; Console.WriteLine("Выберите тип преобразования:"); Console.WriteLine("1. Из Цельсия в Фаренгейт"); Console.WriteLine("2. Из Фаренгейта в Цельсия"); Console.Write("Введите 1 или 2: "); choice = Console.ReadKey().KeyChar; Console.WriteLine(); // Перевод строки после ввода выбора if (choice == '1') { Console.Write("Введите температуру в градусах Цельсия: "); if (double.TryParse(Console.ReadLine(), out temperature)) { convertedTemperature = (temperature * 9/5) + 32; Console.WriteLine($"Температура в градусах Фаренгейта: {convertedTemperature}°F"); } else { Console.WriteLine("Неверный ввод. Пожалуйста, введите числовое значение."); } } else if (choice == '2') { Console.Write("Введите температуру в градусах Фаренгейта: "); if (double.TryParse(Console.ReadLine(), out temperature)) { convertedTemperature = (temperature - 32) * 5/9; Console.WriteLine($"Температура в градусах Цельсия: {convertedTemperature}°C"); } else { Console.WriteLine("Неверный ввод. Пожалуйста, введите числовое значение."); } } else { Console.WriteLine("Неверный выбор. Пожалуйста, выберите 1 или 2."); } } }
Python
Программа на Python, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
def celsius_to_fahrenheit(celsius): return (celsius * 9/5) + 32 def fahrenheit_to_celsius(fahrenheit): return (fahrenheit - 32) * 5/9 print("Выберите тип преобразования:") print("1. Из Цельсия в Фаренгейт") print("2. Из Фаренгейта в Цельсия") choice = input("Введите 1 или 2: ") if choice == '1': celsius = float(input("Введите температуру в градусах Цельсия: ")) converted_temperature = celsius_to_fahrenheit(celsius) print(f"Температура в градусах Фаренгейта: {converted_temperature}°F") elif choice == '2': fahrenheit = float(input("Введите температуру в градусах Фаренгейта: ")) converted_temperature = fahrenheit_to_celsius(fahrenheit) print(f"Температура в градусах Цельсия: {converted_temperature}°C") else: print("Неверный выбор. Пожалуйста, выберите 1 или 2.")
Эта программа определяет две функции: celsius_to_fahrenheit для преобразования из Цельсия в Фаренгейты и fahrenheit_to_celsius для обратного преобразования. Затем она предлагает пользователю выбрать тип преобразования, запрашивает температуру и выполняет соответствующее преобразование.
Java
Программа на Java, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
import java.util.Scanner; public class TemperatureConverter { public static void main(String[] args) { Scanner input = new Scanner(System.in); char choice; System.out.println("Выберите тип преобразования:"); System.out.println("1. Из Цельсия в Фаренгейт"); System.out.println("2. Из Фаренгейта в Цельсия"); System.out.print("Введите 1 или 2: "); choice = input.next().charAt(0); if (choice == '1') { System.out.print("Введите температуру в градусах Цельсия: "); double celsius = input.nextDouble(); double fahrenheit = celsiusToFahrenheit(celsius); System.out.println("Температура в градусах Фаренгейта: " + fahrenheit + "°F"); } else if (choice == '2') { System.out.print("Введите температуру в градусах Фаренгейта: "); double fahrenheit = input.nextDouble(); double celsius = fahrenheitToCelsius(fahrenheit); System.out.println("Температура в градусах Цельсия: " + celsius + "°C"); } else { System.out.println("Неверный выбор. Пожалуйста, выберите 1 или 2."); } input.close(); } public static double celsiusToFahrenheit(double celsius) { return (celsius * 9/5) + 32; } public static double fahrenheitToCelsius(double fahrenheit) { return (fahrenheit - 32) * 5/9; } }
Эта программа предоставляет пользователю выбор между преобразованием из Цельсия в Фаренгейта (1) и из Фаренгейта в Цельсия (2). Затем она запрашивает температуру и выполняет соответствующее преобразование, используя методы celsiusToFahrenheit и fahrenheitToCelsius. Результат выводится на экран.
Pascal
Программа на Pascal, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
program TemperatureConverter; var choice: Char; temperature, convertedTemperature: Real; function CelsiusToFahrenheit(celsius: Real): Real; begin CelsiusToFahrenheit := (celsius * 9/5) + 32; end; function FahrenheitToCelsius(fahrenheit: Real): Real; begin FahrenheitToCelsius := (fahrenheit - 32) * 5/9; end; begin writeln('Выберите тип преобразования:'); writeln('1. Из Цельсия в Фаренгейт'); writeln('2. Из Фаренгейта в Цельсия'); write('Введите 1 или 2: '); readln(choice); if choice = '1' then begin write('Введите температуру в градусах Цельсия: '); readln(temperature); convertedTemperature := CelsiusToFahrenheit(temperature); writeln('Температура в градусах Фаренгейта: ', convertedTemperature:0:1, '°F'); end else if choice = '2' then begin write('Введите температуру в градусах Фаренгейта: '); readln(temperature); convertedTemperature := FahrenheitToCelsius(temperature); writeln('Температура в градусах Цельсия: ', convertedTemperature:0:1, '°C'); end else writeln('Неверный выбор. Пожалуйста, выберите 1 или 2.'); end.
JavaScript
Программа на JavaScript, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
function celsiusToFahrenheit(celsius) { return (celsius * 9/5) + 32; } function fahrenheitToCelsius(fahrenheit) { return (fahrenheit - 32) * 5/9; } function convertTemperature() { const choice = prompt('Выберите тип преобразования:\n1. Из Цельсия в Фаренгейт\n2. Из Фаренгейта в Цельсия'); if (choice === '1') { const celsius = parseFloat(prompt('Введите температуру в градусах Цельсия:')); if (!isNaN(celsius)) { const fahrenheit = celsiusToFahrenheit(celsius); alert(`Температура в градусах Фаренгейта: ${fahrenheit.toFixed(1)}°F`); } else { alert('Неверный ввод. Пожалуйста, введите числовое значение.'); } } else if (choice === '2') { const fahrenheit = parseFloat(prompt('Введите температуру в градусах Фаренгейта:')); if (!isNaN(fahrenheit)) { const celsius = fahrenheitToCelsius(fahrenheit); alert(`Температура в градусах Цельсия: ${celsius.toFixed(1)}°C`); } else { alert('Неверный ввод. Пожалуйста, введите числовое значение.'); } } else { alert('Неверный выбор. Пожалуйста, выберите 1 или 2.'); } } convertTemperature();
Эта программа определяет две функции: celsiusToFahrenheit для преобразования из Цельсия в Фаренгейты и fahrenheitToCelsius для обратного преобразования. Затем она предоставляет пользователю выбор между преобразованием из Цельсия в Фаренгейта (1) и из Фаренгейта в Цельсия (2) с помощью функции prompt(). После ввода температуры, программа выполняет соответствующее преобразование и выводит результат с использованием alert().
Пример работы программы:
- Посетите эту программу в вашем браузере.
- Выберите тип преобразования и введите температуру в текстовом поле.
- Программа выдаст всплывающее окно с результатом преобразования.
В реальном веб-приложении лучше использовать более пользовательский интерфейс, но эта программа демонстрирует принципы преобразования температур на JavaScript.
PHP
Программа на PHP, которая позволяет пользователю преобразовывать температуру между шкалами Цельсия и Фаренгейта:
<?php function celsiusToFahrenheit($celsius) { return ($celsius * 9/5) + 32; } function fahrenheitToCelsius($fahrenheit) { return ($fahrenheit - 32) * 5/9; } if ($_SERVER["REQUEST_METHOD"] == "POST") { $choice = $_POST["choice"]; if ($choice === '1') { $celsius = floatval($_POST["temperature"]); $fahrenheit = celsiusToFahrenheit($celsius); echo "Температура в градусах Фаренгейта: " . number_format($fahrenheit, 1) . "°F"; } elseif ($choice === '2') { $fahrenheit = floatval($_POST["temperature"]); $celsius = fahrenheitToCelsius($fahrenheit); echo "Температура в градусах Цельсия: " . number_format($celsius, 1) . "°C"; } else { echo "Неверный выбор. Пожалуйста, выберите 1 или 2."; } } ?> <!DOCTYPE html> <html> <head> <title>Конвертер температуры</title> </head> <body> <h1>Конвертер температуры</h1> <form method="post"> <p> Выберите тип преобразования:<br> <input type="radio" name="choice" value="1" required> Из Цельсия в Фаренгейт<br> <input type="radio" name="choice" value="2" required> Из Фаренгейта в Цельсия </p> <p> Введите температуру:<br> <input type="number" name="temperature" step="0.01" required> </p> <p> <input type="submit" value="Преобразовать"> </p> </form> </body> </html>
Эта программа написана в стиле веб-приложения на PHP и HTML. Она предоставляет пользователю выбор между преобразованием из Цельсия в Фаренгейта и из Фаренгейта в Цельсия с помощью radio-кнопок. Затем она запрашивает температуру и выполняет соответствующее преобразование, используя функции celsiusToFahrenheit и fahrenheitToCelsius. Результат выводится на экран в браузере.
Пример работы программы:
- Посетите эту программу в вашем браузере.
- Выберите тип преобразования (Цельсий в Фаренгейт или Фаренгейт в Цельсий).
- Введите температуру.
- Нажмите кнопку «Преобразовать».
- Программа выдаст результат преобразования на экране.