Programación Básica con “NQC”

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

¿QUÉ ES DATO? LOS ELEMENTOS DATOS SE REFIEREN A DESCRIPCIONES BÁSICAS DE COSAS, ACONTECIMIENTOS, ACTIVIDADES Y TRANSACCIONES QUE SE REGISTRAN, CLASIFICAN.
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Noveno Curso de Programación Básica con NQC Primera Clase José M. Galarce H. Abril 4 de 2009.
Programación Básica con NQC Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
¿Qué son Los Lenguajes de Programación?
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Introducción a los Algoritmos
Resolución de Problemas Algoritmos y Programación
INSTITUTO TECNOLOGICO DE MINATITLAN
Técnico en programación de Software
Metodología de la Programación
Programación 1 Introducción
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Teoría de lenguajes y compiladores
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Evaluación de Productos
METODOLOGIA DE LA PROGRAMACION
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Programación Básica con NQC Patricio A. Castillo Pizarro 18/08/2007.
Programación Básica con NQC Patricio A. Castillo 03/05/2008.
Matemáticas Discretas y Algoritmos
Programación de Computadores
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Programación Básica con NQC Patricio A. Castillo Pizarro 11/08/2007.
Patricio A. Castillo José M. Galarce Agosto 9 de 2008 Charla Informativa.
Segunda Clase Pamela R. González Patricio A. Navarrete Mayo 8 de 2011.
Diagramas de procesos Unidad V
Diagrama de Flujo La presentación gráfica de sistemas es una forma ampliamente utilizada como herramienta de análisis,  ya que permite identificar aspectos.
Fundamentos de programación
LENGUAJES DE PROGRAMACIÓN
SOFTWARE DE PROGRAMACIÓN
LEGO. LEGO MINDSTORMS Plataforma para el diseño y desarrollo de robots. Sigue la filosofia Lego () armar y construir todo tipo de objetos uniendo bloques.
LENGUAJE DE PROGRAMACIÓN
PROGRAMACIÓN PROCEDIMENTAL
PROGRAMACIÓN ESTRUCTURADA. PROGRAMACÍÓN IMPERATIVA El programa detalla los pasos necesarios para realizar una tarea. Existe un estado global de programa.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Décimo Curso de Programación Básica con NQC “Primera Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
Programación Básica con NQC Patricio A. Castillo 29/03/2008.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Metodología para solución de problemas
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Programación Básica con “NQC” Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
Lenguajes de programación. Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 20/05/2006.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
COMPUTO III Ing. Jimmy Ojeda Arnica.
Representación de Algoritmos
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
COMPUTO III Ing. Jimmy Ojeda Arnica. METODOLOGIA DEL CURSO Objetivos del curso : Comprender el entorno de los lenguajes visuales. Comprender el entorno.
“LEGO MINDSTORMS EDUCATION” Mercedes Peñafiel R. Informática Avanzada.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/05/2007.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/08/2006.
Metodología de la programación
DEV- C++ ·include <iostream> Int x x=x+2(x)
Patricio A. Castillo José M. Galarce Septiembre 13 de 2008 Cuarta Clase.
PREGUNTAS: ¿Qué está pasando? ¿Qué se quiere hacer?
Elaboración de algoritmos usando lógica de programación
Programación Básica con “NQC” Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
Introducción al proceso de verificación y validación.
Objetivos Generales: Introducir al estudiante a la robótica. Que el estudiante esté en capacidad de construir robots que demuestren comportamientos exitosos.
Enseñar con Aprendizaje Basado en Problemas
Programación Básica con NQC Patricio A. Castillo 04/04/2008.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
PROGRAMACION.
Fundamentos de Programación Unidad I Conceptos Básicos.
Conalep 150 Tehuacán inmi 309 soma
Transcripción de la presentación:

Programación Básica con “NQC” Universidad Técnica Federico Santa María Departamento de Electrónica Programación Básica con “NQC” Pedro F. Toledo

Objetivos del Curso Se pretende que los alumnos: Comprendan el concepto fundamental de robótica y control que éste implica. Comprendan los conceptos de Algoritmo y de Lenguaje de Programación. Adquieran la capacidad de postular un algoritmo. Dominen la implementación de algoritmos en lenguaje “NQC” aplicado a bloques “RCX 1.0”. Puedan desarrollar y programar un robot con una función solicitada.

Evaluación El curso será evaluado con 2 pruebas (pr1 y pr2) de 45 minutos, las pruebas tendrán una ponderación de 40% la primera y 60% la segunda con notas de 0 a 100. Se realizara una tercera prueba (pr3) de 45 minutos para aquellos alumnos que por razones justificadas no pudieron dar alguna de las 2 pruebas anteriores. Los alumnos deberán completar y entregar informes de cada uno de los 6 laboratorios (l1, l2, l3, l4, l5 y l6), se considerarán indispensables los cuatro primeros laboratorios, y como opcionales los otros 2. Los seis laboratorios dará lugar a un factor de laboratorio “∂”. La nota final (NF) será la multiplicación de la nota de las pruebas multiplicada por el factor de laboratorio ∂, se considerará aprobados a aquellos alumnos con nota igual o superior a 55. Si un alumno se encuentra dentro del rango 45-54, sin la aplicación del factor ∂, se le permitirá dar una prueba recuperativa, escrita y practica en la que el alumno deberá obtener al menos un 70 para poder aprobar, caso en el cual aprobará con 55.

Laboratorios Está programada la realización de 6 “laboratorios”. Éstos consisten en la una serie de pruebas que se harán a una unidad programable “RCX 1.0”. Cada “laboratorio” será realizado en parejas a libre elección. Cada laboratorio tendrá una “Guía de Laboratorio” en la que se especificará cada uno de los detalles a realizar en la experiencia. Para que se considere un laboratorio rendido, cada alumno debe enviar el “Informe de Laboratorio” que corresponda, en formato “.pdf”, el que será evaluado con una nota de 0 a 100.

Fórmula de Nota Final

Fundamentos de Robótica con Lego Origen de los Lego MindStorms El RCX como Unidad Fundamental a programar Capacidades

Origen de los Lego Mindstorms En 1998 “LEGO Company” lanzó un nuevo producto llamado “LEGOMindstorms Robotic Invention Kit“. Tenía 717 piezas e incluia motores, sensores y un “Ladrillo RCX” que tenía un microprosesador incorporado. Realmente la línea de productos fue echa por tres organizaciones: “Resnick and Papert’s Epistemology and Learning research group”, la “LEGO Corporation” y el “MIT Media Laboratory”

Capacidades Procesador 8bit Hitachi H8/3292, 16MHz SRam, en Chip 16Kb SRam, externa 512b Salidas 3 puertos, 9V 500mA Entradas 3 puertos Display 1 LCD Sonido 1 Twiter Timers 4 Timers de Sistema (8b) Baterías 6x AA Transformador 9-12V Solo en versión 1.0 Comunicación Puerto IR (Transmisor - Receptor)

Fundamentos de Control Lazo Abierto Lazo Cerrado Estructura de la línea de control

Lazo Abierto En control automático, un control de “Lazo Abierto” es aquel tipo de control donde el encargado de ejecutar la acción de control, realiza una seríe de acciones para ejectutar la acción de control requerida sin analizar las reacciones efectivas de las acciones que ejecuta.

Lazo Cerrado En control automático, un control de “Lazo Cerrado”, es aquel tipo de control donde el sistema controlador se “Informa” de los resultados de las acciones que ha tomado, y del medio, para realizar el control. En base a eso, determina sus nuevas acciones para seguir con la taréa de control.

Estructura de la línea de control Finalmente, analizaremos cada desafío que se nos plantee como un problema de control, como ya hemos analizado, la manera de controlar efectivamente situaciones reales de manera eficiente y correcta es a través de un sistema de “Lazo Cerrado”, por lo que es necesario que dispongamos de sensores que informen a la unidad de proceso de las condiciones reales de la situación, para que esta unidad active de manera correcta y efectiva los actuadores que, a la larga, son los que realizar las taréas físicas y visibles del control.

Fundamentos de Programación El Algoritmo El Lenguaje de programación y su función Tipos de lenguaje Estático o Declarativo Secuencial Orientado a Objetos

El Algoritmo Un “Algoritmo” es un conjunto de tareas que conforman un proceso, por medio del cual se llega a un resultado “Esperado” según la situación. Un “Algoritmo” ejemplo es la manera de sumar dos numeros naturales positivos, todo el sistema de reservas, la manera de poner los números, la manera de poner los resultados son parte de una secuencia de tareas mas simples para lograr un resultado mas complejo. Por definición, un algoritmo no necesariamente debe ser un conjunto de tareas simples para realizar una mas compleja. Por lo general esta característica suele ser buscada y útil, pero no es necesaria para decir que un procedimiento es un algoritmo.

El Lenguaje de programación y su función El lenguaje de programación es un conjunto de palabras, reglas y normas con las que se puede escribir un algoritmo secuencial. El lenguaje de programación permite al programador comunicar un algoritmo a una máquina computacional, de tal manera que esta lo pueda realizar.

Tipos de lenguaje Estático o Declarativo Secuencial Orientado a Objetos

Tipos de lenguaje - Estático o Declarativo Es un tipo de lenguaje en que todo lo programado se ejecuta simultáneamente sin importar el orden en que esté el código. Ejemplo: Abel

Tipos de lenguaje - Secuencial En este tipo de lenguaje las cosas se suceden secuencial mente, por lo general de arriba abajo. En este tipo de lenguaje es mucho mas fácil programar cosas complejas y es el tipo de lenguaje de uso por defecto. Algunas veces, este tipo de lenguaje permite tener tareas simultaneas, pero aún así, cada tarea se sigue ejecutando secuencial mente. Esta es la manera de programar por defecto, de echo los primeros lenguajes de alto nivel son de este tipo y permiten hacer cosas muy complejas o muy simples. Es una de las maneras mas didácticas para aprender a programar ya que no es necesaria tener una visión general del lenguaje para comenzar a programar. Dentro de este tipo de lenguaje podemos identificar un grupo específico llamado “Orientado a Objetos” Ejemplos: C C++ Pascal NQC PHP

Tipos de lenguaje - Secuencial Orientado a Objetos En este tipo de lenguaje cada valor que se quiera cambiar esta asociado a alguna estructura un poco mas amplia, por ejemplo, si se quiere cambiar la velocidad de un motor no se va directo a la velocidad del motor, se va a motor y dentro de motor se escoge velocidad y ahí se cambia. Esta manera de programar permite manejar grandes cantidades de datos asociados a un factor de una manera mas fácil debido al agrupamiento. Es muy útil al momento de programar ventanas de entorno Windows Ejemplos: Visual Basic Java

Introducción al lenguaje “NQC” ¿Qué es? ¿Para qué sirve? Estructura fundamental

¿Qué es? El lenguaje “NQC” es un lenguaje diseñado por Dave Baum para programar bloques “RCX”. Su nombre es un acrónimo de “Not Quite C” (No completamente C).

¿Para qué sirve? Este lenguaje está diseñado para programar bloques “RCX”, de hecho no presenta ninguna utilidad en otro tipo de plataformas diferentes a algunas que funcionan igual o parecido a la del “RCX”. También permite programar los bloques “Scout” y “Ciberbob” ya que cumplen la regla anterior. La enseñanza de este lenguaje permite tener una visión practica de el comportamiento del código, por lo que es muy efectivo como método de enseñanza de programación.

Estructura fundamental Fundamentalmente “NQC” es un lenguaje que agrupa bloques de algoritmos en “Tareas” o “Tasks” que cumplen la función de ser programas independientes en la implementación. “NQC” tambien tiene la posibilidad de crear “Funciones” con las cuales se puede obtener el resultado de un proceso complejo con solo dar los datos a procesar y llamar a la función indicada. Este lenguaje también permite programar subrutinas, estos son bloques de código que siempre se ejecutan de la misma manera, por lo que es innecesario estar escribiéndolos en cada parte donde son requeridos, estos bloques se “Compilan” de manera independiente y pueden ser llamados desde cualquier parte del código.