Skip to main content

Storage

YaIn hemosorder vistoto queoperate parawith poderthe operardata, conwe losmust datos,previously previamentereserve hemosmemory debidospaces reservarin unoswhich espaciosto destore memoriait. enThese losare quewhat almacenarlos.we A esto es a lo que llamamoscall estructurasdata destorage almacenamiento de datos. structures.

ParaThese questructures losmust datosbe puedandefined ser correctamente tratados, estas estructuras deben ser definidas mediante:by:

  • Identificador:Identifier: nombrename quethat lewe damosgive alto datothe durantedata elduring programathe paraprogram referirnosto arefer él.to it. 
  • Tipo:Type: naturalezanature yand rangorange deof valoresvalues quethat puedecan almacenar.be stored (number, text, boolean...) 
  • Valor:Value: contenidospecific concretocontent delof datothe endata eseat momento.that moment.

EnIn estethis cursointroductory introductoriocourse vamoswe aare conocergoing dosto estructuraslearn únicamente,about only two structures, variables yand vectoresvectors (tambiénalso llamadoscalled arrays), sialthough bienwe soloare vamosonly agoing deternosto enfocus profundidadin endepth laon primera.the first one.

Variables yand constantesconstants

SonThey espaciosare quespaces almacenanthat store una únicosingle DATODATA deof diferentea naturaleza,different ynature, aland queto sewhich lea asocianame unthat nombreidentifies queit lois identifica.associated. LosThe datostype queof puedendata almacenarthey son:can store are:

  • Numéricos:Numeric: puedenthey sercan enterosbe integers (int) oor realesreal (float), segúndepending sion aceptanwhether oor nonot decimales,they generalmenteaccept condecimals, notacióngenerally anglosajonawith dondeAnglo-Saxon elnotation where the decimal seis marcamarked conwith una punto.dot. 
  • CaracteresCharacters (char): letrasletters oor signostypographic tipográficos.signs. SeThey definenare entrecomillandodefined elby carácterenclosing conthe unacharacter comillawith simple.a single quote. 
  • CadenasCharacter de caracteresstrings (string): palabraswords oor frases.phrases. SeThey definenare entrecomillandodefined elby textoenclosing conthe dobletext comilla.with double quotes. 
  • LógicosLogical (boolean)Boolean): admiteSupports losvalues valoresof deTRUE VERDADEROor o FALSO.FALSE.

LasVariables, variables,as comotheir suname nombreindicates, indica,are sondata estructurasstructures dethat datoswill quetake vandifferent values throughout the execution of the program, while constants adopt the same value throughout the program (For example, the PI number, or the percentage of the VAT).

It is very important to properly select the name of the variables and constants so that they help understand the stored data. Generally, constants are defined with names in uppercase and variables in lowercase.

To learn more about how it works, we are going to create a tomarsmall diferentesprogram valoresthat requests a loprice, largoan deoffer lapercentage, ejecuciónand delbased programa, mientras que las constantes adoptan el mismo valor durante todo el programa (Por ejemplo el número PI, o el porcentaje del IVA).

Es muy importante seleccionar adecuadamente el nombre de las variables y constantes para que ayudenon a laVAT comprensiónpercentage de(Constant), los datos almacenados. Generalmente  las constantes se definen con nombres en mayúscula y las variables en minúscula.

Para conocer más de su funcionamiento, vamosshows a realizarmessage unwith pequeño programa que solicite un precio, un porcentaje de oferta  y a partir de un porcentaje de IVA (Constante)  muestre un mensaje con el preciothe total aprice pagar.to Lepay. llamaremosWe CALCULADORAwill DEcall REBAJAS.it the SALES CALCULATOR.

PasosSteps 1 yand 2: AnálisisAnalysis yand diagramaflow dechart flujoof the Sales calculator program del programa Calculadora de Rebajas

LosThe elementoselements implicadosinvolved serán:
will be:

  • InicioStart yand finend of deprogram. programa.
  • SalidasOutputs: Solicitar precioRequest original yprice porcentajeand dediscount oferta,percentage, yand mostrarshow elthe preciofinal final.price. 
  • EntradasInputs: PrecioOriginal original,price, porcentajediscount depercentage oferta. 
  • AlmacenamientoStorage: precio original price (número real porquenumber puedebecause serit can be decimal), porcentajediscount de ofertapercentage (númerowhole enteronumber porquebecause usaremoswe elwill valoruse enthe tantovalue poras ciento)a percentage), precio final price (númeroreal real)number), porcentajeVAT de IVApercentage (constante)constant), yand opcionalmenteoptionally elthe mensajemessage ato mostrardisplay (constante)constant) 
  • ProcesamientoProcessing: sumas,addition, multiplicacionesmultiplication yand divisiones.division.

ElThe diagramaflowchart de flujo sería:is:

image-1657550591499.png

AVariables lascould variablesalso debe igualassigned formainitial tambiénvalues, sealthough lesthey podríanwill asignarbe valoresmodified iniciales,throughout aunquethe vayanprogram. aIf serthis modificadosis anot lodone, largo del programa. Si no se hace, asumen como valor inicial el 0 oor vacío.
empty is assumed as the initial value.

PasosSteps 3, 4 y 5: Codificación,Coding, compilacióncompilation yand verificaciónchecking delof programathe Calculator Sales program Calculadora de Rebajas conwith PSeInt

ComoAs hemoswe vistohave enseen elin ejemplothe deInput Entradas,section, PSeInt esis una programa menosless "riguroso"rigorous" conprogram elwith código,the ycode, nosand hait permitidohas utilizarallowed us to use variables sinwithout haberlashaving definidopreviously previamentedefined them (comoas hacíamoswe condid with num1 yand num2, variables quethat almacenabanstored losthe valoresvalues deof losthe númerosnumbers introducidos)
entered)

NoHowever, obstante,the elordinary procedimientoprocedure ordinarioin enany todoprogram programais esto definirpreviously previamentedefine lasthe variables (yand constantes)constants) quethat vamoswe will need, by assigning an identifier and a necesitar,type medianteof la asignación de un identificadordata yto unbe tipostored. de datos a almacenar. EnIn PSeInt estothis seis realizadone medianteusing la instrucciónthe Definir.Definir Alcommand. escribirWhen dichawriting instrucción,this lainstruction, ayudathe noshelp solicitaasks elus nombrefor dethe lasname of the variables quewe queramoswant definir,to separadasdefine, entreseparated comas.
by commas.

image-1657559249851.png

PodemosWe tambiéncan especificaralso elspecify tipothe detype datosof quedata vanthey awill contener,contain, añadiendoadding despuésthe del nombre la instruccióninstruction como,como queafter nosthe abriráname, laswhich cuatrowill opcionesopen disponiblesthe enfour options available in PSeInt: entero, real, carácter o lógico, tambiénalso llamadocalled booleano.boolean. EnIn elthe casocase deof lascharacter cadenasstrings, deit caracteres,does nonot permiteallow sutheir definicióndefinition comoas tal,such, sialthough bienwe veremoswill quesee mediantethat asignaciónthrough podemosassignment almacenarlaswe encan store them in variables dein igualthe forma.same way.


image-1657559396197.png

RealizamosWe estecarry procesoout tantasthis vecesprocess comoas necesitemos,many portimes elas tipowe deneed, datosbased queon hemosthe definidotype enof eldata problema.that Enwe elhave casodefined dein lasthe constantes,problem. lesIn asignaremosthe sucase valorof constants, we will assign their value (21% enin elthe casocase delof IVAVAT yand elthe textotext delof mensajethe quemessage queramos)
that we want)

ParaTo almacenarstore una valorvalue enin unaa variable oor constanteconstant, seuse utiliza el comandothe Asignar ,command dein lathe ventanawindow deon lathe derecha.right.

image-1657630542224.png

TambiénYou secan puedenalso escribirtype directamentethe elminor signosign menorand yhyphen eldirectly guiónusing mediantethe el teclado.keyboard.

image-1657629506076.pngimage-1657629506076.png

EnWhen elwe momento en que definimosdefine variables yand constantesconstants enin elthe programa,program, siif hacemoswe clicclick enon lathe pestañatab situadaon athe laleft izquierdacalled llamada Lista de Variablesvariables, sea noswindow abreopens unawith ventanathe condefined las variables definidas.variables.

image-1657629840670.gif

UnaOnce vez definidas lasthe variables quethat vanwill acontain contenerthe lanecessary informacióninformation necesaria,have solicitaremosbeen ydefined, almacenaremoswe loswill valoresrequest deland preciostore inicialthe yvalues elof porcentajethe deinitial rebaja.
price and the discount percentage.

image-1657630216896.png

PorFinally, último,we operaremoswill conoperate elloswith mediantethem operacionesusing aritméticasarithmetic operations (versee siguientenext punto)section) yand asignaremoswe elwill valorassign obtenidothe avalue laobtained to the variable precio_finalfinal_price, quewhich seráwill labe quethe mostraremosone porthat consola.we will display in the console.

image-1657630645655.png

ComoAs secan puedebe apreciarseen enin lathe últimalast filarow delof programa,the laprogram, instrucciónthe Escribir instruction permiteallows lathe concatenaciónconcatenation deof diferentesdifferent tipostypes deof datosdata sinsimply másby queseparating separarlosthem entrebetween comas.
commas.

YaWe solowill nosonly quedaráhave comprobarto elcheck correctothe funcionamientocorrect delworking programaof dándolethe aprogram by clicking Ejecutar. DebidoDue to the longer length of this program, it may be a lagood mayortime longitudto decheck estehow programathe puede ser un buen momento para comprobar como funciona la orden Ejecutar paso a paso.paso command works.

image-1657630951667.gif

En el paso de depuración de errores y verificación del programa puedes probar a introducir errores posibles, para ver cómo reaccionaría el programa: por ejemplo meter los decimales con una coma, o un porcentaje de descuento decimal. En programación es fundamental adelantarse a equívocos o posibles confusiones de la persona usuaria, para tener prevista una respuesta que no bloquee el programa o prevenirlas mediante mensajes de aviso.

Pasos 3, 4 y 5: Codificación, compilación y verificación del programa Calculadora de Rebajas con Scratch

En Scratch, las estructuras de almacenamiento de datos se encuentran en el bloque Variables. Desde allí podremos crear tantas variables como necesitemos, y también asignarles el valor deseado mediante el bloque correspondiente.

image-1657631516502.png

Al crear una variable lo primero que nos solicita aparte de su identificador es saber si se define como local (solo de este objeto) o como global (común para todos los objetos) En este curso solo desarrollamos programas de un mismo objeto por lo que nos daría igual.

image-1663515981704.png

Una vez definidas las variables necesarias pasaremos a crear el código en el objeto utilizando sensores, apariencia y los operadores aritméticos y de concatenación que necesitemos, y que veremos con más detalle en el siguiente apartado. El código en bloques quedaría de la siguiente forma:


image-1657635736663.png

Pruébalo aquí:

Estructuras complejas de almacenamiento de datos

Aunque no es objeto de este curso, en programación se pueden almacenar conjuntos de datos siempre que sean del mismo tipo en otro tipo de estructuras complejas, los llamados arrays que en español se traducen como vectores o matrices, y en PSeInt se denominan dimensiones.

Para más información sobre cómo utilizar dimensiones en PSeInt se puede consultar el siguiente video.

En Scratch solo se contempla la utilización de listas que serían series ordenadas de datos del mismo tipo, y que se encuentran disponibles dentro del mismo bloque Variables.

image-1657636178529.png

{{@5685}}