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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
(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==
  
<pre>
+
<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(" Расчет площади треугольника:");
 
         System.out.println(" 1 - по высоте и основанию");
 
         System.out.println(" 1 - по высоте и основанию");
Line 22: 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);
 
     }
 
     }
 
}
 
}
</pre>
+
</source>
  
  
 
==C++==
 
==C++==
  
<pre>
+
<source lang="cpp">
</pre>
+
// 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==
  
<pre>
+
<source lang="delphi">
</pre>
+
</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




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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools