SHARE
TWEET

Algoritmo - Challenge 14

a guest Jun 21st, 2011 713 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ////////////////////////////
  2. // ALGORITMO DEL PROGRAMA //
  3. ////////////////////////////
  4.  
  5. DEFINE: <NOMBRE_BMP> "trabaja.bmp" :fin-DEFINE
  6.  
  7. PROGRAMA:
  8.  
  9.         - Declarar una variable <inicio> de tipo numérico
  10.         - Declarar una variable <ancho> de tipo numérico
  11.         - Declarar una variable <alto> de tipo numérico
  12.        
  13.         - Abrir secuencialmente con formato binario en la variable <fichero> el archivo <NOMBRE_BMP>
  14.        
  15.         - Leer un entero (4 bytes little-endian) a partir del byte "10" de <fichero> en la variable <inicio>
  16.         - Leer un entero (4 bytes little-endian) a partir del byte "18" de <fichero> en la variable <ancho>
  17.         - Leer un entero (4 bytes little-endian) a partir del byte "22" de <fichero> en la variable <alto>
  18.  
  19.         - Declarar una variable <padding> de tipo de dato numérico
  20.         - Asignar a <padding> el valor ("4" menos (el resto de la división entera de (<ancho> por "3") entre "4") )
  21.         SI( el valor de <padding> es igual "4" ):
  22.                 - Asignar a <padding> el valor "0"
  23.         -fin-SI
  24.  
  25.         - Declarar una variable <desplazamientoFila> de tipo numérico
  26.         - Asignar a <desplazamientoFila> el valor ( (<anchuraDeLaImagen> por "3") más <padding>)
  27.        
  28.         /////////////////////////////////////////////
  29.         // Calculadas las dimensiones de la imagen //
  30.         // SE PASA A RESOLVER LOS SUBPROBLEMAS:    //
  31.         /////////////////////////////////////////////
  32.  
  33.         - Declarar una variable <color> de tipo carácter
  34.         - Declarar una variable <linea> de tipo numérico
  35.         - Declarar una variable <columna> de tipo numérico
  36.         - Declarar una variable <posicion> de tipo numérico
  37.        
  38.         - Declarar una variable <tmp> de tipo numérico
  39.         - Declarar una variable <suma> de tipo numérico       
  40.  
  41.         REPETIR mientras( queden líneas ):
  42.                 - Leer un carácter y asignarlo a <color>
  43.                 - Leer un número y asignarlo a <linea>
  44.                
  45.                 - Incrementar <linea> en una unidad // La línea "0", que representa la primera línea, pasará a ser la línea "1"
  46.                 - Asignar a <posicion> el valor ( ( (<alto> menos <linea>) por <desplazamientoFila> ) más <inicio> )
  47.                
  48.                 - Asignar a <suma> el valor "1" // Inicializar a "1" porque el enunciado dice "for every pixel in the line + 1"
  49.          
  50.                 PARA( <color> ):
  51.                         ES "B":
  52.                                 :fin-PARA
  53.                         :fin-ES
  54.                         ES "G":
  55.                                 - Incrementa el valor de <posicion> en una unidad
  56.                                 :fin-PARA
  57.                         :fin-ES
  58.                         ES "R":
  59.                                 - Incrementa el valor de <posicion> en dos unidades
  60.                                 :fin-PARA
  61.                         :fin-ES
  62.                 :fin-PARA
  63.                
  64.                 - Asignar a <columna> el valor "0"
  65.                 REPETIR mientras( <columna> sea menor que <ancho> ):
  66.                         - Leer un entero (1 byte) a partir del byte <posicion> de <fichero> en la variable <tmp> // entre 0 y 255
  67.                         - Incrementar el valor de <suma> el valor de <tmp>
  68.                         - Incrementar el valor de <posicion> en dos unidades
  69.                         - Incrementar el valor de <columna> en una unidad
  70.                 :fin-REPETIR
  71.                
  72.                 - Mostrar el valor de <suma>
  73.                
  74.          :fin-REPETIR
  75.  
  76. :fin-PROGRAMA
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top