Δημοσιεύτηκε: 06 Οκτ 2011, 16:35
Star_Light έγραψε:Λοιπον ξεκινάω μια ωραία κατα την γνώμη μου ασκησούλα
Έστω ο κώδικας :
- Κώδικας: Επιλογή όλων
#include <stdio.h>
int main()
{
int i , x, y=1;
x=1 , i ;
//while(x<10)
//{
for(i=1; i<10; i++)
if((i==5) || (i==3))
printf("\n Hi");
printf("\n%d",y);
if(y){
printf("\nHello FOlks");
printf("\nHow are you");
}
//x++;
//}
return 0;
}
1. Γιατι το y στην πρώτη if θα εκτελεστεί 1 φορα ;
2. Πως μπορούμε (χωρις να βάλουμε καποια προσθετη εντολή)
να εκτυπώσουμε το y οσες φορες εκτελείται το loop της for ;
3. Πως μπορούμε να βάλουμε την if να "επιτρέπει" στο y ποσες φορές θα εκτελεστεί
σύμφωνα με την τρέχουσα συνθήκη της ;
Κοίτα, όταν απευθυνόμαστε σε παιδιά που κάνουν τα πρώτα τους βήματα ο σκοπός είναι να τους διευκολύνουμε να μάθουν και και όχι να τους τα κάνουμε ακόμα πιο δύσκολα. Π.χ. καταλαβαίνω πως τον παραπάνω κώδικα τον έχεις βάλει επίτηδες χωρίς indentation (tabs) και κενά διαστήματα για να δυσκολέψεις την άσκηση. Η συμπύκνωση του κώδικα παραπάνω είναι παράδειγμα προς αποφυγή!
Ο σωστός τρόπος είναι κάπως έτσι:
- Κώδικας: Επιλογή όλων
#include <stdio.h>
int main( void )
{
int i, y = 1;
for ( i=1; i < 10; i++ )
if ( (i == 5) || (i == 3) )
printf("\n Hi");
printf("\n%d", y);
if ( y )
{
printf("\nHello FOlks");
printf("\nHow are you");
}
return 0;
}
και να εξηγηθεί πως το indentation είναι βασική τεχνική για να καταλαβαίνει κανείς με την 1η ματιά τη ροή του κώδικα.
έγραψε:
4. Άν έχουμε το παρακάτω
- Κώδικας: Επιλογή όλων
value=0;
while(value<10)
{
for( counter=0; counter<5; counter++ )
{
if(value==2)
continue;
printf("\n%d",value);
}
value++;
}
Η τιμή 2 δεν θα εκτυπωθεί λογω της if ?Για οσους θέλουν να στίψουν κυριολεκτικα τον κώδικα! Να μην λάβετε υποψιν την while που έχω ουτως η αλλως μαρκάρει σαν σχολια
ηταν για κατι δικες μου δοκιμες
Ομοίως κι εδώ, όπου ο κώδικας θα πρέπει να γραφτεί κάπως έτσι...
- Κώδικας: Επιλογή όλων
value = 0;
while ( value < 10 )
{
for ( counter = 0; counter < 5; counter++ )
{
if ( value == 2 )
continue;
printf("\n%d", value);
}
value++;
}
Η προσεγμένη χρήση tabs, κενών διαστημάτων και κενών γραμμών είναι πολύ σημαντική στην κατανόηση του κώδικα και πρέπει να είναι από τα πρώτα πράγματα που θα πρέπει να μάθει όποιος ξεκινάει