Clase 1

34
PROGRAMACION 10010011100110 10101111011000 00110000000110 10101010011001?

Transcript of Clase 1

PROGRAMACION

100100111001101010111101100000110000000110

10101010011001?

La programación se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto, a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado, a la elaboración de Programas para la resolución de problemas mediante computadoras.

• Planteamiento del problema

• Análisis de la solución del problema

•Diseño de la solución del problema

• Desarrollo de la solución del problema

• Evaluación y mantenimiento de la solución del problema

Todo persona que pretenda construir un programa que de solución determinada problemática, se enfrenta a dos grandes tareas:

• El QUÉ: acciones a realizar para poder resolver el problema. Esta tarea forma

parte del trabajo de mesa previo a toda actividad de programación.

• El CÓMO: instrucciones de las que se va a valer para escribir el código que realice las acciones determinadas en el QUÉ, las cuales están determinadas por el lenguaje de programación seleccionado.

• Algoritmo

Es un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Que sean secuenciales significa que deben ser ejecutados uno después de otro y que sean ordenados quiere decir que deben llevar un orden casi obligatorio. El algoritmo es el que permite lograr el objetivo propuesto.

• Diagrama de flujo

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado.

• Pseudocódigo

Es una descripción informal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora.

Inicio o fin del programa

Pasos, procesos o líneas de instrucción

Operaciones de entrada y salida

Toma de decisiones y Ramificación

Conector

Envía datos a la impresora

1. Los Diagramas de flujo deben escribirse de

arriba hacia abajo, y/o de izquierda a derecha.

2. Se debe evitar el cruce de líneas, para lo cual

si se quisiera separar el flujo del diagrama a

un sitio distinto, se puede realizar utilizando

los conectores.

3. No deben quedar líneas de flujo sin conectar.

4. Todo texto escrito dentro de un símbolo debe

ser legible, preciso, evitando el uso de

muchas palabras.

5. Todos los símbolos pueden tener más de una

línea de entrada, a excepción del símbolo

final.

6. Solo los símbolos de decisión pueden y deben

tener mas de una línea de flujo de salida.

EJEMPLOS:

Al igual que en la vida diaria, en un programa informático es necesario tomar decisiones basadas en ciertos hechos y actuar en consecuencia. En programación existe una sentencia básica denominada IF (condicional Sí), que realiza una comparación y permite dar una respuesta o ejecutar algún procedimiento de acuerdo al resultado. La sentencia IF actúa como una condición, si esta es verdadera la sentencia se ejecuta, de lo contrario se salta dicha sentencia, continuando así la ejecución del programa que puede involucrar otras sentencias IF que están a continuación de esta.

Condición SÍ

Función 1

NO

Función 2

EJEMPLOS:

La función While (Mientras) permite repetir una acción un numero finito o infinito de veces, siempre que se cumpla una condición. También se le llama Loop (Bucle).

Condición Sí cumple

Función 1

En la paleta completa de la consola NXT encontramos el menú “FLOW” (Flujo) ahí tenemos lo necesario para la programación.

LOOP

IF

Condición SÍ

Función 1

NO

Función 2

NXT-G

Programación: Para programar el NXT, utilizaremos el programa NXT-G.

Controlador NXT

Paleta común

Hace que se muevan los motores del robot. Con este bloque se mueven dos motores al mismo tiempo.

Dirección Potencia Duración

Motores a mover

Este bloque permite grabar movimientos físicos del robot y reproducirlos después, en cualquier parte del programa.

Este bloque permite reproducir sonidos al robot, incluyendo palabras grabadas previamente.

Accion Control Volumen

Este bloque permite visualizar imágenes y texto en la pantalla del NXT, incluso permite dibujar.

Accion

Este bloque hace que el robot espere por un dato de entrada (sensor) o a que transcurra un tiempo determinado.

Tiempo Toque Luz Sonido

Ultrasonico Color

Permite repetir las acciones cuantas veces sea necesario.

Loop

Este bloque permite visualizar imágenes y texto en la pantalla del NXT, incluso permite dibujar.

Paleta completa

En el menú “común” de la paleta completa es la paleta común, que vimos antes.

Los bloques de acción le permiten controlar tipos de comportamiento específico relacionados con varios dispositivos de salida: el servomotor interactivo, los sonidos del NXT, la pantalla del NXT, el Bluetooth (enviar), los motores y las lámparas.

El bloque motor sirve para mover los motores, pero a diferencia del bloque “mover” este mueve de un motor por vez.

Es el mismo bloque de sonidos del menú comun Es el mismo bloque de visualización del menú común

Permite el envió de datos por bluetooth.

Enciende las lámparas led del NXT y cambia los colores.

Aquí se encuentran los bloques correspondientes a los sensores.

Bloque de espera o retraso. Este bloque hace que el robot se detenga esperando el cumplimiento de una acción.

La espera puede depender del tiempo o de la activación de algún sensor.

Todo lo que esta en el interior de este bloque se repite cuantas veces sea necesario, incluso infinitas veces.

Sirve para que el robot tome decisiones a partir de diferentes condiciones. Estas condiciones pueden depender de un sensor o de un estado lógico (verdadero o falso)

Este bloque, detiene al robot.

En este menú se encuentran todos los bloques que nos servirán para el tratamiento de datos.

Entrega un valor lógico (verdadero o falso, 1 o 0) de acuerdo a los datos que ingrenan.

Sirve para realizar operaciones matemáticas; suma, resta, división y multiplicación.

Este bloque compara dos valores, por ejemplo: A<B: A>B: A=B, etc.

Se usa para saber si un valor se encuentra dentro o fuera de un intervalo o rango.

Este bloque genera valores aleatorios.

En este bloque se designa una variable, lógica o numérica, que ira cambiando a medida que transcurra el programa del robot.

A este bloque se le designa un valor constante para ser usado durante el programa.

Este menú contiene funciones avanzadas, del cual solo nos serán útiles, por el momento, los dos primeros bloques.

Este bloque convierte un numero en texto para poder ser mostrado en el display. Por ejemplo la lectura de un sensor.

Se usa para mostrar textos en la pantalla o para escribir textos ya sea para mostrarlos o enviarlos por mensaje vía bluetooth.

Barra Personalizada

En esta barra encontraremos los bloques creados por nosotros y los bloques que se pueden descargar de la pagina de Lego.