Publicado el 25 de Junio del 2018
665 visualizaciones desde el 25 de Junio del 2018
4,9 MB
43 paginas
Creado hace 8a (01/01/2017)
Lenguaje de Diseño
Primera Parte
Resolución de Problemas y Algoritmos
Ing. En Informática e Ing. En Computación
Primer Cuatrimestre 2017
1
Lenguajes Algorítmicos
Los algoritmos pueden describirse, en mayor o menor detalle,
utilizando diversos lenguajes: Lenguajes Algorítmicos.
Considerando la forma en que describen un proceso, se pueden
categorizar en:
Lenguaje Gráfico: permite expresar la representación gráfica de
las operaciones que realiza un algoritmo (ejemplo: diagrama de
flujo).
Lenguaje No Gráfico: Representa en forma descriptiva las
operaciones que debe realizar un algoritmo. (ejemplo: L.
TIMBA – Lenguaje de Diseño)
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
2
Etapas en el proceso de resolver un problema:
1- Comprender el problema:
4 Descomposición del problema.
2- Concebir un plan: Definir una abstracción
4 Determinar un algoritmo.
4 Codificar ese algoritmo.
Timba
3- Ejecutar el plan:
4 Comprobar cada uno de los pasos.
4 Énfasis en la habilidad de ejecutar el plan
trazado y no en realizar los cálculos en sí.
4- Visión Retrospectiva: perfeccionar la solución
4 Ejecutar el algoritmo bosquejado.
4 Corregir (depurar) el algoritmo.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
3
No obstante:
El algoritmo expresado en el lenguaje del problema NO es comprensible para la entidad
procesadora (COMPUTADORA).
Deben traducirse las acciones a un conjunto de instrucciones elementales entendibles por
dicha entidad procesador (CODIFICAR).
CODIFICAR las acciones en el lenguaje que entiende la computadora.
Acción de codificar = PROGRAMACIÓN.
LENGUAJE DE PROGRAMACIÓN.
Inconvenientes:
4 Complejo.
4 Alto nivel de detalle.
4 Específico.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
4
Proceso de resolución de un problema:
Algoritmo
Lenguaje del Problema
Codificación
Lenguaje de Programación
Lenguaje del Problema
Codificación
Se redefine:
Algoritmo
Objetivo:
Lenguaje de Diseño
Lenguaje de Programación
4 Complementar el proceso de resolución.
4 Ofrecer una visión global del proceso.
4 Independizarse de cualquier procesador especifico.
4 Simplificar la tarea de codificación.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
5
Lenguaje de Diseño vs
Lenguaje de Programación
El objetivo fundamental de un lenguaje de diseño es ser
comprensible para las personas que van a interpretar los
algoritmos escritos en él.
El fin último de un lenguaje de programación es ser
comprensible por la computadora que va a ejecutar el
programa.
Lo primero a considerar en el proceso de resolución de
problemas es la formalización de su ambiente.
Donde se definen un conjunto de reglas que permitirán
describir, con precisión y sin ambigüedad, los objetos del
universo de un problema.
6
Variable
Atributos
Funcionalidad
Lenguaje de Diseño
Nombre
Tipo de Datos
Almacena un dato temporalmente
Es posible cambiar su contenido
durante el ciclo de vida de un
proceso
Una constante es un objeto cuyo valor no puede cambiar
Por ejemplo
t3 – al objeto NUMERO lo inicializo con el valor 1
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
7
Tipos de datos primitivos
Lenguaje de Diseño
El tipo entero, consiste de un conjunto finito de valores de los números
enteros. La cardinalidad de este conjunto es la del conjunto de los
enteros.
El tipo real, consiste de un conjunto finito de valores de los números
reales. La cardinalidad de este conjunto es la del conjunto de los reales.
El tipo lógico, también llamado tipo booleano, es el conjunto de los
valores de verdad: VERDADERO y FALSO.
El tipo caracter es el conjunto finito y “ordenado” de caracteres que el
procesador puede reconocer.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
8
Tipos de datos primitivos
Lenguaje de Diseño
El tipo caracter es el conjunto finito y “ordenado” de caracteres que el
procesador puede reconocer.
² las letras mayúsculas del abecedario .
² las letras minúsculas del abecedario.
² los dígitos decimales del 0...9.
² el caracter de espacio blanco, caracteres especiales tales como: *, +, -, _, /,
(, ), , , , $, ^, %, $, < ,>, “, .
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
9
Variables
Lenguaje de Diseño
Toda variable debe definirse indicando el tipo de valores que la misma puede
tomar.
<nombre de varible> [, <nombre de variable>]* : <tipo>
Por ejemplo
t1 – definir el objeto NUMERO del tipo entero
NUMERO : entero
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
10
Por ejemplo
Lenguaje de Diseño
t1 – definir los objetos NUMERO, POTENCIA del tipo entero
NUMERO, POTENCIA: entero
Un procesador debe ser capaz de manipular los objetos del ambiente de un
algoritmo.
Debe poder realizar cálculos
Expresan con EXPRESIONES
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
11
Expresiones
Tipos:
Lenguaje de Diseño
Aritméticas.
Lógicas.
Relacionales.
Las expresiones están conformadas por Operandos y Operadores.
Expresiones Aritméticas:
Operador
+
-
*
/
↑
//
Significado
suma
resta
producto
división
potencia
resto
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
12
Lenguaje de Diseño
Significado
potenciación (se aplica
de derecha a izquierda)
Multiplicación, división
y resto (se aplican de
izquierda a derecha)
suma y resta (se aplican
de izquierda a derecha)
1
2
3
Ejemplo 1:
Expresiones Aritméticas
Orden de evaluación (precedencia) :
Orden de precedencia
Operadores
↑
*, /
, //
+, -
8 + 7 * 3 + 4 * 5 * 4
8 +
21
20
*
4
29
+
80
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
109
13
Expresiones Aritméticas
Orden de evaluación (precedencia) :
Orden de precedencia
Operadores
Lenguaje de Diseño
Significado
potenciación (se aplica
de derecha a izquierda)
Multiplicación, división
y resto (se aplican de
izquierda a derecha)
suma y resta (se aplican
de izquierda a derecha)
↑
*, /
, //
+, -
1
2
3
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
14
Sentencia de Asignación
Lenguaje de Diseño
Por ejemplo
t31 - dar a AGREGO el valor 1
Asignación Aritmética:
<nombre de varible> <valor constante>
←
AGREGO ← 1
La acción AGREGO ← 1 significa asignar a la variable de nombre AGREGO, el
valor 1.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
15
Sentencia de Asignación
Lenguaje de Diseño
Por ejemplo
A ← B
La acción A ← B significa dar a la variable de nombre A, el valor de la variable B.
6
A
7
A
7
B
7
B
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
16
Sentencia de Asignación
Lenguaje de Diseño
Por ejemplo
SUM ← 3.5 + 4.0 * (-7.2)
E
La acción SUM ← E, siendo E una expresión, significa dar a la variable de nombre
A, el resultado de la evaluación de la expresión E.
3.5 + 4.0 * (-7.2) = -25.3
-25.3
SUM
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
17
Sentencia de Asignación
Lenguaje de Diseño
Por ejemplo
A ← A + X
La acción A ← A + X, siendo X un valor constante, significa incrementar en X el
valor de A y guardarlo en la variable A.
X= 1.0
5.6
A
6.6
A
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
18
Ejemplo
Lenguaje de Diseño
Enunciado: dados dos números enteros
positivos, digamos m y n, encontrar el
algoritmo que determine la potencia n-ésima de
m. Con n > 1.
Procesador: computadora.
Acciones primitivas:
4 Dar un valor a un objeto.
4 Calcular la suma de dos números.
4 Calcular el producto de dos números.
4 conjunto repetitivo de acciones expresado:
Mientras <condición> Hacer
<acciones-primitivas>
Repetir.
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
19
Variables
Análisis del problema:
• Si se tiene que m representa el valor 4 y n representa el
valor 3, entonces se calcula: 43 = 4 x 4 x 4 = 64.
• Si se tiene que m representa el valor 2 y n representa el
valor 6, entonces se calcula:
26 = 2 x 2 x 2 x 2 x 2 x 2 = 64.
mn = m x m x … x m
Generalizando
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
20
Variables
n veces se repite m
Si mn = m x m x … x m
mn =
(mn-1 x m)
(mn-2 x m)
(mn-3 x m)
(m2 x m)
(m x m)
• Cuantas veces se realizó la operación?
• Cada operación es igual a la anterior?
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
Realizar: 83
83 = 8 x 8 x 8
3
índice de la potencia
2
Número de veces
que se realizó la
multiplicación
8
8 x 81
8 x 82
83
Variables
Número a multiplicar
(base de la potencia)
Cálculo previo a ser
reutilizado
Ing. En Informática – Ing. En Computación (1er Cuatrimestre 2017)
22
Variables
Determinación de las variables que contienen información necesaria:
1- objeto conteniendo el entero positivo al cual se le
calcula la potencia (base de la potencia).
2- objeto conteniendo el entero positivo que indica la
potencia (exponente de la potencia).
3- objeto que determine cuantas multiplicaciones se deben
realizar.
4- objeto que mantenga los cálculos
Comentarios de: Lenguaje de Diseño - Primera parte - Resolución de Problemas y Algoritmos (0)
No hay comentarios