Практикум по программированию. Основы. Циклы. Площадь треугольника
From AsIsWiki
(Difference between revisions)
(Created page with "Циклы __FORCETOC__ ==Java== <pre> import java.util.Scanner; import java.lang.Mat...") |
|||
(3 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | [[Практикум по программированию. Основы. Циклы|Циклы]] | + | <div style='max-width:700px;text-align:justify;'> |
+ | [[Практикум по программированию. Основы. Циклы. Счастливые билеты|Назад]] · | ||
+ | [[Практикум по программированию. Основы. Циклы|Задачи]] · | ||
+ | [[Практикум по программированию. Основы. Циклы. Совершенные числа|Дальше]] | ||
__FORCETOC__ | __FORCETOC__ | ||
Line 5: | Line 8: | ||
==Java== | ==Java== | ||
− | < | + | <source lang="java"> |
import java.util.Scanner; | import java.util.Scanner; | ||
import java.lang.Math; | import java.lang.Math; | ||
Line 12: | 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 22: | 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); | |
} | } | ||
} | } | ||
− | </ | + | </source> |
==C++== | ==C++== | ||
− | < | + | <source lang="cpp"> |
− | </ | + | // 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; | ||
+ | } | ||
+ | </source> | ||
==Pascal== | ==Pascal== | ||
− | < | + | <source lang="delphi"> |
− | </ | + | </source> |
+ | |||
+ | |||
+ | ==JavaScript== | ||
+ | |||
+ | <source lang="js"> | ||
+ | </source> | ||
---- | ---- | ||
− | [[Практикум по программированию. Основы. Циклы|Циклы]] | + | [[Практикум по программированию. Основы. Циклы. Счастливые билеты|Назад]] · |
+ | [[Практикум по программированию. Основы. Циклы|Задачи]] · | ||
+ | [[Практикум по программированию. Основы. Циклы. Совершенные числа|Дальше]] | ||
+ | </div> |
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