Está en la página 1de 22

Clase 1: Generalidades de la programacin de computadoras.

01/07/08
Objetivos de la clase: Al final de la clase los alumnos y alumnas sern capaces de: Comprender y aplicar los conceptos generales de la programacin Aplicar el concepto de procesamiento de datos. Identificar la diferencia entre lenguajes de alto y bajo nivel. Definir y aplicar los conceptos de compiladores e intrpretes Estructura de la clase: Conceptos bsicos de programacin. Los lenguajes de programacin. Conceptos bsicos de programacin: PROGRAMACION: Se llama programacin a la creacin de un programa de computadora PROGRAMA: Es un conjunto concreto de instrucciones que la computadora debe seguir para procesar datos y convertirlos en informacin. CARACTERISTICAS DE UN PROGRAMA: Debe ser confiable y funcional Advertir errores de entrada obvios y comunes Documentado adecuadamente Ser comprensible Codificado en el lenguaje apropiado Conceptos bsicos de programacin: COMPUTADORA: Maquina electrnica que funciona casi a la velocidad de la luz y es capaz de procesar datos para convertirlos en informacin til al ser humano.

Fig. 1 Procesamiento de datos. Lenguajes de programacin: Un lenguaje de programacin es un lenguaje que puede ser utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos, respectivamente. Un lenguaje de programacin permite a un programador especificar de manera precisa: sobre qu datos una computadora debe operar, cmo deben ser estos almacenados y transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico. Lenguajes de alto y bajo nivel: lenguaje de bajo nivel Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos estn en lenguaje de mquina, porque esa es la versin del programa que la computadora realmente lee y sigue.

lenguajes de alto nivel Son lenguajes de programacin que se asemejan a las lenguas humanas usando palabras y frases fciles de entender. En un lenguaje de bajo nivel cada instruccin corresponde a una accin ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instruccin suele corresponder a varias acciones. Ejemplo de Lenguaje de bajo nivel:

Ejemplo de lenguaje de alto nivel:

Interpretes y compiladores: Los compiladores, los intrpretes y los ensambladores se encargan de traducir lo que haya escrito en lenguaje de alto nivel (cdigo fuente) y lo convierten a cdigo objeto (casi ejecutable).

Tarea: Investigar sobre las generaciones de los lenguajes de programacin.

PRACTICA 1 : LOS ALGORITMOS


Profesor: Lic. Salomn Aquino Objetivos: Al final de la clase los alumnos y alumnas sern capaces de: Comprender y aplicar el concepto de algoritmos.. Elaborar algoritmos narrados y en pseudocodigo. Algoritmo: es una serie de operaciones detalladas a ejecutar paso a paso, que conducen a la resolucin de problemas. Es un conjunto de reglas para resolver determinado problema describiendo de forma lgica su solucin. Cada una de las acciones de que consta un algoritmo es denominada sentencia y stas deben ser escritas en trminos de cierto lenguaje comprensible para el computador, que es el lenguaje de programacin. Para disear un algoritmo se debe comenzar por identificar las tareas ms importantes para resolver el problema y disponerlas en el orden en que han de ser ejecutadas. Criterios que debe satisfacer un algoritmo (caractersticas): 1. Entrada. Son cero o ms cantidades las cuales son externamente sustituidas. 2. Salida. Al menos una cantidad es producida. 3. Exactitud/precisin. Cada instruccin debe ser clara y sin ambigedad. 4. Finito. Terminar despus de un nmero finito de pasos. 5. Eficiente. Cada instruccin puede ser verificada por una persona con una prueba manual que satisfaga los requerimientos planteados por el problema. Tipos De algoritmos: a) Algoritmos Narrados. b) Algoritmos enPseudocdigo

Algoritmos narrados: Este algoritmo es caracterizado porque sigue un proceso de ejecucin comn y lgico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada. Ejemplo 1 Algoritmo para asistir a clases: 1. Levantarse 2. Baarse 3. Vestirse 4. Desayunar 5. Cepillarse los dientes 6. Salir de casa 7. Tomar el autobs 8. Llegar a la universidad. 9. Buscar el aula 10. Ubicarse en un asiento Ejemplo 2 Receta para hacer huevos picados 1. Se coloca aceite o margarina en la cacerola 2. Se pica cebolla, chile y tomate 3. Se ponen a frer, con un poco de sal

4. Cuando ya estn fritos, se echan los huevos 5. Se bate y se deja cocer 6. Se sirve caliente en un plato Ejercicios: Elabore un algoritmo narrado para los casos siguientes: 1. Cambiar un vidrio roto de una ventana 2. Preparar una taza de te 1. Hacer palomitas de maz 4. Poner la mesa para la comida 5. Ir al cine Algoritmos en Pseudocdigo Pseudo = falso. El pseudo cdigo no es realmente un cdigo sino una imitacin y una versin abreviada de instrucciones reales para las computadoras. Es una tcnica para diseo de programas que permite definir las estructuras de datos, las operaciones que se aplicarn a los datos y la lgica que tendr el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programacin. Se concibi para superar las dos principales desventajas de los flujogramas: lento de crear y difcil de modificar sin un nuevo redibujo. Ejemplo 1 Disear un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmtica. inicio leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- (a + b + c + d) / 4 escribir (producto, suma, media) fin Ejercicios: 1. Escribe un algoritmo que pida tres nmeros y luego escriba el promedio. 2. Escribe un algoritmo que calcule el rea de un crculo de cualquier radio. 3. Escribe un algoritmo que lea una cantidad depositada en un banco y que calcule la cantidad final despus de aplicarle un 20% de inters. 4. Disear un algoritmo que lea un valor en dolares y lo convierta a colones salvadoreos. 5. Leer dos numeros y encontrar la suma del doble del primero mas el cuadrado del segundo.

Clase 2: Tipos de datos.


Materia: Lgica Computacional Profesor: Lic. Salomn Aquino. Fecha: 09/07/07 Objetivos de la clase: Al final de la clase los alumnos y alumnas sern capaces de: 1. Comprender y aplicar el concepto de datos 2. Comprender y aplicar lo operadores y conocer sus tipos. 3. Escribir expresiones con diferentes tipos de datos y operadores. Conceptos: DATO. Es la expresin general que describe los objetos con los cuales opera el programa. Por ejemplo, la edad y el domicilio de una persona, forman parte de sus datos. Los datos se sitan en objetos llamados variables. Los tipos son: simples (no estructurados) y compuestos (estructurados). Tipos de datos simples:

Tipos de datos compuestos:

Las Variables: Las variables son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de informacin. Son objetos cuyo valor puede ser modificado a lo largo de la ejecucin de un programa. Las variables llevan un nombre llamado Identificador. Este puede ser una cadena de letras y dgitos, empezando siempre con una letra. Por ejemplo: Pi, curso99, nom_alum, etc.

Los identificadores: Los Identificadores son palabras creadas por los programadores para dar nombre a los objetos y dems elementos que necesitamos declarar en un programa: variables, constantes, tipos, estructuras de datos, archivos, subprogramas, etc. En C++ las letras maysculas se tratan como diferentes y distintas unas de otras. Por ejemplo, contador, Contador y CONTADOR son tres nombres de identificadores distintos. Un identificador no puede ser igual a una palabra reservada, y no debe tener el mismo nombre que una funcin, ya sea definida por el usuario o de la biblioteca de C. Constantes, operador, expresiones: Constantes: Son objetos cuyo valor permanece invariable a lo largo de la ejecucin de un programa. Una constante es la denominacin de un valor concreto, de tal forma que se utiliza su nombre cada vez que se necesita referenciarlo. Un operador es un smbolo o palabra que significa que se ha de realizar cierta accin entre uno o dos valores que son llamados operandos. Expresiones. Son representaciones de un clculo necesario para la obtencin de un resultado. Son un conjunto de operadores y operandos que producen un valor. Por ejemplo: Cos (pi * X) + 12.56 * SQR(100) Tipos de operadores: Aritmticos (su resultado es un nmero): potencia, * , / , mod, div, + , Relacionales (su resultado es un valor de verdad): =, <, >, <=, >=, <> Lgicos o Booleanos (su resultado es un valor de verdad): not, and, or Alfanumricos : + (concatenacin) Asociativos. El nico operador asociativo es el parntesis ( ) , el cual permite indicar en qu orden deben realizarse las operaciones. Cuando una expresin se encuentra entre parntesis, indica que las operaciones que estn dentro de ellos debe realizarse Operadores aritmticos:

Operadores de relacin:

Operadores logicos:

Funciones predefinidas:

Practica 2: Jerarquia de operadores en C++


Materia: Logica Computacional Profesor: Lic. Salomn Aquino

Objetivos. Al finalizar la prctica los alumnos y alumnas sran capaces de: Asimilar y poner en prctica los conceptos de datos y operadores, adems conocer sus tipos. Resolver expresiones usando la jerarqua de operadores. Aplicar la jerarqua de operadores (lgicos y aritmticos) propias del Lenguaje C.

OPERADORES ARITMTICOS. Sirven para realizar operaciones aritmticas bsicas. Los operadores aritmticos C siguen las reglas algebraicas tpicas de jerarqua o prioridad.

Los parntesis se utilizan en las expresiones de C de manera muy similar a como se usan en las expresiones algebraicas, sirven para indicar que la expresin dentro de ellos se debe realizar primero. Por ejemplo, para multiplicar a por la cantidad b+c escribimos: a * (b + c) Pow es la funcin que permite realizar las potencias. Por ejemplo x=23 se podra presentar en C de las maneras siguientes: x=pow (2 , 3); o x=2*2*2; Las reglas de precedencia o jerarqua de operadores son guas de accin, que le permiten a C calcular expresiones en el orden correcto. Cuando decimos que una evaluacin o clculo avanza de izquierda a derecha, nos estamos refiriendo a la asociatividad de los operadores.

Ejemplo 1: El siguiente ejemplo contiene mdulo (%), multiplicacin, divisin, adicin y sustraccin. Algebraicamente: z= pr mod q + w / x - y En C: z = p * r % q + w / x y; 1, 2, 4, 3, 5 Los nmeros de las operaciones indican el orden en el cual C valorar o calcular los

operadores. La multiplicacin, el mdulo y la divisin, sern evaluadas primero, en un orden de izquierda a derecha (es decir, se asocian de izquierda a derecha), en vista de que tienen precedencia mayor que la suma y la resta. La suma y la resta sern calculadas despus. Tambin ellas se evaluarn de izquierda a derecha. No todas las expresiones con varios pares de parntesis contienen parntesis anidados. La expresin a * ( b + c) + c * (d + e) no contiene parntesis anidados. En vez de ello, se dice que estos parntesis estn en el mismo nivel. En ese caso, se calcularn las expresiones del parntesis primero y en un orden de izquierda a derecha Ejemplo 2: Se tiene la siguiente expresin polinmica de segundo grado y=2*5*5+3*5+7, se desea evaluarla y encontrar el resultado. Solucin: Paso 1. y = 2 * 5 * 5 + 3 * 5 + 7; 2 * 5 = 10 (Multiplicacin ms a la izquierda primero) Paso 2. y = 10 * 5 + 3 * 5 + 7; 10 * 5 = 50 (Multiplicacin ms a la izquierda) Paso 3. y = 50 + 3 * 5 + 7; 3 * 5 = 15 (Multiplicacin antes de la suma) Paso 4. y = 50 + 15 + 7; 50 + 15 = 65 (Suma ms a la izquierda) Paso 5. y = 65 + 7; 65 + 7 = 72 (ltima operacin)

Operadores de Igualdad en Lenguaje C. Como ya hemos visto, en Lenguaje C, los operadores algebraicos tienen la misma funcin, pero cambia la forma en la que se presentan. Los operadores de igualdad no son la excepcin y al hablar de estos nos referimos a igual (=) y no igual (). El resultado que generan los operadores de igualdad, puede ser un cero (falsa) o uno (verdadero). Tabla de Operadores de Igualdad.

Ejemplo: a = b , se muestra en Lenguaje C de la siguiente manera: a = = b;

y a b , se escribira as: a ! = b. Operadores Relacionales en Lenguaje C. Los enunciados ejecutables de C, pueden llevar a cabo ACCIONES (como clculos o salidas de datos), o tomar DECISIONES (evaluacin de dos o ms expresiones). Por ejemplo, podramos necesitar tomar una decisin en un programa para determinar si la calificacin de una persona en un examen es mayor o igual a 7, y si es as, imprimir el mensaje Felicidades usted pas. Los operadores relacionales tienen un mismo nivel de precedencia y se asocian de izquierda a derecha. En C, una condicin puede ser cualquier expresin que genere un valor de verdad falso o verdadero. Tabla de Operadores Relacionales.

Ejemplo Dados a=1, b=2 y c=3 efecte la siguiente expresin: 10 * a > c * 10 + b Paso I. 10 * 1 > 3 * 10 + 2 Paso II. 10 > 30 + 2 Paso III. 10 > 32 Respuesta FALSO

Operadores Lgicos. Se utilizan para evaluar dos o ms relaciones, estos operadores son AND, OR y NOT, siempre devuelven como resultado un 0 (falso) o 1 (verdadero). Se evalan primero las relaciones y luego se evalan las operaciones entre s tomando en cuenta los operadores lgicos. El Operador AND. Se evalan primero las expresiones aritmticas, luego las relacionales y lgicas. Con el operador and, para que la respuesta sea verdadera, ambas relaciones deben ser verdaderas, de lo contrario, con una que sea falsa, el resultado de la evaluacin es falso. En C se utiliza && para representar el operador AND. Ejemplo 1: 3 > 5 and 3 < 10; en Lenguaje C se representa por 3 > 5 && 3 < 10;

Para este ejemplo, la primera relacin da como resultado FALSO (pues 3 no es mayor que 5) mientras que la segunda relacin da como resultado VERDADERO (3 es menor que 10). El siguiente paso es evaluar los resultados con el operador lgico, en otras palabras FALSO and VERDADERO esta evaluacin da como resultado FALSO. Si el resultado de las dos evaluaciones diera como resultado VERDADERO, entonces el resultado seria VERDADERO. Ejemplo 2: 5 > 2 and 10 9; en Lenguaje C se representa por 5 > 2 && 10 >= 9; En esta expresin las dos evaluaciones dan como resultado un valor VERDADERO, por lo que al evaluar VERDADERO and VERDADERO da como resultado VERDADERO.

El Operador OR. En este caso, al evaluar las expresiones aritmticas y luego las relacionales y lgicas; para que la respuesta sea verdadera, una de las relaciones debe ser VERDADERA, si todas las evaluaciones son FALSAS, el resultado de la evaluacin es falso. En C se utiliza || para representar el operador OR.

El Operador NOT. Este operador tiene la funcin de cambiar el valor de verdad al penltimo resultado obtenido de evaluar la expresin. Si al final se obtiene not (verdadero), el resultado ser FALSO; y si es not (falso), el resultado ser VERDADERO. En C se utiliza ! para representar dicho operador.

Ejemplo 1: Not(99 >= 50 or 10 > = 75); en Lenguaje C se representa !( 99 >= 50 || 10 >= 75) Al evaluar esta expresin, notamos que en la primera parte nos da un verdadero y en la segunda nos da un falso. De verdadero or falso obtenemos verdadero y finalmente not de verdadero nos da como resultado un FALSO. Jerarqua general de operadores en Lenguaje C.

ASOCIATIVIDAD En una expresin tal como 3 * 4 + 5 el compilador realiza primero la multiplicacin por tener el operador * prioridad ms alta - y luego la suma, por tanto, produce 17. Para forzar un orden en las operaciones se deben utilizar parntesis. 3 * (4 + 5) produce 27, ya que 4 + 5 se realiza en primer lugar. La asociatividad determina el orden en que se agrupan los operadores de igual prioridad; es decir, de izquierda a derecha o de derecha a izquierda. Por ejemplo, X y + z se agrupa como ( x y ) + z Ya que y +, con igual prioridad, tienen asociatividad de izquierda a derecha. Sin embargo, x = y = z se agrupa como x = ( y = z ) dado que su asociatividad es de derecha a izquierda.

Uso de Parntesis Los parntesis se pueden utilizar para cambiar el orden usual de evaluacin de una expresin determinada por su prioridad y asociatividad. Las subexpresiones entre parntesis se evalan en primer lugar segn el modo estndar y los resultados se combinan para evaluar la expresin completa. Si los parntesis estn anidados, es decir, un conjunto de parntesis contenido en otro, se ejecutan en primer lugar los parntesis ms internos. Por ejemplo, considrese la expresin ( 7 * (10 5) % 3 ) * 4 + 9 La subexpresin (10 5) se evala primero, produciendo (7 * 5 % 3) * 4 + 9 A continuacin se evala de izquierda a derecha la subexpresin (7 * 5 % 3) y obtenemos (35 % 3) * 4 + 9 luego 2 * 4 + 9 donde se realiza la multiplicacin y obtenemos 8 + 9 lo que produce un resultado final de 17. Ejercicio 1.

A continuacin se muestran expresiones algebraicas en base a las cuales usted deber formular expresiones en C, utilizando los operadores aritmticos y tomando en cuenta la precedencia de operadores aritmticos. 1.) db+acx+y 3.) d mod c (b + a) 5.) ax 2.) x+y ( m) n 4.) x + y + z ( w a) 6.) (x + y) dn

Ejercicio 2: Si x=10, y=5 y z=1 encontrar el resultado de las siguientes expresiones: a) x = y ______ b) z y ______ c) x y ________ Ejercicio 3: Si x=2, y=1, c=4 y d=6 evale la expresin y diga el resultado. A) x = y _____________ B) c d __________ Ejercicio 4. Evale las expresiones siguientes; use los mismos valores del ejemplo anterior: A) ( y + 2 ) * c > = ( d + 1 ) * c R/ ______________ B) ( ( 2 / c ) * ( d / 2 ) ) + 5 < 10 R/ ______________

OPERADOR DE ASIGNACIN: El operador = asigna el valor de la expresin derecha a la variable situada a su izquierda. Ej. Pi = 3.1416 Raiz2 = 1.4142 Este operador es asociativo por la derecha, lo que permite realizar asignaciones mltiples. As a = b = c = 45; equivale a a= (b = (c = 45)); en otras palabras, a, b y c toman el valor de 45. Esta propiedad permite inicializar varias variables con una sola sentencia. Int a, b, c; A = b = c = 5; TABLA DE OPERADORES DE ASIGNACIN:

Operadores de Incrementacin y Decrementacin De las caractersticas que incorpora C, una de las ms tiles son los operadores de incremento ++ y decremento -- . Los operadores ++ y --, denominados de incrementacin y decrementacin, suman o restan 1 a su argumento, respectivamente, cada vez que se aplican a una variable. Entonces a++ equivale a a = a + 1 Estos operadores tienen la propiedad de que pueden utilizarse como sufijo o prefijo, el resultado de la expresin puede ser distinto, dependiendo del contexto. Las sentencias ++n; y n++; tienen el mismo efecto; as como --n; y n--; Sin embargo, cuando se utilizan como expresiones tales como m = n++; printf( n = %d, n--) ; el resultado es distinto si se utilizan como prefijo. ++n produce un valor que es mayor en uno que el de n++, y --n produce un valor que es menor en uno que el valor de n--. Supongamos que n = 8; m = ++n; /* incrementa n en 1, dando 9, y lo asigna a m */ n = 9; printf( n = %d, --n); /*decrementa n en 1, dando 8 y lo pasa a printf( ) */ En este otro ejemplo: int a = 1 , b; b = a++; /* b vale 1 y a vale 2 */

int a = 1, b; b = ++a; /* b vale 2 y a vale 2 */ Entonces, si los operadores ++ y -- estn de prefijos, la operacin de incremento o decremento se efecta antes que la operacin de asignacin; si los operadores estn de sufijos, la asignacin se efecta en primer lugar y la incrementacin o decrementacin a continuacin.

Clase 3: Diagramas de Flujo.


Materia: Lgica Computacional Profesor: Lic. Salomn Aquino. Fecha: 16/07/07 Objetivos de la clase: Al final de la clase los alumnos y alumnas sern capaces de: 1. Comprender y aplicar el concepto de diagrama de flujos. 2. Comprender y aplicar las reglas de construccin de los diagramas de flujos. 3. Elaborar diagramas de flujo. Los Diagramas de Flujo: Son la representacin grfica de la solucin algortmica de un problema. Para disearlos se utilizan determinados smbolos o figuras que representan una accin dentro del procedimiento. Utilizan unos smbolos normalizados, con los pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos con flechas, denominadas lneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Para su elaboracin se siguen ciertas reglas: Se escribe de arriba hacia abajo y de izquierda a derecha Siempre se usan flechas verticales u horizontales, jams curvas Se debe evitar cruce de flujos En cada paso se debe expresar una accin concreta Secuencia de flujo normal en una solucin de problema Tiene un inicio Una lectura o entrada de datos El proceso de datos Una salida de informacin Un final Simbologa para disear flujogramas.

VENTAJAS DE USAR DIAGRAMAS DE FLUJO Rpida comprensin de las relaciones Anlisis efectivo de las diferentes secciones del programa Pueden usarse como modelos de trabajo en el diseo de nuevos programas o sistemas Comunicacin con el usuario Documentacin adecuada de los programas Codificacin eficaz de los programas Depuracin y pruebas ordenadas de programas DESVENTAJAS DE LOS DIAGRAMAS DE FLUJO Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseo Acciones a seguir tras la salida de un smbolo de decisin, pueden ser difciles de seguir si existen diferentes caminos No existen normas fijas para la elaboracin de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir. Ejemplo de diagrama de flujo:

Ejercicio: Indica cules de los siguientes diseos son vlidos segn las reglas de construccin de flujogramas:

Practica 3: ejercicios de diagramas de flujo


Materia: Lgica Computacional Profesor: Lic. Salomn Aquino Objetivos: Al final de la clase los alumnos sern capaces de: 1. Comprender las estructuras secuenciales y resolver problemas usando dichas estructuras. 2. Elaborar algoritmos, y flujogramas para estructuras secuenciales. ESTRUCTURAS BSICAS. Un problema se puede dividir en acciones elementales o instrucciones, usando un nmero limitado de estructuras de control (bsicas) y sus combinaciones que pueden servir para resolver dicho problema. Las Estructuras Bsicas pueden ser: Secuenciales: cuando una instruccin del programa sigue a otra. Seleccin o decisin: acciones en las que la ejecucin de alguna depender de que se cumplan una o varias condiciones. Repeticin, Iteracin: cuando un proceso se repite en tanto cierta condicin sea establecida para finalizar ese proceso.

Estructura Secuencial. Se caracteriza porque una accin se ejecuta detrs de otra. El flujo del programa coincide con el orden fsico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicializacin de variables, operaciones de asignacin, clculo, sumarizacin, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa: Definicin de variables (Declaracin) Inicializacin de variables. Lectura de datos Clculo Salida Ejemplo 1. Se desea encontrar la longitud y el rea de un crculo de radio 5. Solucin. El objetivo del ejercicio es encontrar la longitud y el rea de un crculo con un radio conocido y de valor 5. Las salidas sern entonces la longitud y el rea. (Fase 5 del algoritmo) Sabemos que la longitud de un crculo viene dada por la frmula 2 * pi * radio y que el rea viene dada por pi * radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo) L = Longitud A = rea R = radio pi = 3.1416 hagamos el algoritmo: Inicio Pi <- 3.1416 (definicin de un valor constante) R <- 5 (radio constante ya que es conocido su valor) A <- pi * R ^ (asignacin del valor del rea) L <- 2 * pi * R (asignacin del valor de la longitud) Escribir (A, L) (salida del algoritmo) Fin Representacin en Diagrama de Flujo para el ejemplo:

En este ejercicio no existen datos de entrada ya que para calcular el rea y la longitud necesitamos nicamente el radio y el valor de Pi los cuales ya son dados en el problema. Ejemplo 2. Modificar el problema anterior para que sea capaz de calcular el rea y la longitud de un crculo de cualquier radio requerido. Solucin. El problema es el mismo con la variante de que ahora ya existe un dato de entrada, puesto que el radio puede ser cualquiera y ser necesario que el usuario sea quien lo introduzca de teclado. Usando las misma definicin de variables tenemos: Algoritmo: Inicio pi <- 3.1416 (fase de inicializacin) Leer (R) (fase de lectura) A <- pi * R ^ (fase de clculos) L <- 2 * pi * R Escribir ( A, L ) (fase de salida) Fin Note que la instruccin de asignacin fue cambiada por la instruccin leer. En el flujograma debern cambiarse tambin los smbolos que los representan:

Ejemplo 3. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado. Salidas: Sueldos finales Entradas: Salarios de los empleados Datos adicionales: aumentos del 10, 12 y 15% Clculos: Sueldo final = sueldo inicial + aumento Aumento = sueldo inicial * porcentaje/100 Definicin de variables: Sf1, Sf2, Sf3 = los sueldos finales S1, S2, S3 = salarios de los empleados Aum1, aum2, aum3 = aumentos ALGORITMO Inicio Leer (S1,S2,S3) Aum1 <- S1 * 0.10 Aum2 <- S2 * 0.12 Aum3 <- S3 * 0.15 Sf1 <- S1 + Aum1 Sf2 <- S2 + Aum2 Sf3 <- S3 + Aum3

Escribir (SF1,SF2,SF3) Fin

FLUJOGRAMA:

Ejercicios para resolver en la clase: Para cada ejercicio escriba su algoritmo en pseudocodigo y su flujograma. 1. Escribe un programa que calcule el rea de un crculo de cualquier radio. 2. Escribe un programa que lea una cantidad depositada en un banco y que calcule la cantidad final despus de aplicarle un 20% de inters. 3. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 4. Un alumno desea saber cual ser su calificacin final en la materia de Lgica Computacional. Dicha calificacin se compone de tres exmenes parciales cuya ponderacin es de 30%, 30% y 40% 5. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado el costo de los medicamentos calcule el descuento y el precio final 6. Haga tabla de seguimiento para encontrar los resultados de las variables dadas en el siguiente algoritmo: Algoritmo Verifica Entero: x, y, z Inicio X <- 40 Y <- 25 Z <- x y Y <- X Escribir ( y, x) Escribir (z)

Fin.

Practica 5 Ejercicios de estructuras secuenciales


Materia: Lgica Computacional. Profesor: Lic. Salomn Aquino

1. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado. 2. Escribir un programa que calcule el salario de un trabajador de la manera siguiente. El trabajador cobra un precio fijo por hora y se le descuento el 10% en concepto de impuesto sobre la renta. El programa debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como salida debe imprimir el sueldo bruto, el descuento de renta y el salario a pagar. 3. Programa que pida el precio de un artculo y calcule su valor aplicndole un 13% de IVA. 4. Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresin correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deber obtener como resultado 5h 1m 15s. 5. Escriba un programa que calcule el rea de un tringulo rectngulo, dada la altura y la base. 6. Elabore un programa que realice la conversin de cm. a pulgadas. Donde 1cm = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N cm. y el programa dir a cuantas pulgadas es equivalente. 7. Elabore un programa que realice la conversin de pulgadas a cm.

Donde 1 cm. = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N pulgadas y el programa dir a cuantos centmetros equivale. 8. Elabore un programa que realice la conversin de metros a pies Donde 1 m = 3.2808 pies. Por lo tanto, el usuario proporcionara el dato de N m y el programa dir a cuantos pies equivale. 9. Elabore un programa que realice la conversin de pies a metros Donde 1 m = 3.2808 pies. Por lo tanto, el usuario proporcionara el dato de N pies y el programa dir a cuantos metros equivale. 10. Elabore un programa que realice la conversin de kilogramos a libras Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario proporcionara el dato de N Kg. y el programa dir a cuantas libras equivale. 11. Elabore un programa que realice la conversin de libras a kilogramos Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario proporcionara el dato de N libras y el programa dir a cuantos kilogramos equivale.