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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
Line 35: Line 35:
 
         System.out.println("----------------------------------------------");
 
         System.out.println("----------------------------------------------");
  
        a = a * Math.PI / 180;
 
 
         xm = xm - xo;
 
         xm = xm - xo;
 
         ym = ym - yo;
 
         ym = ym - yo;
 +
        // Поворот координатной плоскости по часовой стрелке
 +
        a = a * Math.PI / 180;
 
         double x = xm * Math.cos(a) - ym * Math.sin(a);
 
         double x = xm * Math.cos(a) - ym * Math.sin(a);
 
         double y = xm * Math.sin(a) + ym * Math.cos(a);
 
         double y = xm * Math.sin(a) + ym * Math.cos(a);
Line 76: Line 77:
 
     cout << "----------------------------------------------\n";
 
     cout << "----------------------------------------------\n";
 
      
 
      
    a = a * M_PI / 180;
 
 
     xm = xm - xo;
 
     xm = xm - xo;
 
     ym = ym - yo;
 
     ym = ym - yo;
 +
    // Поворот координатной плоскости по часовой стрелке
 +
    a = a * M_PI / 180;
 
     double x = xm * cos(a) - ym * sin(a);
 
     double x = xm * cos(a) - ym * sin(a);
 
     double y = xm * sin(a) + ym * cos(a);
 
     double y = xm * sin(a) + ym * cos(a);

Revision as of 08:06, 12 March 2016

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


Contents

Java

import java.util.Scanner;
import java.lang.Math;

public class Task13 {

    public static void main(String[] args) {
        
        Scanner in = new Scanner(System.in);

        System.out.println();
        System.out.println(" Поиск X, Y точки M в новой системе координат ");
        System.out.println("----------------------------------------------");

        System.out.print(" Введите X и Y точки M в старой системе: ");
        double xm = in.nextDouble();
        double ym = in.nextDouble();

        System.out.print(" Введите Xo и Yo нового начала координат: ");
        double xo = in.nextDouble();
        double yo = in.nextDouble();

        System.out.print(" Введите угол поворота осей (в градусах): ");
        double a = in.nextDouble();

        System.out.println("----------------------------------------------");

        xm = xm - xo;
        ym = ym - yo;
        // Поворот координатной плоскости по часовой стрелке
        a = a * Math.PI / 180;
        double x = xm * Math.cos(a) - ym * Math.sin(a);
        double y = xm * Math.sin(a) + ym * Math.cos(a);

        System.out.printf(" Координаты точки М в новой системе координат:\n");
        System.out.printf(" X = %.2f; Y = %.2f\n", x, y);
    }
}


C++

// g++ 4.2

#include <iostream>
#include <math.h>

using namespace std;

int main() {
    
    double xm, ym, xo, yo, a;
    
    cout << "\n Поиск X, Y точки M в новой системе координат\n";
    cout << "----------------------------------------------\n";
    
    cout << " Введите X и Y точки M в старой системе: ";
    cin >> xm >> ym;
    
    cout << " Введите Xo и Yo нового начала координат: ";
    cin >> xo >> yo;
    
    cout << " Введите угол поворота осей (в градусах): ";
    cin >> a;
    
    cout << "----------------------------------------------\n";
    
    xm = xm - xo;
    ym = ym - yo;
    // Поворот координатной плоскости по часовой стрелке
    a = a * M_PI / 180;
    double x = xm * cos(a) - ym * sin(a);
    double y = xm * sin(a) + ym * cos(a);
    
    printf(" Координаты точки М в новой системе координат:\n");
    printf(" X = %.2f; Y = %.2f\n\n", x, y);
    
    return 0;
}


Pascal




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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools