COLEGIO AGUSTINIANO CIUDAD SALITRE ÁREA DE TECNOLOGÍA E INFORMÁTICA INFORMÁTICA GUIA TERCER PERIODO GRADO OCTAVO LOGRO: Reconoce los principios básicos de la programación para resolver problemas sencillos utilizando algoritmos, como base para el desarrollo de un programa INDICADORES DE LOGRO: * Distingue la función de los componentes básicos de la programación * Comprende la utilización del pseudocódigo para p ara realizar programas sencillos. programa. * Organiza la información utilizando procedimientos lógicos. * Utiliza los algoritmos como procedimiento base para la elaboración de un de un programa. * Adopta una actitud positiva frente a las actividades propuestas, conforme a los valores agustinianos. *Se esfuerza por superar las dificultades, buscando alternativas de solución. CONTENIDOS: FUNDAMENTOS DE PROGRAMACIÓN 1. Elementos de un programa 2. Estructuras Básicas 3. Lógica de Programación WEBGRAFIA: http://jab687.angelfire.com/diagramas_de_flujo.pdf http://ing.utalca.cl/~rgarrido/recursos/dfd10/manual_dfd.pdf Silvina Caro Pineda, “Lógica de programación”, programación”, segunda edición, Prentice Hall, 2006 Prado Migue, “Guía para el estudiante”, 2001
GUIA DE APOYO PARA EL ESTUDIANTE MANUAL BASICO DE INSTRUCCIONES Y COMANDOS BASICOS Smart DFD es un software desarrollado por el grupo Smart, de la Universidad del Magdalena (Santa Marta, Colombia) para apoyar la enseñanza de la lógica de programación a través de la utilización de los diagramas de flujo. Este manual esta elaborado como apoyo a los laboratorios de los estudiantes de la Asignatura Introducción y programación de los computadores. Es sólo una pequeña recopilación y explicación de algunos comandos utilizados en Clase.
1. LA VENTANA PRINCIPAL DEL SMART DFD 1.0
BARRA DE MENUS BOTONES
AREA DE TRABAJO
La ventana principal de trabajo del Smart DFD 1.0 esta compuesta de los siguientes elementos: Barra de menús Botones de Archivo Botones de Edición Botones de Ejecución Botones de Depuración Botones de Zoom Botones de Objetos Botones de Subprogramas
Aquí encontramos las siguientes opciones:
A. Archivo: Este menú se encarga del manejo del archivo que estemos trabajando. Presenta los siguientes comandos: Nuevo: Para crear un nuevo diagrama DFD. Abrir: Para abrir un diagrama DFD guardado. Guardar: Para guardar el diagrama DFD que se está trabajando. Guardar como: Para guardar con un nombre diferente el diagrama DFD que se está utilizando. Imprimir: Para imprimir el archivo DFD abierto. Salir: Para terminar la sesión en Smart DFD 1.0. B. Edición: Este menú es el encargado de manejar los comandos de Edición del diagrama: Cortar: Para quitar un bloque del diagrama y guardarlo en el portapapeles. Copiar: Para copiar el bloque marcado en el diagrama y guardarlo en el portapapeles. Pegar: Para pegar en el diagrama el bloque guardado en el portapapeles. Eliminar: Para borrar el bloque marcado en el diagrama. Eliminar Subprograma: Para borrar el diagrama correspondiente a un subprograma. Editar Objeto: Para cambiar las propiedades o valores del bloque marcado en el diagrama.
C. Objeto: En este menú se establecen todos los comandos para la inserción de bloques en el diagrama: Cursor: Mantiene activa la opción de puntero del mouse, permitiendo desplazarse dentro del diagrama y marcar bloques. Asignación: Permite insertar un bloque de asignación en el diagrama. Ciclo Mientras: Permite insertar una estructura repetitiva MIENTRAS en el diagrama. CicloPara: Permite insertar una estructura repetitiva PARA en el diagrama. Decisión: Permite insertar una estructura CONDICIONAL en el diagrama. Lectura: Permite insertar una instrucción de lectura de datos por teclado en el diagrama. Llamada: Para insertar la llamada a un subprograma o subrutina dentro del diagrama. Salida: Para insertar la presentación de datos en la pantalla. Nuevo Subprograma: Para abrir la ventana de edición para la elaboración del diagrama de un subprograma o subrutina.
D. Ver: Este menú habilita los siguientes comandos: Zoom: Para ampliar o disminuir la vista general del diagrama. Anterior Subprograma: Para ver el diagrama del anterior subprograma cuando estos existan. Siguiente Subprograma: Para ver el diagrama del siguiente subprograma cuando estos existan. Depurador: Para evaluación de expresiones y tipos de datos.
E. Ejecución: Este menú activa la ejecución del diagrama, contiene los siguientes comandos: Ejecutar: Para iniciar la ejecución del diagrama. Pausar: Para pausar la ejecución del diagrama. Detener: Para interrumpir la ejecución del diagrama.
F. Depuración: Controla las actividades de depuración del diagrama. Se compone de los siguientes comandos: Paso Simple: Evalúa cada instrucción y bloque paso a paso e indica por que camino va el control sobre el diagrama. Ejecutar Hasta: Permite marcar un bloque dentro del diagrama y realizar la ejecución del diagrama solo hasta ese bloque. Detener: Para interrumpir la depuración. Evaluar: Permite evaluar expresiones y datos.
DFD se caracteriza por tener botones que activan comandos. Estos botones y comandos son:
Botón
Comando Nuevo Abrir
Función Crear un nuevo diagrama DFD. Abrir un diagrama DFD existente.
Guardar
Guardar el diagrama DFD que se está trabajando
Imprimir
Imprimir el diagrama DFD que se está trabajando
Cortar
Quitar un bloque del diagrama y guardarlo en el portapapeles
Copiar
Copiar el bloque marcado en el diagrama y guardarlo en el portapapeles Pegar en el diagrama el bloque guardado en el portapapeles
Pegar Eliminar
Borrar el bloque marcado en el diagrama
Botón
Comando Ejecutar
Función Iniciar la ejecución del diagrama
Detener
Interrumpir la ejecución del diagrama
Pausar
Pausar la ejecución del diagrama
Paso Simple Evalúa cada instrucción y bloque paso a paso e indica por que camino va el control sobre el diagrama Ejecutar Realizar la ejecución del diagrama solo hasta el bloque Hasta marcado Depurador Activa el depurador del diagrama Alejar
Reducir la vista del diagrama
Acercar
Ampliar la vista del diagrama
Cursor
Activar el puntero del mouse para desplazarse dentro del diagrama y marcar bloques Insertar un bloque de asignación en el diagrama
Asignación Ciclo Mientras Ciclo Para
Insertar una estructura repetitiva PARA en el diagrama
Decisión
Insertar una estructura CONDICIONAL en el diagrama
Lectura
Insertar una instrucción de lectura de datos por teclado en el diagrama Insertar la presentación de datos en la pantalla
Salida Llamada
Insertar una estructura repetitiva MIENTRAS en el diagrama
Insertar la llamada a un subprograma o subrutina dentro del diagrama Anterior Ver el diagrama del anterior subprograma cuando estos Subprograma existan. Siguiente Ver el diagrama del siguiente subprograma cuando estos Subprograma existan Nuevo Abrir una nueva ventana de edición para la elaboración del Subprograma diagrama de un subprograma o subrutina Borrar el diagrama correspondiente a un subprograma Eliminar Subprograma
FUNDAMENTOS DE PROGRAMACIÓN Pseudocódigo: La palabra Pseudocódigo significa "código falso" y se trata de realizar programas utilizando un lenguaje de programación ficticio. La idea es resolver un algoritmo sin tener que concentrarse en cosas como la sintaxis o la semántica de un lenguaje real. Como el pseudocódigo no es un lenguaje formal, hay diversas varíaciones de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones. El pseudocódigo está estrechamente ligado a los diagramas de flujo (o flujogramas) ya que es el paso intermedio entre un diagrama y un programa funcional.
Dato: Son una representación formalizada de hechos o ideas capaz de ser comunicada y/o manipulada por algún proceso. Según las normas INOR, un dato es una representación de hechos o conceptos, hecha de una manera formalizada, apta para su comunicación, interpretación o elaboración, bien por seres humanos o por medios automáticos. Es decir, los datos, por tanto, denotan los hechos y conceptos sin refinar, expresados en forma de sentencias , y constan de valores y figuras. Un receptor acumula hechos y figuras para su proceso. Los datos comprenden los materiales en bruto, y son los ingredientes para las noticias. Estos ingredientes se recolectan, clasifican e interpretan. Sin este proceso adicional, los datos son de poca utilidad.
TIPOS DE DATOS: Existen dos tipos de datos; simples y estructurados; los primeros solo ocupan un campo de memoria, los segundos se caracterizan por hacer referencia a un grupo de campos de memoria determinados por un solo identificador. Dentro de los datos simples encontramos los siguientes: Numéricos: (Entero y reales) Acepta números negativos y positivos Carácter: Acepta letras y números Lógico: Se representa con un valor verdades o falso.
VARIABLES: Son espacios de memoria donde se almacenan datos que pueden variar durante o al final de la ejecución de un programa. Para nombrar variables utilizamos identificadores, los cuales deben cumplir las siguientes reglas:
1. Todo identificador debe comenzar con una letra. 2. No debe contener caracteres especiales como: $ * ( ) < > , ; 2 - . a excepción del carácter (_) también llamado ralla baja o guión de subrayado. 3. Debe tener un nombre significativo; es decir que indique lo mejor posible el dato o los datos que va a almacenar.
4. El identificador no debe ser demasiado extenso o largo para evitar ambigüedades. CONSTANTES: Son espacios de memoria que pueden almacenar datos que nunca cambian de valor; al igual que las variables requieren de un identificador el cual maneja las mismas reglas mencionadas anteriormente. Ejemplo:
n = 48
La letra indica que esta constante se llamará 48 indica que el valor de la constante es 48.
n a lo largo de todo el programa, y el número
ASIGNACIÓN: Un bloque de asignación es utilizado para asignar valores exactos o expresiones a una variable; es de aclarar que una asignación siempre reemplazará el valor que la variable tenía guardado anteriormente siendo éste reemplazado por el nuevo valor. El formato general de asignación es:
Variable=Expresión o valor En donde Expresión puede ser una sentencia aritmética o lógica o una constante o variable y valor puede ser un dato numérico, alfanumérico o alfabético. Supongamos que tenemos en la memoria una variable con el nombre n. Si quisiéramos almacenar en n el número 5 solamente se debe hacer lo siguiente:
n=5
TIPOS DE DATOS: Existen dos tipos de datos; simples y estructurados; los primeros solo ocupan un campo de memoria, los segundos se caracterizan por hacer referencia a un grupo de campos de memoria determinados por un solo identificador. Dentro de los datos simples encontramos los siguientes: Numéricos: (Entero y reales) Acepta números negativos y positivos Carácter: Acepta letras y números Lógico: Se representa con un valor verdades o falso.
OPERADORES: Aritméticos: Utilizados para realizar operaciones matemáticas. De Relación: Una operación con un operador de relación es aquella que al evaluarla da como resultado un valor lógico (falso o verdadero). Lógicos: Se utilizan para unir expresiones lógicas
Aritméticos
Descripción
Ejemplo
+
Este operador se puede aplicar únicamente para sumar dos datos de tipo numérico.
var a,b,c entero a = 15 b = 35 c = a+b en c quedará 50
-
Este operador se utiliza para ejecutar una resta entre datos de tipo numérico.
var a,b,c entero a = 26 b = 12 c = a-b en c quedará 14
*
Este operador se utiliza para ejecutar multiplicaciones entre datos de tipo numérico.
var a,b,c entero a = 25 b = 30 c = a*b en c quedará 750
/
Este operador divide un dato de tipo numérico entre otro dato de tipo numérico.
var a,b,c, entero a = 50 b = 20 c = a/b en c quedará 2.5
MOD
Este operador devuelve el residuo de una división entre datos de tipo numérico.
var a,b,c entero a = 10 b = 3 c = a MOD b en c quedará 1
^,**
Este operador permite elevar a una potencia un dato de tipo numérico.
var a,b,c entero a = 10 b = 3 c = a ^ b en c quedará 1000
USO DE LOS PARENTESIS: Los operadores ( ^, mod, / y *) tienen mayor jerarquía que el + y el – ; Esto quiere decir que cuando se presenten varios de los operadores dentro de una operación aritmética los operadores (^, mod, / y *) actúan sobre los operándolos primero que los operadores de suma y resta. Ejemplo: c = a + b MOD d no es lo mismo que c = (a + b) MOD d
De relación
Descripción
Ejemplo
==
Igual que
var a,b,c entero a = 15 b = 35 c = (a+10) = = (b+3) en c quedará Falso
>
Mayor que
var a,b,c entero a = 15 b = 35 c = (a+30)>(b+5) en c quedará Verdadero
>=
Mayor o igual que
var a,b,c entero a = 15 b = 35 c = (a+20)>=(b+15) en c quedará Falso
<
Menor que
var a,b,c entero a = 15 b = 35 c = (a+20)<(b+15) en c quedará Verdadero
<=
Menor o igual que
var a,b,c entero a = 15 b = 35 c = (a+20)<=(b+15) en c quedará Verdadero
<>,!=
Diferente que
var a,b,c entero a = 15 b = 35 c = (a+20)<>(b+15) en c quedará Verdadero
Lógicos
Descripción
Ejemplo
AND,OR,NOT
También llamados de unión
var a,b,c,d entero a = 15 b = 35 c = (a+20)<>(b+15) AND (a(b+15) OR (a<>b) en c quedará Verdadero en d quedará Verdadero
Cuando utilicemos operadores lógicos debemos de tener en cuenta ciertas reglas para dar respuestas óptimas. Si el operador lógico es AND (Y), todos las afirmaciones deben ser verdaderas para que devuelva verdadero si alguna es falsa devolverá falso.
a
b
a AND b
V
V
V
V
F
F
F
V
F
F
F
F
Analicemos este ejemplo cotidiano para entender mejor. Hoy es martes, esto es verdad, entonces puedo decir que mañana será miércoles. Como la primera afirmación es verdadera y la segunda también es verdadera, según la tabla anterior la unión de estas dos afirmaciones será verdadera. a : Hoy es martes b : mañana será miércoles
a AND b = verdadero
Planteado de otra forma. a : hoy es martes b : mañana será jueves En este caso la primera afirmación es verdadera pero la segunda es falsa, si observamos nuestra tabla tendríamos.
a AND b = falso
Si el operador lógico es OR (O), si todas las afirmaciones son falsas devolverá falso si al menos una es verdadera devolverá verdadero.
a
b
a OR b
V
V
V
V
F
V
F
V
V
F
F
F
Analicemos este ejemplo cotidiano para entender mejor. Puedo estudiar matemáticas o estudiar ciencias. Si estudio matemáticas la afirmación será verdadera si estudio ciencias la afirmación también será verdadera. a : estudio matemáticas b : estudio ciencias
a OR b = verdadero a : estudio ingles b : estudio ciencias
Según la afirmación inicial puedo estudiar matemáticas o ciencias en este caso se estudia ingles en la primera afirmación (a) seria falsa pera la afirmación b es verdadera, si observamos nuestra tabla tendríamos.
a OR b = verdadero
Tenemos por ultimo al operador lógico NOT, que es la negación de una afirmación. Si utilizamos este operador la afirmación verdadera se convierte en falsa y la afirmación falsa se convierte en verdadera.
a
NOT a
V
F
F
V
Veamos los ejemplos utilizando la negación (NOT) Afuera llueve esta es una afirmación verdadera si utilizo la negación pasara a ser falsa. a : afuera llueve, esto es verdadero si la niego es como si digiera a fuera no llueve que seria falso por que en este momento esta lloviendo.
NOT a = falso
El caso contrario seria afuera se ve el sol esto es falso porque afuera llueve entonces al negarlo sería como decir afuera no se ve el sol. a : afuera se ve el sol, esto es falso al negarlo se convertirá en verdadero.
NOT a = verdadero
Elementos de un programa DIAGRAMA DE FLUJO: Un diagrama de flujo es la representación gráfico de un algoritmo. También se puede decir que es la representación detallada en forma de cómo deben realizarse los pasos en el computador para producir resultados. Esta representación gráfica se da cuando varios símbolos que indican diferentes procesos en el computador, se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.
Condicional:
Al editar el elemento una vez insertado se puede introducir la condición que se va a evaluar, a través de la ventana siguiente:
Esta permite indicar qué rama (izquierda o derecha) va a corresponder al caso CIERTO de la condición. Al pulsar ACEPTAR en esta ventana, automáticamente se incluye el punto de confluencia de ambas ramas (punto de cierre de la estructura), que será el lugar por donde progrese el flujo del algoritmo una vez ejecutada la rama correspondiente. Las condiciones en DFD son expresiones lógicas (que o bien son ciertas o bien falsas), que admiten los operadores habituales:
Operadores de comparación: >, <, >=, <=, =, !=
Operadores lógicos: AND, OR, NOT
Estos últimos permiten anidar varias condiciones simultáneamente para comparar una variable con diferentes datos. En cada una de las ramas se podrán insertar los objetos que se necesiten, igual que en cualquier otra parte del programa. En particular, se pueden insertar nuevas estructuras de selección para dar lugar a la estructura de selección múltiple. En todo momento DFD redibujará la estructura para mantener la legibilidad de la misma.
Objeto Ciclo Para
Su función es ejecutar un bloque de objetos mientras que la variable contadora no alcance el límite establecido por el valor final. El contador es siempre una variable de tipo de dato Real. Contiene además un valor inicial que será asignado al contador, al iniciar la ejecución del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecución continuará a partir del objeto que sigue al Cierre. En caso contrario, se ejecutará el cuerpo del ciclo y el contador será incrementado en el valor indicado por el incremento. El cuadro de diálogo del objeto Ciclo para contiene espacio para la variable contador, valor inicial, valor final y el valor de incremento en su respectivo orden. Ejemplo:
Diagrama de flujo que muestre los múltiplos de 5, hasta 50.
ARREGLOS EN DFD ¿Qué es un arreglo? Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) a una colección de datos del mismo tipo. La variable que representa a todos los elementos. Para hacer referencia a esos elementos es necesario utilizar un índice que especifica el lugar que ocupa cada elemento dentro del archivo. Los arreglos pueden ser de Vectoriales: Cuando “n” elementos organizados en UNA dimensión, donde “n” recibe el nombre de longitud o tamaño del vector. De Matriz son arreglos de M * N elementos organizados en dos dimensiones donde “M” es el
numero de filas o reglones y “N” el numero de columnas. El nombre de un arreglo debe comenzar por una letra seguida de letras, números o el caracter ( _ ). Ejemplo: Vector ( 2 ) , Matriz ( i , j ) , v ( 1, j, ñ, p ) No se tiene en cuenta la diferencia entre mayúsculas y minúsculas para el nombre de un vector; es decir, VECTOR(2) equivale a vector(2). Dfd soporta arreglos n‐dimensionales de cualquier tipo de dato. Ejemplos:
A) Diagrama de flujo donde el usuario diga el número de valores y los valores del vector y los muestre. B) Diagrama de flujo donde el usuario diga el número de filas y columnas de una Matriz, digite los valores y los muestre.
A)
B)
EJERCICIO
Construir un diagrama de flujo que pida a un alumno tres notas, calcule su promedio, si el promedio es menor a 3 envié un mensaje “debes repetir la materia”, si el promedio es igual o mayor 3 envié un mensaje “pasaste la materia” SUBPROGRAMAS
El cuadro de diálogo del objeto Subprograma contiene un espacio para la descripción o comentarios acerca del mismo ; contiene un espacio para el nombre del subprograma y un espacio para los parámetros. Estos parámetros (si existen) deben estar separados por comas. El nombre de un subprograma debe comenzar por una letra seguida de letras, números ó el caracter ( _ ). Ejemplo : Factorial , Leer , Sub1 , sub_programa. No se tiene en cuenta la diferencia entre mayúsculas y minúsculas para el nombre de un subprograma, es decir , SUB equivale a sub.
Paso de Argumentos a Subprogramas
En Dfd un argumento es pasado por referencia cuando es un nombre de variable o arreglo sin ningún operador que lo acompañe; esto quiere decir que los cambios efectuados a la variable o arreglo dentro del subprograma invocado serán reflejados en el subprograma que realizó la llamada. En cualquier otro caso será pasado solo el valor del argumento; esto quiere decir que
los cambios efectuados al parámetro que recibe el valor del argumento en el subprograma invocado, no se reflejarán en el subprograma que hizo la llamada.
El siguiente ejemplo ilustra los dos casos.
EJERCICIOS PROPUESTOS EN CLASE
1. Mostrar su Nombre y su Apellido
2. 3. 4. 5. 6.
Se ingresan Se ingresan Se ingresan Se ingresan Se ingresan resultado. 7. Se ingresan 8. Se ingresan 9. Se ingresan resultados.
uno número cualquiera, mostrarlo. tres números cualquiera, mostrarlos. dos números calcular la suma, mostrar resultado. dos números calcular la resta., mostrar resultado. dos números calcular la multiplicación, mostrar dos números calcular la división, mostrar resultado. diez números calcular la suma, mostrar resultado. diez números calcular la suma y la resta, mostrar
10. Sumar 2 + 2 y mostrar el resultado (por pantalla) 11. Sumar 2 números cualesquiera. 12. Dados 2 números, estar en capacidad de sumarlos, restarlos, multiplicarlos y dividirlos. 13. Dados los coeficientes de una Ecuación de 2do Grado, calcular y mostrar x1 y x2. 14. Calcular la Serie de Fibonacci hasta un número dado. 15. Calcular la edad a)Fácil: al introducir sólo el año de nacimiento b)Mediano: al introducir el mes y año de nacimiento c)Complejo: al introducir el día, mes y año de nacimiento 16. Calcular la nota definitiva para 5 alumnos, tomando en cuenta las ponderaciones siguientes: Saber Ser: 20% ( Nota de la auto evaluación y la nota del evaluación docente) Saber Saber: 40% ( 4 notas) Saber Hacer: 40% ( 4notas). o
o o
17. 18.
Calcular los números primos en un rango dado. Calcular la suma de todos los números enteros impares, en un rango dado.