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

From AsIsWiki
Revision as of 07:56, 17 April 2015 by Alex (Talk | contribs)

Jump to: navigation, search

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


Contents

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));
    }
}


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;
}


Pascal




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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools