METODOLOGIA DE LA PROGRAMACION

METODOLOGÍA DE LA PROGRAMACIÓN

BINARIO → ENSAMBLADOR → C(necesitamos SDK) → Alto nivel (C#, Java, Visual Basic

PROGRAMACIÓN ESTRUCTURADA

  • Secuencia de comandos / linea de trabajo / sentencia. Ej. : A=B+C
  • Palabras clave. Ej. If
  • Literales. numéricos y de texto. A=4+5, “texto entre comillas” NO CAMBIAN
  • Variables.
  • Constantes. Es un literal con un nombre.
  • Operadores. Ej. =, +, -, >=, MOD,

VARIABLES
Se almacenan en direcciones de memoria.

OPERADORES
  • Aritméticos: + (suma), - (resta, * (producto), / división), \ división entera), % o MOD (módulo o resto de una división). Son operadores binarios. Los operadores unarios son los siguientes: ++ (incremento, --(decremento) ej. A=B+(C++) y A=B+(++C) en el segundo caso el valor de C se incrementa una unidad antes de hacer la operación.
  • Asignación: asignan valores a algo. operando1=operando2 aqui el valor de operando2 se le asigna a operando1. Mas tipos de operadores de asignación (porque los informáticos con vagos, pero vagos, vagos). += → A=A+B → A+=B ; -= → A=A-B → A-=B; %= → A=A%B → A%=B; *= → A=A*B → A*=B; /= → A=A/B → A/=B; \= → A=A\B → A\=B
  • Operadores lógicos: AND (Y) tb. &, OR (o) tb. |, XOR (o excluyente), NOT negación) tb. !. Aquí vemos las tablas de verdad según el operador. estas operaciones siempre devuelven Verdadero (True) o Falso (False), es decir 1 ó 0.
Operador ANDTF
TTF
FFF


Operador ORTF
TTT
FTF


Operador XORTF
TFT
FTF


  • Operadores relacionales o de comparación: siempre devuelven un valor lógico. Se tienen que poder realizar la comparación. Son los siguientes: >, <, >=, <=, == (igual a), != (distinto de) tb. <>            Ej. (A>B) AND (B>C)
  • Otros: - (cambio de signo). () para hacer agrupaciones. * y / se hacen antes que la + y la -.
        A=B+C*4+D → A=B+(C*4)+D no es lo mismo que A=(B+C)*(4+D) → A=E*F
    El orden es el siguiente:
    * y /   →   + y -   →   Operadores de comparación   →   Operadores lógicos


VARIABLES

1º Declarar. Tipos:
  • Explícitas. Tenemos que escribir la sentencia para declararla.
  • Implícitas. El primera vez que la usamos el lenguaje la usa automáticamente. Se complica a la hora de localizar errores.
        DECLARO nombreVariable
2º Inicialización: cuando les asignamos un valor. (meteremos un valor en ese trozo de memoria) La mayoría de lenguajes permiten declarar e inicializar al mismo tiempo.
        DECLARO nombreVariable=0


NOMENCLATURA

  • Las variables no pueden empezar nunca por números.
  • No utilizar caracteres raros, acentos, ñ, cerillas, etc...
  • No utilizar espacios (el espacio significa separación). Se usan guiones bajos  ( _ ) o la “tecnica del camello”, es decir, todo con minúsculas excepto la primera letra de cada palabra. Ej. operadorInicial.
  • La primera letra del nombre será en minúsculas.
  • Las constantes todas con mayúsculas y cada palabra separada con un guión bajo. ( _ ).
  • ¿qué nombre le ponemos? si tenemos una variable que es un sumando pues la llamamos sumando.
  • SIEMPRE usamos tabulaciones.

COMENTARIOS

  • El compilador siempre los pasa por alto.
// el comentario va después de dos contrabarras. No hay que aclarar cosas obvias.


SINTAXIS DE SENTENCIAS

Una sentencia es una línea: A=B+C


ESTRUCTURAS  CONDICIONALES O DE DECISIÓN

Condicionales simples

SI: Evalua una condición. Si es cierta hacen una condición, si es falsa otra.
    SI (condición que devuelve un valor lógico)
        Si se cumple se hace esto
    FIN SI //es importante para saber a dónde llega este bloque
    Si no se cumple se hace esto

CONDICIONAL DOBLE
    SI (condición que devuelve un valor lógico)
        Si se cumple se hace esto
    SI NO
        Si no se cumple se hace esto
    FIN SI

CONDICIONAL MÚLTIPLE o COMPUESTO. Se utilizan para discriminar distintos rangos o evaluarlos.
    SI (>18)
        Si se cumple se hace esto
    SI NO SI (>12)
        Si se cumple se hace esto
    SI NO SI (>5)
        Si se cumple se hace esto
    SI NO
        Si no se cumple hace esto
    FIN SI

CONDICIONAL MULTIPLE. Para evaluar datos concretos. A cada caso en concreto hay que ponerle FIN o BREAK para salir del bloque una vez cumplida la condición, si no, se seguiría ejecutando el siguiente. Sirve para aplicar líneas de código a distintos casos.
    EN CASO DE (edad)
        CASO (18)
            Si se cumple se hace esto
        BREAK
        CASO (15)
            Si se cumple se hace esto
        BREAK
….
        ….
        ….
        EN OTRO CASO
            Si no se cumplen las anteriores se hace esto
    FIN CASO


ESTRUCTURAS DE REPETICIÓN o BUCLES

  • DETERMINADOS. cuando el bucle empieza sabemos el número de veces que se va a repetir.
        PARA (contador=0;contador<0;contador++)
            si se cumple la condición segunda se ejecuta el cuerpo del bucle
        FIN PARA
    la comparación lógica puede ser con un número u otra expresión (como una variable) (evitaremos usar el comparador de igualdad ==), el contador que usaremos por convenio será i, que no es necesario declararlo si esa variable sólo la vamos a utilizar para el bucle, al terminar el bucle, la variable i desaparecerá de la memoria si no la hemos declarado e inicializado en la parte DECLARO, por ejemplo DECLARO i=0 en un programa hará que la variable i permanezca en memoria todo el tiempo del programa.


  • INDETERMINADOS. cuando el bucle empieza no sabemos cuantas veces se va a repetir. Usaremos tipo MIENTRAS.
1. MIENTRAS (condición inicial)
   cuerpo del bucle   
   FIN MIENTRAS
3. HASTA (condición inicial)
   cuerpo del bucle
   FIN HASTA
2. HAZ
   cuerpo del bucle    
   MIENTRAS (condición final)
4. HASTA
   cuerpo del bucle
   HASTA (condición final)


En el tipo 1. (Mientras → Fin Mientras) Entramos si la condición se cumple (es VERDADERO). La única pega es que hay que hacer algo dentro del bucle que modifique aquello que evaluamos en la condición para salir.
En el tipo 2. (Haz → Mientras) El campo del bucle se ejecuta al menos una vez.
En el tipo 3. (Hasta → Fin hasta) Entramos si la condición es FALSA.
En el tipo 4. (Haz → Hasta) Se ejecuta el bucle una vez y se repite si la condición es FALSA.

CUATRO REGLAS QUE SIEMPRE OCURREN

1. ley de murphy.
2. K.I.S.S. keep It Simple Stupid
3. Se adoptará la explicación más sencilla. Navaja de Ockham.
4. Newton, Hazlo lo más simple posible, pero no más.


ACUMULADORES

    Tienen que permitir acumular, luego las variables hay que inicializarlas siempre al elemento neutro de la operación a realizar. (0 para la suma, 1 para la multiplicación)

CICLO DE VIDA DE LAS VARIABLES

    Las variables mueren cuando termina el bloque donde están declaradas, excepto las declaradas fuera o al inicio del programa.

MATRICES O ARRAYS

    variable[i] es una variable tipo array con i elementos. Es unidimensional.
    variable[i,j] es una variable tipo arrat con i*j elementos. Es bidimensional.
    ...y así sucesivamente.
    el primer elemento siempre es el CERO (la primera posición por decirlo así)

Tipos:
Estáticos: con número definido de elementos. NO se pueden dimensionar.
Dinámicos: Se puede modificar el número de elementos (estos no los usaremos ahora)

    DECLARO nombre [n]={n0, n1, n2, n3,...nn}

Se recomienda nombrarlos en PLURAL.
Lo declaramos pero no lo inicializamos.

    DECLARO nombre[] //para unidimensional
    DECLARO nombre[,] //para bidimensional