
Suena mas a la segunda clase de programacion I, mas que a TP de parcial, pero en fin.
Vamos a repasar algunos conceptos, basicos de programacion.
Diagramas de flojo
Hay mas elementos en los diagramas de flujo, pero con estos nos sobra.
PLANTIEMOS EL PROBLEMA: 1º reelevar todos los Datos e Incognitas. Datos:
Originalmente publicado por
bosterita18
Una fábrica de remeras de algodón vende su único producto a $ 15 por unidad y tiene un conjunto de criterios de descuentos a sus clientes
Creo que el dato importante se entendio, pero por si las dudas es que es "15$ la unidad"
Originalmente publicado por
bosterita18
a)-Si se compra hasta 10 (inclusive) remeras, no se realiza descuento.
b)-Si se compra más de 10 y menos de 20 remeras se realiza un 10% de descuento.
c)-Si se compra 20 ó más de 20 y hasta 29 remeras se realiza un 15% de descuento.
d)-Si se compra 30 ó más de 30 y hasta 49 remeras se realiza un 20% de descuento.
e)-Si se compra 50 ó más remeras se realiza un descuento de 30%.
Código:
(ACLARACION): A > B ( > quiere decir que A es MAYOR que B ) | A > B ( > quiere decir que A es MENOR que B )
Por ende, > quiere decir Mayor y < quiere decir Menor Esto, para pasarlo en limpio nos queda que: Código:
a)
forma 1:[Mas eficiente]
Unidades < 11 ---------------{ Descuento = 0 }
forma 2:
Unidades <= 11 ---------------{ Descuento = 0 }
//Ambas son CORRECTAS, y AMBAS muy buenas y validas, pero como tenemos VARIAS condiciones. Si es que esta no se cumple, entonces recomiendo la 1, aunque la 2 tambien funcionara. pero nos complicara el codigo, ( Un poquito, en realidad cambia en una tonteria )
b)
Unidades > 10 Y Unidades < 20 ---------------{ Descuento = 10% }
c)
Unidades >= 20 Y Unidades < 30 ---------------{ Descuento = 15% }
d)
Unidades >= 30 Y Unidades < 50 ---------------{ Descuento = 20% }
e)
Unidades >= 50 ---------------{ Descuento = 10% } Bueno, ya hemos, desenglosado el texto, y ahora sabemos los Datos fijos del planteo. Antes de seguir. Ejemplo. 30 remeras. ¿Cuanto descuento tiene? -------------- 20%,(d). No te confundas con al "C". porque la se es solo los mayores a 20 o Iguales y MENORES a 30. 30 no es MENOR a 30 por lo tanto NO CUMPLE, con la CONDICION..
Como veras "condicion". es Nuestra palabra magica, para este planteo.
Sigamos:
Ahora que tenemos, los datos, necesitamos saber que Vamos a Buscar conseguir x medio de ellos.
O al menos "tratar", Lo digo, puesto que algunas veces, en la "vida real", los clientes saben lo QUE NO QUIEREN, pero no saben lo que quieren, Pero CREEN que si lo saben, Y esto genera un problema al hacer Analisis de Sistemas. Te lo comento como anecdota de mis experiencias.
Sin embargo, descuida, que en universidades y escuelas, los ejemplos que te den, JAMAS, pueden ser complicados, como para que se genere ese problema.
Las Incognitas;
Originalmente publicado por
bosterita18
Se pide desarrollar un algoritmo en el que se lea una cantidad de remeras a comprar y se muestre el total a pagar por el cliente según los criterios descritos para los descuentos otorgados
Referimos a CRITERIOS, como los DATOS FIJOS, que nos proveyo el enunciado. Debemos, Primero Pedir LA CANTIDAD de REMERAS A COMPRAR. Eso lo haremos mostrando un mensaje que salga, por la Pantalla pidiendo la Cantidad de remeras a comprar. Debemos recordar como cosa basica de la Programacion que, tenemos VARIABLES: que son CONTENEDORAS de "DATOS" que pueden VARIAR. De alli, su nombre de variable
Ahora, Damos un ejemplo de Variable. Pepe123 JuanCho1 ID_USUARIO Password_Nuevo. Etc... Las variables pueden Adoptar todo tipo de nombres, Exeptuando a TODASe aquellas que comiensen con NUMEROS, y con SIMBOLOS ESPECIALES [ ! # @ · $ % & ] En algunos Lenguajes, ALGUNOS, son validos, Pero aca no hablamos de Lenguajes de programacion, sino de ALGORITMOS que luego aplicaremos en algun lenguaje, entonces. Evitemos usar cosas PROPIAS de los Lenguajes. ¿ Como una variable ? Ej; Código:
ID_USUARIO = "Stefano"
Cuando yo quiera Usar ID_USARIO, para la MAQUNA, va a ser lo MISMO que decir "Stefano". Código:
Password_Nuevo = "casa123"
Cuando yo quiera usar Password_Nuevo la Maquina lo va a tomar como si Fuera "casa123" y "Ignora" por ahi asi decirlo, el Nombre de la Variable. Ya que lo que le Importa es el VALOR que esta Guardado dentro de Ella Recordemos que con el "=" (simbolo igual), guardamos Valores dentro de las Variables. Tambien Podemos ASIGNAR VARIABLES, dentro de otras variables VARIABLES. Pepe123 = "Stefano" ID_USUARIO = Pepe123 //Conclusion: ID_USUARIO para la MAQUINA en realidad es "Stefano", puesto que Pepe123, Valie y Vale, "Stefano", pero ADEMAS ahora ese valor se lo CARGUE/ASIGNE a ID_USUARIO (ACLARACION!
esto es ASIGNAR , NO ES GUARDAR una variable dentro de Otra: El guardar una Variable dentro de otra, es OTRA COSA, la cual se llama "arreglos" o mejor conocido como "Array's" que no vamos a ver, puesto que el problema no lo necesita en este caso puntualmente. Volviendo al tema... Volviendo al Problema puntualmente, tenemos DATOS FIJOS que nos Dicen Cuales son las cosas que podemos Hacer y las Incongnitas que nos dcen QUE debemos hacer. Asi que comencemos: Pidamosle al Usuario la Cantidad de remeras.
Aqui Hemos pedido la Cantidad de remeras por pantalla y las Hemos CARGADO dentro de la VARIABLE ---------- CANT_REMERAS ( Se pudo haber usado CANT_REM, pero queria ser explicito ) Por lo general, es bueno Usar Nombres de Variables, que hagan referencia a su tipo de contenido. Como por Ejemplo Código:
NOMBRE_ID = "Stefano Bertiuax".
NUM_DNI = "33.***.847"
CANT_DINERO = "$2.000.000.000"
Etc, Como veras el NOMBRE DE LA VARIABLE; hace REFERENCIA a su tipo de contenido. Esto es Idoneo, puesto que cuando ya seas programadora, vas a darte cuenta que Esto es esencial, puesto que usamos tantas variable en programas REALES y complejos que Nos mareamos solos
Ahora procedemos a Usar los Criterios para Cobrarle las remeras al Cliente. DIJIMOS que los CRITERIOS SON CONDICIONES.
Y para las condiciones usabamos la "casita".
(ACLARACION!): En algunos Libros Y manuales Puede Aparecer como UN ROMBO. Pero es simplemente una simbologia abastracta, no cambia en nada, ya que el dibujo solo es para INTERPRETACION, yo uso la casita puesto que me parece mas "idonea" para "empesar". ANTES QUE NADA, VAMOS Q TOMAR COMO QUE EL USUARIO, NO VA A INGRESAR NUMEROS NEGATIVOS. a)-Si se compra hasta 10 (inclusive) remeras, no se realiza descuento Dijimos que la podiamo interpretar como SI Unidades < 11 ENTONCES { Descuento = 0 } : En nuestro ejemplo SI CANT_REMERAS < 11 ENTONCES { Descuento = 0 } :
Como sabemos que debemos hacer un descuento, y que ese Descuente puede VARIAR, entonces usaremos una .... Si adivinaste, una VARIABLE: que en este caso la llame Descuento
En donde voy a guardar el % que le voy a hacer de descuento.
Ahora. Criterio/Condicion B Unidades > 10 Y Unidades < 20 ---------------{ Descuento = 10% } Osea, en nuestro programa : SI CANT_REMERAS > 10 Y CANT_REMERAS < 20 ENTONCES { Descuento = 10% } //Pensemos un segundo Necesito saber si ingreso Algun Numero > a 10 o < a 20, es decir { 11,12,13,14,15,16,17,18,19 }. Necesitaria chequer los que Ya Chequie en el Criterio A, pero como tenemos EL BLOQUE "FALSO", Libre podemos decir
Si lo que Ingreso el Usuario, Sea lo que sea, es Menor a 11 es decir { 1,2,3,4,5,6,7,8,9,10 }.
Si, el valor ingeresado no esta en ese caso, Y Ademas Yo Supongo que NO ME INGRESAN numeros Negativos, La unica opcion que me queda es del 11 para adelante { 11,12,13, ..... Infinito }.
O' casualidad, que En la Condicion B Caben todos esos Numeros que Pasaran por el BLOQUE FALSO.
entonces Para que quede mas claro.
Ahora, Bien. ¿Por que puse como condicion solo "< 20"?.
No se suponia que era
> 10 Y < 20 ?.
-Si, es verdad. Pero como plantie antes, Con la condicion A, Si "esquiva" el BLOQUE VERDADERO en la Condicion A, quiere decir que el numero que ingreso no es { 1,2,3,4,5,6,7,8,9,10 }.
Entonces, SI yo para LLegar a la condicion B, necesito pasar por el bloque A, y Ademas LLego al Bloque B, Solo si los numeros NO SON { 1,2,3,4,5,6,7,8,9,10 }.
Es tonto tratar de chequear, algo que ya lo chequie, puesto que seria "redundar".
Ej: Ingreso el usuario "17"
17, Es Menor a 11 ? NO, Por ende No es ninguno entre 1 y 10, Entonces ¿cuales son los POSIBLES NUMEROS? - { 11,12,13, ..... Infinito }.
Entonces, como la condicion no da un RESULTADO VERDADERO, voy al BLOQUE FALSO.
AH ... En el bloque FALSO hago otra Condicion APENAS se carga.
¿cual es la condicion? que sean > a 10 y < 20.
Mmmmmm.... Pero yo acabo de deducir que el valor no es { 1,2,3,4,5,6,7,8,9,10 }. Entonces, ¿Para que pregunto si es MAYOR A 10 ?, Si es Obvio que no es Ninguno de los Menores a 11, Entonces, por lo que sera Inecesario Preguntarlo.
Poder, se puede, pero es gastar energias en váno.
Condicion "C"
Unidades >= 20 Y Unidades < 30 ---------------{ Descuento = 15% }
Bueno la logica es la misma que debimos impartir para el punto 2
Ya por haber pasado por los 2(A Y B) pasos anteriores, sabemos que el valor Debe No va a ser un valor entre { 1,2,3,4,5,6,7,8,9,10 11,12,13,14,15,16,17,18,19 }.

.
Entonces el criterio es facil. solo debe ser < 30 ( menor a 30 ) , puesto que si no es { 1,2,3,4,5,6,7,8,9,10 11,12,13,14,15,16,17,18,19 }. , solo puede ser { 20,21,22,etc... infinito)
Entonces, es inecesario preguntar si es menor a 20, puesto que los 2 pasos anteriores, ya lo han hecho.
Por ende, el Diagrama queda asi.
Bueno, como veras en realidad esto, es una cuestion mas de logica,que de algun otra cosa.
En general la programacion, tambien es cuestion de logica, puesto que yo por ejemplo, eh creado software de ejecucion de cuentas, control y gestion de cuentas y informes de gestion de la calidad y tesoreria.
Por lo cual uno podria llegar a deducir, que yo me conosco las ISO de memoria, y que seguramente tambien tengo bastos conocimientos en Contaduria.
Aunque eso es falso, puesto que lo unico que yo pedi, son las formulas concretas de gestion de cuentas y las normas ISO, las necesitan estandares como formularios y procedimientos que modelen "COMO" "HACES" la calidad, entonces para eso tube otros colaboradores con los que hicismos analisis de sistemas, de como interactuaban los distintos departamentos y luego coordinamos para crear una red fisica en la empresa y los formularios los hicimos digitales y los gestionamos con MS SQL Server.
pero A fin de cuentas, posiblemente, si Bastante sobre ISO y Contaduria, aprendi, porque, "empapandote" sobre ciertos, temas uno, no puede evitar tomarse un segundo para tratar de razonarlos y entenderlos, Aunque es obvio que un Contador Publico, la tiene mas "clara" que yo.
Ahora A continuacion muestro el diagrama completo con los otros siguientes pasas,
Los pasos que tome aqui, son los mismos, revise cuales eran los "parametros" ya chequeados y solo generaba "condiciones", para verificar que los que "ya estaba verificado" coincida con la Condicion,
asi como Hicimos del Paso A al B y del B al C. [ Re-mirarlo un poco no vendria mal ]
Como te daras cuenta, segui la misma logica de siempre, en le paso D, me fije que todos los valores sean < a 50 , pùesto que para llegar a este bloque "D", era necesario que el valor sea un numero entre 30 hasta infinito ( positivo obviamente

)
Entonces,
Encontramos luego con caso que es para destacar, hasta ahora veniamos poniendo "IF", es decir Condiciones en el BLOQUE FALSO, puesto que si no se cumplia la condicion, queriamos verificar el resto de las condiciones.
Ahora sucede que nos dice que si es MAYOR a 50 entonces, el descuento es de 30%
Bueno, si el numero ingresado, no esta entre 30 y 50, y tampoco era menor que 30, puesto que eso lo verifico el bloque A;B;C. entonces lo unico que me queda por DECIR, es que el numero es entre 51 e Infinito.
Entonces directamente, ni me molesto. pongo [ CONDICION = 30 ]
Bueno, hasta aca llegamos, Con las "CONDICIONES"/"IF"
Ahora que ya sabemos el descuento que le tenemos que hacer al cliente.
Es obvio que tenemos que hacerle el descuento, porque con saber cuanto le descontamos, no es suficiente, ya que si no le descontamos lo que sabemos que le tenemos que descontar, el Cliente no nos va a mirar con cara de Buenos Amigos

.
Como ya aprendimos, para un valor que puede variar, usamos Variables y Ademas a esas variables, les ponemos Nombre que representen o tengan algo referente a lo que voy a ponerle a dentro a esa variable.
Ahora, un concepto Nuevo:
RECICLAR VARIABLES, yo si uso por ejemplo la variable DESCUENTO, y guardo el % a descontarle.
para que voy a crear por ejemplo DESCUENTO_DINERO, si puedo Usar la Misma Variable DESCUENTO, total, si a fin de cuenta no me pìde saber cuanto es el %, que tengo que descontarle.
Solo me pide que le haga el descuento, no que lo muestre o que lo guarde o almacene.
Obviamente cuando Pongamos el "VALOR" del descuento el %, se pierde, pero como dijimos una vez usado ya no me sirve, asi que si se pierde, A mi o a Vos (a ti), no nos importa.
Vamos a las Tintas Claras ¿ Como hago el descuento ? es el Precio * el % , divido 100: Aqui tenemos Lo que le vamos a descontar.
Entonces al precio le RESTAMOS ese DESCUENTO.En donde el precio va a ser el Precio (15$) x la cantidad de remeras (CANT_REMERAS)
como dijimos el precio es un CONSTANTE ( 15 $ ), entonces como JAMAS, va a variar, no usamos una variable.
Ademas dijimos que vamos a reciclar la variable DESCUENTO, no necesitamos crear otra variable con la que tenemos Alcanza y sobra, ( para este ejemplo puntualmente

).
Metodo:
DESCUENTO = ( 15 * CANT_REMERAS ) - { ( (15 * CANT_REMERAS) * DESCUENTO ) / 100 }
como dijimos el precio es 15 y le restamos el descuento que era ,( precio * % )/ 100
En al formula Usamos Descuento que supogamos vale 20% E ingresamos 33 remeras . es decir "20".
Entonces la maquina lo entiende de esta manera.
{ ( (15 * CANT_REMERAS) * DESCUENTO ) / 100 }
Lo cual nos da, que el PRECIO A PAGAR es "12"
Entonces, en DESCUENTO tenemos que la maquina Lee lo siguiente
20 = 15 - { (15 * 20) / 100 }
Como resuelve el calculo, obtiene que:
20 = 12
Pero en realidad , la PC no hace Igualdades, esta ASIGNANDO
porque a nuestra Vista esto quedo como
DESCUENTO = 12
Entonces una VEZ que PASO EXISTOSAMENTE esa LINEA de codigo,
el "20" se pierde
y ahora descuento es "12"
entonces cada vez que pongamos DESCUENTO, como variable la maquina Lee "12"
Como nos dice el ejercicio,demos Mostrar El precio que lo acabamos de obtener y La cantidad de remeras compradas.
La cantidad ya la teniamos guardada adentro de CANT_REMERAS.
Asi que ya no me falta Nada mas. Tengo el Precio y la Cantidad de REMERAS.
Perfecto ahora solo falta Mostrar eso datos
Pero antes de hacer dicho paso, veamo como hice en el Diagrama de flujo el programa.

Recordemos que usamos el rectango para Procesos.
aclaro que este Proceso en el rectangulo o "cuadradito": La PC lo realiza, todo perfecto, pero el usuario, ni si entera que la PC lo realiza, puesto que no se muestra por pantalla, Solo Ocurre el preceso aritmetico en el procesador y luego se almacena en la Memoria y Punto, pero al usuario no se le muestra Absolutamente nada de este proceso.
Por lo tanto, no se entera que se realiza el proceso
Ahora debemos mostrar esos valores.
aparece otro nuevo Concepto:
CONCATENAR
Lo que hacemos es simple, Juntamos textos que estan entre comillas como "HOLA MUNDO"
"LALALAL",etc
con VARIABLES, como en este caso, CANT_REMERAS, DESCUENTO, que no estan entre comillas,
Ademas para concatenar usamos un simbolo, llamado AMPERSAND; que es el Y Extendido
AMPERSAND = &
Con ese simbolo Juntamos Textos con VALORES dentro de variables
Como vemos en el diagrama de flujo tenemos
"La cantidad de remeras compradas fue " & CANT_REMERAS
Eso que esta alli, debemos tener en cuenta que en en CODIGO, es decir, cuando programamos.
Pero un vez el programa, realizado al 100 % y compilado y funcionando lo que me va a mostrar es
Por ejemplo siendo que la cantidad de remeras era 33 el descuento era de 20%, entonces lo que vamos a ver por pantalla es
"La cantidad de remeras es 33 " "El precio a pagar es 26.4"
Como veras por pantalla no me salio ni, CANT_REMERAS, ni DESCUENTO, ni nada parecido, me Salio el VALOR que tenia ADENTRO esas variables.
Entonces, el algoritmo seria asi:
Eso si, no te olvides el "F" , con el circulito.Para indicar el fin el programa

PSEUDO_CODIGO
Código:
CLS:
INPUT "INGRESE LA CANTIDAD A COMPRAR DE REMERAS", CANT_REMERAS
IF CANT_REMERAS < 11 THEN
DESCUENTO = 0
ELSE
IF CANT_REMERAS < 20 THEN
DESCUENTO = 10
ELSE
IF CANT_REMERAS < 30 THEN
DESCUENTO = 15
ELSE
IF CANT_REMERAS < 50 THEN
DESCUENTO = 20
ELSE
DESCUENTO = 3
END IF
END IF
END IF
END IF
DESCUENTO = (15 * CANT_REMERAS) - (((15 * CANT_REMERAS) * DESCUENTO) / 100)
PRINT "LA CANTIDAD DE REMERAS COMPRADAS FUE " & CANT_REMERAS
PRINT "EL PRECIO A PAGAR ES DE : " & DESCUENTO
EXIT PROGRAM VISUAL BASIC
Código:
Private Sub Form_Load()
Me.Cls
Dim CANT_REMERAS As Integer
Dim DESCUENTO As Integer
CANT_REMERAS = InputBox("INGRESE LA CANTIDAD A COMPRAR DE REMERAS")
If CANT_REMERAS < 11 Then
DESCUENTO = 0
Else
If CANT_REMERAS < 20 Then
DESCUENTO = 10
Else
If CANT_REMERAS < 30 Then
DESCUENTO = 15
Else
If CANT_REMERAS < 50 Then
DESCUENTO = 20
Else
DESCUENTO = 3
End If
End If
End If
End If
DESCUENTO = (15 * CANT_REMERAS) - (((15 * CANT_REMERAS) * DESCUENTO) / 100)
MsgBox "LA CANTIDAD DE REMERAS COMPRADAS FUE " & CANT_REMERAS
MsgBox "EL PRECIO A PAGAR ES DE : " & DESCUENTO
End
End Sub Código:
#include <stdio.h>
int main()
{
int CANT_REMERAS=0,DESCUENTO=0;
printf("Ingrese la cantidad de remeras a comprar: ");
scanf("%d",&CANT_REMERAS);
if( CANT_REMERAS < 11 )
{
DESCUENTO=0;
}
else
{
if( CANT_REMERAS < 20 )
{
DESCUENTO=10;
}
else
{
if( CANT_REMERAS < 30 )
{
DESCUENTO=15;
}
else
{
if( CANT_REMERAS < 50 )
{
DESCUENTO=20;
}
else
{
DESCUENTO=30;
}
}
}
}
DESCUENTO = (15 * CANT_REMERAS) - (((15 * CANT_REMERAS) * DESCUENTO) / 100);
printf("\nLa cantidad de remeras compradas fue\t %d",CANT_REMERAS);
printf("\nEl Precio a pagar es de:\t %d",DESCUENTO);
return 0;
}
Antes que nada, lo colores, son irrelevantes, es decir no tienen mucha importancia puesto que dependen del compilador o IDE, que estes usando para realizar el codigo.
Los colores no influyen en el andar, solo son para que tu vista, no se pierda cuando tengas que realizar programas con mas de 1000 lineas de codigo

.
ahora explico un poco.
1) pseudocodigo, no es ningun lenguaje de programacion, tampoco hay estandares, ni normativas, es algo "ficticio" en donde la mayoria de los profesores que esñan programacion y estructura de datos y nosotros los programadores, decimos.
"independientemente de los lenguajes, para evitar las particularidades de cada lenguaje, lo que hacemos es decir que ciertas palabras, representas ciertas acciones"
Como veras en PSEUDOCODIGO, USE la instruccion
"PRINT" e "INPUTBOX" para mostrar textos por pantalla, y para miostrar por pantalla el resultadol.
Ahora en visual Basic USE
"MSGBOX" e "INPUTBOX"
Y en "C", que es un lenguaje que se llama, asi como la letra que indica su nombre.
en C, usamos Printf y Scanf.
Ahora hay muchos lenguajes que podemos nommbrar
- java
- C#
- C++
- C
- Visual Basic Net
- Visual Basic 6
- Rampher
- Ruby
- Pascal
- Delphi
- Cobol
- Fortran
- Wild Out
- Assembler
- Python
- ASP
- BATCH
Y todavia la lista sigue con como al rededor de 60 lenguajes mas, y eso que seguramente yo no conoscto algunos otros y por ende la lista todavia seria mas de 60.
Ahora cuando les enseñan a los novatos, los primeros "codigos" se utiliza algun lenguajes EXTREMADAMENTE POPULAR ( lo cual no recomiendo )
O PSEUDOCODIGO
Como el PSEUDOCODIGO, es una interpretacion de CUALQUIER lenguaje, no podemos usar la caracteristicas de todos lo lenguajes habidos y por haber, puesto que enseñar los primeros pasos en programacion podria tomar 2 años, a 5 clases semanales de 4 hs diarias.
Obviamente, como eso seria una locura, En PSEUDOCODIGO, usamos palabras para "representar" funciones que se usan con
DIFERENTES SINTAXIS
Ej: Para mostrar textos por pantallas, usamos PRINT
Esto, como dije, no esta Estandarizado, ni por las ISO, ni por ANSI, ni ninguna otra Organizacion, por lo que posiblemente tu priofesor te pueda decir que en vez de PRINT, para mostrar textos por pantalla usas SHOW
Solo por que a él, se le ocurrio, pero por lo general, se respeta de forma "voluntaria" que cosas como PRINT, son para mostrar textos por pantalla, que IF, se usa para las sentencias IF
etc.
ahora.
como veras el PSEUDOCODIGO, es parecido a visual basic.
No te engañes, visual basic puede ser un lenguaje muy malo, pero puede ser MUY potente, aunque posiblemente escuches en otros foros e incluso me escuches a mi diciendo que no un buen lenguaje.
Hay que reconocer, que Si sabemos usarlo, hasta hay maneras de manjar memoria, cosa que Muchos dice que es "imposible", pero poder, quedate tranquilo/a que se puede hacer. En todo caso que sea dificil, no quiere dicir que no se pueda.
ahora visual basic tiene al igual que PSEUDO CODIGO una sentencia para la ENTRADA DE DATOS
INPUT: PSEUDOCODIGO
INPUTBOX: VISUAL BASIC.
En donde se utilizan de la siguiente manera
INPUT
[comando] [texto a mostrar], [Variable en donde se guarda lo que el usario escriba]
Ej:
Código:
INPUT "Ingrese la cantidad de remeras a comprar" , CANT_REMERAS
Esta linea lo que hace es mostrar lo siguiente "ficticiamente":
ACLARO QUE LA IMAGEN EN REALIDAD ES DE UN PROGRAMA HECHO EN BORLAND C++ porque compilador o lenguaje de pseudocodigo, no existe, solo es para empesar a enseñar en papel a los novatos como pasar los diagrama de flujo a codigo
Luego que el usario escriba un numero, como por ejemplo "33"
se va a guadar el 33 DENTRO de CANT_REMERAS, recien cuando se aprete ENTER.
INPUTBOX: Comando de Visual basic para el ingreso de datos
[variable] = [Comando]
( [Texto a mostrar]
) Ej: Código:
CANT_REMERAS = InputBox("INGRESE LA CANTIDAD A COMPRAR DE REMERAS")
Esta linea una vez ejecutada muestra algo asi:
En donde CANT_REMERAS, no va a guardar el valor que escriba el Usuario a MENOS que aprete "ACEPTAR" o precione "ENTER", si lo Hace, Entonces RECIEN EN ESE MOMENTO,
Se guarda el valor que haya Ingresado el usuario en CANT_REMERAS, en este ejemplo : "33"
ahora para mostrar, SOLO MENSAJES, o "ALGO", SIN PEDIR DATOS, o dar la opcion que el usuario meta mano es
PRINT: PSEUDOCODIGO
MSGBOX O PRINT : VISUAL BASIC (
VISUAL BASIC CUENTA CON AMBOS COMANDO Y TIENE VARIOS MAS)
EN PSEUDO CODIGO. AL EJECUTAR
Código:
PRINT "LA CANTIDAD DE REMERAS COMPRADAS FUE " & CANT_REMERAS
PRINT "EL PRECIO A PAGAR ES DE : " & DESCUENTO
ACLARO QUE LA IMAGEN EN REALIDAD ES DE UN PROGRAMA HECHO EN BORLAND C++ porque compilador o lenguaje de pseudocodigo, no existe, solo es para empesar a enseñar en papel a los novatos como pasar los diagrama de flujo a codigo
El Msbox de Visual basic:
Simplemente, ponemos
MSGBOX "texto que queremos mostrar o la variable que queres que muestre el contenido dentro de la misma"
EJ:
Código:
MsgBox "LA CANTIDAD DE REMERAS COMPRADAS FUE " & CANT_REMERAS
MsgBox "EL PRECIO A PAGAR ES DE : " & DESCUENTO
Ahora, tenemos C:
C es un poco mas ingeniosos.
Primero que en su condigo tenemos
Código:
#include <stdio.h>
C, no trae comandos como visual basic, para Mostrar por pantalla o Obtener datos.
C, simplemente es un articulador de procesador, donde exiten comandos como
IF, WHILE, FOR, MOD, ETC
pero comandos como Printf y Scanf, no viene con C:
Sin embargo una estandarizacion que esta realizada y apoyada por una organizacion, llamada
ANSI American National Standards Institute www.ansi.org
esta organizacion, Reglamento algunos componentes Externos que algunos programadores le Agregaron al C, para poder trabajar con comodidad
Una de esas componentes externas es la Libreria
STDIO.H
que es la abreviatura de
STandard
Input
Output
el .H quiere decir .Head, es decir Cabezal, osea que esta en la Cabeza, Osea algo razonado, que esta Fuera del Cuerpo Central, pero que Coordina el Cuerpo central
Ahora
Cuando escribo
Código:
#include <stdio.h>
Automaticamente se habilitan los comandos printf y Scanf.
Dado que sino los compiladores, nos darian Error, diciendo que printf y/o scanf, no se reconocen como una funcion declarada.
dado que las palabras "printf" o "scanf", en realidad pueden ser o no funciones, y como no hay funciones creadas, el compilador no entiende que rayos queremos hacer y nos lanza un error, y no termina de compilar el programa, hasta que solucionemos esto.
en fin con agregar la linea con la libreria sobra, para que funcione 100% bien
Acotacion: #Include
Se usa para incluir Librerias y Cabezales, dado que Stdio.h no es la unica libreria o cabezal que existe.
Ademas por lo general el compilador tiene un Paquete de librerias, en donde las saca de la ruta "por defecto" que tiene cargada si la libreria esta entre
<Libreria
>
Aunque si nosotros creamos una libreria y la ponemos en c:\archivos de programa\pepe\MYlibrary.h
podriamos poner
Código:
#include "c:\archivos de programa\pepe\MYlibrary.h"
Entas librerias, en realidad son mejor conocidas,como Directivas de procesador o referencias.
Bueno, vamos a lo llano
Printf [ C ] :
[comando] ( " texto y/o Parametros", [variable para los parametros
|OPCIONAL|] );
Sin Variable de paremetros
Código:
printf("Ingrese la cantidad de remeras a comprar: ");
Con variables de parametros
Código:
printf("\nLa cantidad de remeras compradas fue\t %d",CANT_REMERAS);ç
Como veras hay algunas cosas raras en la segunda linea.
tenemos un \n , un \t y %d
\n hace que Saltes de renglon, es decir, veamoslo asi, si estamos en la linea 1
Y apretamos ENTER, queremos que lo siguiente occurra en la linea de abajo, no todo al lado de lo anterio
porque queda FEO y como que estubiera mal Hecho.
\t ( tabular ), si abris el notepad y apretas TAB, vas a ver que se corre 3 espacios.
Con \t el programa, TABULA, es decir corre el curso 3 Espacios
el cursor es ese guiosito que titila "
_"
%d, es un donde va a aparecer la variable de parametro, %d es un parametro
donde indico con % que va a ver un parametro. % es como un comando, dentro de otro comando
Osea un comando adentro de "printf"
ese comando tiene propiedades:
%d -- Muestra Numeros Enteros
%f -- Numeros con Punto flotante ( es decir punto flotante refiere a numeros con COMA )
%c -- Mostrar un solo caracteer ( es decir una sola letra )
%s -- Mostrar Cadena de caracteres ( es decir palabras )
Esos son las propiedades mas conocidas, aunque en realidad con 14 propiedades, aunque algunas son medias bobas, y no viene al caso explicarlas todas.
Scanf [ C ]
Código:
scanf("%d",&CANT_REMERAS);
Scanf se representa asi:
[comando] ("Parametros",[Variable de parametros])
Como vemos hay un
& , ese Ampersand, lo que hace no es CONCATENAR como vimos, antes.
En este caso hace algo especial, solo por estar dentro del Scanf, Seguido por Una Variable
ese &, indica que el DATO que escriba el usario se guarda dentro de la variable.
Pero como C, es sensible a la pocion y en que momento se cargan las variables. Debemos decir que ese DATO apunta a la DIRECCION de la VARIABLE dentro de la memoria.
Si no entendiste el concepto, por ahroa dejalo. Solo sabe, que cuando hay 1 scanf , al lado de la variable ponele &
scanf, puede tomar mas de una variable a la vez.
Ejmplo
Código:
scanf("%d%d%d",&NUM1,&NUM2,&NUM3);
Aca en este caso el Scanf, lo que hace es pedir 3, veces que le ingresen datos. En donde el primero se garda en NUM1, el segundo en NUM2, y el tercero en NUM3
Ahora como veras puse los "%d" y esima puse 3
Bueno esto es pra que el scanf, sepa que son Variables de tipo ENTERO, ( sin coma ) y que van a ser 3 VARIABLES.
Como se muetran el scanf, y el prinf ?

Como veras, Las imagenes del PSEUDOCODIGO, las tome de "C"
Bueno, hasta aca cubri todo creo.
El ejercicio 2 te lo dejo para que trates de hacerlo.
Cualquier cosa consultame, aunque la prox. no voy a ser tan explicito, puesto que voy a dar por sentado que entendiste varios conceptos, salvos que me digas
"no entendi aquello"

Suerte!
Sino ya sabes, soborna al profe.
Si queres clases de como ejercer la corrupcion aca tenes alguien que te puede ayudar



ç
¿Que te pasha Clharin ?