LINUX AVANZATO 2007
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42724
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
mi è arrivata questa mail alle 21.15... la posto ma non è che sia poi così importante.
So che in pochi potranno leggere questa e-mail,
ma comunque vi anticipo che e' cambiata la ripartizione delle aule
per l'esame di Linux Avanzato di domani 31 marzo.
L'orario resta quello indicato sul sito del corso.
Cognomi A-L aula 3 nuovi edifici
Cognomi M-Z aula 4 nuovi edifici
Emiliano BettiSi prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42787
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Commenti a caldo? Io l'ho trovato fattibile (sempre che ancora non ho visto i risultati eh
però vabè).
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42796
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
qualcuno sa se hanno detto quando usciranno i risultati...o quanti esercizi sono necessari per passare..? io personalmente non ho fatto quello di architetture
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42797
da COM_EASYSOCIAL_GUEST_NAME
Cesati ha detto che bastava toppare il C per non passare sicuramente. Poi sugli altri credo che la priorità (decrescente) sia assembly, e poi il resto.
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
qualcuno sa se hanno detto quando usciranno i risultati...o quanti esercizi sono necessari per passare..? io personalmente non ho fatto quello di architetture
Cesati ha detto che bastava toppare il C per non passare sicuramente. Poi sugli altri credo che la priorità (decrescente) sia assembly, e poi il resto.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42838
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
I due esercizi di programmazione... cmq per passare 3 devono essere perfetti.
Fare un esercizio di programmazione senza poter compilare PERFETTO mi pare difficile infatti ho sbagliato una cavolata che quando sono andato a casa e l'ho potuto compilare me ne sono accorto subito.
Se mi boccia (100%) andrò a parlarci.
Intatno una possibile soluzione dei 2 esercizi di programmazione eccoli (funzionano, sull'eleganza del metodo non mi esprimo).
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
unsigned int num = 0x10000001, num2=0x0;
int main (int argc, char* argv[]){
if(argc<2){
printf("Usage %s <nomefile>\n", argv[0]);
return 1;
}
else
{
int rit = func (argv[1]);
printf("Rit=%d\n", rit);
}
return 0;
}
int func (char* nome_file){
int fd;
fd = open (nome_file, O_RDONLY);
if(fd<0){return 1;}
else{
int byte = lseek (fd, 0, SEEK_END);
if(byte==0){return 0;}
lseek(fd, 0, SEEK_SET);
char * numero = (char* )malloc(sizeof(char)*11);
int i=0, somma_dec=0, len_numero;
char cifra;
while(read(fd, &cifra, 1)){
printf("Letto %c\n", cifra);
if((cifra!=' ') && (cifra!='\n')){
numero=cifra;
i++;
}
else
{
if(i>0){ //Ci deve entrare solo se ha trovato uno spazio ma ha qualcosa da sommare
numero='\0';
len_numero = strlen(numero);
for(i=0; i<len_numero; i++){
somma_dec += (int)(numero-'0')*pow(3, len_numero-i-1);
}
i=0;
}
}
}
if(i>0){ //Potrebbe esserci un numero ancora nel buffer e il file finisce senza spazi o accapo
numero='\0';
len_numero = strlen(numero);
for(i=0; i<len_numero; i++){
somma_dec += (int)(numero-'0')*pow(3, len_numero-i-1);
}
i=0;
}
free(numero);
close(fd);
return somma_dec;
}
}
void ass (void){
asm(
"pushl %eax\n\t"
"pushl %ebx\n\t"
"pushl %ecx\n\t"
"xor %ebx, %ebx\n\t"
"movl $31, %ecx\n\t"
"movl num, %eax\n\t"
"ciclo:\n\t"
"shrl $1, %eax\n\t"
"jnc shift\n\t"
"incl %ebx\n\t"
"shift:\n\t"
"shll %ebx\n\t"
"loop ciclo\n\t"
"movl %ebx, num2\n\t"
"popl %eax\n\t"
"popl %ebx\n\t"
"popl %ecx\n\t"
);
printf("num=%#x num2=%#x \n",num, num2);
}
Fare un esercizio di programmazione senza poter compilare PERFETTO mi pare difficile infatti ho sbagliato una cavolata che quando sono andato a casa e l'ho potuto compilare me ne sono accorto subito.
Se mi boccia (100%) andrò a parlarci.
Intatno una possibile soluzione dei 2 esercizi di programmazione eccoli (funzionano, sull'eleganza del metodo non mi esprimo).
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
unsigned int num = 0x10000001, num2=0x0;
int main (int argc, char* argv[]){
if(argc<2){
printf("Usage %s <nomefile>\n", argv[0]);
return 1;
}
else
{
int rit = func (argv[1]);
printf("Rit=%d\n", rit);
}
return 0;
}
int func (char* nome_file){
int fd;
fd = open (nome_file, O_RDONLY);
if(fd<0){return 1;}
else{
int byte = lseek (fd, 0, SEEK_END);
if(byte==0){return 0;}
lseek(fd, 0, SEEK_SET);
char * numero = (char* )malloc(sizeof(char)*11);
int i=0, somma_dec=0, len_numero;
char cifra;
while(read(fd, &cifra, 1)){
printf("Letto %c\n", cifra);
if((cifra!=' ') && (cifra!='\n')){
numero=cifra;
i++;
}
else
{
if(i>0){ //Ci deve entrare solo se ha trovato uno spazio ma ha qualcosa da sommare
numero='\0';
len_numero = strlen(numero);
for(i=0; i<len_numero; i++){
somma_dec += (int)(numero-'0')*pow(3, len_numero-i-1);
}
i=0;
}
}
}
if(i>0){ //Potrebbe esserci un numero ancora nel buffer e il file finisce senza spazi o accapo
numero='\0';
len_numero = strlen(numero);
for(i=0; i<len_numero; i++){
somma_dec += (int)(numero-'0')*pow(3, len_numero-i-1);
}
i=0;
}
free(numero);
close(fd);
return somma_dec;
}
}
void ass (void){
asm(
"pushl %eax\n\t"
"pushl %ebx\n\t"
"pushl %ecx\n\t"
"xor %ebx, %ebx\n\t"
"movl $31, %ecx\n\t"
"movl num, %eax\n\t"
"ciclo:\n\t"
"shrl $1, %eax\n\t"
"jnc shift\n\t"
"incl %ebx\n\t"
"shift:\n\t"
"shll %ebx\n\t"
"loop ciclo\n\t"
"movl %ebx, num2\n\t"
"popl %eax\n\t"
"popl %ebx\n\t"
"popl %ecx\n\t"
);
printf("num=%#x num2=%#x \n",num, num2);
}
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 8 Mesi fa #42841
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
ma il testo dell'esercizio qual'è?
Si prega Accedi o Crea un account a partecipare alla conversazione.