You are on page 1of 24

Comunicacin Multimedial 1er.

Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Introduccin a la Programacin Los problemas o tareas que se plantean diariamente, en diferentes mbitos pueden ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual de las personas. La utilizacin de la computadora para la realizacin automtica de una tarea aporta grandes ventajas, como la rapidez en la ejecucin y la fiabilidad de los resultados obtenidos. Un buen nmero de problemas conllevan complicados clculos, as como el manejo de grandes cantidades de datos. En el primer caso, el riesgo de equivocarse es grande y en el segundo el trabajo se convierte en pesado y rutinario. Mediante el uso de la computadora se eliminan estos inconvenientes debido a las capacidades de la mquina, basadas en las siguientes caractersticas: Rapidez Precisin Memoria

No obstante, la computadora por s sola no sabra resolver ni el ms sencillo problema. Un problema planteado puede tener ms de una solucin. Ciclo de vida del software Desde el planteamiento de un problema o tarea hasta que se tiene el correspondiente programa o aplicacin informtico para su realizacin por medio de una computadora, instalado en la misma y en funcionamiento mientras sea de utilidad, se sigue una serie de etapas que en conjunto denominamos ciclo de vida del software. Cada una de las etapas, que tiene un objetivo bien determinado, ha de llevarse a cabo cuando se ha terminado completamente la anterior, es decir, se han de abordar de forma estrictamente secuencial Un programa es un algoritmo hecho para ser ejecutado por una computadora. Un algoritmo se entiende como una sucesin finita de pasos que debe cumplir las siguientes especificaciones:

Cada paso del algoritmo debe estar bien definido: Esto significa que la definicin de un paso debe ser suficientemente clara, para que una persona pueda entenderla y realizarla. Debemos apelar al sentido comn para decidir que un paso est especificado sin ambigedades. Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo escrito con un objetivo: conseguir un resultado.

Concepto de Algoritmo: El algoritmo trata de resolver problemas mediante programas. Fases:


Anlisis preliminar o evaluacin del problema: Estudiar el problema en general y ver que parte nos interesa. Definicin o anlisis del problema: Ver que es lo que entra y que es lo que sale, las posibles condiciones o restricciones. Diseo del algoritmo: Disear la solucin. El programa: Codificacin del algoritmo en un lenguaje de programacin. Ejecucin del programa y las pruebas: Ver si el programa hace lo que queramos.
1

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Qu es un algoritmo?: Es una frmula para resolver un problema. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema. Caractersticas:

Tiene que ser preciso. Tiene que estar bien definido. Tiene que ser finito.

La programacin es adaptar el algoritmo a la computadora. El algoritmo es independiente segn donde lo implemente. El lenguaje de programacin: Existen diferentes tipos, de bajo nivel y de alto nivel. Instrucciones en una computadora y sus tipos: Una instruccin es cada paso de un algoritmo, pero que lo ejecuta la computadora. Un programa es un conjunto de instrucciones que ejecutadas ordenadamente resuelven un problema Tipos de instrucciones:

E/S: Pasar informacin del exterior al interior de la computadora y al revs. Aritmtico-lgicas: Aritmticas: +,-,*,... ; Lgicas: or, and, <, >, ... Selectivas: Permiten la seleccin de una alternativa en funcin de una condicin. Repetitivas: Repeticin de un nmero de instrucciones un nmero finito de veces.

Tipos de lenguajes: Lenguaje mquina: Todo se programa con 1 y 0, que es lo nico que entiende la computadora. Ventaja: No necesita ser traducido. Inconveniente: La dificultad, para corregir errores, es propia de cada mquina. De bajo nivel o ensamblador: Se utilizan mnemotcnicos (abreviaturas). Ventaja: No es tan difcil como el lenguaje mquina. Inconvenientes: Cada mquina tiene su propio lenguaje, necesitamos un proceso de traduccin. El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al ensamblarlo se llama programa objeto. Lenguajes de alto nivel: Los ms cercanos al lenguaje humano. Ventaja: Son independientes de cada mquina (los compiladores aceptan las instrucciones estndar, pero tambin tienen instrucciones propias). Inconveniente: El proceso de traduccin es muy largo y ocupa ms recursos. Aprovecha menos los recursos internos.
2

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Etapas a cumplir en la resolucin de problemas: 1) Formulacin o enunciacin del problema: Un problema debe ser formulado en forma correcta, completa y sin ambigedades. 2) Eleccin de un mtodo o procedimiento. En nuestro caso vamos a utilizar un mtodo denominado Top Down, que significa de lo general a lo particular, de arriba abajo. 3) Determinacin de los recursos. Es el conjunto de todos los recursos necesarios para la ejecucin de un trabajo. 4) Diseo del algoritmo. 5) Algoritmo: es una secuencia ordenada de acciones primitivas que pueden ser ejecutadas por un procesador y, que lleve a la solucin de un problema dado. 6) Accin primitiva: Es un enunciado suficiente para que un determinado procesador pueda ejecutarla sin informacin adicional. 7) Procesador: Toda entidad capaz de comprender un enunciado y ejecutar el trabajo indicado en el mismo. 8) Prueba de escritorio. Consiste en probar paso a paso el Algoritmo. En caso de encontrarse un error, debemos volver al Algoritmo para corregirlo. Una vez corregido, volvemos a realizar la prueba de escritorio. 9) Codificacin: Consiste en expresar el mtodo o procedimiento elegido de forma tal, que pueda ser interpretado por el procesador que va a utilizarse. 10) Ejecucin del procedimiento. Radica en ejecutar la codificacin, realizando una prueba de escritorio igual a la ya realizada o ampliada, para reducir el margen de error. 11) Depuracin. Consiste en corregir los errores encontrados en la ejecucin del procedimiento. Tambin se realiza un mejoramiento de las pantallas que va a utilizar el usuario. Veamos cmo resolver un ejercicio, aplicando las etapas de la resolucin de problemas. Ejercicio N 1 Sumar los nmeros 133, 65 y 12 usando una calculadora de bolsillo. 1) Formulacin o enunciacin del problema: El problema est formulado en el enunciado del ejercicio. Aunque es de destacar que contiene ambigedades, ya que no se especifica si la calculadora est encendida o apagada; si es cientfica o estndar. 2) Eleccin de un mtodo o procedimiento. Vamos a aplicar el mtodo Top Down. 3) Determinacin del Ambiente. Una calculadora de bolsillo. Nmeros 133, 65 y 12. 4) Diseo del algoritmo. Las instrucciones necesarias para resolver este ejercicio, depender de la persona (que de acuerdo a lo expresado sera el procesador), que tiene que resolver el problema planteado.
3

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Por ejemplo si el ejercicio lo tiene que resolver un nio de 14 aos de edad, que utiliza la calculadora en forma permanente. Bastar con indicarle: 1) Suma los nmeros 133, 65 y 12. 2) Obtiene el resultado total. Para el procesador definido (nio de 14 aos), tanto el tem 1, como el 2, son las acciones primitivas, ya que puede realizarlas sin informacin adicional. Cambiemos el procesador. Ahora el ejercicio lo tiene que resolver un nio de 7 aos, que tiene la caracterstica que conoce los nmeros del 0 al 9, e identifica el signo + y el signo =. Como podemos apreciar, el nio de 7 aos necesita ms informacin que los tem 1 y 2. Por lo tanto, estos tem dejaron de ser acciones primitivas, para transformarse en acciones. Accin: Es un evento que modifica el ambiente de un estado inicial a un estado final. Las acciones se deben ejecutar en el orden en que aparecen en el enunciado del procedimiento. El Algoritmo necesario para que un nio de 7 aos, resuelva el ejercicio podra ser: 1) Suma los nmeros 133, 65 y 12. 2) Obtiene el resultado total. 1.1. Puls el nmero 1 1.2. Puls el nmero 3 1.3. Puls el nmero 3 1.4. Puls el signo + 1.5. Puls el nmero 6 1.6. Puls el nmero 5 1.7. Puls el signo + 1.8. Puls el nmero 1 1.8. Puls el nmero 2 2.1. Puls el signo = Evidentemente tuvimos que detallar ms en el caso del nio de 7 aos que en el de 14 aos. Habamos dicho que el mtodo Top Down, va de lo general a lo particular. Observen que los tem 1 y 2 son mucho ms generales que los tem que van del 1.1 al 2.1. La idea es que una vez que hemos definido cuales son las acciones que debemos realizar, nos empezamos a preocupar por resolver cada una de dichas acciones, sin tener que preocuparnos por las otras. En este ejercicio vamos a suponer que la calculadora est encendida y lista para ser usada. 5) Prueba de escritorio. En este caso, debemos tomar una calculadora e ir presionando cada uno de los botones para ver si dicho Algoritmo, resuelve el problema planteado. 6) Codificacin: A partir de este paso, debemos traducir el Algoritmo en algn lenguaje de programacin como por ejemplo Pascal. Ejercicio para resolver en casa Preparar una tortilla de papas con cuatro huevos.
4

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Dejo este ejercicio para que ustedes lo resuelvan. Debemos recordar que para un mismo problema existe ms de una solucin (esto lo vemos a diario en la vida cotidiana). La clave est en decidir cul de las soluciones planteadas es la mejor. Consideren primero que indicaciones tendran que darle a una persona que sabe cocinar, pero que nunca hizo una tortilla de papas con cuatro huevos y a continuacin, piensen las indicaciones que deberan darle a una persona que no sabe cocinar. Ejercicio N 2 Se desea repartir entre cuatro nios, caramelos de frutilla, menta y anan contenidos en una bolsa no transparente. La persona que deber repartir los caramelos (el procesador), para evitar disputas, dar a cada nio la misma cantidad de caramelos de cada gusto. Para ejecutar el trabajo, el procesador dispone del siguiente ambiente: Cuatro nios. Una bolsa conteniendo los caramelos de frutilla, menta y anan. Tres cajas: una para contener los caramelos de frutilla, otra los de menta y, otra los de anan. Las acciones primitivas que interpreta el procesador son: Tomar un caramelo de la bolsa. Poner un caramelo en la caja del gusto correspondiente. Tomar 4 caramelos de una caja y distribuirlos. Las condiciones que interpreta el procesador son: Bolsa vaca. Una caja contiene menos de cuatro caramelos. Aparece un trmino nuevo que es condicin Condicin: Es una afirmacin lgica sobre el estado del problema que puede ser cierta o falsa, en el momento de la observacin. 1) Formulacin o enunciacin del problema: El problema est formulado en el enunciado del ejercicio. Consiste en repartir en partes iguales, entre cuatro nios, caramelos de tres gustos. 2) Eleccin de un mtodo o procedimiento. Vamos a aplicar el mtodo Top Down. 3) Determinacin del Ambiente. Cuatro nios. Una bolsa conteniendo los caramelos de frutilla, menta y anan. Tres cajas: una para contener los caramelos de frutilla, otra los de menta y, otra los de anan. 3) Diseo del algoritmo. Definamos primero cuales son las acciones que debemos relizar Separar los caramelos por gustos. Repartir los caramelos de frutilla. Repartir los caramelos de menta. Repartir los caramelos de anan.
5

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

1.1. Tomar un caramelo de la bolsa. 1.2. Poner un caramelo en la caja del gusto correspondiente. En este momento nos encontramos con la dificultad de que no sabemos cuntos caramelos hay en la bolsa, ya que depender de la cantidad de caramelos que contenga para que se repitan los tem 1.1 y 1.2. Necesitamos de una herramienta que nos permita repetir una cantidad de veces (determinada o no) dichos tem. A dicha herramienta se la denomina: Estructura de Control de repeticin. Una Estructura de Control de repeticin permite, repetir una cantidad de veces (determinada o no), una o varias acciones primitivas. Tipos de Estructuras de Control de repeticin: Repetir hasta que La sintaxis es la siguiente: repetir 1.1. accin primitiva 1.2. accin primitiva hasta que (condicin) Observen que los elementos componentes de la Estructura de Control de repeticin no llevan numeracin. Otra cosa que se puede observar es que la estructura se abre con repetir y se cierra con hasta que se cumpla una condicin. En el caso de nuestro Algoritmo quedara: repetir 1.1. Tomar un caramelo de la bolsa. 1.2. Poner un caramelo en la caja del gusto correspondiente. hasta que Bolsa vaca. Esto se interpreta que se repiten las acciones primitivas hasta que la bolsa est vaca. Con esta condicin, no interesa cuntos caramelos hay en la bolsa, ya que esta repeticin terminar cuando no existan ms caramelos en la bolsa. Mientras hacer finmientras La sintaxis es la siguiente: Mientras (condicin) hacer 1.1. accin primitiva 1.2. accin primitiva Finmientras En la Estructura de Control de repeticin mientras, tampoco llevan numeracin los elementos que arman la estructura. Otra cosa que se puede observar es que la estructura se abre con mientras condicin, y se cierra con finmientras. En el caso de nuestro Algoritmo quedara: Mientras Bolsa no vaca hacer 1.1. Tomar un caramelo de la bolsa. 1.2. Poner un caramelo en la caja del gusto correspondiente. Finmientras
6

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ac se repiten las acciones primitivas mientras que la bolsa no est vaca. Al igual que en la estructura anterior, no interesa cuntos caramelos hay en la bolsa, ya que esta repeticin terminar cuando no existan ms caramelos en la bolsa. La diferencia entre una estructura y la otra, es que en la estructura repetir, la condicin se chequea cuando por lo menos pas una vez por el ciclo. En cambio, en la estructura mientras, primero se chequea la condicin, si esta se cumple se entra en el ciclo, si no se cumple se sale del ciclo. Aparentemente la diferencia no es tan importante, pero vamos a demostrar que s lo es. En nuestro ejercicio, ya se sabe que la bolsa no est vaca, con lo cual no hay ningn inconveniente en que se realicen las acciones primitivas una vez para luego verificar si se cumple la condicin. Pero, supongamos que la bolsa est vaca al principio, si usamos la estructura repetir, cuando quiera realizar la primera accin primitiva (Tomar un caramelo de la bolsa), no va a encontrar ningn caramelo, con lo cual el procesador se va a quedar tildado (imaginemos que sea un robot el que quiera cumplir con esta orden). Evidentemente ante la duda de que la bolsa pueda estar vaca al comienzo, se debe usar la estructura mientras, ya que si est vaca, no se ejecutar la accin primitiva. Ahora sigamos resolviendo nuestro Algoritmo: 1) Separar los caramelos por gustos. 2) Repartir los caramelos de frutilla. 3) Repartir los caramelos de menta. 4) Repartir los caramelos de anan. Mientras bolsa no vaca hacer 1.1. Tomar un caramelo de la bolsa. 1.2. Poner un caramelo en la caja del gusto correspondiente. Finmientras Mientras caja de frutilla no contiene menos de cuatro caramelos hacer 2.1.Tomar 4 caramelos de la caja y distribuirlos. Finmientras Mientras caja de menta no contiene menos de cuatro caramelos hacer 3.1.Tomar 4 caramelos de la caja y distribuirlos. Finmientras Mientras caja de anan no contiene menos de cuatro caramelos hacer 4.1.Tomar 4 caramelos de la caja y distribuirlos. Finmientras 4) Prueba de escritorio. Probar las combinaciones posibles, donde se tiene que tener en cuenta que algunos gustos tengan cuatro o mltiplo de cuatro caramelos y el resto de los gustos no cumplan con esta condicin. Ejercicio N 3 Disear un algoritmo para cambiar una lamparita quemada de un artefacto suspendido del techo.
7

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ambiente: - Lamparita quemada. - Lamparita nueva. - Escalera. Acciones primitivas: Situar la escalera debajo del artefacto que tiene la lamparita quemada. Subir un peldao de la escalera. Bajar un peldao de la escalera. Dar un giro a la lamparita. Poner lamparita. Sacar lamparita. Condiciones: - La mano alcanza la lamparita. - Llegar al piso. - Lamparita suelta. - Lamparita ajustada. Algoritmo 1) Alcanzar el artefacto. 2) Cambiar la lamparita quemada por una nueva. 3) Volver al piso. 1.1) Situar la escalera debajo del artefacto que tiene la lamparita quemada. Repetir 1.2. Subir un peldao de la escalera. Hasta que la mano alcance la lamparita. Repetir 2.1. Dar un giro a la lamparita. Hasta que lamparita suelta. 2.2. Sacar lamparita. 2.3. Poner lamparita. Repetir 2.4. Dar un giro a la lamparita. Hasta que lamparita ajustada. Repetir 3.1. Bajar un peldao de la escalera. Hasta que llegue al piso.

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ejercicio para resolver en casa Calcular la media aritmtica de tres nmeros con una calculadora de bolsillo. Estructura de decisin. Ejercicio N 4 Describir el procesador (acciones primitivas y condiciones) y el ambiente para desarrollar el algoritmo que resuelva el siguiente problema: Buscar el rey de copas en un mazo de naipes. Ambiente Mazo de naipes Acciones primitivas Mezclar los naipes Tomar un naipe. Dejar el naipe. Informar que encontr el rey de copas. Informar que no encontr el rey de copas. Condicin Es el rey de copas La resolucin del ejercicio podra ser de la siguiente manera: 1) Preparar cartas. 2) Determinar si se encuentra el rey de copas en el mazo de naipes. 3) Informar el resultado 1.1) Mezclar los naipes. 2.1 Tomar un naipe. Mientras no sea el rey de copas 2.2 Dejar un naipe 2.3 Tomar un naipe. Finmientras 3.1 Informar que encontr el rey de copas. En principio podemos decir que nuestro problema ha sido resuelto. Pero si realizamos la prueba de escritorio, teniendo en cuenta las distintas alternativas, nos va a ocurrir lo siguiente: Suponiendo que est el rey de copas: Funciona correctamente, ya que el ciclo se repite hasta que encuentra el rey de copas, y luego informa que encontr el rey de copas. Suponiendo que no se encuentra el rey de copas: Esto es factible, ya que en el ambiente no figura que el mazo contiene el rey de copas. Por lo tanto lo que va a ocurrir, es que en la ejecucin, el procesador no va a salir del ciclo de repeticin, o sea podemos decir que el algoritmo realizado no es la solucin ms conveniente.
9

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Vamos a necesitar contar con una herramienta que se denomina Estructura de control de decisin. Dicha estructura determina si la condicin es verdadera (o no), y brinda las opciones correspondientes. Sintaxis de la Estructura de control de decisin Si: Si (condicin) entonces alternativa verdadera (accin primitiva) alternativa verdadera (accin primitiva) sino alternativa falsa (accin primitiva) alternativa falsa (accin primitiva) finsi Dada una condicin, la estructura Si determina si dicha condicin es verdadera, si esto es afirmativo, el procesador ejecuta las acciones primitivas que se encuentran entre el entonces y el sino. Si, por el contrario, dicha condicin es falsa, el procesador ejecutar las acciones primitivas que se encuentran entre el sino y el finsi. Cuando uno utiliza una Estructura de control de decisin Si, la alternativa falsa puede no estar, con lo cual la estructura Si quedara: Si (condicin) entonces alternativa verdadera (accin primitiva) alternativa verdadera (accin primitiva) finsi Veamos como queda ahora la resolucin del ejercicio con esta estructura 1) Preparar cartas. 2) Determinar si se encuentra el rey de copas en el mazo de naipes. 3) Informar el resultado 1.1 Mezclar los naipes. 2.1 Tomar un naipe. Mientras haya cartas Si es el rey de copas Entonces 2.2 Informar que encontr el rey de copas. Finsi 2.3 Dejar un naipe 2.4 Tomar un naipe. Finmientras 3.1 Informar que no encontr el rey de copas.
10

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Podemos observar que las Estructuras no se cruzan, o sea, la estructura Mientras se abre primera y se cierra ltima, mientras que la estructura Si, que se abre despus que la estructura Mientras, es la primera que se cierra. Uno puede utilizar ms de una estructura (inclusive del mismo tipo), en un mismo Algoritmo. Observen que apareci una nueva condicin, que es que haya cartas. Esta condicin se debe agregar al Ambiente. Ejercicio para resolver en casa De un mazo de cartas espaolas se desean formar cuatro pilas, una para cada palo, teniendo en cuenta que solo se puede mirar de una carta por vez. Constantes y Variables Constante: Es un objeto cuyo valor no puede variar. Variable: Es un objeto cuyo valor puede variar y que posee adems los siguientes atributos: Un nombre que lo designa: Este debe comenzar con una letra y no debe contener espacios. Se debe buscar que el nombre de la variable, de una referencia para que sirve dicha variable. Por ejemplo Apellido. Un tipo que describe el uso de la variable: Los tipos de datos pueden ser: Tipo numrico: Es el conjunto de valores numricos. Se representan de dos formas muy distintas: Tipo numrico entero: Son todos los nmeros enteros comprendidos entre el nmero mnimo y el nmero mximo que acepta el computador. Tipo numrico real: Siempre tienen un punto decimal. Las fracciones se almacenan como nmeros decimales porque no existe forma de almacenar numeradores y denominadores por separado. Tipo lgico: Tambin llamado tipo Booleano, es el conjunto de los dos valores lgicos verdadero (v) y falso (f). Tipo carcter: A este conjunto pertenecen las letras del alfabeto y los nmeros del 0 al 9, tomados como letras, es decir, no se pueden realizar operaciones aritmticas. Cuando se asigna a una variable o a una constante un grupo de caracteres, este se debe ingresar entre apstrofes. El concepto de variable se puede analizar comparndola a un casillero de una oficina de correos. Evidentemente para poder guardar (y posteriormente recuperar la informacin), dichas casillas deben contener un nombre para poder identificarlas. Una variable no puede guardar ms de un dato a la vez. Es por eso que si guardamos un dato en una variable que ya contena un dato, este se perder, y la variable pasar a contener el ltimo dato ingresado.

11

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Expresiones aritmticas Para las expresiones aritmticas, se utilizan los operadores aritmticos que son: + (suma) - (resta) * (producto) / (divisin) ^ (potenciacin) Las expresiones se evalan de la siguiente manera: Regla 1: Todas las cantidades que estn encerradas entre parntesis se evalan primero. Regla 2: Las operaciones aritmticas se ejecutan de acuerdo con el siguiente orden: Potenciacin. *, / de izquierda a derecha. +, - de izquierda a derecha. Accin de asignar: Para asignar un dato a una variable, se utiliza la siguiente notacin: V E (Asignamos a V el valor de E) V 1 (Asignamos a V el valor 1) V 2*x+1 (Asignamos a V el resultado de la operacin 2*x+1) Ingreso y salida de datos Entrada de datos: Para ingresar un dato se utiliza la accin primitiva leer seguida del nombre de la variable. Esta accin primitiva detiene la ejecucin del Algoritmo, hasta que se ingrese un dato. Dicho dato es guardado en la variable que figura al lado de la accin primitiva. Leer apellido Si se desea ingresar ms de un dato, se separan los nombres de la variable por una coma. Leer apellido, nombre, edad Tengamos en cuenta que en un Algoritmo, todas las variables que no son ingresadas con la accin primitiva Leer, o que no son asignadas en medio del Algoritmo (por ejemplo A B), tienen que tener asignada un valor inicial (en general 0, si es numrica, o vaco, si es carcter). Salida de datos: Para mostrar un dato se utiliza la accin primitiva escribir seguida del nombre de la variable. Si se desea mostrar ms de un dato se separa con coma. Escribir apellido, nombre, edad Funciones internas Existe otro conjunto de operadores especiales que se denominan funciones internas. Estas son: ABS RC EXP SEN COS TAN REDON Valor absoluto. Raz cuadrada. Exponencial (base e). Seno. Coseno. Tangente. Redondeo.

En las funciones trigonomtricas el argumento debe expresarse en radianes.


12

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ejercicio N 5 Intercambiar los valores de dos variables numricas. Como definir una variable en el ambiente: Ambiente VARIABLES A DESCRIPCION Variable de tipo numrico cuyo valor ser intercambiado

Observe que en la descripcin se debe colocar el tipo de dato que corresponde a la variable, y una breve descripcin de para qu sirve. Para resolver el problema planteado, pensemos como haramos si tenemos dos vasos llenos, donde uno contiene agua y el otro una gaseosa. Evidentemente no podemos volcar el contenido de un vaso en otro, ya que se derramara parte del lquido, por eso vamos a necesitar usar un tercer recipiente. En nuestro caso utilizaremos una tercer variable. Ambiente Variables A B C Resolucin 1) Ingresar datos. 2) Intercambiar datos. 3) Mostrar las variables A y B 1.1Leer A, B 2.1 C A 2.2 A B 2.3 B C 3.1 Escribir A, B Realizar la prueba de escritorio, para verificar si el Algoritmo que acabamos de realizar, funciona correctamente. Ejercicio N 6 En un curso de Ciencias de la Computacin, la calificacin final del estudiante se determina a partir del rendimiento en tres aspectos del trabajo cuatrimestral. Existe una calificacin de exmenes parciales, que cuenta con 30 % del total; la calificacin de trabajo de taller con 20 % del total; y el examen final con el 50 % restante. Disear un algoritmo para calcular la calificacin final de un estudiante. Si bien, podemos calcular la calificacin final directamente en un solo paso, vamos a realizarlo en varios, para que se pueda apreciar la forma de trabajar con variables. DESCRIPCION Variable de tipo numrica real, que contendr el primer dato ingresado. Variable de tipo numrica real, que contendr el segundo dato ingresado. Variable de tipo numrica real, usada para poder intercambiar los valores.

13

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ambiente VARIABLE Estudiante Notaparcial Notataller Notafinal Vaparcial Vataller Vafinal Califinal DESCRIPCIN Variable de tipo caracter, que contendr el nombre del estudiante. Variable de tipo numrica real, que contendr la nota del examen parcial. Variable de tipo numrica real, que contendr la nota del trabajo de taller. Variable de tipo numrica real, que contendr la nota del examen final. Variable de tipo numrica real, donde se almacena el 30 % de la nota del examen parcial. Variable de tipo numrica real, donde se almacena el 20 % de la nota del trabajo de taller. Variable de tipo numrica real, donde se almacena el 50 % de la nota del examen final. Variable de tipo numrica real, donde se almacena la calificacin final.

1) Ingreso de datos. 2) Determinar la calificacin final. 3) Informar la calificacin final obtenida 1.1 Escribir Ingrese el Nombre del alumno y las tres calificaciones correspondientes. 1.2 Leer Estudiante, Notaparcial, Notataller, Notafinal 2.1 Vaparcial 30 * Notaparcial / 100 2.2 Vataller 20 * Notataller / 100 2.3 Vafinal 50 * Notafinal / 100 2.4 Califinal Vaparcial + Vataller + Vafinal 3.1 Escribir El alumno Estudiante 3.2 Escribir Tuvo como calificacin final, la nota de califinal Observar que cuando se mostr una leyenda (como por ejemplo El alumno), esta se escribi entre comillas. En cambio cuando se quiere mostrar el contenido de una variable, esta se coloca sin comillas. Realizar la prueba de escritorio, para determinar si el Algoritmo, funciona correctamente. Ejercicio para resolver en casa Determinar el Ambiente, el Algoritmo y realizar la prueba de escritorio, del siguiente ejercicio: Una compaa de ventas de automviles paga, a su personal de la seccin de ventas, un salario de 300 pesos, ms una comisin de 20 pesos por automvil vendido, ms 5 % del valor de venta. Disear un algoritmo para calcular el salario de un vendedor en un mes dado, conociendo el nmero de automviles vendidos y el precio de cada uno de estos.
14

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Predicado elemental Un predicado elemental, tambin llamado propiedad o condicin, es un enunciado verdadero para ciertos elementos y falso para todos los otros. En programacin, la mayora de las operaciones, dependen de la evaluacin de una condicin, es decir del valor del predicado elemental. Para expresar un predicado elemental, a menudo se escribe una comparacin entre dos valores del mismo tipo. Para las comparaciones de valores de tipo numrico o carcter, se utilizan los siguientes operadores: Operador Relacional = < <= > >= <> significado igual menor menor o igual mayor mayor o igual distinto

Para la comparacin de valores lgicos se utilizan slo los operadores = y <>. Para las cadenas de caracteres, la comparacin se efecta de izquierda a derecha como en un diccionario. De esta manera, la constante TOMAS es menor que la constante TOMATE. Los predicados elementales pueden combinarse, mediante conectores u operadores lgicos, para formar predicados compuestos. Estos operadores son los siguientes: OPERADOR LOGICO y o no SIGNIFICADO Conjuncin Disyuncin-inclusiva Negacin

La evaluacin de predicados compuestos, llamados tambin, expresiones lgicas, siguen las leyes lgicas (Algebra Booleana). Para evaluar expresiones lgicas se recurre a las tablas de verdad que son las siguientes: P v v f f Q v f v f PyQ v f f f PoQ v v v f no P f f v v
15

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Para aquellos que nunca vieron lgica, o no han trabajado con las tablas de verdad, P simboliza una expresin y Q simboliza a otra expresin. Por ejemplo: P= Esta lloviendo. Q= Esta granizando. Si observamos la tabla de verdad se interpreta de la siguiente manera: P y Q: Para que esta expresin compuesta sea verdadera, tanto la expresin P como la expresin Q, tienen que ser verdaderas. Cuando una de las dos expresiones es falsa, automticamente la expresin compuesta es falsa. P o Q: En este caso se da la inversa que en el caso anterior, ya que en el nico caso en que la expresin compuesta es falsa, es cuando ambas expresiones son falsas. No P Sencillamente es la negacin de la expresin. Una condicin que, matemticamente, se escribe A < B < C, en programacin se escribe (A < B) y (B < C). Concatenacin Una operacin bsica con cadenas de caracteres consiste en tomar dos cadenas y reunirlas en una sola. Esta operacin se denomina Concatenacin. Indicaremos al operador de concatenacin, con el smbolo //. Por ejemplo, si se tienen dos cadenas de caracteres: DON y CELLA, el resultado de la operacin: DON // CELLA es DONCELLA

Ejercicio N 7 Se ingresan diez nmeros. Determinar e informar cual es el mayor. Para poder resolver este ejercicio, necesitamos conocer otra herramienta que es el uso de contadores. Habamos visto que si a una variable que ya tena asignada un valor, se le asigna otro valor, la variable siempre se queda con el ltimo valor ingresado. Vamos a aprovechar esta caracterstica de la siguiente manera: Repetir A A +1 Hasta que A = 10 Si analizamos lo que acabamos de escribir, la idea que al valor que tenga la variable A se le vaya incrementando uno por cada vuelta en el ciclo. Pero, cometimos un error: cul es el valor inicial de la variable A?. Efectivamente, no hemos declarado cual es el valor inicial de A. Veamos cmo queda al escribirlo correctamente: 1.1 A 0 Repetir A A +1 Hasta que A = 10
16

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Ahora s, el Algoritmo funciona, ya que el valor inicial de A es 0 (podra haber sido cualquier nmero, con la nica condicin de que sea menor a 10). En conclusin, si a una variable se le suma (o se le resta, si queremos que el contador vaya decreciendo), un valor constante, y a dicho resultado se lo guarda en la misma variable, estamos en presencia de un contador. Qu pasara si en lugar de incrementar un valor constante, se le suma otra variable?. Veamos un algoritmo de ejemplo: A0 C0 Repetir 1.3 Leer B 1.4 A A + 1 1.5 C C + B Hasta que A = 5 A diferencia del contador, lo que hace ahora, es sumar el valor de la variable C a la variable B, y lo guarda en la variable C. Esto se conoce con el nombre de acumulador. Resolvamos el ejercicio planteado: Ambiente VARIABLE Numero Mayor Contador DESCRIPCION Variable de tipo numrica real, que contendr el nmero ingresado. Variable de tipo numrica real, donde se almacena el nmero mayor. Variable de tipo numrica entera, que permite contar la cantidad de nmeros ingresados.

1) Ingreso de datos. 2) Determinar el nmero mayor. 3) Informar el nmero mayor. 1.1 Contador 1 1.2 Leer Numero 1.3 Mayor Numero Repetir 2.1 Leer Numero Si Numero > Mayor Entonces 2.2 Mayor Numero Finsi 2.3 Contador Contador + 1 Hasta que Contador = 10 3.1 Escribir El nmero mayor fue Mayor
17

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Vamos a realizar la prueba de escritorio. Para ello tenemos que tener en cuenta el cambio en cada una de las variables. Contador 1 1 2 3 4 5 6 7 8 9 10 Numero 4 3 7 6 7 9 1 6 15 5 Sale del ciclo Mayor 4 4 7 7 7 9 9 9 15 15

Observe que primero se lee un nmero fuera del ciclo. Esto se debe a que queremos asignar a la variable mayor, el primer nmero ledo. Como a priori no sabemos entre que rango (nmero superior y nmero inferior) se encuentran los nmeros que vamos a ingresar. El motivo por el cual le asignamos un 1 a la variable Contador, es porque hemos ledo un nmero fuera del ciclo. Vamos a ver otra Estructura de Control de repeticin que se denomina Para hacer. La sintaxis de la estructura es la siguiente: Para V desde Vi hasta Vf con paso P hacer Accin primitiva Accin primitiva Finpara Donde: V: Es el nombre de la variable que acta como contador. Vi: Es el valor inicial de la variable. Vf: Es el valor final al que debe llegar la variable para cortar el ciclo. P: Es el incremento que se le da a la variable cada vez que se repite el ciclo. Veamos cmo nos hubiera quedado el ejercicio, si hubiramos utilizado esta estructura:

18

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

1) Ingreso de datos. 2) Determinar el nmero mayor. 3) Informar el nmero mayor. 1.1 Leer Numero 1.2 Mayor Numero Para Contador desde 1 hasta 10 con paso 1 hacer 2.1 Leer Numero Si Numero > Mayor Entonces 2.2 Mayor Numero Finsi Finpara 3.1 Escribir El nmero mayor fue Mayor Ejercicio para resolver en casa Determinar el Ambiente, el Algoritmo y realizar la prueba de escritorio, del siguiente ejercicio: Los operarios de una empresa trabajan en dos turnos; uno diurno, cuyo cdigo es menor que 10, y otro nocturno, de cdigo mayor o igual que 10. Se desea calcular el jornal para un operario sabiendo que, para el turno nocturno, el pago es de $ 7 la hora y, para el turno diurno, de $ 5 la hora pero, en este ltimo caso, si el da es domingo, se paga un adicional de $ 4 la hora. Ejercicio N 8 Construir un algoritmo que escriba los nombres de los das de la semana, dependiendo del valor de la variable DIA. Si DIA toma un valor fuera del rango definido, escribir un mensaje de error. Ambiente VARIABLE DIA Nombre DESCRIPCION Variable de tipo numrica entera, comprendida entre 1 y 7, y representa los nmeros correspondientes a los das de la semana. Variable de tipo carcter, donde se almacena el nombre del da.

1) Ingresar el nmero del da. 2) Determinar a qu da corresponde. 3) Informar a qu da corresponde.

19

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

1.1 Leer nmero. Si nmero = 1 Entonces 2.1 Nombre Lunes Sino Si nmero = 2 Entonces 2.2 Nombre Martes Sino Si nmero = 3 Entonces 2.3 Nombre Mircoles Sino Si nmero = 4 Entonces 2.4 Nombre Jueves Sino Si nmero = 5 Entonces 2.5 Nombre Viernes Sino Si nmero = 6 Entonces 2.6 Nombre Sbado Sino Si nmero = 7 Entonces 2.7 Nombre Domingo Sino Si (nmero < 1) o (nmero > 7) Entonces 2.8 Nombre Fuera de rango Finsi Finsi Finsi Finsi Finsi Finsi Finsi Finsi 3.1 Escribir El da de la semana Nombre

20

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Como podemos observar, dependiendo del nmero del da ingresado, se mostrar el nombre del da de la semana. Realicen la prueba de escritorio, para verificar que el Algoritmo funciona correctamente. Cuando se tiene un Algoritmo, que dependiendo de un nmero ingresado, se puede determinar algo en particular, se puede utilizar una Estructura de control de decisin generalizada, cuya sintaxis es la siguiente: Segn (variable) hacer s: accin primitiva t: accin primitiva k: accin primitiva de otro modo accin primitiva Finsegn Donde k representa el ltimo valor que puede tomar la variable. Si para cada valor de la variable, se debe ejecutar una secuencia de acciones primitivas, en lugar de una sola accin, entonces usamos los delimitadores comenzar y fin para encerrar cada secuencia. Veamos como quedara el ejercicio, si usamos esta estructura: 1) Ingresar el nmero del da. 2) Determinar a qu da corresponde. 3) Informar a qu da corresponde. 1.1 Leer nmero. Segn nmero hacer 1: Nombre Lunes 2: Nombre Martes 3: Nombre Mircoles 4: Nombre Jueves 5: Nombre Viernes 6: Nombre Sbado 7: Nombre Domingo de otro modo Nombre Fuera de rango Finsegn 3.1 Escribir El da de la semana Nombre

21

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Resolver por lo menos 5 (cinco) de los siguientes ejercicios, y enviarlos por mail para su correccin.

1) De una sola tirada de dados, informar si se forma generala, tomando de aun dado por vez y comparando de a dos dados.

2) Se leen tres datos que representan el nombre, sueldo bsico y antigedad de un empleado y se debe escribir el nombre y el sueldo a cobrar. El sueldo se calcula, adicionando al bsico el 15 % del mismo, si la antigedad supera los 3 aos; 30 % del mismo, si la antigedad supera los 6 aos y 50 % del mismo, si la antigedad supera los 10 aos.

3) Escribir un algoritmo que determine en la variable MINIMO el menor de los valores de cuatro variables numricas.

4) Se leen tres valores que corresponden al da, mes y ao. Verificar si los datos constituyen una fecha posible o no.

5) Ordenar tres valores numricos, de menor a mayor.

6) Se leen 300 datos que representan el peso de nios internados en un hospital. Se pide confeccionar la siguiente tabla: Entre 0 y 10 Kg. hay ........... nios

Entre 10 y 20 Kg. hay ........... nios Entre 20 y 30 Kg. hay ........... nios de ms de 30 Kg. hay ........... nios

7) Se tienen las calificaciones individuales de los alumnos que cursaron una materia, en tres aspectos: nota del trabajo realizado en el laboratorio de computacin, nota promedio de los exmenes parciales y nota del examen final. Por cada alumno, se lee su nombre y las tres calificaciones mencionadas, y se quiere obtener un listado donde, cada lnea, debe contener el nombre de un alumno y su correspondiente nota promedio.

22

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

8) Una empresa fabrica dos productos A y B y desea saber cul de ellos es el ms aceptado en el mercado. Para ello realiza una encuesta y, por cada persona interrogada, se obtiene un par de valores: el primer valor del par indica la aceptacin o no del producto A segn sea 1 o 0; el segundo valor del par corresponde al producto B. Por ejemplo, el par (1,0) significa que el encuestado acepta el producto A pero no el B. Se pide: Total de encuestados. Porcentaje de consumidores que aceptan: el producto A. el producto B los dos productos. el producto A pero no el B. el producto B pero no el A. ninguno de los dos productos.

9) Suponiendo que el precio de cualquier artculo que se vende en un negocio es inferior o igual a $ 1 y que se abona con un billete de $ 2, disear un algoritmo para leer el precio de los artculos vendidos y calcular el nmero de cada clase de moneda que debe darse a cambio, de tal manera que se devuelva un mnimo de monedas fraccionarias. Por ejemplo, si el precio de venta es de $ 0,30, el cambio debe ser: una moneda de $ 1. una moneda de 50 centavos. dos monedas de 10 centavos.

23

Comunicacin Multimedial 1er. Ao Introduccin a la Programacin

ISFT N 200 Prof. Dolores Ahumada

Glosario Ambiente: es el conjunto de todos los recursos necesarios para la ejecucin de un trabajo. Algoritmo: es una secuencia ordenada de acciones primitivas que pueden ser ejecutadas por un procesador y, que lleve a la solucin de un problema dado. Accin primitiva: Es un enunciado suficiente para que un determinado procesador pueda ejecutarla sin informacin adicional. Procesador: Toda entidad capaz de comprender un enunciado y ejecutar el trabajo indicado en el mismo. Accin: Es un evento que modifica el ambiente de un estado inicial a un estado final. Las acciones se deben ejecutar en el orden en que aparecen en el enunciado del procedimiento. Condicin: Es una afirmacin lgica sobre el estado del problema que puede ser cierta o falsa, en el momento de la observacin. Constante: Es un objeto cuyo valor no puede variar. Variable: Es un objeto cuyo valor puede variar. Contador: Es una variable a la que se le suma (o se le resta, si queremos que el contador vaya decreciendo), un valor constante, y a dicho resultado se lo guarda en la misma variable. Acumulador: El concepto es similar al de contador, con la diferencia de que en lugar de incrementar un valor constante, se le suma otra variable?. Bibliografa Silvia L. Braunstein Introduccin a la programacin y a las estructuras de datos. Editorial Eudeba. 1996. 2da. Ed.

24

You might also like