Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño...
Transcript of Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño...
![Page 1: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/1.jpg)
1
Lenguaje de Diseño
Primera Parte
Primer Cuatrimestre 2020
Resolución de Problemas y Algoritmos
PSeInt
![Page 2: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/2.jpg)
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.
4- Visión Retrospectiva: perfeccionar la solución
4 Ejecutar el algoritmo bosquejado. 4 Corregir (depurar) el algoritmo.
Res. De Problemas y Algoritmos – 2020
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í.
Timba Para quien trabajó TIMBA
![Page 3: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/3.jpg)
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.
Res. De Problemas y Algoritmos – 2020
![Page 4: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/4.jpg)
4
Algoritmo Lenguaje del Problema
Lenguaje de Programación
Codificación
Proceso de resolución de un problema:
Algoritmo Lenguaje del Problema
Lenguaje de Programación Lenguaje de Diseño
Codificación
Se redefine:
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.
Objetivo:
Res. De Problemas y Algoritmos – 2020
![Page 5: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/5.jpg)
5
El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos en él.
Lenguaje de Diseño vs Lenguaje de Programación
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.
![Page 6: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/6.jpg)
6
Variable
Atributos Nombre
Tipo de Datos
Funcionalidad Almacena un dato temporalmente
Es posible cambiar su contenido durante el ciclo de vida de un proceso
Lenguaje de Diseño PSeInt
Una constante es un objeto cuyo valor no puede cambiar
t3 – al objeto NUMERO lo inicializo con el valor 1 Por ejemplo
Res. De Problemas y Algoritmos – 2020
![Page 7: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/7.jpg)
7
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.
Tipos de datos primitivos
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 8: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/8.jpg)
8
² 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: *, +, -, _, /,(, ), , , , $, ^, %, $, < ,>, “, .
El tipo caracter es el conjunto finito y “ordenado” de caracteres que el procesador puede reconocer.
Tipos de datos primitivos
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 9: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/9.jpg)
Definir NUMERO, POTENCIA como enteros
9
t1 – definir el objeto NUMERO del tipo entero Por ejemplo
Definir NUMERO como entero
Definir <nombre de varible> [, <nombre de variable>]* como <tipo>
Variables
Toda variable debe definirse indicando el tipo de valores que la misma puede
tomar.
t1 – definir los objetos NUMERO, POTENCIA del tipo entero
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 10: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/10.jpg)
Un procesador debe ser capaz de manipular los objetos del ambiente de un algoritmo.
10
Debe poder realizar cálculos
Expresan con EXPRESIONES
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 11: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/11.jpg)
11
Expresiones Aritméticas:
Expresiones
Tipos:
Las expresiones están conformadas por Operandos y Operadores.
Aritméticas. Lógicas. Relacionales.
%
Operador Significado + suma - resta * producto / división
potencia ^
resto
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 12: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/12.jpg)
12
Orden de evaluación (precedencia) :
, %
Orden de precedencia Operadores Significado 1 potenciación (se aplica
de derecha a izquierda) 2 *, / Multiplicación, división
y resto (se aplican de izquierda a derecha)
3 +, - suma y resta (se aplican de izquierda a derecha)
^
Expresiones Aritméticas
Ejemplo 1: 8 + 7 * 3 + 4 * 5 * 4
21 20 8 +
29
4 *
80 +
109 Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 13: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/13.jpg)
13
Orden de evaluación (precedencia) :
, %
Orden de precedencia Operadores Significado 1 potenciación (se aplica
de derecha a izquierda) 2 *, / Multiplicación, división
y resto (se aplican de izquierda a derecha)
3 +, - suma y resta (se aplican de izquierda a derecha)
Expresiones Aritméticas
Res. De Problemas y Algoritmos – 2020
^
Lenguaje de Diseño PSeInt
![Page 14: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/14.jpg)
14
Asignación Aritmética:
t31 - dar a AGREGO el valor 1
AGREGO ← 1
Sentencia de Asignación
Por ejemplo
<nombre de varible> <valor constante> ←
La acción AGREGO ← 1 significa asignar a la variable de nombre AGREGO, el valor 1.
Res. De Problemas y Algoritmos – 2020
En PSeInt el operador de asignación se inserta con las teclas < y -
Lenguaje de Diseño PSeInt
![Page 15: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/15.jpg)
15
Sentencia de Asignación
Por ejemplo
La acción A ← B significa dar a la variable de nombre A, el valor de la variable B.
A ← B
6 A
7 B
7 A
7 B
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 16: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/16.jpg)
16
Sentencia de Asignación
Por ejemplo
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.
SUM ← 3.5 + 4.0 * (-7.2)
-25.3 SUM
E
3.5 + 4.0 * (-7.2) = -25.3
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 17: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/17.jpg)
17
Sentencia de Asignación
Por ejemplo
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.
A ← A + X
5.6 A
6.6 A
X= 1.0
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 18: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/18.jpg)
18
Ejemplo
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.
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 19: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/19.jpg)
19
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.
Generalizando
mn = m x m x … x m
Variables
Res. De Problemas y Algoritmos – 2020
![Page 20: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/20.jpg)
(mn-1 x m)
(mn-2 x m)
(mn-3 x m)
(m2 x m) (m x m)
n veces se repite m
• Cuantas veces se realizó la operación? • Cada operación es igual a la anterior?
Si mn = m x m x … x m
mn =
Variables
Res. De Problemas y Algoritmos – 2020
![Page 21: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/21.jpg)
21
8 x 82
8
8 x 81
83 = 8 x 8 x 8
Número a multiplicar (base de la potencia)
Cálculo previo a ser reutilizado
Número de veces que se realizó la multiplicación
Realizar: 83
2
83
3 índice de la potencia
Variables
Res. De Problemas y Algoritmos – 2020
![Page 22: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/22.jpg)
22
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 previos para poder
realizar los nuevos cálculos.
Ambiente: 4 variables
Variables
Res. De Problemas y Algoritmos – 2020
![Page 23: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/23.jpg)
Versión 2: t1 - Determinar nombres y tipos de las variables. t2 - Dar valores iniciales a las variables. t31 - Comenzar con el entero 1. t32 - Para todo entero positivo menor que el valor indicado como índice, multiplicar el número dado por el resultado anterior.
23
Algoritmo: (Solución en Lenguaje de Problemas) Versión 1:
t1 - Determinar nombres y tipos de las variables. t2 - Dar valores iniciales a las variables. t3 - Contando desde 1, multiplico el entero por la potencia anterior, tantas veces como lo indica el índice de la potencia.
Variables
Res. De Problemas y Algoritmos – 2020
![Page 24: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/24.jpg)
24
Determinar nombres y tipos a las variables.
Dar valores iniciales a las variables.
C
tomar el número y multiplicarlo por el resultado anterior. .
F
entero < índice pot.
Comenzar con el entero 1.
Tomar un nuevo entero.
V
F
Diagrama de Flujo
Res. De Problemas y Algoritmos – 2020
![Page 25: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/25.jpg)
25
Bosquejo del algoritmo (en lenguaje de problemas): NUMERO, POTENCIA, PREVIO, VECES: entero NUMERO m (el que se desee) POTENCIA n (mayor que 1) PREVIO m VECES 1 MIENTRAS el valor de VECES sea menor que el valor de POTENCIA HACER
PREVIO NUMERO * PREVIO VECES VECES + 1
FINMIENTRAS
Lenguaje de Diseño
Ejemplo
Res. De Problemas y Algoritmos – 2020
![Page 26: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/26.jpg)
26
¿Qué son las condiciones? ¿Cómo ante ciertas situaciones de conflicto se toma una decisión?
Expresiones Lógicas Expresiones Relacionales
Expresiones Lógicas
Operador Lógico Significado Conjunción Y - & (and) Disjunción O - | (or) Negación NO - ∼ (not)
Expresiones
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 27: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/27.jpg)
27
Expresiones Lógicas
V ← E
ü es una asignación lógica si: ü V, es una variable lógica. ü E, es una constante lógica (VERDADERO, FALSO), una variable lógica, una expresión relacional o una expresión lógica.
Por ejemplo
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 28: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/28.jpg)
28
Ejemplo:
Si A = VERDADERO, B = FALSO entonces la expresión A ∧ B ∨ (¬ B) dacomo resultado:
A ∧ B ∨ (¬ B)
V F V
F
VERDADERO Expresiones Relacionales
Dada cualquier expresión expresada por medio de los operadores relacionales, su evaluación debe darme como resultado un valor de verdad Verdadero o Falso.
Expresiones Lógicas
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 29: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/29.jpg)
29
A >= 15 {Verdadero, Falso}
3 A
Predicado ValorA >= 15 FALSOA = 15 FALSOA < 15 VERDADERO
Predicado
Combinaciones (Expresiones lógicas y Relacionales)
• Sean X, K y Z tres variables enteras cuyos valores son 1, 3 y 2 respectivamente,
• sean los predicados elementales p = “X = 1”, q =“K < 2” y r = “Z >= 5”
• Y sea el siguiente predicado compuesto:
( X = 1 | K < 2 ) & Z = 5 Entonces para conocer su valor de verdad se puede construir la tabla de verdad correspondiente:
(p | q) & r
Res. De Problemas y Algoritmos – 2020
![Page 30: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/30.jpg)
30
De ahora en más nos referiremos, cuando hablemos de predicados, a las CONDICIONES
Expresiones Lógicas
(X=1 | K < 2) & Z=5
Verdadero Falso Falso
Verdadero
Falso
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 31: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/31.jpg)
31
Expresiones Lógicas
Inconveniente: Este algoritmo solamente calcula 83
Bosquejo del algoritmo (en lenguaje de problemas): NUMERO, POTENCIA, PREVIO, VECES como enteros NUMERO m (el que se desee) POTENCIA n (mayor que 1) PREVIO m VECES 1 Mientras el valor de VECES sea menor que el valor de POTENCIA Hacer
PREVIO NUMERO * PREVIO VECES VECES + 1
FinMientras
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 32: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/32.jpg)
32
Expresiones Lógicas
Bosquejo del algoritmo en lenguaje de diseño: NUMERO, POTENCIA, PREVIO, VECES como enteros NUMERO 8 POTENCIA 3 PREVIO 8 VECES 1 Mientras VECES < POTENCIA Hacer PREVIO NUMERO * PREVIO VECES VECES + 1 FinMientras
Inconveniente: Este algoritmo solamente calcula 83
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 33: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/33.jpg)
33
Entrada/Salida de Datos/ Información
ESCRIBIR V
Llamaremos escritura a la acción primitiva que permite la salida de valores del ambiente a través de un dispositivo. Esta acción toma uno o más valores del ambiente y lo comunica al medio externo.
Lectura, es toda acción que permite la entrada de uno o más valores del ambiente a través de un dispositivo. Una lectura es una asignación, en el sentido que toma valores del medio externo y lo asigna a las variables del ambiente. La operación de lectura es una acción primitiva.
Leer <nombre de la variable> Leer V
Escribir <nombre de la variable> Escribir V
Entrada/Salida
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 34: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/34.jpg)
34
Allgoritmo “Potencia n de m” Definir NUMERO, POTENCIA, PREVIO, VECES como enteros Leer NUMERO Leer POTENCIA PREVIO NUMERO VECES 1 Mientras VECES < POTENCIA Hacer PREVIO NUMERO * PREVIO VECES VECES + 1 FinMientras Escribir PREVIO FinAlgortimo
Por Ejemplo (en PSeInt)
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 35: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/35.jpg)
35
Estructuras de Control
• Secuencial
• Condicional
• Repetición o Iteración
Es determinado por el orden en que se definen las sentencias: una debajo de la otra ó utilizando el operador ;
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 36: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/36.jpg)
36
Estructuras de Control: Condicional
tarea i tarea j condición
V F
Si <condición> Entonces <alternativa verdadera> Sino <alternativa falsa> Finsi
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 37: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/37.jpg)
37
Estructuras de Control: Condicional
tarea j
condición V F
Si <condición> Entonces <alternativa verdadera> Finsi
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 38: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/38.jpg)
38
Estructuras de Control: Repetición
tarea i
Cond? F
V
Mientras <condicion> Hacer <secuencia de acciones>
FinMientras
Estructura de Control
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 39: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/39.jpg)
39
ALGORITMO “Potencia n de m” Definir NUMERO, POTENCIA, PREVIO, VECES como enteros Leer NUMERO Leer POTENCIA PREVIO NUMERO VECES 2 Mientras VECES <= POTENCIA Hacer PREVIO NUMERO * PREVIO VECES VECES + 1 FinMientras Escribir PREVIO FinAlgortimo
Por ejemplo
Repetición
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 40: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/40.jpg)
40
Estructuras de Control: Repetición
tarea i
Cond? F
V
Para <nombre de vble> <- Vi Hasta Vf Con Paso P Hacer
<secuencia de acciones> FinPara
Donde:
Repetición
• Vi es el valor inicial que recibe <nombre de vble>
• Vf es el valor final que tomará <nombre de vble>
• P es el valor de incremento/decremento
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 41: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/41.jpg)
41
Para paso P positivo Para paso P negativo MIENTRAS V <= Vf HACER MIENTRAS V >= Vf HACER <secuencia de acciones> <secuencia de acciones> REPETIR REPETIR
V ← Vi V ← Vi
V ← V + P V ← V - P
ALGORITMO “Potencia n de m” Definir NUMERO, POTENCIA, PREVIO, VECES como enteros Leer NUMERO Leer POTENCIA PREVIO NUMERO Para VECES <- 2 Hasta POTENCIA Con Paso 1 Hacer PREVIO NUMERO * PREVIO FinPara Escribir PREVIO FinAlgoritmo
Res. De Problemas y Algoritmos – 2020
![Page 42: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/42.jpg)
42
¿Cuándo usar la sentencia Mientras y cuándo usar la sentencia Para?
Resumiendo
A veces da lo mismo usar la sentencia Mientras o la sentencia Para
Algoritmo “Imprimir” Define VECES como entero Para VECES <- 1 Hasta 10 Con Paso 1 Hacer ESCRIBIR “El numero es” VECES FinPara FinAlgoritmo
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 43: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/43.jpg)
Algoritmo “Imprimir” Define VECES como entero VECES 1 Mientras VECES <= 10 Hacer ESCRIBIR “El numero es” VECES VECES VECES + 1 FinMientras FinAlgoritmo
43
Resumiendo
¿Cuándo usar la sentencia Mientras y cuándo usar la sentencia Para?
A veces da lo mismo usar la sentencia Mientras o la sentencia Para
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 44: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/44.jpg)
44
¿Cuándo usar la sentencia Mientras y cuándo usar la sentencia Para?
Resumiendo
Otras veces NO da lo mismo usar la sentencia Mientras o la sentencia Para
ALGORITMO “Division” Define DIVISOR, DIVIDENDO, COCIENTE, RESTO como entero Leer DIVIDENDO Leer DIVISOR COCIENTE 0 Mientras DIVIDENDO > = DIVISOR Hacer DIVIDENDO DIVIDENDO – DIVISOR COCIENTE COCIENTE + 1 FinMientras Escribir “El cociente es” COCIENTE “y el resto es” DIVIDENDO FinAlgoritmo
En este caso no se conoce cuántas veces deberá iterar o repetir
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 45: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/45.jpg)
45
Resumiendo
En este caso se conoce cuántas veces deberá iterar o repetir
ALGORITMO “Numeros Impares” Define VECES, NUMERO como entero NUMERO 1 Para VECES <- 1 Hasta 20 Con Paso 1 Hacer ESCRIBIR “El numero es” NUMERO NUMERO NUMERO + 2 FinPara FinAlgoritmo
Ejemplo: Imprimir los primeros 20 números naturales impares
¿Cuándo usar la sentencia Mientras y cuándo usar la sentencia Para?
Otras veces NO da lo mismo usar la sentencia Mientras o la sentencia Para
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 46: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/46.jpg)
46
ALGORITMO “Ejercicio” X ←10 Y ←1 MIENTRAS X <> 10 ∨ Y <> 10 HACER
ESCRIBIR “Ingrese un numero AA” LEER AA ESCRIBIR “Ingrese un numero BB” LEER BB SI AA = BB ENTONCES CC ← FALSO FINSI Y ← Y + 1 X ← X + 2
FINMIENTRAS ESCRIBIR X, Y FIN
Ejercicio: ¿es un algoritmo? ¿es correcto el algoritmo?
Res. De Problemas y Algoritmos – 2020
Lenguaje de Diseño PSeInt
![Page 47: Lenguaje de Diseño PSeInt · 2020. 4. 29. · 5 El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van a interpretar los algoritmos escritos](https://reader033.fdocumento.com/reader033/viewer/2022060815/6094265e9af2360b263ced53/html5/thumbnails/47.jpg)
47
ALGORITMO “Ejercicio” Define X como entero Define Ycomo entero Define AA, BB como enteros Define CC como logico X ←10 Y ←1 Mientras X <> 10 | Y <> 10 Hacer
Escribir “Ingrese un numero AA” Leer AA Escribir “Ingrese un numero BB” Leer BB Si AA = BB Entonces CC ← FALSO FinSs Y ← Y + 1 X ← X + 2
FinMientras Escribir X, Y FinAlgoritmo
Lenguaje de Diseño
Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
Res. De Problemas y Algoritmos – 2020