gabry97 (Normal User)
Newbie
Messaggi: 10
Iscritto: 02/11/2012
|
innanzitutto ciao a tutti sono nuovo!ho 15 anni e ho conosciuto il pascal a scuola,mi sono appassionato e quindi sono andato avanti da autodidatta....ho scritto questo algoritmo per una semplice calcolatrice!funziona bene,cosa ne pensate?
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Ottimo ... molto conciso, quasi inesistente ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Postato originariamente da nessuno:
Ottimo ... molto conciso, quasi inesistente ... |
Quoto!!
gabry97: se dobbiamo dare un giudizio al tuo codice, devi postarlo!
Comunque, prima di postarlo assicurati di aver cliccato sul pulsante(a sinistra) "Code", e di mettere il codice tra i tag! Così è molto più leggibile e bello graficamente!
Con i tag code:
Codice sorgente - presumibilmente C++ |
#include <iostream> int x = 0; void main(){ if(x==0){ cout << "Ciao" << endl; } return 0; }
|
Senza i tag code:
#include <iostream>
void main(){
int x = 0;
if(x==0){
cout << "Ciao" << endl;
}
return 0;
}
Qual'è più bello e leggibile?
Edit:
Ops...non ho dichiarato la variabile x!!! La dichiaro subito! Ultima modifica effettuata da LittleHacker il 03/11/2012 alle 2:15 |
|
gabry97 (Normal User)
Newbie
Messaggi: 10
Iscritto: 02/11/2012
|
lo so che per avere un giudizio devo postarlo l' avevo messo fra gli allegati ma evidentemente il formato non è supportato...
Codice sorgente - presumibilmente Delphi |
program calcolatricedue; uses crt; const dim=3; var num:array[1..dim]of real; opera:string; scelta:char; indice:integer; label 1; begin clrscr; writeln('programma calcolatrice'); repeat write('scrivi l'' operazione che vuoi eseguire: '); readln(opera); if (opera='addizione') then begin for indice:=1 to 2 do begin write('inserisci il termine: '); readln(num[indice]); end; num[dim]:=(num[1])+(num[2]); writeln('ecco la somma tra i termini: ',num[dim]:2:1); end else if (opera='sottrazione') then begin for indice:=1 to 2 do begin write('inserisci il termine: '); readln(num[indice]); end; num[dim]:=(num[1])-(num[2]); writeln('ecco la differenza tra i termini: ',num[dim]:2:1); end else if (opera='moltiplicazione') then begin for indice:=1 to 2 do begin write('inserisci il termine: '); readln(num[indice]); end; num[dim]:=(num[1])*(num[2]); writeln('ecco il prodotto dei termini: ',num[dim]:2:1); end else begin 1: write('inserisci il dividendo: '); readln(num[1]); write('inserisci il divisore: '); readln(num[2]); if num[2]=0 then begin writeln('il divisore dev'' essere diverso da 0'); goto 1; end; num[dim]:=(num[1])/(num[2]); writeln('ecco il risultato: ',num[dim]:2:1); end; write('vuoi eseguire un''altra operazione?(S/N): '); readln(scelta); until (scelta<>'S'); writeln('termine elaborazione'); readln; end.
|
|
|
gabry97 (Normal User)
Newbie
Messaggi: 10
Iscritto: 02/11/2012
|
solo per precisare non si tratta di delphi come ipotizzato dal sistema ma di dev-pascal
|
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Secondo me è molto ben fatto! E' molto meglio delle mie prime applicazioni in Pascal!
|
|
gabry97 (Normal User)
Newbie
Messaggi: 10
Iscritto: 02/11/2012
|
grazie mille! in proposito,volevo sapere se c'è un modo per inserire un' interfaccia grafica oppure per leggere direttamente l' operazione,ad esempio invece di far scrivere addizione,sottrazione ecc di leggere direttamente l' operazione esempio 5*3,4+2 ecc....
|
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Adesso non so se c'è una funzione già pronta, ma quello che devi fare è: prendi l'operazione scritta, togli i numeri e confronti il segno ottenuto con i segni!
cioè:
Scrivo in Java!
Codice sorgente - presumibilmente Plain Text |
if(segno == "+"){
//fai l'addizione
}else if(segno == "-"){
//fai la sottrazione
}else if(segno == "*"){
//fai la moltiplicazione
}else if(segno == ":"){
//fai la divisione
}else{
//Errore di segno
}
|
|
|
gabry97 (Normal User)
Newbie
Messaggi: 10
Iscritto: 02/11/2012
|
adesso ho scritto un programma come quello che hai suggerito però con tre operazioni di lettura!
prima un numero,poi il segno,e poi l' altro numero,perchè tutti su un rigo nn li faceva leggere!cioè il compilatore non dava errore,però quando andavi a inserire i numeri scompariva l'interfaccia del programma!
|
|