Perplessità processi (c,java,python, generico)

« Older   Newer »
  Share  
view post Posted on 22/2/2020, 22:11
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


Perfetto, direi che ci siamo! e siamo sintonizzati :)

Avevo notato un altro riferimento mitologico, in effetti: dopo il padre che mangia i figli hai anche i figli che entrano nel padre... ci si potrebbero imbastire studi psicologici :D :D
 
Top
view post Posted on 23/2/2020, 21:00
Avatar

Rompiball

Group:
Appassionati
Posts:
2,612
Location:
briansa

Status:


Finito :)
A processi è stato comunque un bagno di sangue, si poteva fare normalmente ma la getch() mi aveva spiazzato.
Più avanti espongo i dubbi che ho

EDIT: non mi allega il video, devo farlo più corto, provvederò
 
Top
view post Posted on 24/2/2020, 10:59
Avatar

Immane Rompiball

Group:
Administrator
Posts:
18,287
Location:
Orlo esterno della cintura di Orione stella 1957

Status:


OK, ci rinuncio, Gila, ogniuno ha le sue esperienze e va dove lo porta il cuore.
Quello che ti posso dire è che un PC con sistema operativo comune tipo WINZOZ 10 o altri più vecchi, MAC qualcosa con il suo OSx... non sono molto sfruttabili per fare dei programmi utili a qualcosa. Ovviamente hai il tuo sistema operativo di appoggio, ed un compilatore eCCì (salute). Ma cosa speri di farci di specifico? L'hardware del PC non lo conosci, e quindi non sai come accedervi in modo diretto. In modo indiretto puoi fare quello che il compilatore ti permette di fare altro no. Ti rimane da fare un wordprocessor, o un foglio di calcolo o che so io, ma già esistono programmi applicativi così fatti bene che tu non hai speranze di fare nulla di meglio. Quindi, mi spieghi cosa speri di ottenere da un PC comune con un sistema operativo per cercopitechi?

Io parlavo di compilatori, in C o qualcosaltro per macchine non PC fatte apposta per gestire qualcosa di hardware... Quello può essere utile a qualcosa.
Vuoi fare un robot usando un PC come controllo? Raccontaci qual'è la tua idea magari posso essere più dettagliato... :O
 
Web  Top
view post Posted on 26/2/2020, 18:41
Avatar

Rompiball

Group:
Appassionati
Posts:
2,612
Location:
briansa

Status:


CITAZIONE
OK, ci rinuncio, Gila, ogniuno ha le sue esperienze e va dove lo porta il cuore.

Ok, Law, come vuoi. Io sto solo cercando di studiare un linguaggio di programmazione.
Sul fatto che mi chiedi cosa voglio ottenere ? Nulla. Non ho la benchè minima possibilità di scrivere
qualcosa di meglio di quanto non ce ne sia già in giro. Ne a pc, ne a microcontrollori.
Pure il theremin rispetto a quelli professionali fa ridere...a sto punto avrei dovuto lasciar perdere...ma non lo faccio.
Stavo studiando i processi e tutto quello che ne consegue. é vero, non so accedere all'hardware della macchina
ma a me e magari anche a chi lo fa di professione, se non per alcune cose, può non interessare.
Tutto li, studio per il gusto di farlo, mi piace, e cosa ancora migliore mi diverte, e non mi considero un nerd...
non ne faccio una malattia, ma leggendo algoritmi su libri e articoli, anche se poi non li uso, mi fa capire le complessità che
ci sono.
Non sarai ancora una volt d'accordo, lo so che per te è tempo perso...ma pazienza.
:)
 
Top
view post Posted on 27/2/2020, 14:02
Avatar

Immane Rompiball

Group:
Administrator
Posts:
18,287
Location:
Orlo esterno della cintura di Orione stella 1957

Status:


No, non sono ancora una volta d'accordo. Ti faccio un esempio fuori dall'argomento informatica.

Ci sono meccanici, e tu dici di essere un appassoniato di meccanica. Tu scrivi, e ti interessi di meccanica, ti piacciono le macchine a controllo numerico, il tornio, la fresa, l'alesatrice, la ... reffiica e tutti i processi di lavorazione dei metalli, compresa la tempra la cementazione la carbonitrurazione ed i trattamenti superficiali, compresi quelli elettrolitici, la zincatura a caldo, la fosfatazione, la nickelatura ecc...
Ma, ti piacciono anche i motori di grossa cilindrata, quelli marini dove dentro i cilindri, una volta smontato il pistone ti ci puoi sedere e fare colazione. Ma anche i motori delle automobili, da quelle utilitarie a quelle megasportive fino ai trattori da drag-race con quattro motori superdiesel...
Però non disdegni di rifare la carrozzeria ad una Packard da qualche milione di euro.

E di tutto questo, non ti impegni in qualcosa di preciso ma fai uno zuppone incredibile. E come te tutti gli altri.
Così io non riesco a farti capire che l'angolo di accenzione del tal motore deve essere anticipato in modo variabile a seconda del numero di giri... Perchè a te non frega niente essendo solo una milionesima parte del tutto che ti interessa.

Considera che non è una critica rivolta a "TE" ma a tantissimi che conosco alla quasi totalità dei giovani millenials quindi non sentirti "atapirato" sei probabilmente solo parte di una generazione che è così. ;)

Scusami se te lo dico, ritornando al tuo post. TU non stai cercando di imparare un linguaggio di programmazione, stai annaspando in mezzo ad uno zuppone commerciale internettiano di idee ed esperienze mescolate in modo terribile ed incoerente come tante cose si trovano oggi in rete senza avere idea di quello che è l'informatica reale istituzionale e accademico.

E così non un Volt d'accordo ma neppure di un Amper o di un Watt... ;)
Non esser prevenuto. :lol: :wb:
 
Web  Top
view post Posted on 27/2/2020, 19:10
Avatar

Rompiball

Group:
Appassionati
Posts:
2,612
Location:
briansa

Status:


Bhe, mi fa piacere se lo consideri uno zuppone...
No, non sono atapirato...ho ben altri problemi ora.
Quindi tu in conclusione cosa mi consiglieresti di fare. Com'e' secondo te uno studio che vale la pena fare ?

Edited by GILA75 - 27/2/2020, 20:28
 
Top
view post Posted on 27/2/2020, 20:37
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


Gila, ho finalmente ripreso in mano il mio giochino "arrows", ho creato da me lo "pseudo-ambiente" DOS-modo testo (riciclando l'emulatore di C64!) e... ora sto convertendo il gioco: e mi sto scontrando appunto con la macchina a stati!!

Perché sullo Z80 c'era solo quello e avevo il controllo di tutto... invece in Windows bisogna lasciar passare i messaggi del S.O. ..
 
Top
view post Posted on 27/2/2020, 22:03
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


Fatto! funziona... come funzionava prima: cioè una schifezzuola :D ma era il 1994 e girava su Z80 + display LCD 4x40 e tastiera IBM

domani posto il video
 
Top
view post Posted on 27/2/2020, 22:38
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


(foto)

Attached Image: arrows

arrows

 
Top
view post Posted on 28/2/2020, 12:31
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


 
Top
view post Posted on 28/2/2020, 18:57
Avatar

Rompiball

Group:
Appassionati
Posts:
2,612
Location:
briansa

Status:


Figo !!!!
Io sto riscrivendo tutto senza processi, in effetti per il gioco del bruco non servono, ma mi hanno fatto approfondire un po'
l'argomento.
Mi preoccupava la getch(), la gestione tasti, ma avendo trovato quella non bloccante è ok anche senza processi.
Che complicano un po' tutto perchè devono comunicare via pipes o altro, e non è sempre semplice.
Discorso diverso, che se vorrete vi espongo, è il gioco della guardia e del ladro.
Ora sono incasinato a casa, ma voglio come dicevo riscrivere tutto.
è il classico gioco del bruco, in aggiunta vorrei mettere la memorizzazione dei record salvando su file.
Logicamente salva solo se lo superi.
Comunque Dario, mi sembra ganzo il giochino, con z80 e magari lcd insomma di roba da fare ce ne sarà stata presumo.
Complimenti ;)
 
Top
view post Posted on 28/2/2020, 19:31
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


:) grazie, più che altro fu uno dei primi sorgenti "multipiattaforma" - ero giovane!
Era notevole che lo stesso programma (cambiando 2 define) girasse sulla mia scheda con Z80 e display e anche su un PC in DOS.

Tu vai avanti... Io mi son divertito a emulare getch() partendo dai messaggi di Windows per tasto premuto ecc - non è difficile, almeno in termini di base...
E poi ho ragionato su come "un programma scritto a macchina a stati" gira facilmente anche in un ambiente dove non era stato pensato, mentre non è vero il contrario...

Ergo: sempre ragionare a Stati! (Ieri un tizio su un forum affermava che una macchina a stati sarà sempre più efficiente di un qualsiasi OS multitask)
 
Top
view post Posted on 28/2/2020, 19:49
Avatar

Rompiball

Group:
Appassionati
Posts:
2,612
Location:
briansa

Status:


CITAZIONE
Ergo: sempre ragionare a Stati! (Ieri un tizio su un forum affermava che una macchina a stati sarà sempre più efficiente di un qualsiasi OS multitask)

Prima o poi ci arriviamo, meglio in 3d separato.
Sono davvero curioso di capire come fai ad aggirare temporizzazioni...pause ecc...nude e crude.
 
Top
view post Posted on 28/2/2020, 19:53
Avatar

Noioso

Group:
Professionisti
Posts:
403

Status:


posso postare il codice aggiornato, che in pratica è quello di qualche giorno fa con aggiunta 2-3 cosine per wndows:

CODICE
#include <windows.h>
#include <ctype.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include "arrows_win.h"

#ifndef Z80
#define SCR_W HORIZ_CHARS
#define SCR_H 25
#define UP_CHR '^'
#define DN_CHR 'V'
#define LF_CHR '<'
#define RG_CHR '>'
#define BOX_H (SCR_H / 8)
#define BOX_W (SCR_W / 8)
#define BOX_TIME 4000
#define SEC_TIME 1000                ///CLOCKS_PER_SEC
#define MOVE_TIME 250
#else
#define SCR_W 40
#define SCR_H 4
#define BOX_H 1
#define BOX_W 5
#define UP_CHR '^'
#define DN_CHR 'V'
#define LF_CHR '<'
#define RG_CHR '>'
#define BOX_TIME 80
#define MOVE_TIME 10
#define SEC_TIME 25
#endif


extern BYTE VideoRAM[80*25];
extern BYTE ColorRAM[80*25];
extern BYTE coloreCaratteri;
COLORREF Colori[16]={
       RGB(0,0,0),                                                 // nero
       RGB(0xff,0xff,0xff),         // bianco
       RGB(0x80,0x00,0x00),         // rosso
       RGB(0x00,0x80,0x80),         // azzurro
       RGB(0x80,0x00,0x80),         // porpora
       RGB(0x00,0x80,0x00),         // verde
       RGB(0x00,0x00,0x80),         // blu
       RGB(0x80,0x80,0x00),         // giallo
       
       RGB(0xff,0x80,0x40),         // arancio
       RGB(0x80,0x40,0x40),         // marrone
       RGB(0xff,0x80,0x80),         // rosso chiaro
       RGB(0x40,0x40,0x40),         // grigio scuro
       RGB(0x80,0x80,0x80),         // grigio medio
       RGB(0x80,0xff,0x80),         // verde chiaro
       RGB(0x80,0x80,0xff),         // blu chiaro
       RGB(0xc0,0xc0,0xc0)                 // grigio chiaro
       };
SWORD VICRaster=MIN_RASTER;
BYTE Keyboard[8];
BYTE gameMode;
enum GAME_STATE {
       GAME_SPLASH,
       GAME_INIT,
       GAME_START_PLAY,
       GAME_PLAYING,
       GAME_ENDING,
       GAME_END
       };


char xPos,yPos;
char Dir,mChr;
char lPosX[20],lPosY[20];
char lLen;
char Bx,By,Bp,Bok,B2erase;
char LCDX,LCDY;
char cursorMode;

#ifndef Z80
#define home() cursor(1,1)

void cursOn() {

       cursorMode=1;
       }

void cursOff() {

       cursorMode=0;
       }

int BlankSc(int tlrow,int tlcol,int brrow,int brcol) {
       int x,y;
       
       if (tlrow < 1) tlrow = 1;
       if (tlrow > SCR_H) tlrow = SCR_H;
       if (tlcol < 1) tlcol = 1;
       if (tlcol > SCR_W) tlcol = SCR_W;
       if (brrow < 1) brrow = 1;
       if (brrow > SCR_H) brrow = SCR_H;
       if (brcol < 1) brcol = 1;
       if (brcol > SCR_W) brcol = SCR_W;

       for(y=tlcol; y<brcol; y++) {
               for(x=tlrow; x<brrow; x++) {
                       VideoRAM[(y-1)*SCR_H+x-1]=' ';
                       ColorRAM[(y-1)*SCR_H+x-1]=coloreCaratteri;
                       }
               }

       }

void cls() {

       memset(VideoRAM,' ',80*25);
       memset(ColorRAM,coloreCaratteri /*verde chiaro*/,80*25);
       LCDX=LCDY=1;
       }

void cursor(char col, char row) {

       LCDY=row;
       LCDX=col;

       if(LCDY < 1) LCDY = 1;
       if(LCDY > SCR_H) LCDY = SCR_H;
       if(LCDX < 1) LCDX = 1;
       if(LCDX > SCR_W) LCDX = SCR_W;

 }

#endif  

void center(char *);
void LCDputch(char);
void LCDputs(char *);
void PtBox(char, char, char, unsigned char);


int Arrows() {
       static int VICCounter=0;
       static int timer1divider;
       static int c;
       MSG msg;
       BOOL bMsgAvail;
       HDC hDC;
 char i,Exit,ch,mLen,Tim;
 int MoveTime;
 int Punti;
 clock_t t,t1,t2;
 char x,y;
       char mybuf[32];


       memset(VideoRAM,' ',80*25);
       memset(ColorRAM,coloreCaratteri /*verde chiaro*/,80*25);

/*        VideoRAM[0]='!'; VideoRAM[1]='A';
       VideoRAM[80]='B'; VideoRAM[81]='5'; VideoRAM[101]='6';VideoRAM[111]='7';VideoRAM[121]='8';
       VideoRAM[320]='!'; VideoRAM[321]='A';
       VideoRAM[480]='B'; VideoRAM[481]='5';
       VideoRAM[960]='H'; VideoRAM[961]='I';
       VideoRAM[80*24]='Z';
       for(c=0; c<25; c++) {
               VideoRAM[80*c]=(c % 10) + '0';
               } */

       gameMode=GAME_SPLASH;

       while(TRUE) {

               c++;
               if(!(c & 0x3fff)) {
                       bMsgAvail=PeekMessage(&msg,NULL,0,0,PM_REMOVE /*| PM_NOYIELD*/);

                       if(bMsgAvail) {
                               if(msg.message == WM_QUIT)
                                 break;
                               if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg)) {
                                       TranslateMessage(&msg);          /* Translates virtual key codes                         */
                                       DispatchMessage(&msg);                 /* Dispatches message to window                         */
                                       }
                               }
                 }

/*                if(DoReset) {
                       DoReset=0;
                       }
                       */

               VICCounter++;
               if(!(VICCounter & 0x3fff)) {

                       VICRaster+=8;                                                  // raster pos count, 200 al sec...
                       if(VICRaster >= MAX_RASTER)                 //
                               VICRaster=MIN_RASTER;
                       hDC=GetDC(ghWnd);
                       UpdateScreen(hDC,VICRaster,VICRaster+8);
                       ReleaseDC(ghWnd,hDC);
                       }



               switch(gameMode) {
                       case GAME_SPLASH:
                               B2erase=0;
                               cursOff();
                       //rifo:
                               cls();
//                                center("start");
                               for(i=0; i<SCR_H; i++)
                                       LCDputch('\n');
                               cursor(0,10);
                               center("ARROWS");
                               cursor(0,12);
                               center("(C) G.Dar 1994-2020");
                               t=clock()+(SEC_TIME*5);
                               gameMode++;
                               break;

                       case GAME_INIT:
/*                                {                                char myBuf[128];
                               wsprintf(myBuf,"t, clock %u: %u",t,clock());
                               SetWindowText(hStatusWnd,myBuf);
                                       VideoRAM[0]=clock() & 0x7f;
                               }*/

                               if(t > clock()) {
                                       if(LCDkbhit()) {
                                               if(LCDgetch() == '\x1b') {
                                                       cursOn();
                                                       exit(4);
                                                       }
                                               else  
                                                       gameMode++;
                                               }  
                                       }
                               else
                                       gameMode=GAME_SPLASH;
                               break;

                       case GAME_START_PLAY:

//start:
                               Tim=90;
                               Punti=0;
                               Exit=0;
                               lLen=4;
                               srand(0 /*clock()*/);

start2:
                               MoveTime=MOVE_TIME;
                               Bx=By=0;
                               Bok=0;
                               B2erase=0;
                               cls();
//                                                        LCDY=2;
//                                                        center("INIZIO!");
                               cursor(SCR_W/2-5,1);
                               sprintf(mybuf,"%2d - %3u00",Tim,Punti);
                               LCDputs(mybuf);


                               mLen=0;
                               xPos=SCR_W/2;
                               yPos=SCR_H/2;
                               Dir=6;
                               mChr=RG_CHR;
                               t=t2=clock();
                               t1=clock()+BOX_TIME;
                               t2=clock()+SEC_TIME;
                               gameMode=GAME_PLAYING;
                               break;

                       case GAME_PLAYING:
                               if(Exit || !Tim)
                                       gameMode=GAME_ENDING;

                               if(LCDkbhit()) {
                                       ch=LCDgetch();
                                       switch(ch) {
                                               case '\x1b':
                                                       Exit=1;
                                                       break;
                                               case '2':
                                                       Dir=2;
                                                       mChr=DN_CHR;
                                                       break;
                                               case '4':
                                                       Dir=4;
                                                       mChr=LF_CHR;
                                                       break;
                                               case '6':
                                                       Dir=6;
                                                       mChr=RG_CHR;
                                                       break;
                                               case '8':
                                                       Dir=8;
                                                       mChr=UP_CHR;
                                                       break;
                                                       
                                               }
                                       }
                               if(clock() >= t) {
                                       lPosX[mLen]=xPos;  
                                       lPosY[mLen]=yPos;  
                                       cursor(xPos,yPos);
                                       LCDputch(mChr);
                                       t=clock()+MoveTime;
                                       switch(Dir) {
                                               case 2:
                                                       if(yPos<(SCR_H-1))
                                                               yPos++;
                                                       break;
                                               case 4:
                                                       if(xPos>0)
                                                               xPos--;
                                                       break;
                                               case 6:
                                                       if(xPos<(SCR_W-1))
                                                               xPos++;
                                                       break;
                                               case 8:
                                                       if(yPos>2)
                                                               yPos--;
                                                       break;
                                               }
                                       for(i=0; i<lLen; i++) {
                                               if(lPosX[i]==xPos && lPosY[i]==yPos) {
error:                          
                                                       MessageBeep(MB_ICONERROR);
                                                       if(lLen < 20)
                                                               lLen+=2;
                                                       goto start2;  
                                                       }
                                               }
                                       if(xPos>=SCR_W || yPos>=SCR_H || xPos<0 || yPos<2) {   // ERRORE negli OR su OpenC/Z80
                                               goto error;
                                               }

                                       if(B2erase) {
                                               PtBox(0,Bx,By,0);
                                               Bx=By=0;
                                               B2erase=0;
                                               }

                                       if(Bok) {
                                               if(xPos>=Bx && yPos>=By && xPos<(Bx+BOX_W) && yPos<(By+BOX_H)) {
                                                       MessageBeep(MB_ICONASTERISK);
                                                       MessageBeep(MB_ICONASTERISK);
                                                       PtBox(-1,Bx,By,0);
                                                       B2erase=1;
                                                       Bok=0;
                                                       Punti+=Bp;
                                                       }
                                               }
                                       
                                       if(mLen<lLen)
                                               mLen++;
                                       else {  
                                               cursor(lPosX[0],lPosY[0]);
                                               LCDputch(' ');
               /*                                for(i=1; i<=lLen; i++) {
                                                       lPosX[i-1]=lPosX[i];
                                                       lPosY[i-1]=lPosY[i];
                                                       }*/
                                               memmove(lPosX,lPosX+1,lLen);  
                                               memmove(lPosY,lPosY+1,lLen);  
                                               }  
                                       }  
                               if(clock() >= t1) {
                                       i=(rand() & 3) +1;
                                       t1=clock() + (i*(BOX_TIME/3));
                                       if(Bok || B2erase)
                                               PtBox(0,Bx,By,0);
                                       x=rand() % SCR_W;
                                       y=rand() % SCR_H;
                                       PtBox(1,x,y,rand());
                                       Bx=x;
                                       By=y;
                                       Bok=1;
                                       }
                               if(clock() >= t2) {
               #ifndef Z80                
                                       MoveTime-=2;
               #else
                                       if(!(Tim & 7))
                                               MoveTime--;
               #endif                  
                                       t2=clock()+SEC_TIME;
                                       Tim--;
                                       cursor(SCR_W/2-5,1);
                                       sprintf(mybuf,"%2d - %3u00",Tim,Punti);
                                       LCDputs(mybuf);
                                       }


                               break;

                       case GAME_ENDING:
                               cls();
                               MessageBeep(MB_ICONWARNING);
                               cursor(SCR_W/2-5,1);
                               sprintf(mybuf,"%2d - %3u00",Tim,Punti);
                               LCDputs(mybuf);
                               cursor(0,SCR_H-2);
                               center("GAME OVER");
                               t=clock()+(SEC_TIME*3);
                               gameMode++;
                               break;

                       case GAME_END:
                               if(t < clock())
                                       gameMode=GAME_SPLASH;
                               break;

                       }                // gameMode

               }                // while(1)


       }



 
void PtBox(char m, char x, char y, unsigned char v) {
 char i,j,k;
       char mybuf[32];
 
 if(x >= SCR_W-BOX_W)
   x=SCR_W-BOX_W-1;
 if(y >= SCR_H-BOX_H)
   y=SCR_H-BOX_H-1;

 switch(m) {
               default:
                       k=BOX_H >> 1;
       //          if(k == 0)
       //            k=1;  
                       for(i=0; i<BOX_H; i++) {
                               for(j=0; j<BOX_W; j++) {
                                       cursor(j+x,i+y);
                                       LCDputch('*');
                                       }
                               }  
                       cursor(x+(BOX_W/2-1),y+k);
                       v %= 10;
                       if(v) {
                               sprintf(mybuf,"%1d00",v);
                               LCDputs(mybuf);
                               Bp=v;
                               }
                       else  {
                               sprintf(mybuf,"???");
                               LCDputs(mybuf);
                               Bp=(rand() % 19)-9;
                               if(!Bp)
                                       Bp++;
                               }
                       break;

               case 0:
                       for(i=0; i<BOX_H; i++) {
                               for(j=0; j<BOX_W; j++) {
                                       cursor(j+x,i+y);
                                       LCDputch(' ');
                                       }
                               }  
                       break;

               case -1:
                       for(i=0; i<BOX_H; i++) {
                               for(j=0; j<BOX_W; j++) {
                                       cursor(j+x,i+y);
                                       LCDputch('-');
                                       }
                               }  
                       break;
         }    
 }
 
void LCDputch(char ch) {

       if(ch>=' ') {
               VideoRAM[(LCDY-1)*SCR_W+(LCDX-1)]=ch;
               LCDX++;
               if(LCDX>SCR_W) {
                       LCDX=1;
                       LCDY++;
                       }
               }
       else if(ch=='\n') {
               if(LCDY<SCR_H) {
                       LCDY++;
                       }
               }

       }

void LCDputs(char *s) {

       while(*s)
               LCDputch(*s++);

       }

void center(char *s) {
 register unsigned char i;

 LCDX=1;
 i=SCR_W-strlen(s);
 i >>= 1;
 while(i--)
   LCDputch(' ');
 LCDputs(s);
 }
 
int LCDgetch() {

       return Keyboard[0];
       }

int LCDkbhit() {

       return Keyboard[0] != 0;
       }
 
Top
view post Posted on 1/3/2020, 12:28
Avatar

Immane Rompiball

Group:
Administrator
Posts:
18,287
Location:
Orlo esterno della cintura di Orione stella 1957

Status:


CITAZIONE (GILA75 @ 27/2/2020, 19:10) 
Bhe, mi fa piacere se lo consideri uno zuppone...
No, non sono atapirato...ho ben altri problemi ora.
Quindi tu in conclusione cosa mi consiglieresti di fare. Com'e' secondo te uno studio che vale la pena fare ?

Un consiglio in questo campo non è facile. Dipende, anche quello dipende. Il consiglio che ti posso dare potrebbe essere un'idea sconvolgente ma anche una bufala galattica.
Un prototipo di consiglio, potrebbe essere quello di prenderti un buon (ma proprio buono non la prima cag... che ti capita in cartoleria) di introduzione all'informatica di base dell'ITI per il terzo anno, il primo anno di informatica, gli altri due anni sono sempre inutili. Meglio se un libro vecchio anni 80. Quelli aggiornati sono delle schifezze che trattano le solite stronzate moderne senza nè capo nè coda. Oppure "dimenati" in rete finchè non trovi qualcosa di adatto, anche se non puoi sapere a priori quale può essere adatto. Io ho studiato su altro tipo di libri che ormai non li trovi più in giro oltre ad essere americani e scritti rigorosamente in inglese da gente di madrelinque inglese, e anche su questo ci sarebbe da dirne...
Se trovo qualcosa di adato nell'area professionale che ti possa essere utile te lo linko. :unsure:
 
Web  Top
159 replies since 6/1/2020, 21:09   1137 views
  Share