Advertisement
Guest User

Algoritmo - Challenge 14

a guest
Jun 21st, 2011
1,438
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.80 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement