principios y herramientas de programaciónjac/rpaak/downloads/teorias/rpa clase 1 parte 1.pdf · *...
TRANSCRIPT
![Page 1: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/1.jpg)
11/3/2019
1
Dra. Jessica Andrea Carballido [email protected]
Dpto. de Ciencias e Ingeniería de la Computación
UNIVERSIDAD NACIONAL DEL SUR
Acerca del Cuatrimestre
Clases:
LUNES de 14.00 a 18.00 hs.
MIÉRCOLES de 14.00 a 18.00 hs.
1er PARCIAL: Lunes 22 de abril 2do PARCIAL: Lunes 3 de junio RECUPERATORIO: Lunes 24 de junio
Acerca del Cuatrimestre
3
Acerca de la cursada
4
2 parciales (con un único
recuperatorio)
1 ejercicio obligatorio en máquina
(fecha a definir)
Coloquio (los que estén
en condiciones de promocionar)
5
Materias de Programación
Reforzar y desarrollar Competencias generales
• Comunicarse en forma oral y escrita
• Aprender con autonomía
• Administrar el tiempo
• Trabajar en Equipo
6
Objetivos de las Materias
de Programación
![Page 2: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/2.jpg)
11/3/2019
2
Objetivos de las Materias
de Programación
Aprender Contenidos Conceptuales
Algoritmo
Programa
Lenguaje de Programación
Estructuras de Control
7
Reforzar y desarrollar Competencias específicas
• Dividir problemas en sub-problemas
• Diseñar algoritmos
• Utilizar un lenguaje de programación
8
Objetivos de las Materias
de Programación
Principal Objetivo de RPA
Contenidos de RPA
Diseñar ¿algoritmos? para resolver problemas de pequeña
escala
e implementarlos en programas
escritos en el lenguaje de programación Pascal,
cumpliendo con algunos criterios de calidad.
• Conceptos, principios y técnicas de programación
estructurada, diseño top-down y refinamiento paso a
paso.
• El lenguaje de programación Pascal.
9
Diseñar algoritmos para resolver problemas de pequeña
escala
e implementarlos en programas
escritos en el lenguaje de programación Pascal,
cumpliendo con algunos criterios de calidad.
Principal Objetivo de RPA
10
Problema Algoritmo
Programa Secuencia de pasos
para obtener la solución Traducción del algoritmo
en un leng. de
programación
Discrepancia
entre un estado inicial y un estado final.
Ejemplos:
• Encontrar el camino más corto desde casa hasta la universidad.
• Ganar un partido de damas.
• Aprobar una materia.
• Armar un rompecabezas.
• Encontrar el valor de una variable en una ecuación.
![Page 3: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/3.jpg)
11/3/2019
3
Con una única solución:
* Sumar los números del 1 al 100
Con varias soluciones:
* Nombrar a tres actores argentinos
Sin solución o con infinitas soluciones
* División por cero
* 2x-1 = 3x + 3 - x - 4
En todo problema se pueden distinguir: Los datos.
La incógnita.
Reglas que los vinculan.
La resolución de un problema
comienza con la correcta identificación de cada uno de estos elementos.
La figura está formada por un triángulo y un
rectángulo. El rectángulo tiene 84 cm de
perímetro y la longitud de la base es el doble
que la altura. El triángulo es isósceles y tiene
64 cm de perímetro. ¿Cuál es el perímetro
de la figura completa?
La especificación es precisa.
La solución es única y objetiva.
El procedimiento puede variar, probablemente comience con un cambio de notación.
15
La figura está formada por un triángulo y un
rectángulo. El rectángulo tiene 84 cm de
perímetro y la longitud de la base es el doble
que la altura. El triángulo es isósceles y tiene
64 cm de perímetro. ¿Cuál es el perímetro
de la figura completa?
2a = b
2a + 2b = 84
b + 2c = 64
16
a
b
c
a
b
c
¿ 2c+2a+b ?
EL RESULTADO ES UNICO
La figura está formada por un triángulo y un
rectángulo. El rectángulo tiene N cm de
perímetro y la longitud de la base es el doble
que la altura. El triángulo es isósceles y tiene
M cm de perímetro. ¿Cuál es el perímetro de
la figura completa?
Es una generalización del problema anterior.
El problema ahora consiste en resolver el perímetro total para distintos valores de perímetros del rectángulo y del triángulo (esto es, de N y M respectivamente).
17
EL resultado DEPENDE de los valores de N y M
La figura está formada por un triángulo y un
rectángulo. El rectángulo tiene N cm de
perímetro y la longitud de la base es el doble
que la altura. El triángulo es isósceles y tiene
M cm de perímetro. ¿Cuál es el perímetro de
la figura completa?
2a = b
2a + 2b = N
b + 2c = M
18
a
b
c
a
b
c
¿ 2c+2a+b ?
![Page 4: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/4.jpg)
11/3/2019
4
La figura está formada por un triángulo y un
rectángulo. El rectángulo tiene N cm de
perímetro y la longitud de la base es el doble
que la altura. El triángulo es isósceles y tiene
M cm de perímetro. ¿Cuál es el perímetro de
la figura completa?
2a = b
2a + 2b = N
b + 2c = M
19
a
b
c
a
b
c
¿ 2c+2a+b
? Despejando… N: perímetro del rectángulo.
M: perímetro del triángulo.
EL RESULTADO DEPENDE de los valores de N y M 20
¿ 2c+2a+b ?
N
Perimetro
M
N: perímetro del rectángulo.
M: perímetro del triángulo.
EL RESULTADO DEPENDE de los valores de N y M 21
¿ 2c+2a+b ?
N
Perimetro
M
Datos de entrada:
• N=18 y M=10.
Dato de salida?
Datos de entrada:
• N=6 y M=6
Dato de salida?
En RPA hallar la solución va a consistir en:
- Encontrar una secuencia de pasos que permitan pasar
de un estado inicial a un estado final (solución al
problema) de acuerdo a algunas restricciones.
- Traducir esa secuencia de pasos a un lenguaje
que la computadora pueda interpretar y ejecutar.
ALGORITMO
PROGRAMA
22
Problemas y
Soluciones
Algoritmos
Un algoritmo es una secuencia de instrucciones
que llevadas a cabo permiten resolver
una instancia de un problema.
• tiene que haber un problema bien especificado • tiene que haber un orden entre las instrucciones,
existe una única instrucción inicial y dada una instrucción en particular, es posible determinar con precisión, cuál es la que le sigue.
Es una definición general, no está ligada a la programación.
De acuerdo a esta definición una receta es un algoritmo,
una partitura musical o las instrucciones para armar un mueble
también lo son. 23
Algoritmo para preparar salsa Bechamel:
1. Derretir 50grs. de manteca con una pizca de sal en una ollita chiquita.
2. Agregar (fuera del fuego) 2 cucharadas de harina y ¼ litro de leche.
3. Revolver bien y colocar nuevamente sobre el fuego.
4. Cocinar 3 o 4 minutos hasta que espese, agregarle la pimienta y la nuez moscada.
5. Servir caliente.
![Page 5: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/5.jpg)
11/3/2019
5
Algoritmo para activar una tarjeta de crédito:
1. Llama al 0-500-ACTIVAR (2284827)
2. Luego marca la opción 1, Activación y reactivación de tarjetas
3. Nuevamente la opción 1, Activación por primera vez, sustitución o reposición
4. Posteriormente la opción 3, para activación de Tarjeta de Crédito Persona Natural.
5. Ingresa los datos de seguridad que te solicita el operador automático y responde las preguntas de seguridad.
6. Colocando los datos correctos estarás activando en línea tu Tarjeta de Crédito Chip BBVA Banco Provincial.
7. Luego de ello, el servicio te permite opcionalmente asignar tu clave de cuatro dígitos para usarla en Cajeros Automáticos o para suscribirte a Provinet.
Desplazar un robot en un plano
desde una posición inicial hacia una posición destino.
26
Algoritmos
Qué sabe hacer?
Sabe moverse un bloque
hacia abajo, arriba,
izquierda, derecha.
Traza
izquierda izquierda izquierda
Traza
Traza
izquierda izquierda izquierda
Traza
izquierda izquierda izquierda
![Page 6: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/6.jpg)
11/3/2019
6
Traza
¿Qué SABE hacer el robot?
izquierda n bloques
izquierda es una acción primitiva
n es un valor variable
32
Algoritmos
izquierda 3 bloques
abajo 2 bloques
Traza
izquierda 3 bloques
abajo 2 bloques
Traza
izquierda 3 bloques
abajo 2 bloques
Traza
izquierda 3 bloques
abajo 2 bloques
Traza
![Page 7: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/7.jpg)
11/3/2019
7
izquierda 3 bloques
abajo 2 bloques
Traza
izquierda 3 bloques
abajo 2 bloques
Traza
¿Cuáles son las acciones primitivas?
izquierda n bloques
abajo m bloques
39
Algoritmos
Definición: Una primitiva es una acción
u operación, usada en un algoritmo o
programa, que es considerada básica.
izquierda 3 bloques
abajo 2 bloques
Si las primitivas fueran:
arriba, abajo, izq, der
que siempre se mueven
de a UN bloque
pero podemos repetir
Repetir 2 veces
abajo
Repetir 3 veces
izquierda
izquierda 1 bloque abajo 1 bloque derecha 2 bloques abajo 1 bloque izquierda 2 bloques arriba 1 bloque izquierda 2 bloques
abajo 1 bloque
42
Es una solución correcta pero ineficiente.
Buscamos soluciones correctas y eficientes.
![Page 8: Principios y Herramientas de Programaciónjac/rpaAK/downloads/Teorias/RPA Clase 1 PARTE 1.pdf · * Sumar los números del 1 al 100 Con varias soluciones: * Nombrar a tres actores](https://reader033.vdocuments.co/reader033/viewer/2022041416/5e1b9c92721ab3126e0b6a70/html5/thumbnails/8.jpg)
11/3/2019
8
Notemos que para cada posición inicial y destino escribimos un algoritmo diferente.
Nuestra intención en el futuro será encontrar algoritmos generales.
Para este ejemplo un algoritmo general permitiría trasladar al robot desde cualquier posición origen O en el plano hacia cualquier posición destino D.
Un algoritmo es una secuencia de instrucciones,
comprensibles para quien tenga que ejecutarlas,
que permite resolver un problema.
• Tiene que haber un problema, • tiene que haber un orden entre las instrucciones, • y tiene que estar expresado a partir de un conjunto de
acciones primitivas. • Algunas acciones pueden depender de una condición, • y algunas acciones pueden ejecutarse iterativamente. En esta materia vamos a diseñar algoritmos que terminan en una cantidad finita de tiempo.
44
Aquellos que seran traducidos a un lenguaje
de programación se escriben en
PSEUDOCODIGO.
• Es un lenguaje bastante coloquial en español ó
inglés.
• Consta de un conjunto de frases y mínimas
restricciones.
• Provee un balance entre la precisión formal de un
lenguaje de programación y la informalidad y
legibilidad del lenguaje natural.
Len
gu
aje
N
atu
ral
Pseu
do C
ódig
o
Len
gu
aje
de
Pro
gra
mació
n