Házi feladat

www.informatika-programozas.hu - Ez a programozási feladat nehéz lesz!

 

Alapfejezet - Átváltás számrendszerek között

 

Házi feladat - Én már nem is emlékszem, hogy mi volt a beadandó dolgozat témája, ám az bizonyos, hogy Botond által küldött kód többszörösen haladta meg az elvárt nehézségi szintet.

 

Ilyen esetekben programozó apuka/anyuka jelenlétét sejtem és/vagy magas szintű kódkeresési tehetséget. Hiszen az alábbi kód decimális számrendszerből vált át binárisba, még pedig nem beépített, hanem hagyományosnak mondható algoritmus segítségével, ráadásul kivételkezelés is van benne, amely gimnáziumban sokáig fel sem merül:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

import java.util.Scanner;

 

public class Main {
public static void main(String[] args) {
    String binaris = new String("");
    int ertek = 0;
    System.out.println("Ez egy binaris kalkulator");
    System.out.println("Irjon be egy pozitiv egesz szamot!");
    Scanner in = new Scanner(System.in);
    try{
        ertek = in.nextInt();
        if(ertek > 1){
            for(int i = 0; ; i++){
                if((ertek % 2) == 0){
                    binaris = "0" + binaris;
                } else{
                    ertek--;
                    binaris = "1" + binaris;
                }
                ertek = ertek / 2;
                if(ertek == 1) {
                    binaris = "1" + binaris;
                    break;
                }
            }
        }else if(ertek == 0) binaris = "0";
        else if (ertek == 1) binaris = "1";
        else System.out.println("A szam csakis pozitiv egesz szam lehet!");
        if(!"".equals(binaris))
            System.out.println("A megadott szam binarisa: " + binaris);
        }catch (Exception e){
            System.out.println("Ez nem szam!");
        }
    in.close();
    }
}

 

Végeredmény:
Ez egy binaris kalkulator
Irjon be egy pozitiv egesz szamot!
100
A megadott szam binarisa: 1100100