Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

  • Απαντ. 131
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσ.

Λοιπόν, τον βρήκα τον κώδικα (νόμιζα πως τα είχα σβήσει τα p.m.)...

 

Θεωρώ πως δεν είναι επιλήψιμο να τον ποστάρω, αν οι συντονιστές/διαχειριστές έχουν αντίθετη άποψη, παρακαλώ ας τον σβήσουν. Εγώ πάντως τον ποστάρω ως παράδειγμα προς αποφυγή!

 

 

 

>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 8
#define STACK 100

//h zitoumeni domi - thema 1
struct move
{
char piece;
char prevPos[2];
char nexPos[2];
struct move *next;
struct move *prev;
};

//suntomografia tis domis
typedef struct move Move;
//to tamplo
char **game=0;

Move* Moves=0;
char black[sTACK],white[sTACK];
int btop=-1,wtop=-1;
char player;

void menu(void);              	// emfanizei to menou - thema 1
void new_game(void);          	// neo paignidi kai paiksimo - thema 2
void score(void);         		// upologismos toy skor - thema 3
void undo(void);              	// anairesi kinisewn - thema 4
int init_game(void);          	// arxikopoiisi tamplo
void play(void);              	// paiksimo
void printGame(void);     		// ektupwsi tamplo
int checkMove(char *mv, char paiktis); //elegxos kinisis
int updateList(Move* newNode);	//kataxwrisi neou kombou
int pushStack(char piece, char paiktis); //push sto swro
char popStack(char paiktis); //pop apo swro

int main(void)
{
char ch=' ';
int i;
//desmeusi mnimis gia tamplo - thema1
game=(char**)malloc(SIZE*sizeof(char*));
for(i=0;i<SIZE;i++)
   	game[i]=(char*)malloc(SIZE*sizeof(char));
// menou kai epilogh
while (ch!='E'){ //gia termatismo
   	menu(); //ektupwsi menou
   	switch (ch=getchar()) {
       	case 'N':  //neo paignidi
           	new_game();
           	break;
       	case 'S': //ektimisi apodosis
           	fflush(stdin);
           	if(Moves==NULL){
               	printf("\nYou must play first!\n");
           	}
           	else score();
           	system("pause");
           	break;
       	case 'U': //anairesi kinisewn
           	fflush(stdin);
           	if(Moves==NULL){
               	printf("\nYou must play first!\n");
           	}
           	else {
            		undo();
            		printGame();
           	}
           	system("pause");
           	break;
       	case 'E': //termatismos
           	break;
       	default: //la0os epilogi
           	printf("Wrong choice! Try again.\n");
           	system("pause");
   	}
}
//apeleu0erwsi mnimis
for(i=0;i<SIZE;i++)
   	free(game[i]);
free(game);
return 0;
}

//ektupwsi menou
void menu(void)
{
system("cls");
printf("MAIN MENU\n\n");
printf("[N] Start New Game\n");
printf("[s] Score\n");
printf("[u] Undo\n");
printf("[E] End Program\n");
printf("Selection [N, S, U, E]: ");

return;
}

//neo paignidi
void new_game(void)
{
	//ka0arismos eisodou
	fflush(stdin);
	//an den exei ginei desmeusi mnimis, eksodo
	if(game==NULL)
   	exit(0);
	//arxikopoiisi tamplo kai paiksimo
	if (init_game()==1)   {
   	play();
   	}
}

//arxikopoiisi tamplo
int init_game(void)
{
	int i,j;
	if (game!=NULL)
	{
		//pionia ektos stratiwtwn
		game[0][0]=game[0][7]='R';
		game[7][0]=game[7][7]='r';
		game[0][1]=game[0][6]='B';
		game[7][1]=game[7][6]='b';
		game[0][2]=game[0][5]='N';
		game[7][2]=game[7][5]='n';
		game[0][3]='Q';
		game[7][3]='q';
		game[0][4]='K';
		game[7][4]='k';
		//stratiwtes
		for(i=0;i<SIZE;i++){
    		game[1][i]='P';
    		game[6][i]='p';
		}
		//paules gia kenes 0eseis
		for(i=2;i<6;i++)
    		for(j=0;j<SIZE;j++)
        		game[i][j]='-';
	}
	else {
		printf("No game table\n");
		system("pause");
		return 0;
	}
	return 1;
}

//elegxos kinisis. epistrefei 1 gia swsti, 0 gia la0os
int checkMove(char *mv, char paiktis)
{

int siz;
//ypologismos mikous string kinisis
siz=strlen(mv);
//elegxos gia maura
if (siz==3 && paiktis=='B' && (mv[0]=='K' || mv[0]=='Q' || mv[0]=='R' || mv[0]=='N' || mv[0]=='B' || mv[0]=='P') &&
((mv[1]>96 && mv[1]<105) && (mv[2]>48 && mv[2]<57)) )
return 1;
//elegxos gia leuka
else if (siz==3 && paiktis=='W' && (mv[0]=='k' || mv[0]=='q' || mv[0]=='r' || mv[0]=='n' || mv[0]=='b' || mv[0]=='p') &&
((mv[1]>96 && mv[1]<105) && (mv[2]>48 && mv[2]<57)) )
return 1;
else
return 0;
}

void play(void)
{
char pos[3], mv[4]="0\0"; //string thesis kai kinisis
char goon=' '; //flag termatismou
int row,col,nrow,ncol;
Move *current;

printGame(); //ektupwsi tamplo
player='W'; //flag paikti
while(goon!='#') { //oso den diakoptetai
if (player=='W'){ //gia leuka
   	do{
		printf("please give white move (# to exit): "); //ziteitai kinisi leukou
       	gets(mv); //eisagwgi
       	if (mv[0]=='#') goon='#'; //elegxo # gia termatismo
       	if (checkMove(mv,player)) { //an eisax0ei swsti kinisi
           	do{
				printf("\nOrigin of %c? (e.g. e5): ",mv[0]); //ziteitai proeleusi pioniou
               	gets(pos);
           	}while(strlen(pos)!=2 && (pos[0]<'a' || pos[0]>'h') && (pos[1]<'1' || pos[1]>'8'));
           	row=pos[1]-'1'; //ypologismos suntetagmenwn gia to tamplo
           	col=pos[0]-'a';
           	if(game[7-row][col]==mv[0]){ //an to pioni brisketi stin anaferwmeni 0esi
               	nrow=mv[2]-'1';
               	ncol=mv[1]-'a';
               	//an sti nea 0esi brisketai antipalos basilias, o paiktis kerdizei
               	if (game[7-nrow][ncol]=='K') {
                   	printf("\nWhite Player wins!!!!!\n");
                   	system("pause");
                   	exit(0);
               	}
               	// alliws an den einai leuko
               	else if (game[7-nrow][ncol]!='k' && game[7-nrow][ncol]!='q' && game[7-nrow][ncol]!='r' && game[7-nrow][ncol]!='n' && game[7-nrow][ncol]!='b' && game[7-nrow][ncol]!='p'){
                   	//an yparxei antipalo pioni trwgetai
                   	if (game[7-nrow][ncol]=='Q' || game[7-nrow][ncol]=='R' || game[7-nrow][ncol]=='N' || game[7-nrow][ncol]=='B' || game[7-nrow][ncol]=='P'){
                       	printf("The %c is yours!!",game[7-nrow][ncol]);
                       	//dhmiourgia neou kombou
                       	current=(Move*)malloc(sizeof(Move));
                       	//enimerwsi kombou
                       	current->piece=game[7-nrow][ncol];
                       	current->prevPos[0]=mv[1];
                       	current->prevPos[1]=mv[2];
                       	current->nexPos[0]='-';
                       	current->nexPos[1]='-';
                       	//enimerwsi Listas
                       	updateList(current);
                       	//kataxwrisi pioniou sto swro
                       	pushStack(game[7-nrow][ncol],player);
                   	}
                   	//to leuko metaferetai apo tin palia
                   	game[7-row][col]='-';
                   	//sti nea thesi
                   	game[7-nrow][ncol]=mv[0];
                   	printf("White Move OK\n");
                   	//dhmiourgia neou kombou
                   	current=(Move*)malloc(sizeof(Move));
                   	//enimerwsi kombou
                   	current->piece=mv[0];
                   	current->prevPos[0]=pos[0];
                   	current->prevPos[1]=pos[1];
                   	current->nexPos[0]=mv[1];
                   	current->nexPos[1]=mv[2];
                   	//enimerwsi Listas
                   	updateList(current);
                   	//flag gia epomeno paikti
                   	player='B';
               	}
               	else
                   	printf("Your Piece! Repeat!\n");
           	}
           	else
               	printf("Wrong origin. Repeat!\n");
           	printGame();
       	}
       	else
           	printf("Wrong move. Repeat!\n");
		}while(goon!='#' && checkMove(mv,'W')!=1); //oso den ziteitai termatismos kai den dinetai swsti kinisi
}
else{
   	do{
		printf("please give black move (# to exit): "); //ziteitai kinisi maurou
		gets(mv); //eisagwgi
		if (mv[0]=='#') goon='#'; //elegxo # gia termatismo
		if (checkMove(mv,player)){ //an h kinisi einai swsti
           	do{
				printf("\nOrigin of %c? (e.g. e5): ",mv[0]); //ziteitai proeleusi pioniou
               	gets(pos);
           	}while(strlen(pos)!=2 && (pos[0]<'a' || pos[0]>'h') && (pos[1]<'1' || pos[1]>'8'));
           	row=pos[1]-'1'; //ypologismos suntetagmenwn gia to tamplo
           	col=pos[0]-'a';
           	if(game[7-row][col]==mv[0]){ //an to pioni brisketai stin anaferwmeni 0esi
               	nrow=mv[2]-'1';
               	ncol=mv[1]-'a';
               	//an sti nea 0esi brisketai antipalos basilias, o paiktis kerdizei
               	if (game[7-nrow][ncol]=='k') {
                   	printf("\nBlack Player wins!!!!!\n");
                   	system("pause");
                   	exit(0);
               	}
               	// alliws an den einai mauro
               	else if (game[7-nrow][ncol]!='K' && game[7-nrow][ncol]!='Q' && game[7-nrow][ncol]!='R' && game[7-nrow][ncol]!='N' && game[7-nrow][ncol]!='B' && game[7-nrow][ncol]!='P'){
                   	//an yparxei antipalo pioni trwgetai
                   	if (game[7-nrow][ncol]=='q' || game[7-nrow][ncol]=='r' || game[7-nrow][ncol]=='n' || game[7-nrow][ncol]=='b' || game[7-nrow][ncol]=='p'){
                       	printf("The %c is yours!!",game[7-nrow][ncol]);
                       	//dhmiourgia neou kombou
                       	current=(Move*)malloc(sizeof(Move));
                       	//enimerwsi kombou
                       	current->piece=game[7-nrow][ncol];
                       	current->prevPos[0]=mv[1];
                       	current->prevPos[1]=mv[2];
                       	current->nexPos[0]='-';
                       	current->nexPos[1]='-';
                       	//enimerwsi Listas
                       	updateList(current);
                       	//kataxwrisi pioniou sto swro
                       	pushStack(game[7-nrow][ncol],player);
                   	}
                   	//to mauro metaferetai apo tin palia
                   	game[7-row][col]='-';
                   	//sti nea thesi
                   	game[7-nrow][ncol]=mv[0];
                   	printf("Black Move OK\n");
                   	//dhmiourgia neou kombou
                   	current=(Move*)malloc(sizeof(Move));
                   	//enimerwsi kombou
                   	current->piece=mv[0];
                   	current->prevPos[0]=pos[0];
                   	current->prevPos[1]=pos[1];
                   	current->nexPos[0]=mv[1];
                   	current->nexPos[1]=mv[2];
                   	//enimerwsi Listas
                   	updateList(current);
                   	//flag gia epomeno paikti
                   	player='W';
               	}
               	else
                   	printf("Your Piece! Repeat!\n");
           	}
           	else
               	printf("Wrong origin. Repeat!\n");
           	printGame();
       	}
		else
			printf("Wrong move. Repeat!\n");
    	}while(goon!='#' && checkMove(mv,'B')!=1);
}
}
}

//ektupwsi tamplo
void printGame(void)
{
int i,j;
printf("\n");
for(i=0;i<SIZE;i++)
{
   	printf("%d ",8-i); //ari0misi grammwn
   	for(j=0;j<SIZE;j++)
       	printf("%c ",game[i][j]);
   	printf("\n");
}
printf("\n  a b c d e f g h\n"); //ari0misi stilwn
printf("\n");
}

//kataxwrisi neou kombou sti lista
int updateList(Move* newNode)
{
//an h lista einai keni o Neos Kombos mpainei prwtos
if(Moves==NULL){
   	Moves=newNode;
   	Moves->next=NULL;
   	Moves->prev=NULL;
}
//alliws
else{//eisagwgi kombou stin arxi
   	//thetoume ti lista ws epomeno sto neo kombo
   	newNode->next=Moves;
   	//thetoume sto keno to proigoumeno tou neou kombou
   	newNode->prev=NULL;
   	//bazoume to neo kombo proigoumeno stin uparxousa lista
   	Moves->prev=newNode;
   	//thetoume tin arxi tis listas sto neo kombo
   	Moves=newNode;
}
return 1;
}

//kataxwris sto swro
int pushStack(char piece, char paiktis)
{
if (paiktis=='W'){
   	wtop++; //leitourgia PUSH: o deiktis etoimazetai gia na dextei o pinakas stoixeio stin epomeni thesi tou
   	if (wtop>STACK)
   	{
       	printf("\n Stack full! Impossible to play more! \n");
       	wtop--;
       	//score();
       	exit(0);
   	} //elegxos gia full stack
   	else white[wtop]=piece;
   	return 1;
}
else if (paiktis=='B'){
   	btop++; //leitourgia PUSH: o deiktis etoimazetai gia na dextei o pinakas stoixeio stin epomeni thesi tou
   	if (wtop>STACK)
   	{
       	printf("\n Stack full! Impossible to play more! \n");
       	btop--;
       	//score();
       	exit(0);
   	} //elegxos gia full stack
   	else black[btop]=piece;
   	return 1;
}
return 0;
}

//anaktisi apo swro
char popStack(char paiktis)
{
	char piece='-';
	if (paiktis=='W'){
		if (wtop <0) //leitourgia POP: adeio stack
    		printf("\n Stack is empty. No pieces for White Player\n");
		else
    		piece=white[wtop--];
	}
	else if (paiktis=='B'){
		if (btop <0) //leitourgia POP: adeio stack
    		printf("\n Stack is empty. No pieces for Black Player\n");
		else
    		piece=black[btop--];
	}
	return piece;
}

void score(void)
{
	char piece;
	int wscore=0,bscore=0;

	//score gia leuko
	while (wtop>=0){
  		piece=popStack('W');
  		switch(piece){
      		case 'Q': wscore=wscore+9; printf("\nWhite has Q");break;
      		case 'R': wscore=wscore+5; printf("\nWhite has R");break;
      		case 'N': wscore=wscore+3; printf("\nWhite has N");break;
      		case 'B': wscore=wscore+3; printf("\nWhite has B");break;
      		case 'P': wscore=wscore+1; printf("\nWhite has P");break;
  		}
	}
	printf("\nScore for White is %d",wscore);
	//score gia maura
	while (btop>=0){
  		piece=popStack('B');
  		switch(piece){
      		case 'q': bscore=bscore+9; printf("\nBlack has q"); break;
      		case 'r': bscore=bscore+5; printf("\nBlack has r"); break;
      		case 'n': bscore=bscore+3; printf("\nBlack has n"); break;
      		case 'b': bscore=bscore+3; printf("\nBlack has b"); break;
      		case 'p': bscore=bscore+1; printf("\nBlack has p"); break;
  		}
	}
	printf("\nScore for Black is %d",bscore);
	//apotelesma
	if (bscore>wscore) printf("\n\nBlack wins!!!");
	else if (bscore<wscore) printf("\n\nWhite wins!!!");
	else printf("\n\nIt's a tie!!!");
}

//anairesi kinisewn
void undo(void)
{
	int count;
	char piece;

	printGame(); //ektupwsi tamplo
	printf("\n\nHow many moves to undo? "); //erwtisi gia plithos kinisewn pros anairesi
	do{
		scanf("%d",&count);
		fflush(stdin);
	}while(count<=0); //diabazei mexri na dothei 0etiki timi
	fflush(stdin);
	//epanalambanei diadikasia anairesis mexri na mhdenistei o metritis kai to epomeno na mhn einai fagwmeno pioni
	//thumi0eitai oti xasimo pioniou simainei duo kataxwriseis sti lista
	while(Moves && (count-->0 || Moves->nexPos[0]=='-'))
		//an h epomeni kataxwrisi den einai xameno pioni
		if(Moves->nexPos[0]!='-'){
    		//enimerwsi seiras paikti
    		if (player=='B') player='W'; else player='B';
    		//topothetisi stin palia thesi
    		game[7-(Moves->prevPos[1]-'1')][Moves->prevPos[0]-'a']=Moves->piece;
    		//ekkenwsi neas
    		game[7-(Moves->nexPos[1]-'1')][Moves->nexPos[0]-'a']='-';
    		//diagrafi kombou
    		Moves=Moves->next;
		}
		else{//kombos gia xameno piono
    		// ka0orismos swrou gia anaktisi
    		if (player=='B') piece=popStack('B'); else piece=popStack('W');
    		// epanatopothetisi pioniou
    		game[7-(Moves->prevPos[1]-'1')][Moves->prevPos[0]-'a']=piece;
    		//epanaktisi pioniou den metraei ws ksexaristi kinisi
    		count++;
    		//diagrafi kombou
    		Moves=Moves->next;
		}
	if(count!=0) printf("\nThere are no more moves to undo!");
}

 

 

ΥΓ1. Είναι πραγματικά πολύ κρίμα να πληρώνεται κάποιος για να "διδάσκει" τέτοιο κώδικα. Είναι κρίμα γιατί τέτοιου είδους κώδικες αντί να βοηθάνε όσους "διψασμένους" για μάθηση, μάλλον τους μπερδεύουν ακόμα χειρότερα και στο τέλος ίσως και να τους αποθαρρύνουν γενικώς από το να συνεχίσουν.

 

ΥΓ2. Δεν βάλλω εναντίον του ανοιχτού πανεπιστημίου, το ξεκαθάρισα εξαρχής πως πιθανότατα δεν είναι καθόλου αντιπροσωπευτικό το παράδειγμα (προσωπικά το ελπίζω και το εύχομαι ολόψυχα)!

Δημοσ.

Δεν είναι και τόσο τραγικό, έχω δει και πολύ χειρότερα.

Για διδακτέος κώδικας από βοηθό είναι τραγικός, για διδακτέος από καθηγητή είναι απαράδεκτος, και για επαγγελματικός είναι απλά για απόλυση (πάντα κατά την άποψή μου). Για newbie που έχει διαβάσει C για 2-3 μήνες καλός είναι!

Δημοσ.

Οι όποιοι διδάσκοντες καθηγητές δεν είναι αναγκαστικά μάχιμοι προγραμματιστές και

συνεπώς δεν έχουν την πρακτική εξοικοίωση κάποιου που ασχολείται συνέχεια.

 

Το κατακριτέο είναι ότι θα έπρεπε να επεξεργάζονται τα θέματα και να τα δίνουν

σε πρότυπη διδακτική μορφή ώστε το όφελος αυτού που τα μελετά να είναι μέγιστο.

Αντί αυτού, η προχειρότητα και η τσαπατσουλιά βασιλεύει.

 

Πέραν αυτού, πάντα αναρωτιόμουν γιατί δεν χρησιμοποιούν ως κύριο οδηγό ένα από

τα τόσα εξαιρετικά και δοκιμασμένα εγχειρίδια που υπάρχουν αντί να αυτοσχεδιάζουν

εις βάρος των διδασκόμενων. Αυτό θα έλυνε δια μιας τα περισσότερα προβλήματα....

Και αυτό αφορά και τους διδασκόμενους :

εντάξει, για τους οποιουσδήποτε λόγους δεν γίνεται καλή δουλειά, αλλά

ο διδασκόμενος δεν έχει το μυαλό και το ενδιαφέρον να στραφεί κάπου αλλού για να καλυφθεί ;

Στην βιβλιοθήκη δεν πηγαίνει ποτέ ; στο amazon δεν κοιτάζει να δει τι κυκλοφορεί ;

Δηλ. όλη του η ενημέρωση/μελέτη περιορίζεται σε κάτι σημειώσεις που του έδωσαν

(και συνήθως της κακιάς ώρας) ;

 

 

Προσωπικά δεν περίμενα να μάθω ποτέ τίποτε από κανέναν καθηγητή.

Πάντα έψαχνα να βρω ποιά είναι τα καλά βιβλία επί του θέματος, τα έπαιρνα και τα είχα ως οδηγό.

Τις περισσότερες φορές, τον τρόπο διδασκαλίας και τις υποδείξεις των καθηγητών δεν τις λάβαινα

καν υπόψη μου και μελετούσα μόνος μου από το βιβλίο που επέλεγα.

Και σχεδόν πάντα έβγαινα γνωστικά δικαιωμένος...

 

-

Δημοσ.

Οι όποιοι διδάσκοντες καθηγητές δεν είναι αναγκαστικά μάχιμοι προγραμματιστές και

συνεπώς δεν έχουν την πρακτική εξοικοίωση κάποιου που ασχολείται συνέχεια.

 

Το κατακριτέο είναι ότι θα έπρεπε να επεξεργάζονται τα θέματα και να τα δίνουν

σε πρότυπη διδακτική μορφή ώστε το όφελος αυτού που τα μελετά να είναι μέγιστο.

Αντί αυτού, η προχειρότητα και η τσαπατσουλιά βασιλεύει.

 

Πέραν αυτού, πάντα αναρωτιόμουν γιατί δεν χρησιμοποιούν ως κύριο οδηγό ένα από

τα τόσα εξαιρετικά και δοκιμασμένα εγχειρίδια που υπάρχουν αντί να αυτοσχεδιάζουν

εις βάρος των διδασκόμενων. Αυτό θα έλυνε δια μιας τα περισσότερα προβλήματα....

Και αυτό αφορά και τους διδασκόμενους :

εντάξει, για τους οποιουσδήποτε λόγους δεν γίνεται καλή δουλειά, αλλά

ο διδασκόμενος δεν έχει το μυαλό και το ενδιαφέρον να στραφεί κάπου αλλού για να καλυφθεί ;

 

 

Προσωπικά δεν περίμενα να μάθω ποτέ τίποτε από κανέναν καθηγητή.

Πάντα έψαχνα να βρω ποιά είναι τα καλά βιβλία επί του θέματος, τα έπαιρνα και τα είχα ως οδηγό.

Τις περισσότερες φορές, τον τρόπο διδασκαλίας και τις υποδείξεις των καθηγητών δεν τις λάβαινα

καν υπόψη μου και μελετούσα μόνος μου από το βιβλίο που επέλεγα.

Και σχεδόν πάντα έβγαινα γνωστικά δικαιωμένος...

 

-

 

Να σε ρωτησω κατι? Δουλευεις καπου ως προγραμματιστης? Και αν ναι... που συγκεκριμενα ?

Δημοσ.

Είχε τύχει να δουλέψω ως προγραμματιστής περιστασιακά κάποτε αλλά

δεν είμαι επαγγελματίας του χώρου, ούτε έχω τελειώσει πληροφορική.

Το έχω δηλώσει επανειλλημένως στο παρελθόν.

( προφανώς είσαι καινούριος εδώ... )

 

-

Δημοσ.

Είχε τύχει να δουλέψω ως προγραμματιστής περιστασιακά κάποτε αλλά

δεν είμαι επαγγελματίας του χώρου, ούτε έχω τελειώσει πληροφορική.

Το έχω δηλώσει επανειλλημένως στο παρελθόν.

( προφανώς είσαι καινούριος εδώ... )

 

-

 

Μπα δεν ειμαι και πολυ καινουργιος ;) απλα δεν συμμετεχω πολυ στο φορουμ.

Δημοσ.

Οι όποιοι διδάσκοντες καθηγητές δεν είναι αναγκαστικά μάχιμοι προγραμματιστές και

συνεπώς δεν έχουν την πρακτική εξοικοίωση κάποιου που ασχολείται συνέχεια.

...

Φίλε Smirnov,

 

ο συγκεκριμένος κώδικας δεν είναι απλά ερασιτεχνικός, καταστρατηγεί στοιχειώδεις αρχές τόσο προκλητικά κι επαναλαμβανόμενα που πραγματικά αποτελεί ντροπή να "διδάσκεται". Από που να αρχίσει και που να τελειώσει κανείς.

 

Στην αλόγιστη & αχρείαστη χρήση καθολικών μεταβλητών; Στην παντελή έλλειψη δομημένου σχεδιασμού (από τις 11 συνολικά συναρτήσεις που χρησιμοποιεί, οι 7 είναι void και δεν έχουν ορίσματα); Στην απαράδεκτη σύνταξη & στοίχιση; Στα fflush(stdin) και system("pause"); Στο hard-coding σταθερών μέσα στον κώδικα; Στις συνθήκες "μακαρόνια"; Στις αναθέσεις τιμών στα στοιχεία των πινάκων "με το χέρι" ένα-ένα; Στην παντελή έλλειψη τεκμηρίωσης του κώδικα (τα σχόλια που έχει κι έτσι όπως τα έχει είναι για γέλια... για κλάματα είναι βασικά).

 

Δηλαδή έλεος!

Δημοσ.

Εσείς λέτε για ένα κομμάτι κώδικα που έτυχε να γράψει κατά το "άνθος της νιότης" του ένας καθηγητής (πλέον) ... όπως είπε ένας φίλος πιο πάνω,, στο ΕΑΠ έχω δει όντως τραγικότερους κώδικες γραμμένους από καθηγητές. Και είμαι καραμάχημος προγραμματιστής εδώ και 12 χρόνια στην αγορά + 5 ερασιτεχνικά.

 

Εδώ σε μάθημα "Εισαγωγής στην Πληροφορική", σε μιά από τις συναντήσεις που είχαμε, γύρισε ο καθηγητής και μας είπε αυτολεξή, μετά από ερώτηση συμφοιτητή μου, για το αν γράφει κώδικα πλέον ως καθηγητής: Αφού αρνήθηκε σε κλάσματα δευτερολέπτων με ένα ΟΧΙ (Σαν εκείνο του Μεταξά το '40) πρόσθεσε: "Αν μου ζητούσαν να γράψω κώδικα πάλι, θα προτιμούσα να αυτοκτονήσω ...". Αφού όμως είδε τί μ@λ@κ1@ πέταξε,,, προσπάθησε να το σώσει, λέγοντας: "έχω κουραστεί πια ..."

 

Προσωπικά, το ΕΑΠ δεν μου έχει δώσει κάτι, ως γνώση,, όχι ακόμα τουλάχιστον. Και δεν μπορώ να γνωρίζω ακόμα αν θα μου δώσει. (Χλωμό το κόβω μετά από τόσο καιρό μέσα στους κώδικες). Απλώς ήλπιζα ή τουλάχιστον ελπίζω, οι άνθρωποι που απαρτίζουν το ακαδημαϊκό προσωπικό του Πανεπιστημίου, κάποια στιγμή να αποκτήσουν μια ποιότητα ανάλογη των υπολοίπων ιδρυμάτων.

 

Έχω πετύχει Πληροφορικάριο της ΑΣΟΕΕ να τσαμπουνάει βλακείες, και Πληροφορικάριο του ΕΜΠ, να μη καταδέχεται να "κολλήσει" ένα δίσκο σε φέτα server, προκειμένου να πάρει backup τα δικά του πράγματα ... Δεν είναι η σχολή που κάνει την ποιότητα μόνο. Είναι και οι άνθρωποι που την πλαισιώνουν.

 

Ουσιαστικά - σοβαρά - πραγματικά μαθηματικά,, δεν ειχα δει ποτέ στη ζωή μου. Μπορεί να μην είναι του επιπέδου ΑΕΙ, αντίστοιχα του τμήματος Ηλεκτρολόγων Μηχανικών του ΕΜΠ. Παρόλα ταύτα, η δουλειά που γίνεται, επειδή είναι προσωπική ενασχόληση κατά 98%, κρατάει το επίπεδο της μάθησης ψηλά. Και το χαίρομαι πραγματικά.

Δημοσ.

Εσείς λέτε για ένα κομμάτι κώδικα που έτυχε να γράψει κατά το "άνθος της νιότης" του ένας καθηγητής (πλέον) ... όπως είπε ένας φίλος πιο πάνω,, στο ΕΑΠ έχω δει όντως τραγικότερους κώδικες γραμμένους από καθηγητές....

Πόσο πληρώνονται; Να κάνω αίτηση για καθηγητής αν είναι :rolleyes:

Δημοσ.

Έχω πετύχει Πληροφορικάριο της ΑΣΟΕΕ να τσαμπουνάει βλακείες, και Πληροφορικάριο του ΕΜΠ, να μη καταδέχεται να "κολλήσει" ένα δίσκο σε φέτα server, προκειμένου να πάρει backup τα δικά του πράγματα ... Δεν είναι η σχολή που κάνει την ποιότητα μόνο. Είναι και οι άνθρωποι που την πλαισιώνουν.

 

Ουσιαστικά - σοβαρά - πραγματικά μαθηματικά,, δεν ειχα δει ποτέ στη ζωή μου. Μπορεί να μην είναι του επιπέδου ΑΕΙ, αντίστοιχα του τμήματος Ηλεκτρολόγων Μηχανικών του ΕΜΠ. Παρόλα ταύτα, η δουλειά που γίνεται, επειδή είναι προσωπική ενασχόληση κατά 98%, κρατάει το επίπεδο της μάθησης ψηλά. Και το χαίρομαι πραγματικά.

 

Εχεις πετυχει να σου τσαμπουναει βλακειες σε τι? Επισης καμια απο τις δεν ειναι πρακτικη/τεχνικη σχολη. Μαθαινουν πολλη θεωρια, οποτε αυτα που ζητας ειναι προσωπικη ενασχοληση του καθενος. πχ εγω πετυχα συμφοιτητη που δεν ξερει απο τι ειναι ενας σκληρος δισκος και ενω εχει λιωσει στα VLSI να μην ξερει οτι ενας SSD είναι μία NAND μνημη.

 

Προσωπικη ενασχοληση εχουν ολες οι σχολες. Kαι θεωρω πως και στις σχολες που αναφερεις το επιπεδο προσωπικης ενασχολησης θα ειναι μεγαλο. Το θεμα ειναι ποσο παραπερα παει κανεις.

Δημοσ.

Εχεις πετυχει να σου τσαμπουναει βλακειες σε τι? Επισης καμια απο τις δεν ειναι πρακτικη/τεχνικη σχολη. Μαθαινουν πολλη θεωρια, οποτε αυτα που ζητας ειναι προσωπικη ενασχοληση του καθενος. πχ εγω πετυχα συμφοιτητη που δεν ξερει απο τι ειναι ενας σκληρος δισκος και ενω εχει λιωσει στα VLSI να μην ξερει οτι ενας SSD είναι μία NAND μνημη.

 

Προσωπικη ενασχοληση εχουν ολες οι σχολες. Kαι θεωρω πως και στις σχολες που αναφερεις το επιπεδο προσωπικης ενασχολησης θα ειναι μεγαλο. Το θεμα ειναι ποσο παραπερα παει κανεις.

 

Μιλάω για μηδενική τεχνική κατάρτιση. Και από πλευράς ανάλυσης και από πλευράς συγγραφής κώδικα. Δεν θα μπώ σε λεπτομέρειες για τη φύση του project. Μου φτάνει που έμεινα στήλη άλατος, με το μέγεθος της ασχετήλας της. Και ήταν Senior Project Manager (my ass!), σε μεγάλη εταιρεία έντυπης πληροφορικής στην Αθήνα.

 

Η διαφορά με το ΕΑΠ είναι οτι, ο μέσος όρος ηλικίας είναι αρκετά μεγαλύτερος και οι φοιτητές είναι άνθρωποι που ξέρουν πια τι θέλουν από τη ζωή τους. Έχουν μια καρριέρα, και νιονιό να κάτσουν να σκεφτούν. Εκεί θα εναπόθετα και την επιτυχία του.

Δημοσ.

Senior project manager τι σημαίνει ; τι έκανε δηλαδή στην εταιρία ; εννοω ποιος ήταν ο τομέας της ; ποια η φύση της δουλειάς της ; ήταν ας πούμε αναπτυξη λογισμικού ;

Δημοσ.

Μιλάω για μηδενική τεχνική κατάρτιση. Και από πλευράς ανάλυσης και από πλευράς συγγραφής κώδικα. Δεν θα μπώ σε λεπτομέρειες για τη φύση του project. Μου φτάνει που έμεινα στήλη άλατος, με το μέγεθος της ασχετήλας της. Και ήταν Senior Project Manager (my ass!), σε μεγάλη εταιρεία έντυπης πληροφορικής στην Αθήνα.

 

Η διαφορά με το ΕΑΠ είναι οτι, ο μέσος όρος ηλικίας είναι αρκετά μεγαλύτερος και οι φοιτητές είναι άνθρωποι που ξέρουν πια τι θέλουν από τη ζωή τους. Έχουν μια καρριέρα, και νιονιό να κάτσουν να σκεφτούν. Εκεί θα εναπόθετα και την επιτυχία του.

 

Στις δουλειες παιζει ρολο και ο χαρακτήρας φιλε μου. Περα απο τα skills.

 

Ξερεις ποσοι εργοδοτες μου εχουν πει πως αμα τους παρουσιαστουνε τυπακια

 

με τουπε και αλαζονια στα ύψη πως θα φύγουν? :P

 

Ευτυχως δεν την έκανε πανω μου την αναπαρασταση ;) θα πρεπει να χαλαρωσουμε λιγο πιστευω

καλες και οι γνωσεις δε λεω αλλα θελει και κατι ακομη. Δεν ειμαστε μηχανες (ακομη τουλαχιστον).

 

Και να ξαναπω και κατι που εχω πει και σε αλλο φορουμ.... Μην κρινεις καποιον αν δεν τον εχεις γνωρισει καλυτερα... μπορει να στο παιζει χαζος και να σε κανει ρομπα μετα. Μην ειστε προπετες.

Ταπεινοτατη μου αποψη.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...