Objetos elementales del lenguaje algorítmico, apuntes universitarios

Documento de Universidad sobre Algorítmico. El Pdf, un material de Informática para estudiantes universitarios, detalla los objetos elementales del lenguaje algorítmico, incluyendo tipos de datos como booleanos, caracteres, enteros y reales, y la declaración de constantes y variables.

Ver más

26 páginas

Algorítmico
1. Objetos elementales del lenguaje algorítmico 2
1.1. Tipos elementales 2
1.1.1. Tipo booleano 2
1.1.2. Tipo carácter 3
1.1.3. Tipo entero 3
1.1.4. Tipo real 4
1.2. Declaración de objetos 4
Es necesario que el identificador “nombre” tenga el primer carácter en mayúscula. El resto de
caracteres pueden ser alfabéticos, numéricos o carácter “_”. NUNCA puede haber espacios. 4
1.3. Expresiones 5
1.3.1. Sintaxis 5
Semántica 6
1.3.2. Evaluación 6
1.4. Definición de tipos. Tipos enumerativos 7
1.5. Funciones de conversión de tipos 8
2. Especificación de algoritmos 8
2.1. Algoritmo y cambio de estado 8
2.2. ¿Qué significa especificar? 9
2.3. Elementos de la especificación 9
2.4. Especificación y comentarios. 10
2.5. Ejemplos de especificación. 11
3. Estructuras algorítmicas 12
3.1. Estructura general de un algoritmo 12
3.2. Acciones elementales 13
Ejemplos: 13
3.3. Composición de acciones 14
Ejemplos: 15
Intercambio de valores 15
Impuestos y salario neto 16
Intereses 16
Ejemplos: 17
Calcular máximo de dos números enteros 17
Especificación 18
Ejemplos 19
Multiplicación de dos enteros 19
El factorial 19
Finalización de la composición iterativa 20
Variantes de la composición iterativa 20
4. Acciones y funciones 21
4.1. Acciones 21
4.2. Parámetros 22
4.3. Funciones 24
4.4. Acciones y funciones predefinidas 26
1. Objetos elementales del lenguaje algorítmico
Vamos a tratar con datos. Al diseñar un algoritmo, necesitamos referenciar estos datos de alguna
forma y explicitar qué comportamientos esperamos de los mismos. Para ello, introducimos el
concepto de objeto.
Un objeto tiene tres atributos:
- Nombre o identificador: identifica unívocamente el objeto.
- Tipo: indica el conjunto de valores que puede tener y qué operaciones se pueden aplicar
sobre el objeto.
- Valor: elemento del conjunto al que pertenece y que viene indicado por su tipo
correspondiente.
Por tanto, un objeto puede ser:
- Constante: su valor no se modifica
- Variable: su valor se modifica.
1.1. Tipos elementales
Hay cuatro tipos elementales: booleano, carácter, entero y real. Aunque el lenguaje nos permitirá
definir nuestros tipos particulares..
1.1.1. Tipo booleano
También se le conoce como tipo lógico y tiene origen en el álgebra de Boole.
Identificador
Booleano
Rango de valores
cierto, falso
Operadores internos (devuelven un valor del
mismo tipo)
no ; y ; o ; = ; ; < ; ; > ;
Operadores externos
Sintaxis de valores
cierto, falso
Operadores relacionales (= ; ; < ; ; > ; ): se aplican a dos operandos del mismo tipo.
< ; ; > ; Sólo se pueden aplicar si el tipo tiene una relación de orden. Por convenio, en el tipo
booleano
- falso < cierto da como resultado el valor cierto
- cierto = falso da como resultado el valor falso
- cierto cierto da como resultado el valor cierto

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Objetos elementales del lenguaje algorítmico

1. Objetos elementales del lenguaje algorítmico 1.1. Tipos elementales 2 1.1.1. Tipo booleano 2 1.1.2. Tipo carácter 3 1.1.3. Tipo entero 3 1.1.4. Tipo real 4 1.2. Declaración de objetos Es necesario que el identificador "nombre" tenga el primer carácter en mayúscula. El resto de caracteres pueden ser alfabéticos, numéricos o carácter "_". NUNCA puede haber espacios. 1.3. Expresiones 1.3.1. Sintaxis Semántica 1.3.2. Evaluación 1.4. Definición de tipos. Tipos enumerativos 1.5. Funciones de conversión de tipos 2. Especificación de algoritmos 2.1. Algoritmo y cambio de estado 2.2. ¿ Qué significa especificar? 9 2.4. Especificación y comentarios. 10 2.5. Ejemplos de especificación. 11 3. Estructuras algoritmicas 12 3.1. Estructura general de un algoritmo 12 3.2. Acciones elementales Ejemplos: 13 3.3. Composición de acciones 14 Ejemplos: 15 Intercambio de valores 15 Impuestos y salario neto 16 Intereses 16 Ejemplos: 17 Calcular máximo de dos números enteros 17 Especificación 18 Ejemplos 19 Multiplicación de dos enteros 19 El factorial 19 Finalización de la composición iterativa 20 Variantes de la composición iterativa 20 4. Acciones y funciones 21 4.1. Acciones 21 4.2. Parámetros 22 4.3. Funciones 24 4.4. Acciones y funciones predefinidas 26 4 4 455667888990 5 5 6 6 7 8 13 2.3. Elementos de la especificación 21.

Objetos elementales del lenguaje algorítmico Vamos a tratar con datos. Al diseñar un algoritmo, necesitamos referenciar estos datos de alguna forma y explicitar qué comportamientos esperamos de los mismos. Para ello, introducimos el concepto de objeto.

Un objeto tiene tres atributos:

  • Nombre o identificador: identifica univocamente el objeto.
  • Tipo: indica el conjunto de valores que puede tener y qué operaciones se pueden aplicar sobre el objeto.
  • Valor: elemento del conjunto al que pertenece y que viene indicado por su tipo correspondiente.

Por tanto, un objeto puede ser:

  • Constante: su valor no se modifica
  • Variable: su valor se modifica.

Tipos elementales

Hay cuatro tipos elementales: booleano, carácter, entero y real. Aunque el lenguaje nos permitirá definir nuestros tipos particulares ..

Tipo booleano

También se le conoce como tipo lógico y tiene origen en el álgebra de Boole.

Identificador Booleano Rango de valores cierto, falso Operadores internos (devuelven un valor del mismo tipo) no ; y ; o ; = ; ¢ ; < ; ≤ ; > ; ≥ Operadores externos Sintaxis de valores cierto, falso Operadores relacionales (= ; ; < ; ≤ ; > ; ≥): se aplican a dos operandos del mismo tipo. < ; ≤ ; > ; ≥ Sólo se pueden aplicar si el tipo tiene una relación de orden. Por convenio, en el tipo booleano

  • falso < cierto da como resultado el valor cierto cierto = falso da como resultado el valor falso
  • cierto ≤ cierto da como resultado el valor ciertoLa tabla de operadores = ; < ; > es la siguiente: a b a = b a < b a > b cierto cierto cierto falso falso cierto falso falso falso cierto falso cierto falso cierto falso falso falso cierto falso falso

Las expresiones que cubren el resto de casos serán:

  • a + b equivale a no (a = b)
  • a ≥ b equivale a (a = b) o (a > b)
  • a ≤ b equivale a (a = b) o (a < b)

Tipo carácter

El tipo más elemental para que un algoritmo pueda gestionar información simbólica es el tipo carácter.

La sintaxis que reconoce el lenguaje algorítmico de sus valores es el propio carácter entre comillas simples. Ejemplo: 'e', '=', " ... etc.

Identificador Carácter Rango de valores Conjunto finito de valores que dependen de un código usado por el computador (ASCII, UTF-8 ... ) Operadores internos =; ¢; < ; ≤ ; >; ≥ Operadores externos Sintaxis de valores ‘d', 'W' ; '1'. '1' (carácter) no es lo mismo 1 (entero) Dentro del conjunto de caracteres, existe una relación de orden. Por ejemplo, en el caso de caracteres que representan letras, el orden sigue el criterio alfabético: 'a' < 'b' = cierto ; 'z' < 'a' = falso.

Tipo entero

En programación hay que distinguir los enteros de los reales: 1(entero) # 1.0 (real)

Identificador Entero Rango de valores Desde ENTEROMIN hasta ENTEROMAX (El ordenador tiene memoria finita) Operadores internos - (cambio de signo) ; + ; - ; * ; div ; mod Operadores externos Relacionales: = ; ¢ ; < ; < ; > ; ≥ Sintaxis de valores 3, 465454, -895221.

Tipo real

Puesto que sólo se trabajan con conjunto finito de reales, los programas están sometidos a problemas de precisión y errores en los cálculos.

Identificador Real Rango de valores Desde REALMIN hasta REALMAX (y no todos los valores que están en el rango) Operadores internos - (cambio de signo) ; + ; - ; * ; div ; mod Operadores externos Relacionales: = ; ¢ ; < ; < ; > ; ≥ Sintaxis de valores 3, 465454, -89522

Declaración de objetos

Antes de que un algoritmo use un objeto, hay que declararlo.

Objeto constante:

const nombre:tipo = valor; fconst

Objeto variable:

var nombre:tipo; fvar

Es necesario que el identificador "nombre" tenga el primer carácter en mayúscula. El resto de caracteres pueden ser alfabéticos, numéricos o carácter "_". NUNCA puede haber espacios.

Varias variables del mismo tipo:

var nombre1,nombre2,nombre1, ...: tipo; fvar

Existen palabras clave que delimitan las partes del algoritmo y nos identifican a qué se corresponde cada elemento (por ejemplo: var, const ... ). Son palabras exclusivas del lenguaje algorítmico y no se pueden usar como nombres de los objetos (constantes o variables)

Se admiten excepciones. El operador lógico "y". Es una palabra reservada ya que se trata de un operador del lenguaje, sin embargo, se puede definir una variable con el nombre "y".Ejemplos:

const PI: real = 3.14156; RAIZ_2: real = 1.14142 DiasSemana: entero = 7; fconst

var Saldo, Precio: entero; DiametroCirculo: real; fvar

Expresiones

Tenemos la necesidad de operar entre los distintos objetos declarados para obtener algún valor en concreto. Esto se hará mediante expresiones.

Una expresion es cualquier combinación de operadores (unarios o binarios) y operandos (variable, constante o expresión).

Un operador unario sólo opera con un único operando. Ejemplo: negación lógica y signo menos aplicado a un número.

Un operador binario opera con dos operandos. Ejemplo: suma o resta.

Sintaxis de expresiones

Una expresión es correcta y evaluable si sigue las siguientes normas:

  • Un valor es una expresión.
  • Una variable es una expresión.
  • Una constante es una expresión.
  • Si E es una expresión, (E) también lo es.
  • Si E es una expresión y "-" es un operador unario, -E también lo es.
  • Si E y E son expresiones y "+" es un operador binario, E +E, también lo es.
  • Si E , E , ... E son expresiones y f es una función, f(E , E ,, ... E ) también lo es.

Las expresiones se escriben linealizadas (de izquierda a derecha y de arriba a abajo).

Ejemplo:

para a,b,c,d,e enteros d a b C * e = (a / b) /(c/d) *eSemántica

Aunque una expresión tenga una sintaxis correcta, puede no tener sentido. Hay que respetar la tipificación de variables, constantes, operadores y funciones. Hablaremos de corrección sintáctica y de corrección semántica.

Ejemplo:

  • Operador suma aplicado a variables booleanas, la expresión es correcta sintácticamente pero incorrecta semánticamente.
  • 4.0 + 7. La expresión no es correcta semánticamente ya que mezcla dos tipos de datos distintos.

Evaluación de expresiones

La evaluación de una expresión se hace de izquierda a derecha, comenzando por funciones y elementos comprendidos entre los paréntesis más internos. Dentro de los paréntesis, se evaluarán primero las operaciones más prioritarias.

Prioridad de los operadores (de más a menos):

  1. - (cambio de signo), no
  2. * , /, div, mod
  3. +, - (resta)
  4. = , +, <, ≤, ≥
  5. y
  6. o

En igualdad de prioridades, se evalúa de izquierda a derecha.

Ejemplos:

  1. c div d * e -> Primero se evalúa c div d y el resultado se multiplica por e. La expresión es equivalente a (c div d) * e
  2. 3 * 1 div 3 -> El resultado es 1, ya que es equivalente a (3 * 1) div 3 = 1
  3. 3 * (1 div 3) -> El resultado es 0
  4. (a * b) - ((c+d) div a) mod (2 * a) a. a*b b. c+d c. (c+d) div a d. 2 * a e. El valor del paso c mod el valor del paso d f. Valor del paso a - Valor del paso e
  5. a+b = a*d div c a. Se evalúa a*d b. El resultado del paso "a" div c c. Se evalúa a + b d. Se evalúa "=" con el resultado del paso "b" y el resultado del paso "c". El resultado es un booleano.
  6. a > b = c a. Se evalúa a > b y el resultado se compara con c. Resultado booleano.
  7. a*b>c+doe con el resultado del paso "a" y el resultado del paso "b" d. Se evalúa e < f e. Se evalúa ó con el resultado del paso "c" y resultado del paso "d". Resultado booleano.
  8. noa = byc≥d a. Se evalua no a b. Se evalúa = con el resultado del paso "a" y b c. Se evalúa c ≥ d d. Se evalúa y con el resultado del paso "b" y el resultado del paso "c". Resultado booleano.

Definición de tipos enumerativos

La notación algorítmica permite definir nuevos tipos para trabajar con objetos que se encuentran más cercanos al problema tratado.

Un constructor de tipos es una construcción de la notación algorítmica que permite definir nuevos tipos.

Un tipo de constructor de tipos sería constructor de tipos por enumeración. Permite definir un nuevo tipo de forma cuyos valores posibles están enumerados en la propia definición del tipo.

Sintaxis:

tipo nombre= {valor1, valor2, ... , valorN} ftipo

Los únicos operadores que se pueden aplicar a los tipos enumerativos son los relacionales externos. El orden en que se enumeran estos valores es el que se usa para establecer las relaciones de menor y mayor.

tipo color = {verde, azul, rojo, amarillo}; día = {lunes, martes, miércoles, jueves, viernes, sábado, domingo}; ftipo

La expresión martes < miércoles devuelve valor cierto.

Funciones de conversión de tipos

Hay veces que necesitamos pasar de un tipo de valor a otro. Para hacerlo, hay funciones predefinidas que permiten esto.

  • realAEntero: acepta argumentos de tipo real y lo convierte a entero. realAEntero(4.5768) = 4
  • enteroAReal: acepta argumentos de tipo entero y lo convierte a real. enteroAReal(6) = 6.0
  • caracterACodigo: acepta argumentos de tipo carácter y lo convierte a código. caracterACodigo('A') = 65 (si usamos codificación ASCII)
  • codigoACaracter: acepta argumentos de tipo codigo y lo convierte a caracter . codigoACaracter(48) = '0' (si usamos codificación ASCII)

Especificación de algoritmos

Algoritmo y cambio de estado

Un algoritmo es una descripción de un método sistemático para resolver un problema. La forma en la que un algoritmo resuelve dicho problema es parte del propio algoritmo. La resolución se consigue actuando sobre el entorno donde está metido inmerso el algoritmo, modificándolo convenientemente.

Ejemplo: una lavadora dispone de un método sistemático para lavar la ropa

  • ¿Cuál es el entorno sobre el que actúa la lavadora? Simplificando, el entorno es la ropa que se encuentra dentro del tambor de la ropa.
  • ¿Cómo actúa? La ropa está sucia; y después de que la lavadora aplique el algoritmo de lavar, la ropa está limpia.

Se puede observar que se ha producido un cambio de estado en el entorno. En el estado inicial la ropa estaba sucia y en el estado final está limpia, solucionando así el problema.

Cambio de estado en el entorno Proceso Estado inicial Estado final (Ejecución del algoritmo)

Entre el estado inicial y el final pueden darse muchos estados intermedios. La lavadora llena su tambor de agua con jabón. La ropa pasa de estar sucia a estar sucia y en remojo. Luego, el tambor se mueve durante 20 minutos ... etc. Todas estas acciones producirían un cambio de estado que nos iría acercando hasta el estado final.

El entorno de un algoritmo es el conjunto de objetos que intervienen en este. Los únicos objetos que la ejecución de un algoritmo puede modificar son las variables. Es decir, un proceso (ejecución de algoritmo) puede modificar el entorno cambiando el valor de las variables.

Por este motivo, el estado en un momento determinado de la ejecución de un algoritmo nos viene determinado por el valor de las variables que intervienen.

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.