Lo hago así no porque sea más cómodo (aunque en realidad lo es), sino porque se corresponde más con la realidad de los lenguajes de programación.
Cuando se declaran variables automáticamente se les asigna un valor predefinido por el lenguaje. En PSeInt esos valores predefinidos son:
- Entero
- 0
- Real
- 0
- Cadena
- ""
- Logico
- Falso
En el ejemplo la variable x se inicializa en la línea 5 antes de comenzar el proceso de la línea 8. Alguién podrá decir que no era necesario ya que la definición de x automáticamente le asigna el valor 0, y tiene razón, pero hay una máxima de los programadores que dice así:
Entre inicializar y no inicializar, siempre es mejor inicializar.
La razón es muy simple: así se está 100% seguro.
¿Con qué valor se debe inicializar?
Con aquel valor que resulte más adecuado comenzar el proceso, así que la respuesta es el "depende", que aunque es la típica contestación cuando no se sabe, es la respuesta correcta en este caso: depende.
En resumen bajo que circunstancias tendría que inicializar una variable? Yo me doy cuenta mediante el software pero si no me lo dijera como error lo dejo como esta.
ResponderEliminarProceso ejercicio_9
ResponderEliminardefinir n1, n2 Como real;
definir suma, resta, multiplicacion, divicion Como Real;
definir operaciones Como caracter;
escribir "ingrese el primer numero";
leer n1;
escribir "ingrese el segundo numero";
leer n2 ;
segun operaciones hacer
1:
escribir "se va a sumar";
2:
escribir "se va a resta";
3:
Escribir "se va a multiplicar";
4:
escribir "se va a dividir";
FinSegun
suma <- n1 + n2;
resta <- n1 - n2;
multiplicacion <- n1 * n2;
divicion <- n1 / n2;
escribir "la suma es:",suma;
escribir "la resta es:", resta;
escribir "la multiplicacion es:", multiplicacion;
escribir "la divicion es:", divicion;
FinProceso
no me deja ejecutarlo me dice que no esta inicializado la variable (proceso)
son varias cosas, pero podría quedar asi:
EliminarProceso ejercicio_9
definir n1, n2 Como real;
//definir suma, resta, multiplicacion, divicion Como Real;
definir operaciones Como caracter;
escribir "ingrese el primer numero";
leer n1;
escribir "ingrese el segundo numero";
leer n2 ;
escribir "elige del menu";
escribir "uno";
escribir "dos";
escribir "tres";
escribir "cuatro";
leer operaciones;
segun operaciones hacer
'uno':
escribir "se va a sumar ", n1 + n2;
'dos':
escribir "se va a resta" , n1 - n2;
'tres':
Escribir "se va a multiplicar ", n1 * n2;
'cuatro':
escribir "se va a dividir ", n1 / n2;
FinSegun
FinProceso
algoritmo holaMundo
ResponderEliminardefinir cant_productos, costo_docena, Total_pagar, obsequio, descuento como numerico;
Escribir "Digite la cantidad de productos en docena";
Leer cant_productos;
Escribir "Digite el costo de cada dicena";
Leer costo_docena;
Si cant_productos >=3 entonces
descuento<-(costo_docena *cant_productos)* 0.15 ;
Total_pagar<-(costo_docena *cant_productos)-descuento;
Sino
descuento<-(costo_docena *cant_productos) *0.10;
Total_pagar<- (costo_docena *cant_productos)-descuento;
Finsi
Si cant_productos>3 entonces
Obsequio<- cant_productos - 3;
Finsi
Escribir "El monto de la compra es: ", costo_docena * cant_productos;
Escribir "El monto de descuento es: ", descuento;
Escribir "El monto a pagar es: ", Total_pagar;
Escribir "La cantidad de obsequio fue: ",obsequio;
Escribir " La cantidad de productos comprados fue: ", cant_productos * 12 +obsequios;
finalgoritmo
Me tira que la variable obsequio no a sido inicializada
solo checa el nombre de tu variable obsequio, que en todos lados se llame igual
Eliminar