Σελίδα 10 από 20

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 2:01 pm
από momentum
mporei kapoios na lisei opoiodipote thema apo tin epanaliptiki tou 2009???
eidika to 1o kai to 3o???
euxaristw!

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 2:31 pm
από Glaurung
Νομίζω πως είναι σωστά , αν κάποιος βρει κάποιο λάθος να το πει για να το ξέρω και γω :)

1o

Κώδικας: Επιλογή όλων


public class Log10Approx
{
    
    public static int log10Approx(int x)
    {
        int y=0;
        int i=1;
        
        while(i<x)
        {
            i=i*10;
            if(i>x)
             return y;
            y++;
        }
        return y;
    }
    
}
3o

Κώδικας: Επιλογή όλων


public class Has2by2ZeroBlock
{
   public static void has2by2ZeroBlock(int a[][])
    {
        int r=a.length-1;
        int c=a[0].length -1;
        
        for(int i=0;i<r;i++)
         {for(int j=0;j<c;j++)
          {if((a[i][j]==0)&&(a[i][j+1]==0)&&(a[i+1][j]==0)&&(a[i+1][j+1]==0))
            {System.out.println("( " + i + "," + j + " )" );
             break;}
            }
        }
        
    }
}

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 3:02 pm
από momentum
se euxaristoume para polu!!!
an exeis xrono ,mporeis na voithiseis kai me ta alla , giati mou fainontai pio diskola se sxesi me ta proigoumena kai enw moiazoun ...panta kapou kollaw!!!

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 3:40 pm
από Glaurung
2o

Κώδικας: Επιλογή όλων


public class Triangle
{
    // instance variables - replace the example below with your own
    private Point a;
    private Point b;
    private Point c;

    
    public Triangle(Point a,Point b,Point c)
    {
        this.a=a;
        this.b=b;
        this.c=c;
    }

    
    public int perimeter()
    {
        return a.distanceFrom(b)+b.distanceFrom(c)+c.distanceFrom(a);
    }
    public void translate(boolean direction,int dist)
    {
        if(direction)
        {
            a.setX(a.getX()+dist);
            b.setX(b.getX()+dist);
            c.setX(c.getX()+dist);
        }
        else
        {
            a.setY(a.getY()+dist);
            b.setY(b.getY()+dist);
            c.setY(c.getY()+dist);
        }
    }
    public String toString()
    {
        return " A " + a + " , B " + b + " , C " + c ; 
    }
}
5o

Κώδικας: Επιλογή όλων


public class LabFroup
{
    // instance variables - replace the example below with your own
    private Student list[];
    private int size;

    /**
     * Constructor for objects of class LabFroup
     */
    public LabFroup()
    {
        // initialise instance variables
         list = new Student[25];
        size=0;
    }
    
    public boolean isFull()
    {
        return (size==25);
    }
    
    public void insert(Student s)
    {
        if(!isFull())
        { 
            list[size]=s;
            size++;
        }
        else
         System.out.println( " The list is full ");
    }
    public void printStudents()
    {
        for(int i=0;i<size;i++)
         System.out.println(list[i]);
    }
    public int size()
    {
        return size;
    }
    public boolean isInLabGroup(String id)
    {
        for(int i=0;i<size;i++)
         if (list[i].getId()==id)
           return true;
           
        return false;
    }
          
}
Τώρα κάνω το 4ο :)

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 4:35 pm
από meleneemil
Εγώ θα ήθελα να ρωτήσω για την κανονική 2008,το 5ο θέμα με τα αρχεία.
Κατάλαβε κανείς πως βρίσκουμε τις γραμμές του αρχείου?

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 4:44 pm
από Glaurung
Το λύσαμε στο επαναληπτικό εργαστήριο :P

Κώδικας: Επιλογή όλων

import java.io.*;

/**
 * tou 2008
 */
public class MyFileReader
{
   public static void printFile(String file1)
   {
       File in=new File(file1);
       
       try
       {
           BufferedReader r=new BufferedReader(new FileReader(in));
           
           int count=0;
           String str=r.readLine();
           while(str!=null)
           {
               System.out.println(str);
               count++;
               str=r.readLine();
            }
            System.out.println("No of lines: " + count);
        }
        catch (IOException e)
        {
            System.out.println("File is not readable");
        }
    }
            
}

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 4:46 pm
από LocknLoad
2 τροποι νομιζω

Κώδικας: Επιλογή όλων

    public void kap1(String file1)throws IOException

    {

        File toPrint=new File(file1);

        FileReader in= new FileReader(toPrint);

        BufferedReader br= new BufferedReader(in);

        int count=0;

        while((in.read())!=-1)

        {

            System.out.println(br.readLine());

            count++;

        }

        System.out.println(count);

        br.close();

        in.close();

    }

   

Κώδικας: Επιλογή όλων

    public void kap2(String file1)throws IOException

    {

        File toPrint=new File(file1);

        FileReader in= new FileReader(toPrint);

        BufferedReader reader= new BufferedReader(in);

        String text=null;

        int count=0;

        while ((text = reader.readLine()) != null)

        {

            System.out.println(text);

            count++;

        }

        System.out.println(count);

        reader.close();

        in.close();

    }

edit: νομιζω (συμφωνα με αυτο του glaurung) το δευτερο τροπο το δικο μου, αλλα με τη δικη του "αρχιτεκτονικη" με τα try και catch

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 4:52 pm
από Glaurung
Δεν το πολύ-κατέχω το κομμάτι αυτό ( :shock: ) , αυτός είναι ο τρόπος που μας έγραψε η υπεύθυνη

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 5:09 pm
από LocknLoad
Το ιδιο πραγμα λεμε, απλα εγω παιζω λιγο πιο "εξυπνα" με μια συνθηκη/εκχωρηση/μετρητη. Κατα τ'αλλα πιο σωστο ειναι να μπει σε try{} και catch {} οπως το ειπες πριν

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 5:11 pm
από Glaurung
Να ρωτήσω και γω κάτι :

Στο επαναληπτικό του 2009 , στο 4ο θέμα υπάρχει η εντολή scale που μεταβάλει το «μέγεθος» του σχήματος ανάλογα με τον double s ( αν πχ s=2 διπλασιάζει , αν s=0,5 υποδιπλασιάζει ) . Αναφέρεται άρα στο εμβαδόν ; Αν είναι έτσι , γιατί εγώ αυτό κατάλαβα , πως ψάχνουμε πχ στον κύκλο ποια πρέπει να είναι η νέα ακτίνα για να έχουμε το επιθυμητό εμβαδόν ; Γιατί αν με s=2 εμείς πχ διπλασιάσουμε απλώς την ακτίνα , θα έχουμε τετραπλάσιο εμβαδόν , και να αλλάξουμε το εμβαδόν χωρίς να αλλάξουμε την ακτίνα είναι λάθος … :ssss:

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 5:20 pm
από LocknLoad
Αρχικα υπολογιζεις το εμβαδον

E = 2πR

Μετα αλλαζει το s και επειδη ειναι αναλογο του Ε κανεις

sE = 2πR'
R' = sE/2π

και βρισκειες το νεο R

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 5:32 pm
από Glaurung
Είχα κολλήσει στο κύκλο, είναι έτσι , στο ορθογώνιο όμως που έχουμε και βάση και ύψος ;;;

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 6:07 pm
από LocknLoad
Δεν ειμαι καθολου σιγουρος. Για δοκιμασε αυτο:


E = x^2 + y^2

sE = E'
sx^2 + sy^2 = x'^2 + y'^2

sx^2 = x'^2 => x' = x sqrt(s)
sy^2 = y'^2 => y' = y sqrt(s)

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 6:10 pm
από Glaurung
Κλασική βλακεία , πρώτα ρωτάω και μετά σκέφτομαι ( αυτό είναι και βγαίνει ) :oops:

Κώδικας: Επιλογή όλων

public abstract class Shape
{
    // instance variables - replace the example below with your own
    private int x;
    private int y;

    /**
     * Constructor for objects of class Shape
     */
    public Shape(int x,int y)
    {
        this.x=x;
        this.y=y;
    }
    public void setX(int newX)
    {
        x=newX;
    }
    public void setY(int newY)
    {
        y=newY;
    }
    public int getX()
    {
        return x;
    }
    public int getY()
    {
        return y;
    }
    public abstract double area();
    public abstract void scale(double s); 
}

Κώδικας: Επιλογή όλων

public class Rectangle extends Shape  implements Movable
{
    
    private double a;
    private double b;

    /**
     * Constructor for objects of class Rectangle
     */
    public Rectangle(int x,int y,int a,int b)
    {
        super(x,y);
        this.a=a;
        this.b=b;
    }
    public void setA(double newA)
    {
        a=newA;
    }
    public void setB(double newB)
    {
        b=newB;
    }
    public double getA()
    {
        return a;
    }
    public double getB()
    {
        return b;
    }
    public double area()
    {
        // put your code here
        return (a*a)+ (b*b);
    }
    public void scale(double s)
    {
        a=a*Math.sqrt(s);
        b=b*Math.sqrt(s);
    }
    public void moveTo(int x,int y)
    {
        setX(x);
        setY(y);
    }
}

Κώδικας: Επιλογή όλων

public class Circle extends Shape  implements Movable
{
    // instance variables - replace the example below with your own
    private double r;
    
    public Circle(int x,int y,int r)
    {
        super(x,y);
        this.r=r;
    }
    public void setR(int newR)
    {
        r=newR;
    }
    public double getR()
    {
        return r;
    }
    
    public double area()
    {
        return 2*Math.PI*r;
    }
    public void moveTo(int x,int y)
    {
        setX(x);
        setY(y);
    }
    public void scale(double s)
    {
        r=(s*area())/(2*Math.PI);
    }

    
}

Κώδικας: Επιλογή όλων



public interface Movable
{
    
    void moveTo(int x,int y);
}

Re: Εργαστήριο Σχεδίασης-Aνάπτυξης Εφαρμογών Πληροφορικής

Δημοσιεύτηκε: Τετ Ιουν 16, 2010 6:32 pm
από Glaurung
Επειδή δεν έχω ιδία πως γίνεται , άμα είναι οκ ο κώδικας ας το περάσει κάποιος και στο εργαλείο , έχω σε προηγούμενα τις λύσεις και για τα υπόλοιπα θέματα :)