Programación. Clase 7 División en subtareas. Universidad Nacional de Quilmes

Documentos relacionados
Programación. Clase 5 Alternativa Condicional. Universidad Nacional de Quilmes

Programación. Clase 6 Introducción a la sintaxis estricta Propósito y precondición. Universidad Nacional de Quilmes

Programación. Clase 9 Alternativa Condicional. Universidad Nacional de Quilmes

Práctica 2 Procedimientos y parámetros

Programación. Clase 5 Qué es la programación? Primeros autómatas. Universidad Nacional de Quilmes

Colegio Agustiniano Ciudad Salitre Área de Tecnología e Informática Guía de Apoyo 2017 Bimestre: III Grado: Cuarto Docente: Jorge Torres

Rasga papel de color rojo y lo pegas en toda la página.

Ejercicios guías iniciales

CREACIÓN DE ANIMACIONES Y SÍMBOLOS

Resolución de Problemas y Algoritmos

Apellidos:... Nombre:...

ARTE ELECTRÓNICO PROCESSING

Estructura de Datos Unidad 6: ARBOLES

Computación G á r f á i f c i o c s s en e 2D

INTRODUCCION A EXCEL. Introducción y Operaciones Básicas.

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Guía práctica de estudio 05: Diagramas de flujo

Carrera/s: Núcleo: Asignatura: Profesores: Coordinador: Objetivo General: Objetivos Específicos:

EJERCICIOS DE EXCEL BASICO

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas

Ejercicio # 1 Uso de la línea guía

Estructuras de Datos II

Guía práctica de estudio 04: Diagramas de flujo

Divide-y-vencerás, backtracking y programación dinámica

SUGERENCIAS DE ACTIVIDADES

Operaciones básicas con hojas de cálculo

INSTITUTO FRANCISCO POSSENTI, A.C. Per crucem ad lucem. Preparatoria (1085)

En esta lección vamos a ver más utilidades y opciones sobre la

Más sobre la edición de hojas

UNIVERSIDAD NACIONAL DE INGENIERÍA Departamento de Lenguajes y Simulación Guía de laboratorio I

Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera

Material fotocopiable 3 años

REPASO VARIABLES. 1º DECLARAR LA VARIABLE, Indicamos el tipo de variable seguido por el nombre. 2º INICIALIZAMOS VARIABLE: le asignamos un valor.

PROGRAMA de Elementos de Programación y Lógica. Carrera/s: Tecnicatura en Programación Informática, Licenciatura en Informática, Bioinformática

Algunas primitivas tienen una forma general, esto es, pueden ser utilizadas con números o argumentos opcionales. Estas primitivas son: escribe

Según la posición que adopten las rectas en el plano, estas se pueden clasificar en paralelas o secantes (incidentes).

Guía práctica de estudio 05: Pseudocódigo

Olimpiada de Matemáticas para alumnos de primaria y secundaria en Guanajuato Primer Selectivo Nivel 3 de Secundaria Soluciones 16 de noviembre de 2016

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Realizar correspondencias con conjuntos de igual número de elementos ID PREGUNTA CRITERIO 462 Une cada caracol con su hoja Realizar la correspondencia

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Informática I para Bachillerato

Árbol Binario. Manual de usuario

Capítulo 4. Control de flujo. Continuar

LECCIÓN 3 5 PROBLEMAS RESUELTOS. Problema 1. Cuál de las siguientes fracciones es la mayor?

PRESENTACIÓN DEL ALGORITMO

Bloque práctico 2: Java

Cristian Blanco

Condiciones y lógica binaria


TUTORIAL DE TORTUGARTE

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

INSTITUTO FRANCISCO POSSENTI, A.C. Per crucem ad lucem. Preparatoria (1085)

as de then) Sección: Nivel I Categoría: Resumen: Entrega nº

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Utilización de capas

Estructuras de datos Árboles B

INSTITUTO FRANCISCO POSSENTI A.C. Per crucem ad lucem PREPARATORIA (1085) GUÍA DE DIBUJO II ( 1406 )

Trabajo Práctico 3. La Comunicación Visual

UNIDAD 2. Constructiva). CSG se define como la representación de un objeto mediante un árbol

APRENDE A DIBUJAR ÁRBOLES

Cuando se dibujan rectángulos con la opción Contorno y Relleno se le debe indicar a Paint con que color pintara el contorno y con cual el relleno

Práctica Introducción a listas

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

Lenguaje TIMBA! Fundamentos de la Informática Int. a la Programción! Int. a la Computación! Area de Servicios Dpto. De Informática - FCFMyN! 2015!

Área de desarrollo: Orientación espacial Nivel: Avanzado Proceso mental: Análisis

PROGRAMA de Introducción a la Programación

ECUACIONES EN Q (NÚMEROS RACIONALES)

Estructuras en LabVIEW.

Cuáles son los lenguajes que pueden utilizarse para programar Karel?

Guía visual. Práctica de Cálculos. Versión

1. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN

TRANSMITIR EL PENSAMIENTO MEDIANTE LA ESCRITURA

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Área de desarrollo: Orientación espacial Nivel: Intermedio Proceso mental: Análisis

Forma Lados Ángulos. Nombre: Geometría Formas en dos dimensiones. Trabajo en clase. Tacha la forma que no corresponda a cada fila.

Matemática. Conociendo las Formas de 2 dimensiones (2D) Cuaderno de Trabajo. Clase 1

Campamentos moway. Prácticas propuestas.

El siguiente paso es aislar el término con la variable ecuación. Dado que resta a, se debe sumar en los dos lados de la ecuación.

Quién lo descubre? Vamos a explorar, reconocer, construir y usar características de figuras y cuerpos geométricos.

Juegos. Speak. Cómo jugar. En esta actividad aparecerá una cara que te dirá lo que tu escribas.

Ejercicios Prácticos Adicionales

Uso Del Workdown Break Structure (WBS) Version 1.0

Lenguaje TIMBA. Fundamentos de la Informática Int. a la Programación Resolución de Problemas y Algoritmos

CCOLEGIO DE BACHILLERES

Planificación n de Tareas

Capítulo 5. Construcción de una Red Neuronal Artificial Asesora

SOLVEGJ Comunicaciones

Teoría de los Lenguajes de Programación Práctica curso Enunciado. Fernando López Ostenero y Ana García Serrano

CRITERIOS DE EVALUACIÓN

Indice. RV & Asociados S.R.L. - Derechos Reservados Manual Taurus Página: 1

MANUAL PROGRAMACIÓN DE CLASES

DISEÑO ASISTIDO POR ORDENADOR. GOOGLE SketchUP 8. 3ª parte

Memoria de un proyecto para hacer un portalápices

PFC. José Luis Pichardo Muñoz 5. Heurística basada en Grafos

Ponete la camiseta de la extensión.

3.6. Árboles B DEFINICIONES

Transcripción:

Programación Clase 7 División en subtareas Universidad Nacional de Quilmes

Ejercitamos un poco

Ejercicio Realicemos el siguiente dibujo en QDraw.

Por dónde arrancamos?

Recordatorio: Programar es comunicar!

Intentando comunicar la solución Si le intentamos contar a alguien que es lo que hay que hacer, terminariamos diciendo: arriba, arriba, arriba, pinta, arriba, pinta... etc. No es algo muy práctico que digamos. El código es confuso hasta para nosotros mismos. La otra persona no tiene idea de qué le estamos hablando. Los comentarios pueden ayudar a entender el código, pero no solucionan el problema de fondo. Uno quisiera poder transmitir la idea de una forma más sencilla.

Lo que quisiéramos transmitir programa { dibujar óvalo externo en rojo dibujar árbol derecho dibujar árbol izquierdo volver el cabezal a la posición inicial }

Divide y vencerás

Divide y vencerás Al dividir el problema general en problemas más pequeños, podemos centrarnos en resolver cosas más sencillas, que requieren menos código y son más fáciles de razonar. De esta forma es más fácil atacar problemas grandes, para arribar a una solución integral.

Divide y vencerás. Ejemplo 1 Qué pasos o acciones realizan cada vez que realizan la actividad de cepillarse los dientes?

Divide y vencerás. Ejemplo 2 Dibujar logo Dibujar circulo rojo Arriba, arriba, derecha, pintar de rojo... Dibujar árbol izquierdo Dibujar copa del árbol izquierdo Pintar de verde, arriba, pintar... Dibujar tronco del árbol izquierdo Pintar de negro, arriba, pintar... Dibujar árbol derecho Dibujar copa del árbol derecho Pintar de verde, arriba, pintar... Dibujar tronco del árbol derecho Pintar de negro, arriba, pintar...

Procedimientos

Procedimientos Los procedimientos son una forma de estructurar el código para reflejar estos esquemas mentales que hemos comentado. Un procedimiento es una nueva instrucción definida por el usuario. Un procedimiento se define mediante la palabra procedimiento, seguida de un nombre (El cual no puede contener espacios y comienza con mayúscula), paréntesis vacíos y un bloque de código.

Procedimientos procedimiento DibujarTroncoDeArbol () { /* PROPÓSITO: Dibuja el tronco de un árbol de color negro, de dos celdas de alto, con la celda actual siendo la celda inferior del tronco. PRECONDICIÓN: Hay al menos una celda hacia arriba de la actual. */ }

Instrucciones: Primitivas y Procedimientos Acciones primitivas Conjunto limitado de instrucciones: Procedimientos DibujarTroncoDeArbol () X

Llamar a procedimientos Los procedimientos definidos pueden ser llamados luego en cualquier lugar del programa. Al momento de ejecutar el programa, en los lugares en los que se llama a un procedimiento se ejecuta el bloque de código con el cual fue definido. Un procedimiento puede ser llamado en cualquier bloque de código, ya sea el del programa o el de otro procedimiento. Un procedimiento se define una sola vez, pero se puede llamar tantas veces como se desea.

Llamar a Procedimientos Para llamar a un procedimiento basta utilizar el nombre del mismo seguido de paréntesis dentro de un bloque de código. procedimiento DibujarTroncoDeArbol () { /*... */ } programa { DibujarTroncoDeArbol()... }

Llamar a Procedimientos Pueden llamarse más de una vez, aunque se define una sola vez. procedimiento DibujarTroncoDeArbol () { /*... */ } programa { DibujarTroncoDeArbol() DibujarTroncoDeArbol() }

Ejecución del programa anterior DibujarTroncoDeArbol() Inicio DibujarTroncoDeArbol()

Llamar a Procedimientos en otro Procedimiento procedimiento DibujarArbol () { DibujarTroncoDeArbol() IrACopa() DibujarCopaDelArbol() } procedimiento IrACopa() } procedimiento Linea2Verde () { } procedimiento Linea4Verde () { } procedimiento DibujarTroncoDeArbol () { } procedimiento DibujarCopaDelArbol () { Linea2Verde() Linea4Verde() Linea6Verde() Linea4Verde() Linea2Verde() } procedimiento Linea6Verde () { } Cada procedimiento debería tener su propósito y precondición!

Dibujamos el árbol programa{ /*... */ } DibujarArbol () Mi programa se resume a llamar al procedimiento principal, y solo eso.

Árbol de ejecución

Árbol de ejecución El árbol de ejecución de un programa es una construcción que permite visualizar y comprender cuál es el orden en que el código final será ejecutado, y por tanto que acciones se realizarán. El árbol de ejecución permite ver esto al analizar las hojas del árbol, es decir, aquellos lugares en donde se arriba a una instrucción primitiva. Cada elemento (nodo) tendrá como hijos las instrucciones que haya en el bloque que representa.

Árbol de ejecución de DibujarArbol DibujarArbol DibujarTroncoDelArbol DibujarCopaDelArbol Linea2Verde Linea4Verde Linea6Verde Linea4Verde Linea2Verde

Ejercitamos un poco con Lightbot

Nivel 1: Ejemplo Llamada al procedimiento Descripción del procedimiento

Nivel 2

Nivel 3

Nivel 4

Ejercitamos un poco con QDraw

Actividad 1 Implemente un programa que realice el siguiente dibujo utilizando procedimientos.

Actividad 2 Implemente un programa que realice el siguiente dibujo utilizando procedimientos. Encuentran algo parecido al dibujo anterior?

Programación Clase 7 División en subtareas Universidad Nacional de Quilmes