Εργαστήριο 4 - AUEB e-Class - Οικονομικό Πανεπιστήμιο Αθηνών

Οικονομικό Πανεπιστήμιο Αθηνών
Τμήμα Πληροφορικής
Εισαγωγή στον Προγραμματισμό Υπολογιστών
Εργαστήριο 4
Άσκηση 1
Γράψτε μία μέθοδο computeAgeAndCheckEligibility που να δέχεται το έτος γέννησης ενός προσώπου και
να επιστρέφει αν το πρόσωπο έχει δικαίωμα ψήφου. Σχεδιάστε ένα κυρίως πρόγραμμα για να ελέγξετε τη
μέθοδο σας και να τυπώσετε το αντίστοιχο μήνυμα.
Κώδικας
import acm.program.*;
public class EligibilityToVote extends Program{
public void run(){
println("This program reads the year of birth of a person and decides if the person is eligible to
vote.");
int yearOfBirth = readInt("Please insert a year of birth: ");
boolean voteEligibility = computeAgeAndCheckEligibility(yearOfBirth);
if(voteEligibility == true){
println("The person is eligible to vote.");
}
else{
println("The person is not eligible to vote.");
}
}
private boolean computeAgeAndCheckEligibility(int year){
int age = 2013 - year;
return (age >= 18);
}
}
Άσκηση 2
Γράψτε μία μέθοδο raiseIntToPower, η οποία να δέχεται δύο ακέραιες μεταβλητές n και k, και να
επιστρέφει nk. Μπορείτε να υποθέσετε ότι οι ακέραιοι είναι θετικοί.
Σχεδιάστε ένα κυρίως πρόγραμμα για να δοκιμάσετε τη μέθοδο σας και να τυπώσετε το αποτέλεσμα στην
κονσόλα.
Κώδικας
import acm.program.*;
public class IntegerToPower extends Program{
public void run(){
println("This program computes and prints the result of raising an integer n to power k");
int n = readInt("Enter the base: ");
int k = readInt("Enter the exponent: ");
int result = raiseIntToPower(n, k);
println("The result of raising " + n + " to " + k + " is " + result);
}
private int raiseIntToPower(int n, int k){
int i;
int result = 1;
for(i=1; i<=k; i++){
result = result * n;
println(result);
}
return result;
}
}
Άσκηση 3
Γράψτε μία μέθοδο findAreaOfTriangle η οποία να δέχεται τα μήκη των τριών πλευρών ενός τριγώνου και
να επιστρέφει το εμβαδόν του τριγώνου. Σχεδιάστε ένα κυρίως πρόγραμμα για να ελέγξετε τη μέθοδο σας
και να τυπώσετε το αποτέλεσμα.
Έστω a, b, c τα μήκη των τριών πλευρών. Το εμβαδόν του τριγώνου δίνεται από τον τύπο του Ήρωνα1
, όπου s το ήμισυ της περιμέτρου του τριγώνου. Προσέξτε ότι για να μπορεί
να υπολογιστεί το εμβαδόν τριγώνου, η υπόρριζη ποσότητα δεν πρέπει να είναι αρνητική, γιατί
διαφορετικά δεν ισχύει η τριγωνική ανισότητα.
Κώδικας
import acm.program.*;
public class TriangleArea extends Program{
public void run(){
println("Enter the length of the three sides.");
double a = readDouble("");
double b = readDouble("");
double c = readDouble("");
double area = findAreaOfTriangle(a, b, c);
if(area < 0){
println("There is no such triangle");
}
else{
println("The area of a triangle is: " + area);
}
}
private double findAreaOfTriangle(double a, double b, double c){
double semiperimeter = (a + b + c)/2;
double rootValue = semiperimeter * (semiperimeter - a) * (semiperimeter - b) * (semiperimeter - c);
if(rootValue < 0){
return -1;
}
else{
double area = Math.sqrt(rootValue);
return area;
}
}
}
1
http://en.wikipedia.org/wiki/Heron's_formula