Εισαγωγή στον Προγραμματισμό Υπολογιστών
- leecher
- Venus Former Team Member
- Posts: 139
- Joined: Fri Jan 23, 2015 9:47 pm
- Academic status: N>4
- Gender: ♂
Εισαγωγή στον Προγραμματισμό Υπολογιστών
Το παρόν thread προορίζεται για το μάθημα "Εισαγωγή στον Προγραμματισμό Υπολογιστών". Εδώ μπορείτε να συζητάτε για ό,τι σχετίζεται με το συγκεκριμένο μάθημα. Υπενθυμίζουμε ότι με βάση τους κανονισμούς λειτουργίας του forum απαγορεύονται τα greeklish, double posts και τα κεφαλαία. Για προηγούμενες συζητήσεις μπορείτε να ανατρέξετε εδώ.
Καλή αρχή! :D
Καλή αρχή! :D
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Hello,
Εχουν ξεκινησει τα εργαστηρια?
Εχουν ξεκινησει τα εργαστηρια?
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
καλησπερα μια βοηθεια παρακαλω;)
η ασκηση θελει να βρεις τους 100 πρωτους αριθμους και απο αυτους θελει να βρει τον μεγαλυετερο.
εγω εχω κανει ενα προγραμμα με βαση ιντερνετ βιβλιο κλπ αλλα δεν ειναι αυτο που θελει..με αυτο που εχω γραψει εγω οταν βρει τον πρωτο αριθμο σταματαει,χωρις να μου τον εμφανισει.
οποιος μπορει να γραψει τον σωστο κωδικα ή και να μου πει πως να τον γραψω σωστα.ευχαριστω!!
import acm.program.*;
import acm.graphics.*;
public class finalexa5 extends ConsoleProgram {
public void run () {
int max = 100;
for ( int x = 100 ; x> 0 & x <= max ; x--) {
boolean protos = true ;
for ( int y = 2 ; y < x ; y++)
if ( x % y == 0 )
protos = false ;
if (protos)
break ;
println(x) ;
}
}
}
η ασκηση θελει να βρεις τους 100 πρωτους αριθμους και απο αυτους θελει να βρει τον μεγαλυετερο.
εγω εχω κανει ενα προγραμμα με βαση ιντερνετ βιβλιο κλπ αλλα δεν ειναι αυτο που θελει..με αυτο που εχω γραψει εγω οταν βρει τον πρωτο αριθμο σταματαει,χωρις να μου τον εμφανισει.
οποιος μπορει να γραψει τον σωστο κωδικα ή και να μου πει πως να τον γραψω σωστα.ευχαριστω!!
import acm.program.*;
import acm.graphics.*;
public class finalexa5 extends ConsoleProgram {
public void run () {
int max = 100;
for ( int x = 100 ; x> 0 & x <= max ; x--) {
boolean protos = true ;
for ( int y = 2 ; y < x ; y++)
if ( x % y == 0 )
protos = false ;
if (protos)
break ;
println(x) ;
}
}
}
- Iptamenos
- byte level
- Posts: 92
- Joined: Mon Sep 19, 2011 9:05 pm
- Academic status: MSc
- Gender: ♂
- Location: Ζωγράφου
- Contact:
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Έκανα την εξής διόρθωση σημειωμένη με έντονο φόντο:calmen wrote:καλησπερα μια βοηθεια παρακαλω;)
η ασκηση θελει να βρεις τους 100 πρωτους αριθμους και απο αυτους θελει να βρει τον μεγαλυετερο.
εγω εχω κανει ενα προγραμμα με βαση ιντερνετ βιβλιο κλπ αλλα δεν ειναι αυτο που θελει..με αυτο που εχω γραψει εγω οταν βρει τον πρωτο αριθμο σταματαει,χωρις να μου τον εμφανισει.
οποιος μπορει να γραψει τον σωστο κωδικα ή και να μου πει πως να τον γραψω σωστα.ευχαριστω!!
import acm.program.*;
import acm.graphics.*;
public class finalexa5 extends ConsoleProgram {
public void run () {
int max = 100;
for ( int x = 100 ; x> 0 & x <= max ; x--) {
boolean protos = true ;
for ( int y = 2 ; y < x ; y++) {
if ( x % y == 0 ) {
protos = false ;
break;
}
}
if (protos) {
println(x) ;
break ;
}
}
Τον έλεγχο για τον αν ο αριθμός είναι πρώτος πρέπει να τον κάνεις έξω από την εμφωλευμένη δομή επανάληψης, γιατί θέλεις να ελέγξεις ότι το x δεν διαιρείται με κάποιον από όλους τους άλλους αριθμούς και όχι απλά ότι το χ δεν διαιρείται με κάποιον αριθμό.
Αν θέλεις μπορείς να κάνεις την εξής βελτιστοποίηση για επιτάχυνση. Έλεγχος διαιρετότητας έως το μισό του x:
for ( int y = 2 ; y < x/2 ; y++)
Ή ακόμα καλύτερα όπως έχει αποδειχθεί, έλεγχος διαιρετότητας έως τη ρίζα του x:
for ( int y = 2 ; y < Math.sqrt(x) ; y++)
"Actin' funny, but I don't know why. Excuse me while I kiss the sky..." - Jimi Hendrix
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Σε ευχαριστώ πάρα πάρα πολύ!!! γιατί έχω σταματήσει εκεί εδώ και 2 μέρες!!
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Προφανώς και έχει, δες το online API reference. Για το Math είναι στο java.lang.Math.kwnstantinos.nikoloutsos wrote:Μια ερώτηση και απο εμένα:
Η java εχει build-in libraries η Math ειναι μια απο αυτες?? Γνωριζω μονο Python και η java μου φαίνεται πολυ πιο ασχημη στο συντακτικο της :(
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Λοιπόν ξέρω ότι είναι πολύ νωρίς ακόμα αλλά όλο το εξάμηνο θα κάνουμε compile μέσω του command line; Γιατί θέλω να ασχοληθώ μόνος μου και δεν ξέρω αν έχει νόημα να μάθω αυτόν τον τρόπο ή αν θα ξεκινήσω κατευθείαν με ένα IDE. Επίσης ψάχνοντας στο stackoverflow είδα που ένας πρότεινε αν είσαι αρχάριος να δουλεύεις με τη μέθοδο του cmd και με έβαλε σε σκέψεις. Ποια είναι η γνώμη σας;
- leecher
- Venus Former Team Member
- Posts: 139
- Joined: Fri Jan 23, 2015 9:47 pm
- Academic status: N>4
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Στην εισαγωγή στον προγραμματισμό, νομίζω μόνο μέσω command line θα κάνετε compile, αλλά μπορείς να αυτοματοποιήσεις κάπως την διαδικασία βάζοντας τις εντολές για το compile μέσα σε ένα .bat αρχείο (που έφτιαξες με κάποιον απλό επεξεργαστή κειμένου).
πχ (test.bat):
Κάθε φορά που θα εκτελείς το .bat αρχείο που δημιούργησες θα γίνεται compile το αρχείο Test.java και στη συνέχεια θα εκτελείται. Αλλιώς μπορείς να χρησιμοποιήσεις κάποιο IDE, που η διαδικασία γίνεται συνήθως με το πάτημα ενός κουμπιού. Για εξάσκηση αν είσαι αρχάριος θα σου έλεγα να μην χρησιμοποιήσεις IDE σε αυτό το μάθημα.
πχ (test.bat):
Code: Select all
javac Test.java && java Test
pause
- pgetsos
- Venus Former Team Member
- Posts: 1192
- Joined: Sun Oct 13, 2013 1:29 am
- Academic status: MSc
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Καλο ειναι να μαθεις και τον βασικο τροπο, γιατι μελλοντικα μπορει να σου χρειαστει
Απο το επομενο εξαμηνο κατεβασε το JetBrains IDEA Ultimate με χρηση του πανεπιστημιακου σου email
Απο το επομενο εξαμηνο κατεβασε το JetBrains IDEA Ultimate με χρηση του πανεπιστημιακου σου email
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
καλησπερα,
στο προγραμμα που βαζει τυχαιους αριθμους και πρεπει να βρεις το αθροισμα ,μ.ο , για θετικους και αρνητικους ξεχωριστα,
σου λεει να βρεις και το μαξ,μιν απο αυτους..
στο πρωτο μερος το καταφερα στο δευτερο ειχα θεμα.
στο ιντερνετ εαν καταλαβα καλα(?) τους βρισκουν με πακετο
φανταζομαι οτι εμεις σε αυτο το μαθημα πρεπει να γραψουμε εντολες..
μια βοηθεια πως θα βαλω και το μαξ και μιν σε αυτο που εγραψα??
ευχαριστω.
συγνωμη για το μεγαλο ποστ..
εαν καποιος θελει να με βοηθησει με υλικο για να προλαβω να εχω τελειωσει το μαθημα μεχρι 1/12/2017 θα τον ευχαριστουσα τρελα!
(τοτε θα δωσουμε οσοι θελουν να μπουν στο τμημα με κατατακτηριες)
στο προγραμμα που βαζει τυχαιους αριθμους και πρεπει να βρεις το αθροισμα ,μ.ο , για θετικους και αρνητικους ξεχωριστα,
σου λεει να βρεις και το μαξ,μιν απο αυτους..
στο πρωτο μερος το καταφερα στο δευτερο ειχα θεμα.
στο ιντερνετ εαν καταλαβα καλα(?) τους βρισκουν με πακετο
φανταζομαι οτι εμεις σε αυτο το μαθημα πρεπει να γραψουμε εντολες..
μια βοηθεια πως θα βαλω και το μαξ και μιν σε αυτο που εγραψα??
ευχαριστω.
συγνωμη για το μεγαλο ποστ..
εαν καποιος θελει να με βοηθησει με υλικο για να προλαβω να εχω τελειωσει το μαθημα μεχρι 1/12/2017 θα τον ευχαριστουσα τρελα!
(τοτε θα δωσουμε οσοι θελουν να μπουν στο τμημα με κατατακτηριες)
Code: Select all
import acm.program .*;
import acm.graphics .*;
public class frouros extends ConsoleProgram {
public void run () {
int totala = 0 ;
int totalt = 0 ;
int countt = 0 ;
int counta = 0 ;
int x = 0 ;
boolean thetikos = true ;
while (thetikos = true ) {
int value = readInt ("dwse aritmo : ") ;
if (value < x ) {
counta++ ;
totala += value ;
println( "to athroisma ton arnitikon einai " + totala) ;
thetikos = false ;
}
if (value == 0 ) break ;
if (thetikos) {
countt++;
totalt += value ;
println( " to athroisma ton thetikon einai " + totalt) ;
}
}
println( " to athroisma ton thetikon einai " + totalt) ;
println( "to athroisma ton arnitikon einai " + totala) ;
double averagea = (double) totala / counta ;
println(" to average ton arnitikon einai " +averagea) ;
double averaget = (double) totalt / countt ;
println( "to average ton thetikon einai " + averaget) ;
}
}
- leecher
- Venus Former Team Member
- Posts: 139
- Joined: Fri Jan 23, 2015 9:47 pm
- Academic status: N>4
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Μπορείς να θέσεις 2 νέες μεταβλητές, μία για το min και μία για το max, και κάθε φορά να συγκρίνεις τον αριθμό αν είναι μικρότερος από το min ή μεγαλύτερος από το max. Αν ισχύει μία από τις 2 περιπτώσεις τότε αντικαθιστάς τη μεταβλητή min ή max με τον νέο αριθμό.
Παράδειγμα:
Αρχικά κάνουμε αυτό int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE; ώστε να δώσουμε στις μεταβλητές τη μεγαλύτερη και μικρότερη τιμή που μπορούν να πάρουν. Ύστερα το πρόγραμμα παράγει 10 τυχαίους αριθμούς από τους οποίους βρίσκει τον μεγαλύτερο και τον μικρότερο.
Παράδειγμα:
Code: Select all
import java.util.Random;
public class Test {
public static void main(String[] args) {
int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
for (int i = 0 ; i < 10 ; i++) {
int randomNumber = (new Random()).nextInt(100);
System.out.println(randomNumber);
if (randomNumber < min) {
min = randomNumber;
}
if (randomNumber > max) {
max = randomNumber;
}
}
System.out.println("min: " + min);
System.out.println("max: " + max);
}
}
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ωραία σε ευχαριστώ πολύ για την βοήθεια.θα το μελετήσω .
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
καλημερα,
μια ερωτηση προς τα παιδια που εχουν δωσει το μαθημα ή ξερουν,
σε ασκησεις-εξετασεις αν μας ζητηθει να βρουμε μαθηματικες πραξεις πχ δυναμη του 2,μιν,μαξ..
μπορω να τα παρω απο Μαth ( πχ απο την Math.pow) ή θα πρεπει να τα γραφω βημα βημα?
ευχαριστω
μια ερωτηση προς τα παιδια που εχουν δωσει το μαθημα ή ξερουν,
σε ασκησεις-εξετασεις αν μας ζητηθει να βρουμε μαθηματικες πραξεις πχ δυναμη του 2,μιν,μαξ..
μπορω να τα παρω απο Μαth ( πχ απο την Math.pow) ή θα πρεπει να τα γραφω βημα βημα?
ευχαριστω
-
- bit level
- Posts: 14
- Joined: Mon Dec 05, 2016 2:07 am
- Academic status: 2nd year
- Gender: ♂
- Contact:
Re: RE: Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Συνήθως ξεκαθαριζεται στην εκφώνηση. Συνήθως δεν έχουν πρόβλημα με τις βασικές βιβλιοθήκες της Java πάντως.calmen wrote:καλημερα,
μια ερωτηση προς τα παιδια που εχουν δωσει το μαθημα ή ξερουν,
σε ασκησεις-εξετασεις αν μας ζητηθει να βρουμε μαθηματικες πραξεις πχ δυναμη του 2,μιν,μαξ..
μπορω να τα παρω απο Μαth ( πχ απο την Math.pow) ή θα πρεπει να τα γραφω βημα βημα?
ευχαριστω
Sent from my ONEPLUS A3010 using Tapatalk
Dreams are made winding through my head.
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
οκ ευχαριστω
-
- Buffer underflow exception
- Posts: 1
- Joined: Sat Oct 28, 2017 5:14 pm
- Academic status: 1st year
- Gender: ♀
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ρε παίδες μήπως γνωρίζει κανείς γιατί ενώ έχω κατεβάσει την java όταν κάνω compile στο cmd μου εμφανίζει errors ενώ ο κώδικας είναι σωστός???Μήπως παίζει κάτι με την βιβλιοθήκη program?
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Το να υπάρχει bug στην ACM βιβλιοθήκη είναι τόσο σπάνιο που πρακτικά αποκλείεται. Αν πράγματι ο κώδικάς σου είναι σωστός, τότε τι είδους errors εμφανίζονται στην γραμμή εντολών? Μήπως να έκανες ακόμα ένα revision?stratisper99 wrote:Ρε παίδες μήπως γνωρίζει κανείς γιατί ενώ έχω κατεβάσει την java όταν κάνω compile στο cmd μου εμφανίζει errors ενώ ο κώδικας είναι σωστός???Μήπως παίζει κάτι με την βιβλιοθήκη program?
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ποιο σύγγραμα προτείνετε ανάμεσα στου Rogers (Μπλε εξώφυλλο) και του Roberts (αυτό με το λιοντάρι);
- Eldebryn
- Venus Former Team Member
- Posts: 1116
- Joined: Sat Sep 18, 2010 8:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Somewhere in the Forgotten Realms...
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Roberts το βρήκα πολύ πιο ευανάγνωστο και εξίσου χρήσιμο με το άλλο. Plus, LOTR references ma dudenickgian wrote:Ποιο σύγγραμα προτείνετε ανάμεσα στου Rogers (Μπλε εξώφυλλο) και του Roberts (αυτό με το λιοντάρι);
-
- bit level
- Posts: 16
- Joined: Wed Sep 17, 2014 1:18 pm
- Academic status: N>4
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Παιδιά καλησπέρα,
για την πρώτη εργασία της Java για τις ασκήσεις 1 και 2 χρειαζόμαστε γραφικά. Πέρα από την άσκηση του lab 3 και την άσκηση 4, δε βρήκα κάτι άλλο πάνω σε αυτό. Επειδή γενικά δεν προλαβαίνω να παρακολουθώ τα μαθήματα, τι οδηγίες έχουν δώσει γι αυτές τις ασκήσεις; Απλά να δούμε τι παίζει στο βιβλίο του Roberts? ή υπάρχουν τίποτα σημειώσεις που δεν έχω δει;
για την πρώτη εργασία της Java για τις ασκήσεις 1 και 2 χρειαζόμαστε γραφικά. Πέρα από την άσκηση του lab 3 και την άσκηση 4, δε βρήκα κάτι άλλο πάνω σε αυτό. Επειδή γενικά δεν προλαβαίνω να παρακολουθώ τα μαθήματα, τι οδηγίες έχουν δώσει γι αυτές τις ασκήσεις; Απλά να δούμε τι παίζει στο βιβλίο του Roberts? ή υπάρχουν τίποτα σημειώσεις που δεν έχω δει;
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Μπορώ να χρησιμοποιήσω στη δήλωση μιας σταθεράς πράξεις με άλλες σταθερές;
π.χ: private static final double POS=(HWIDTH-DWIDTH)/2; όπου HWIDTH και DWIDTH σταθερές
π.χ: private static final double POS=(HWIDTH-DWIDTH)/2; όπου HWIDTH και DWIDTH σταθερές
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ναι.Julio wrote:Μπορώ να χρησιμοποιήσω στη δήλωση μιας σταθεράς πράξεις με άλλες σταθερές;
π.χ: private static final double POS=(HWIDTH-DWIDTH)/2; όπου HWIDTH και DWIDTH σταθερές
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist