Практикум по программированию. Основы. Циклы. Площадь треугольника
From AsIsWiki
(Difference between revisions)
Line 15: | Line 15: | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | + | ||
Scanner in = new Scanner(System.in); | Scanner in = new Scanner(System.in); | ||
− | + | ||
− | + | System.out.println(); | |
System.out.println(" Расчет площади треугольника:"); | System.out.println(" Расчет площади треугольника:"); | ||
System.out.println(" 1 - по высоте и основанию"); | System.out.println(" 1 - по высоте и основанию"); | ||
Line 25: | Line 25: | ||
System.out.println(" 0 - выход из программы"); | System.out.println(" 0 - выход из программы"); | ||
− | + | int n; | |
− | + | double a, b, c, x, h, p, s = 0; | |
− | + | do { | |
System.out.println("------------------------------"); | System.out.println("------------------------------"); | ||
− | + | System.out.print(" Введите номер измерения: "); | |
− | + | n = in.nextInt(); | |
− | + | switch (n) { | |
− | + | case 1: | |
− | + | System.out.print(" Высота: "); | |
− | + | h = in.nextDouble(); | |
− | + | System.out.print(" Основание: "); | |
− | + | a = in.nextDouble(); | |
− | + | s = h * a / 2; | |
− | + | break; | |
− | + | case 2: | |
− | + | System.out.print(" Сторона A: "); | |
− | + | a = in.nextDouble(); | |
− | + | System.out.print(" Сторона B: "); | |
− | + | b = in.nextDouble(); | |
− | + | System.out.print(" Угол между A и B: "); | |
− | + | x = in.nextDouble() * Math.PI / 180; | |
− | + | s = a * b * Math.sin(x) / 2; | |
− | + | break; | |
− | + | case 3: | |
− | + | System.out.print(" Сторона A: "); | |
− | + | a = in.nextDouble(); | |
− | + | System.out.print(" Сторона B: "); | |
− | + | b = in.nextDouble(); | |
− | + | System.out.print(" Сторона C: "); | |
− | + | c = in.nextDouble(); | |
− | + | p = (a + b + c) / 2; | |
− | + | s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); | |
− | + | break; | |
− | + | } | |
− | + | if (n != 0) { | |
System.out.println("------------------------------"); | System.out.println("------------------------------"); | ||
− | + | System.out.printf(" S = %.2f\n", s); | |
− | + | } | |
− | + | } while (n == 1 || n == 2 || n == 3); | |
} | } | ||
} | } | ||
Line 87: | Line 87: | ||
int main() { | int main() { | ||
− | + | ||
cout << "\n Расчет площади треугольника:\n"; | cout << "\n Расчет площади треугольника:\n"; | ||
cout << " 1 - по высоте и основанию\n"; | cout << " 1 - по высоте и основанию\n"; | ||
Line 139: | Line 139: | ||
} | } | ||
− | } while | + | } while (n == 1 || n == 2 || n == 3); |
− | + | ||
cout << "\n"; | cout << "\n"; | ||
return 0; | return 0; |
Latest revision as of 16:51, 22 March 2016
Contents |
[edit] Java
import java.util.Scanner; import java.lang.Math; public class Task15 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(); System.out.println(" Расчет площади треугольника:"); System.out.println(" 1 - по высоте и основанию"); System.out.println(" 2 - по двум сторонам и углу между ними"); System.out.println(" 3 - по трем сторонам"); System.out.println(" 0 - выход из программы"); int n; double a, b, c, x, h, p, s = 0; do { System.out.println("------------------------------"); System.out.print(" Введите номер измерения: "); n = in.nextInt(); switch (n) { case 1: System.out.print(" Высота: "); h = in.nextDouble(); System.out.print(" Основание: "); a = in.nextDouble(); s = h * a / 2; break; case 2: System.out.print(" Сторона A: "); a = in.nextDouble(); System.out.print(" Сторона B: "); b = in.nextDouble(); System.out.print(" Угол между A и B: "); x = in.nextDouble() * Math.PI / 180; s = a * b * Math.sin(x) / 2; break; case 3: System.out.print(" Сторона A: "); a = in.nextDouble(); System.out.print(" Сторона B: "); b = in.nextDouble(); System.out.print(" Сторона C: "); c = in.nextDouble(); p = (a + b + c) / 2; s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); break; } if (n != 0) { System.out.println("------------------------------"); System.out.printf(" S = %.2f\n", s); } } while (n == 1 || n == 2 || n == 3); } }
[edit] C++
// g++ 4.2 #include <iostream> #include <math.h> using namespace std; int main() { cout << "\n Расчет площади треугольника:\n"; cout << " 1 - по высоте и основанию\n"; cout << " 2 - по двум сторонам и углу между ними\n"; cout << " 3 - по трем сторонам\n"; cout << " 0 - выход из программы\n"; int n; double a, b, c, x, h, p, s = 0; do { cout << "------------------------------\n"; cout << " Введите номер измерения: "; cin >> n; switch (n) { case 1: cout << " Высота: "; cin >> h; cout << " Основание: "; cin >> a; s = h * a / 2; break; case 2: cout << " Сторона A: "; cin >> a; cout << " Сторона B: "; cin >> b; cout << " Угол между A и B: "; cin >> x; s = a * b * sin(x * M_PI / 180) / 2; break; case 3: cout << " Сторона A: "; cin >> a; cout << " Сторона B: "; cin >> b; cout << " Сторона C: "; cin >> c; p = (a + b + c) / 2; s = sqrt(p * (p - a) * (p - b) * (p - c)); break; } if (n != 0) { cout << "------------------------------\n"; printf(" S = %.2f\n", s); } } while (n == 1 || n == 2 || n == 3); cout << "\n"; return 0; }
[edit] Pascal
[edit] JavaScript