Практикум по программированию. Основы. Циклы. Площадь треугольника

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
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(" Расчет площади треугольника:");
 
         System.out.println(" 1 - по высоте и основанию");
 
         System.out.println(" 1 - по высоте и основанию");
Line 25: Line 25:
 
         System.out.println(" 0 - выход из программы");
 
         System.out.println(" 0 - выход из программы");
  
int n;
+
        int n;
double a, b, c, x, h, p, s = 0;
+
        double a, b, c, x, h, p, s = 0;
  
do {
+
        do {
 
             System.out.println("------------------------------");
 
             System.out.println("------------------------------");
    System.out.print(" Введите номер измерения: ");
+
            System.out.print(" Введите номер измерения: ");
    n = in.nextInt();
+
            n = in.nextInt();
  
    switch (n) {
+
            switch (n) {
  
case 1:
+
                case 1:
    System.out.print(" Высота: ");
+
                    System.out.print(" Высота: ");
    h = in.nextDouble();
+
                    h = in.nextDouble();
    System.out.print(" Основание: ");
+
                    System.out.print(" Основание: ");
    a = in.nextDouble();
+
                    a = in.nextDouble();
    s = h * a / 2;
+
                    s = h * a / 2;
    break;
+
                    break;
  
case 2:
+
                case 2:
    System.out.print(" Сторона A: ");
+
                    System.out.print(" Сторона A: ");
    a = in.nextDouble();
+
                    a = in.nextDouble();
    System.out.print(" Сторона B: ");
+
                    System.out.print(" Сторона B: ");
    b = in.nextDouble();
+
                    b = in.nextDouble();
    System.out.print(" Угол между A и B: ");
+
                    System.out.print(" Угол между A и B: ");
    x = in.nextDouble() * Math.PI / 180;
+
                    x = in.nextDouble() * Math.PI / 180;
    s = a * b * Math.sin(x) / 2;
+
                    s = a * b * Math.sin(x) / 2;
    break;
+
                    break;
  
case 3:
+
                case 3:
    System.out.print(" Сторона A: ");
+
                    System.out.print(" Сторона A: ");
    a = in.nextDouble();
+
                    a = in.nextDouble();
    System.out.print(" Сторона B: ");
+
                    System.out.print(" Сторона B: ");
    b = in.nextDouble();
+
                    b = in.nextDouble();
    System.out.print(" Сторона C: ");
+
                    System.out.print(" Сторона C: ");
    c = in.nextDouble();
+
                    c = in.nextDouble();
    p = (a + b + c) / 2;
+
                    p = (a + b + c) / 2;
    s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
+
                    s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
    break;
+
                    break;
    }
+
            }
  
    if (n != 0) {
+
            if (n != 0) {
 
                 System.out.println("------------------------------");
 
                 System.out.println("------------------------------");
System.out.printf(" S = %.2f\n", s);
+
                System.out.printf(" S = %.2f\n", s);
    }
+
            }
  
} while ((n == 1) || (n == 2) || (n == 3));
+
        } 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 ((n == 1) || (n == 2) || (n == 3));
+
     } 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




Назад · Задачи · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools