Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2012, 14:12   #1
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
[Pascal] Aiuto programma2

Rieccomi.. Stavolta non sono riuscito a risolvere.. Se ci fosse qualcuno che mi da una mano gliene sarei grato. Il programma è il seguente:

Codice:
program es1;
uses crt;
var a[i],b[i],c[i]:array [1..150] of integer;
    cont,n,cubo,i:integer;

Begin
clrscr;
cont:=0;
cubo:=0;
repeat
writeln('Introduci un numero n');
readln(n);
until n<=100;
for a:=0 to n do
begin
randomize;
random(a[i]):=(90)+1;
writeln(a[i]);
if a[i]<60
then cont:=cont+1
end;
writeln('I numeri minori di 60 sono: ',cont);
for b:=0 to n do
begin
randomize;
random(b[i]):=(90)+1;
writeln(b[i]);
if b[i] mod 4=0
then begin
     cubo:= b[i]*b[i]*b[i];
     writeln('Ecco i cubi dei numeri multipli di 4 caricati dall''array b',cubo);
     end;
end;
for c:=0 to n do
begin
c[2i]:=a[2i];
c[2i]:=-c[2i];
writeln(c[2i]);
c[2i+1]:=a[2i+1];
c[2i+1]:=-c[2i+1];
writeln(c[2i+1]);
end;
readln;
end.
Errore:
Fatal: Syntax error, : expected but [ found

Ultima modifica di Ricky96 : 05-05-2012 alle 19:47.
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2012, 16:30   #2
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Nessuno è in grado di aiutarmi in questo forum?
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2012, 20:47   #3
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
tre piccole regole generali quando si posta nei forum di programmazione
1)indenta il codice
2)indica la linea dell'errore, il compilatore te la riporta
3)scrivi cosa dovrebbe fare il listato
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2012, 21:37   #4
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Sottoscrivo wizard1993, posso però dirti di controllare varie cose:
  • la dichiarazione delle variabili (l'errore che riporti)
  • una variabile è troppo piccola per contenere il valore che calcoli
  • errate variabili utilizzate nei cicli
  • inizializzazione del generatore di numeri casuali fatta troppe volte
  • funzione random utilizzata praticamente all'inverso
  • sforamento indice array nello strano balletto finale
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 14:46   #5
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Scusate ragazzi sono un pivello per quanto riguarda programmazione..
Per quanto riguarda la riga dell'errore adesso edito il post iniziale mettendo in grassetto dove mi evidenzia l'errore..

Per quanto riguarda la finalità del programma vi spiego velocemente:

Primo array A.. Dobbiamo visualizzare nell'output tanti numeri casuali quanti ne chiede l'utente con la variabile N (N<=100).
Dopo questo dobbiamo comunicare QUANTI numeri minori di 60 sono stati caricati dall'array..

Array B. Visualizzare sempre tanti numeri casuali quanti ne chiede l'utente (utilizziamo per comodità sempre la variabile N di prima).. Poi prendere i numeri visualizzati multipli di quattro e farne il cubo.. Successivamente dobbiamo visualizzare questi numeri..

Array C lasciamolo stare perchè neanche io ho ben capito il testo.

Scusatemi ancora
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 15:01   #6
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Esatto, il primo errore è lì, ma è una cavolata ripetuta che se te la scrivo nero su bianco la dimentichi in 10 secondi netti, mentre se osservi un esempio/appunti/altro e la "scopri" tu te la ricorderai meglio.

I problemi più subdoli che potrai aver difficoltà a trovare/capire sono altri.

P.S. usa il tag CODE per preservare la formattazione del codice (è l'icona col cancelletto in editazione avanzata del post, sotto la tendina delle faccine).
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)

Ultima modifica di Gimli[2BV!2B] : 05-05-2012 alle 15:05.
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 19:52   #7
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Quote:
Originariamente inviato da Gimli[2BV!2B] Guarda i messaggi
Esatto, il primo errore è lì, ma è una cavolata ripetuta che se te la scrivo nero su bianco la dimentichi in 10 secondi netti, mentre se osservi un esempio/appunti/altro e la "scopri" tu te la ricorderai meglio.

I problemi più subdoli che potrai aver difficoltà a trovare/capire sono altri.

P.S. usa il tag CODE per preservare la formattazione del codice (è l'icona col cancelletto in editazione avanzata del post, sotto la tendina delle faccine).
Grazie innanzitutto per la disponibilità..
Quindi per capire al meglio i programmi devo sbattere la testa e smanettare..
Ottimo .. E', ahimè , un compito di informatica che ho fatto qualche giorno fa..
Ma ci sono errori di logica? Alcune cose purtroppo non le ho ancora chiare.. E fare un compito di informatica scritto su un foglio è assurdo perchè non hai la possibilità di vedere che errori fai..
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 23:45   #8
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Posso dirti che quel codice pulito da errori fa sostanzialmente quel che hai scritto che dovrebbe fare (fino all'array c).

L'argomento che hai mostrato di aver capito meno direi che è l'utilizzo delle funzioni/procedure, nel particolare di random e della procedura randomize (che andrebbe invocata una sola volta, mentre tu l'hai fatto 2 * n volte).
Naturalmente questa è la mia opinione e non so a cosa possa dare più peso il tuo/a prof.
Codice:
gimli@kwankey:~/Scrivania$ fpc -otest_pas -Tlinux test.pas && ./test_pas 
Free Pascal Compiler version 2.6.0-2 [2012/04/01] for i386
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling test.pas
Linking test_pas
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
53 lines compiled, 0.3 sec 
Introduci un numero n
10

76
2
63
50
57
51
15
52
90
34
46
I numeri minori di 60 sono: 8

19
44
Ecco i cubi dei numeri multipli di 4 caricati dall'array b: 85184
67
40
Ecco i cubi dei numeri multipli di 4 caricati dall'array b: 64000
51
89
22
16
Ecco i cubi dei numeri multipli di 4 caricati dall'array b: 4096
71
6
5

-76
-2
-2
-63
-63
-50
-50
-57
-57
-51
-51
-15
-15
-52
-52
-90
-90
-34
-34
-46
Che il compito scritto su foglio sia irrealistico pensando al normale contesto di utilizzo del linguaggio sono d'accordo, però, a posteriori (ho fatto pascal alle superiori), ne capisco il senso perché ti costringe ad imparare subito la sintassi a memoria.
Per farti un esempio, mi è capitato di lavorare per mesi con Javascript, ma non ho mai memorizzato veramente i nomi delle funzioni e proprietà basilari e son sempre un po' impedito quando ci torno sopra.
Saperlo scrivere su carta significa che puoi concentrarti maggiormente sul problema che devi risolvere piuttosto che perdere tempo a trovare le parole per scrivere la soluzione.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2012, 11:08   #9
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Grazie ancora! Scusami ti faccio un'ultima domanda. Riguardo all'array B sembra che nell'output che hai postato non ci siano i numeri casuali che avrebbe dovuto caricare (erano sempre N numeri..).

Nel senso che carica sempre 10 numeri casuali, controlla quali sono multipli di 4, fa il cubo di questi numeri e poi lo comunica.. Sembra che questo non lo faccia..

Per quanto riguarda il random ho completamente sbagliato in tutto il programma la sintassi.. Avrei dovuto mettere variabile:=random(90)+1. Grande boiata!
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2012, 11:30   #10
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Nel secondo ciclo l'hai fatto contemporaneamente: subito dopo aver generato il numero casuale lo controlli e ne stampi subito il cubo se multiplo di 4, quindi passi al numero successivo.
Diciamo che per soddisfare la sequenza temporale avresti dovuto memorizzare i cubi in un array, quindi stamparli con un altro ciclo.
Hai mostrato però di sapere come funziona l'operatore mod.

Ho notato adesso che i cicli vengono eseguiti una volta in più della variabile (da 0 ad n compreso: n + 1), non ci avevo badato perché non più abituato alla sintassi Pascal.

Esatto per random:
Codice:
  for i := 0 to n do
    begin
      b[i] := random( 90 ) + 1 ;
      writeln(b[i]);
      if b[i] mod 4=0 then
        begin
          cubo :=  b[i] * b[i] * b[i];
          writeln('Ecco i cubi dei numeri multipli di 4 caricati dall''array b: ', cubo);
        end;
    end;
  writeln('');
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2012, 11:54   #11
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Allora grazie mille! Vediamo come va il compito..
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2012, 11:49   #12
Ricky96
Junior Member
 
Iscritto dal: May 2012
Messaggi: 9
Quote:
Originariamente inviato da Gimli[2BV!2B] Guarda i messaggi
Sottoscrivo wizard1993, posso però dirti di controllare varie cose:
  • la dichiarazione delle variabili (l'errore che riporti)
  • una variabile è troppo piccola per contenere il valore che calcoli
  • errate variabili utilizzate nei cicli
  • inizializzazione del generatore di numeri casuali fatta troppe volte
  • funzione random utilizzata praticamente all'inverso
  • sforamento indice array nello strano balletto finale
Ti chiedo un'altra cosa.. Che variabili devo mettere nei cicli? Ho provato a mettere nel primo e nel secondo ciclo due variabili diverse, ma cambia completamente..
Ricky96 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2012, 20:31   #13
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Variabili diverse? Non ti serve memorizzare il valore raggiunto dai contatori alla fine di ogni ciclo (è n).
Poi tu hai usato gli array stessi come contatori, mentre l'array è la cassettiera in cui devi cercare, aprendo un cassetto alla volta, dal primo a[0] all'ultimo a[n].
Qui si evidenzia di nuovo il dettaglio a cui ho accennato nell'ultimo post: da 0 ad n compreso fa n + 1 elementi, quindi bisogna decidere che fare per soddisfare le specifiche dell'assegnamento...

P.S. Controlla il frammento che ho già postato...
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
Atlas 960E SuperPoD, la risposta di Huaw...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v