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ás26 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
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:
Por tanto, un objeto puede ser:
Hay cuatro tipos elementales: booleano, carácter, entero y real. Aunque el lenguaje nos permitirá definir nuestros tipos particulares ..
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
Las expresiones que cubren el resto de casos serán:
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.
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.
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
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
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.
Una expresión es correcta y evaluable si sigue las siguientes normas:
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:
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):
En igualdad de prioridades, se evalúa de izquierda a derecha.
Ejemplos:
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.
Hay veces que necesitamos pasar de un tipo de valor a otro. Para hacerlo, hay funciones predefinidas que permiten esto.
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
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.