Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deebot T9 AIVI, il robot aspirapolvere con la videocamera
Deebot T9 AIVI, il robot aspirapolvere con la videocamera
Con Deebot T9 AIVI Ecovacs propone il proprio nuovo aspirapolvere robot top di gamma, compagno automatizzato della pulizia domestica. Grazie ad un motore di aspirazione più potente e a un sistema di rulli inferiore mutuato da iRobot rimuove al meglio la polvere e lo sporco, potendo anche procedere con un lavaggio del pavimento. Grazie alla videocamera frontale vede cosa c'è in casa, evitando che qualcosa lo possa fermare
Full Hybrid Plugin E-Tech: migliaia di chilometri per capirle, a bordo di Renault Captur e Megane
Full Hybrid Plugin E-Tech: migliaia di chilometri per capirle, a bordo di Renault Captur e Megane
Quanto consumano veramente le plug-in ibride? Di quanto sbagliano i dati dichiarati WLTP? Ma, soprattutto, a chi conviene questa tipologia di auto? Al bando ogni pregiudizio, ci siamo messi alla guida di due anto plug-in ibride. Questo articolo è il resoconto della nostra esperienza sul campo. Non senza sorprese.
I 15 videogiochi più attesi del 2022: da Elden Ring a S.T.A.L.K.E.R. 2
I 15 videogiochi più attesi del 2022: da Elden Ring a S.T.A.L.K.E.R. 2
Ecco l'elenco dei videogiochi che più attendiamo in questo 2022 già iniziato. Dopo le difficoltà che hanno incontrato gli sviluppatori negli ultimi mesi a causa della pandemia, ci si aspetta un 2022 di grandi rilasci con il ritorno delle software house più amate. Abbiamo escluso tutti quei titoli il cui rilascio è poco plausibile per l'anno in corso
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-12-2021, 23:22   #1
Demonius
Senior Member
 
Iscritto dal: Feb 2004
Città: venezia
Messaggi: 1302
Da frammento di codice individuale trovare risultato

Ciao a tutti. Stavo svolgendo un'esercizio dove mi si chiede da questo frammento di codice di ricavare la risposta esatta:

Fr codice:
int num, dato,conta
num=4
dato=2
per conta=1 a conta<=num
scrivi (dato)
dato=dato+num
num+=1
fine per


devo scegliere tra le risposte: a) 2688 b)ciclo infinito c)2222 d)261014

In c++ ho scritto questo codice:

#include <iostream>
using namespace std;
int main()
{
int num;
int dato;
int conta;
num=4;
dato=2;

for (conta= 1;conta<= num;conta=conta+1)
{
cout << dato << endl;
dato=dato+num;
num+=1;
}
system("Pause");


}
Come risposta mi da un ciclo infinito (spero che sia giusta). Ho dovuto creare anche lo stesso codice in Visual Basic ma qui non riesco a venirne a capo. Questo è il mio codice:
Module VBModule

Sub Main ()

dim num,dato,conta As integer
num=4
dato=2

For conta =1 To num Step
dato=dato+num
num+=1
Console.WriteLine ("dato = {0}",dato)
Next

End Sub
End Module

Come lo eseguo non mi da un ciclo infinito ma solo: 6-11-17-24
Potreste aiutarmi a capire dove sbaglio visto che sono alle prime armi. Grazie mille
__________________
cpu: CoreDuo E6750 Vga: Geforce 8800 gtx
Alimentatore: Corsair Hw 620 watt Case: Cool master Stacker Ram: 2gb 800 mhz Extreme Hard Disk: Wd Raptor 10000 rpm
Demonius è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 08:58   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3577
non sono molto convinto di quello che ti ho evidenziato in grassetto

Sub Main ()

dim num,dato,conta As integer
num=4
dato=2

For conta =1 To num Step
dato=dato+num
num+=1
Console.WriteLine ("dato = {0}",dato)
Next

End Sub
End Module



For conta =1 To num
num = num + 1
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 10:16   #3
Demonius
Senior Member
 
Iscritto dal: Feb 2004
Città: venezia
Messaggi: 1302
Per prima cosa grazie per la risposta. Ho provato a mettere come suggerito:

For conta =1 To num
num = num + 1

eliminando Step e modificando num+=1 in num = num + 1 ma niente da fare
__________________
cpu: CoreDuo E6750 Vga: Geforce 8800 gtx
Alimentatore: Corsair Hw 620 watt Case: Cool master Stacker Ram: 2gb 800 mhz Extreme Hard Disk: Wd Raptor 10000 rpm
Demonius è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 10:40   #4
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2251
nono ri-leggi meglio la parte in grassetto di misterx...
chi è l'indice nel for? viene gestito correttamente?
cosa rappresenta num? deve cambiare o no?
__________________
metallicgear neo mini v2 / asus rog strix z490i / 10600k@? / noctua uh12s / AMD rx 6700xt / 32gb corsair ddr4 3200 / sandisk 250 + asenno 1tb + lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 11:11   #5
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2314
Quote:
Originariamente inviato da Demonius Guarda i messaggi
Ciao a tutti. Stavo svolgendo un'esercizio dove mi si chiede da questo frammento di codice di ricavare la risposta esatta:

Fr codice:
int num, dato,conta
num=4
dato=2
per conta=1 a conta<=num
scrivi (dato)
dato=dato+num
num+=1
fine per


devo scegliere tra le risposte: a) 2688 b)ciclo infinito c)2222 d)261014
[..]
Come risposta mi da un ciclo infinito (spero che sia giusta).
Non sono stato dietro a leggere tutto ma NON può dare un ciclo infinito per un motivo semplice: il tipo INT ha un valore massimo.
Poniamo che compili a 64 bit, un int raggiunge al massimo il valore 9.223.372.036.854.775.807
quindi non appena fai un "+1" il valore "fa il giro" è diventa -9.223.372.036.854.775.807
In quel momento quindi conta sarà sicuramente maggiore di num, e quindi il ciclo termina.
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 11:17   #6
Demonius
Senior Member
 
Iscritto dal: Feb 2004
Città: venezia
Messaggi: 1302
Ragazzi penso di esserci riuscito grazie ai vostri suggerimenti (ma non sono sicuro al 100%).

Questo è quello che ho fatto:

For conta=conta To num step conta
dato=dato+num
num+=1
Console.WriteLine ("dato = {0}",dato)

Adesso mi da il ciclo infinito.
__________________
cpu: CoreDuo E6750 Vga: Geforce 8800 gtx
Alimentatore: Corsair Hw 620 watt Case: Cool master Stacker Ram: 2gb 800 mhz Extreme Hard Disk: Wd Raptor 10000 rpm
Demonius è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 11:21   #7
Demonius
Senior Member
 
Iscritto dal: Feb 2004
Città: venezia
Messaggi: 1302
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Non sono stato dietro a leggere tutto ma NON può dare un ciclo infinito per un motivo semplice: il tipo INT ha un valore massimo.
Poniamo che compili a 64 bit, un int raggiunge al massimo il valore 9.223.372.036.854.775.807
quindi non appena fai un "+1" il valore "fa il giro" è diventa -9.223.372.036.854.775.807
In quel momento quindi conta sarà sicuramente maggiore di num, e quindi il ciclo termina.
quindi ho sbagliato da principio ?
__________________
cpu: CoreDuo E6750 Vga: Geforce 8800 gtx
Alimentatore: Corsair Hw 620 watt Case: Cool master Stacker Ram: 2gb 800 mhz Extreme Hard Disk: Wd Raptor 10000 rpm
Demonius è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 13:14   #8
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2314
Modifica il tuo programma in c++ e stampa a video sia il valore di conta che di num e lascialo andare. (hint: magari fai partire num da 2^31 che ci impiega meno)
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2021, 17:10   #9
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3577
Quote:
Originariamente inviato da Demonius Guarda i messaggi
Per prima cosa grazie per la risposta. Ho provato a mettere come suggerito:

For conta =1 To num
num = num + 1

eliminando Step e modificando num+=1 in num = num + 1 ma niente da fare

Non ho a disposizione un ambiente di sviluppo VB, ho provato un VBA per Excel in una vecchia versione del 2000 e num+=1 non è supportata, magari 20 dopo si?
Ma nemmeno il non specificare il valore di Step non è supportato, devi digitare qualcosa. Se non metti nulla, per default prende Step 1.


Per evitare errori negli esercizi, usa il solito metodo passo passo con carta e penna e fai la simulazione con solita tabella che sicuramente ti hanno insegnato a costruire nella quale elenchi per ogni passo, il contenuto delle variabili.
Perdi molto ma molto meno tempo.
misterx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deebot T9 AIVI, il robot aspirapolvere con la videocamera Deebot T9 AIVI, il robot aspirapolvere con la vi...
Full Hybrid Plugin E-Tech: migliaia di chilometri per capirle, a bordo di Renault Captur e Megane Full Hybrid Plugin E-Tech: migliaia di chilometr...
I 15 videogiochi più attesi del 2022: da Elden Ring a S.T.A.L.K.E.R. 2 I 15 videogiochi più attesi del 2022: da ...
Dreame W10: un robot che lava realmente i pavimenti Dreame W10: un robot che lava realmente i pavime...
EPOS H6PRO Closed & Open, il cablato non passa mai di moda - Recensione EPOS H6PRO Closed & Open, il cablato non pas...
AI Research SuperCluster (RSC), il super...
Con NASA Hubble scoperta la relazione tr...
League of Legends: azione legale contro ...
Dollaro digitale: la Fed ci pensa. Ma no...
Il CEO di NIO rivela: "La ET5 da 1....
vivo Cashback: compri uno smartphone e r...
Serie Samsung Galaxy S22: svelati i prez...
The Elder Scrolls 6 sempre più lo...
Sigma annuncia una serie di aggiornament...
Panasonic è pronta: 700 milioni d...
Acer investe sul mercato educational: i ...
WhatsApp permetterà di trasferire...
Tokina SZ SUPER TELE 500mm F8 Reflex MF:...
Apple 'a caccia' di ingegneri Xbox per u...
Anche Geely punta alla grande sullo scam...
K-Lite Codec Tweak Tool
K-Lite Codec Pack Update
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
K-Lite Codec Pack Standard
K-Lite Codec Pack Basic
Internet Download Manager
Chromium
Dropbox
Opera Portable
HyperSnap
Firefox Portable
Advanced SystemCare
Firefox 96
GPU-Z
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: 06:55.


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