informaticaPC

Teoría de la programación

Estructura del programa (I)

Tipos de datos

Los principales tipos de datos usados en los lenguajes de programación son:

  • Carácter: para almacenar caracteres y cadenas de texto. En algoritmos en pseudocódigo se declaran con la palabra CARACTER.
  • Lógicos o booleanos: del tipo Verdadero/Falso. En pseudocódigo se declaran con la palabra BOOLEAN.
  • Numéricos: almacenan números sin decimales (ENTERO) o con decimales (REAL).

Identificadores

Se denomina como identificador al nombre que podemos asignar a determinados elementos en el código fuente del programa, como por ejemplo a las variables, funciones, etc.

Para crear un identificador debemos tener en cuenta las siguientes reglas:

  • Debe comenzar por una letra, aunque el resto del nombre puede contener también números.
  • Se pueden usar tanto mayúsculas como minúsculas, pero ten en cuenta que dependiendo del lenguaje de programación usado, se hace distinción entre ambas.

    Así pues serían diferentes tres elementos llamados 'Comision', 'comision' y 'COMISION'.

  • No se pueden usar tildes.
  • También es posible usar el carácter de subrayado '_'.

Algunos identificadores válidos: 'x' , 'el_nombre', 'salario', 'mes1'...

Algunos identificadores no válidos: '3po' (comienza con un número), '3+4' (contiene una carácter no válido), 'comisión' (no se admiten tildes).

Palabras clave

Los lenguajes de programación usan internamente algunas palabras, denominadas palabras clave o palabras reservadas que no podemos usar como identificadores.

Por ejemplo, algunas palabras clave o reservadas del lenguaje C son: 'auto', 'break', 'case', 'char', 'const', 'continue', 'default'...

Variables y Constantes

En cualquier lenguaje de programación necesitaremos usar variables y constantes para almacenar determinados valores (los cuales se guardan internamente en una posición de memoria del ordenador) y así poderlos recuperar posteriormente para usarlos en otra parte del código fuente.

Las constantes generalmente se declaran al principio del programa escribiendo su nombre en mayúsculas, y la diferencia entre ellas es que a las constantes se les puede asignar su valor una sola vez, mientras que el valor de las variables puede ser modificado en cualquier punto del código fuente del programa.

Para usar una variable o constante en primer lugar es preciso declararla (crearla) antes de poder inicializarla (darle un valor), pudiéndose hacer ambas cosas en la misma línea del código fuente.

En cuanto al ámbito de una variable, éstas pueden ser variables globales (es posible acceder a ellas desde cualquier parte del programa) o variables locales (son visibles sólo desde determinadas partes de él): así pues, las creadas dentro de una Función, Procedimiento o sentencia de control existen y son accesibles sólo dentro de dicha porción de código fuente.

A continuación veamos un ejemplo de cómo declarar variables y declarar constantes en pseudocódigo:

ALGORITMO Variables1;
CONS
    PI <- 3,14;
VAR
    ENTERO num1;
    ENTERO num2 <- 7;
    CARACTER nombre, apellidos;
    BOOLEAN ok <- ok;
INICIO
    num1 <- 5;
    nombre <- "PEPE";
    apellidos <- "PÉREZ PÉREZ";
FIN

Para asignar un valor en algoritmos en pseudocódigo usamos ' <- ', aunque en otras nomenclaturas se usa el signo igual ' = ' (que es usado también en los lenguajes de programación).

Dentro de CONST declaramos (creamos) la constante 'PI' y la inicializamos (le damos un valor). No es necesario indicar un tipo de datos.

A continuación, dentro de 'VAR' declaramos varias variables de diferentes tipos de datos: a las de la primera y tercera líneas les asignamos un valor dentro del programa en sí (entre INICIO y FIN), mientras que las que se encuentran en la segunda y cuarta líneas las inicializamos en la misma línea en que las creamos.

Veamos otro ejemplo en el que pedimos al usuario que introduzca su nombre para después mostrárselo por pantalla junto con un saludo:

ALGORITMO Variables2;
VAR
    CARACTER nombre;
INICIO
    LEER( nombre );
    ESCRIBIR("Hola ", nombre );
FIN

Observa que en los algoritmos en pseudocódigo se usa LEER() para solicitar un dato introducido por teclado, y rMenu() para mostrar un texto por pantalla.

Información

Dos errores que se suelen tener cuando se está aprendiendo son el olvidar que cada instrucción en el código termina en punto y coma, y el no poner entre comillas las cadenas de texto, tal y como hemos hecho correctamente al dar nombre a las variables 'nombre' y 'apellidos' del primer ejemplo, y al texto en ESCRIBIR() del segundo ejemplo.

Vectores o arrays

Para que lo comprendas fácilmente, un vector o array (también denominado arreglo) es una variable en la que se pueden almacenar varios valores distintos a la vez.

Al asignarse un valor a variable internamente se reserva un espacio en la memoria del ordenador para guardarlo, mientras que cuando creamos un vector o array podemos indicar cuántas posiciones tendrá, reservándose internamente los espacios en memoria necesarios.

En el siguiente ejemplo te mostramos cómo declarar vectores o arrays en pseudocódigo, y asignarles un valor:

ALGORITMO Vectores;
VAR
    ENTERO   numeros[5];
    CARACTER nombres[10];
INICIO
    numeros[0] <- 3;
    numeros[1] <- 5;
    numeros[2] <- 7;

    nombres[0] <- "PEPE";
    nombres[2] <- "PEDRO";
FIN

Como puedes comprobar se declaran igual que lasvariables, indicándose de qué tipo de datos son (sólo podrán almacenar valores de dicho tipo en cada una de sus posiciones) a la vez que indicamos su longitud entre corchetes.

Observa también que para asignar un valor a cada elemento del vector o array indicamos entre corchetes su posición o índice y que éste comienza realmente desde cero: por lo tanto las posiciones disponibles en los vectores del ejemplo están entre 0 y 4 en el primero, y 0 y 9 en el segundo.

Esto es así también en muchos lenguajes de programación como Java y C, aunque en otros las posiciones comienzan desde 1 (como en Visual Basic).

Más información

Vea también: [ Ejemplos con vectores ]

Operadores y reglas de Prioridad

A continuación listamos los principales tipos de operadores descritos según su orden de precedencia, teniendo en cuenta que para evaluar una expresión primero se calcula el resultado de lo que se halle entre paréntesis (comenzando desde los más interiores):

  • Aritméticos unarios:
    • Incremento: ++
    • Decremento: --
  • Aritméticos binarios:
    • Incremento: ++
    • Decremento: --
    • Multiplicación: *
    • División: /
    • Resto: % , MOD
    • Suma: +
    • Resta: -
  • Relacionales:
    • Menor que: <
    • Mayor que: >
    • Menor o igual a: <=
    • Mayor o igual a: >=
    • Igual a: ==
    • Diferente de: <>
  • Lógicos:
    • Negación: NOT (!)
    • Conjunción: AND (&&)
    • Disyunción: OR (||)
  • Asignación:
    • Asignación: =
    • Suma y asignación: +=
    • Resta y asignación: -=
    • Multiplicación y asignación: *=
    • División y asignación: /=
    • Módulo (resto) y asignación: %=

Expresiones

Las expresiones representan un cálculo con el fin de obtener un resultado. Los tipos de expresiones existentes son:

  • Aritméticas: con las que se obtienen resultados de tipo numérico. Ejemplos:

    Expresión Resultado
    2 + 3 5
    2 + 3 * 5 17
    10 MOD 3 1
  • Carácter: se obtiene una cadena de texto. Ejemplos:

    Expresión Resultado
    "Don" + " Pedro" "Don Pedro"
    "Buenos " + "días" + " señores" "Buenos días señores"
  • Lógicas o booleanas: devuelven valores de tipo Verdadero/Falso.

    La siguiente Tabla de la Verdad nos ayudará a evaluar expresiones lógicas:

    A B A AND* B A OR B**
    V V V V
    V F F V
    F V F V
    F F F F

    Con AND el resultado será Verdadero sólo si ambos lo son, mientras que con OR será Verdadero si uno de ellos o ambos lo son. Ejemplos:

    Expresión Resultado
    5 < 3 Verdadero
    (1<5) AND (5<10) Verdadero
    (5>10) OR ("A" < "B") Verdadero
    NOT(4<14) Verdadero

Veamos un ejemplo en pseudocódigo en el que se piden dos números al usuario, y se muestran los resultados de sumarlos y restarlos:

ALGORITMO Operaciones_Aritmeticas;
VAR
    REAL num1;
    REAL num2;
INICIO
    LEER( num1, num2 );

    ESCRIBIR( "La suma es: ", num1 + num2 );
    ESCRIBIR( "La multiplicación es: ", num1 * num2 );
FIN
Información

Ten mucho cuidado con cerrar cada paréntesis que hayas abierto, y en su orden correcto.

Funciones internas

FUNCIÓN DESCRIPCIÓN ARGUMENTO(S) DEVUELVE
ABS(x) Valor absoluto de x Entero / Real Entero / Real
ARCTAN(x) Arcotagente de x Entero / Real Entero / Real
COS(x) Coseno de x Entero / Real Entero / Real
SEN(x) Seno de x Entero / Real Entero / Real
EXP(x) Exponencial de x Entero / Real Entero / Real
LN(x) Logaritmo neperiano Entero / Real Entero / Real
ROUND(x) Redondeo de x Real Entero
SQR(x) Cuadrado de x Entero / Real Entero / Real
SQRT(x) Raíz cuadrada Entero / Real Real
TRUNC(x) Truncamiento de x Real Entero
MOD Resto Entero Entero

Ejemplos:

Función Resultado
ABS(-4) 4
ABS(3) 3
SQR(2) 4
SQR(-3) 9
TRUNC(1.2) 1
TRUNC(-2.3) 2
ROUND(0.7) 1
ROUND(0.5) 1
ROUND(-0.5) 0

Veamos ahora un ejemplo en pseudocódigo en el que se pide un número al usuario y se muestra su raíz cuadrada:

ALGORITMO Funciones_Internas;
VAR
    REAL num1;
INICIO
    LEER( num1 );

    ESCRIBIR( "La raíz cuadrada es: ", SQRT(num1) );
FIN
Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso