Algoritmo Guia

July 11, 2018 | Author: Marco Antonio Valencia De la Cruz | Category: Algorithms, Programming Language, Computer Programming, Computer Program, Areas Of Computer Science
Share Embed Donate


Short Description

Descripción: algoritmos...

Description

ESTRUCTURA Y ALGORITMO I

Ing. Alberto Moreno Cueva

2

Índice Introducción

5

UNIDAD I

: Conceptos Fundamentales

7

Capítulo 1

: Introducción a la Algoritmia

9

Capítulo 2

: Datos y tipos de Datos

17

Capitulo 3

: Variables y Constantes

25

UNIDAD II

: Estructuras Basicas y Secuenciales

29

Capitulo 1

: Estructura del Algoritmo

31

Capitulo 2

: Estructuras Secuenciales

37

UNIDAD III

: Estructuras Condicionales y Selectivas

47

Capitulo 1

: Estructuras Condicionales Simples

49

Capitulo 2

: Estructuras Condicionales Dobles

57

Capitulo 3

: Estructuras Condicionales Multiples

65

Capitulo 4

: Estructuras Condicionales Anidadas

73

Capitulo 5

: Estructuras Selectivas

83

UNIDAD IV

: Estructuras Repetitivas

91

Capitulo 1

: Estructuras Repetitivas, Para – Hacer

93

Capitulo 2

: Estructuras Repetitivas Mientras – Hacer

103

Capitulo 3

Estructuras Repetitivas Repetir – Hasta

111

UNIDAD V

SUBPROGRAMAS

117

Capitulo 1

Uso de Procedimientos

119

Capitulo 2

Uso de Funciones

129

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

3

PRESENTACION

El presente texto elaborado es un material de ayuda institucional, en la especialidad de Ingenieria, tiene por finalidad proporcionar los conocimientos de Fundamentos de Programación, orientado a la especialidad . UTP, líder en la enseñanza tecnológica a nivel superior, promueve la elaboración de materiales educativos, en concordancia a las exigencias de las tecnologías de estos tiempos, que permiten la creación de nuevas herramientas de aprendizaje con el objetivo de facilitar el acceso de los estudiantes a la educación en el marco del desarrollo tecnológico de la Informática y de las Telecomunicaciones. El texto se divide en catorce capítulos, en cada uno de ellos expone los temas de una manera resumida, desarrollando así solo los contenidos que son complementados con la parte práctica. Esperamos que este material en su primera edición, sirva de gran ayuda a los estudiantes Idatinos y contribuya en el proceso de su formación profesional.

UTP

RREDES & COMUNICACIONES

4

UNIDAD I Conceptos Fundamentales

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

5

UNIDAD I

CAPITULO I

INTRODUCCION A LA ALGORITMICA OBJETIVOS ESPECÍFICOS 1. Introduccióna la Algoritmica. 2. Conceptualizarel Algoritmo y definir lascaracteristicas 3. Como elaboramos un Algoritmo

CONTENIDOS Algorítmica: Resolución y pasos para resolver un problemas. Definición de un Algoritmo Característica del Algoritmo Pasos para realizar un Algoritmo Ejercicios Prácticos

UTP

RREDES & COMUNICACIONES

6

ALGORITMOS Un algoritmo es un procedimiento a seguir, para resolver un problema en términos de: 1. Las acciones por ejecutar y el 2. El orden en que dichas acciones deben ejecutarse Un algoritmo nace en respuesta a la aparición de un determinado problema. Una algoritmo esta compuesto de una serie finita de pasos que convergen en la solución de un problema, pero además estos pasos tienen un orden específico. Entenderemos como problema a cualquier acción o evento que necesite cierto grado de análisis, desde la simpleza de cepillarse los dientes hasta la complejidad del ensamblado de un automóvil. En general, cualquier problema puede ser solucionado utilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolver problemas de computo. Un algoritmo para un programador es una herramienta que le permite resaltar los aspectos más importantes de una situación y descartar los menos relevantes. Todo problema de cómputo se puede resolver ejecutando una serie de acciones en un orden específico. Por ejemplo considere el algoritmo que se elaboraría para el problema o situación de levantarse todas las mañanas para ir al trabajo: 1. 2. 3. 4. 5. 6.

Salir de la cama quitarse el pijama ducharse vestirse desayunar arrancar el automóvil para ir al trabajo o tomar transporte.

Nótese que en el algoritmo anterior se ha llegado a la solución del problema en 6 pasos, y no se resaltan aspectos como: colocarse los zapatos después de salir de la cama, o abrir la llave de la regadera antes de ducharse. Estos aspectos han sido descartados, pues no tienen mayor trascendencia, en otras palabras los estamos suponiendo, en cambio existen aspectos que no podemos obviarlos o suponerlos, de lo contrario nuestro algoritmo perdería lógica, un buen programador deberá reconocer esos aspectos importantes y tratar de simplificar al mínimo su problema. Es importante recalcar que los pasos de un algoritmo no son conmutativos pues, no daría solución al mismo problema a tratar.

ROBUSTEZ DE UN ALGORITMO Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problema que queremos resolver, al elaborar un algoritmo no se nos debe

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

7

escapar ningún detalle que provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un algoritmo robusto, cualquier giro inesperado del problema será controlado por el algoritmo, es decir, debe ser flexible a cambios.

EFICIENCIA Y EFICACIA DE UN ALGORITMO Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo humano. Un algoritmo es eficaz cuando alcanza el objetivo primordial, el análisis de resolución del problema se lo realiza prioritariamente. Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posible debemos de manejar estos dos conceptos conjuntamente.

METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR MEDIO DE COMPUTADORA Para lograr resolver cualquier problema se deben seguir básicamente los siguientes pasos:

DEFINICIÓN DEL PROBLEMA Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

ANÁLISIS DEL PROBLEMA Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: o o o

Los datos de entrada. Cual es la información que se desea producir (salida) Los métodos y fórmulas que se necesitan para procesar los datos.

Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

DISEÑO DEL ALGORITMO Las características de un buen algoritmo son:

UTP

RREDES & COMUNICACIONES

8

o o o

o o o

Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución. Diseño del Algoritmo Prueba de escritorio o Depuración

Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

DEFINICION DE UN ALGORITMO El Algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la solución de un problema. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.

CARACTERISTICAS DE UN ALGORITMO Las características del algoritmo son:  Debe ser preciso e indicar el orden de realización de cada paso. 

Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.



Ser finito. Se debe terminar en algún momento; o sea debe de tener un número finito de pasos.

ESTRUCTURA DE UN ALGORITMO FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

9

Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. Los pasos en esta primera descripción pueden requerir una revisión adicional antes de que podamos obtener un algoritmo claro, preciso y completo. Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down). En un algoritmo se deben de considerar tres partes: -

Entrada: Información dada al algoritmo. Proceso:Operaciones o cálculos necesarios para encontrar la solución del problema. Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficie de un rectángulo proporcionándole su base y altura. Lo primero que debemos hacer es plantearnos las siguientes preguntas: Especificaciones de entrada - ¿Que datos son de entrada? - ¿Cuántos datos se introducirán? - ¿Cuántos son datos de entrada válidos? Especificaciones de salida - ¿Cuáles son los datos de salida? - ¿Cuántos datos de salida se producirán? - ¿Qué formato y precisión tendrán los resultados?

EJERCICIOS RESUELTOS 1. Defina un algoritmo para realizar una llamada

UTP

RREDES & COMUNICACIONES

10

INICIO 1. Acercarse al Teléfono 2. Levantar el Auricular 3. Recordar el Número telefónico 4. Discar el Número 5. Esperar que respondan 6. Conversar 7. Colgar el Auricular FIN 2. Defina un algoritmo para cambiar bombilla

INICIO 1. Colocar una escalera debajo de la bombilla 2. Subir la escalera 3. Desenroscar la bombilla 4. Bajar la escalera 5. Coger la bombilla nueva 6. Subir la escalera 7. Enroscar la bombilla 8. Bajar la escalera FIN 9. Retirar la escalera 3. Defina un Algoritmo para cambiar una Llanta

INICIO 1. Bajarse del Auto 2. Abrir la cajuela, sacar la gata y la llave 3. Colocar la gata y levantar el auto 4. Destornillar los pernos 5. Sacar la llanta 6. Sacar la llanta de repuesto 7. Colocar la llanta de repuesto 8. Bajar Enroscar los pernos 9. el auto 10. Guardar la llanta, la gata y la llave 4. Defina un Algoritmo para escuchar musica en un CD

INICIO 1. Encender la Radio FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

11

2. Seleccionar la opcion TAPE 3. Insertar el CD 4. Esperar que cargue el CD 5. Graduar el volumen 6. Escuchar el CD FIN

EJERCICIOS P ROPUESTOS 1. Defina un Algoritmo donde permita encender una computadora para Chatear 2. Defina un Algoritmo donde permita ir al Cine y regresar a casa. 3. Defina un Algoritmo donde permita realizar una Matricula en la institución. 4. Defina un Algoritmo que permita ver un determinado programa de televisión y al terminar apagar la TV. 5. Defina un Algoritmo que permita Elaborar el Arroz con pollo, Sugerencia: conversar con la Mama. 6. Defina un Algoritmo que permita Pintar las paredes de tu habitación. 7. Defina un Algoritmo que permita realizar una compra al credito en una empresa comercial. 8. Defina un Algoritmo que permita tener una Consulta Medica de un consultorio particular. 9. Defina un Algoritmo que permita Ir a un Fiesta de fin de año y regresar a casa.

UTP

RREDES & COMUNICACIONES

12

Capitulo

2

DATOS Y TIPOS DE DATOS OBJETIVOS ESPECÍFICOS 1. Conocer losTipos de Datos que se utilizan en la algoritmica 2. Definir las expresiones

CONTENIDOS Datos, definición Tipos de datos: Numerico, de cadena, logicos Manejo de Operadores Expresiones Ejercicios Prácticos

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

13

DEFINICION DE DATOS 1. Un dato es la expresión general que describe los objetos conlos cuales opera una computadora. 2. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados), los datos compuestos son conjuntos de partidas de datos simples con relaciones definidas entre ellos. 3. Los datos simples son:numéricos,lógicos y carácter.

DATOS NUMERICOS 1. Es el conjunto de los valores numéricos y puede ers expresado como numérico entero y numérico real. 2. Los enteros no tienen componentes fraccionariaso decimales ypueden ser negativos o positivos. Los reales siempre tienenun punto decimal.

DATOS LOGICOS 1. También llamados booleanos, es aquel que solo puede tomar uno de dos valores: verdadero (true) o falso (false). 2. Se utiliza para representar las alternativas (si/no) a determinadas condiciones.

DATOS CARACTER 1. Este tipo de dato contiene un solo carácter. 2. Los caracteres son: alfabéticos (A-Z), numéricos (0-9) y especiales (¡ @ # $ % ^ & *…).

3. Una cadena de caracteres o string es una sucesión de caracteres que se encuentran delimitados por una o dobles comillas.

UTP

RREDES & COMUNICACIONES

14

EJERCICIOS PR ACTICOS En cada uno de los datos, defina su Tipo de dato.

Datos

Tipo

“Hola”

123 ¿Quién eres? Verdadero “El Sabio” Falso 12.56 12/15 True “EL Quijote”

56.8999999 ¡Alo! Persona “Juan”

MANEJO DE OPERADORES DEFINICION Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables para realizar una determinada operación con un determinado resultado. Ejemplos típicos de operadores son la suma (+), la diferencia (-), el producto (*), etc. Un operador sirve para manipular datos. Los operadores pueden ser unarios, binarios y ternarios, según actúen sobre uno, dos o tres operandos, respectivamente.

TIPOS DE OPERADORES Aritméticos De relación, Lógicos, De asignación,

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

15

OPERADORES ARITMETICOS Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos ellos son operadores binarios. Se utilizan los operadores siguientes:

OPERADOR

SIGNIFICADO

+

SUMAR

*

RESTAR MULTIPLICAR

DIV

DIVISION ENTERA

/

DIVISION REAL

MOD, %

RESTO ARTIMETICO



POTENCIACION

OPERADORES RELACIONALES Una característica imprescindible de cualquier lenguaje de programación es la de considerar es, la de proceder de un modo u otro según se cumplanalternativas, o no ciertas esto condiciones. Los operadores relacionales permiten estudiar si se cumplen o no esas condiciones. En un programa si una condición se cumple, el resultado es cierto; en caso contrario, el resultado es falso. Los operadores relacionales son los siguientes

OPERADOR

SIGNIFICADO

>

MAYOR

<

MENOR

>=

MAYOR o IGUAL

,>=, 12) Y (65 MOD 3 b ) OR (a < c)) AND (( a = c ) OR (a >= b )) (( a > b ) OR (a < d)) AND (( a >= d ) AND (c > d )) NOT ( a = c ) AND ( c > b ) (( c > d ) OR ( b < c) AND ( a >= d )) AND ( a = c ) 6. ( 12 + ( 21 MOD 8 ) * (70 DIV 12) ) * ( 60 MOD 11 ) 7. ( ( 12 > 6) AND NOT ( 69 MOD 2) ) AND (3 7 MOD 4) 8. ( 12 < 9 MOD 6 ) AND ( 9 = 3 * 3 ) OR ( 6 > 15 MOD 4 )

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

19

Capitulo

3

VARIABLES Y CONSTANTES OBJETIVOS ESPECÍFICOS 1. Conocer el manejo de Variables yConstantes para ser aplicados dentro de una Algoritmica 2. Definir las expresiones

CONTENIDOS Variables, definición Identificacion de una Variable Declaracion de una Variable Constantes Ejercicios Prácticos

UTP

RREDES & COMUNICACIONES

20

VARIABLES Definición Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Su valor puede ser modificado, pero en un instante dado sólo contiene un valor determinado.

Declaración Las variables pueden asumir valores numéricos, caracter y lógicos. Existen 2 tipos de duración o ámbito de las variables, estas son (GLOBAL Y LOCAL). Las variables globales se pueden utilizar en cualquier parte del o Algoritmo. Las variables locales son dentro de un sub-programa o (Procedimiento o Función).

Ejemplos DECLARACION

FITT

ABC

VALIDO

A123

VALIDO

1A2B

NO VALIDO

_MiVariable

VALIDO

Mi_Variable

VALIDO

Mi_123456

VALIDO

_1_2_3

VALIDO

Mi@Variable

NO VALIDO

UTP

FUNDAMENTOS

DE PROGRAMACION

21

Clasificación de las Variables

Declaración Para declarar variables en un algoritmo se hace uso de la siguiente sintaxis : Tipo_Dato: Lista_variables Ejemplos: ENTERO: A, B, C REAL: X, Y, Z CARÁCTER: Car1, Car2 CADENA : Texto1, Texto2 LOGICO: Estado, Ok, Done

CONSTANTES Definición Objeto de datos que contiene un valor invariable conocido por su identificador. Es necesario inicializar las constantes al principio del algoritmo. Esto determina el tipo de la constante

Ejemplos PI=3.14 SALUDO=“Hola mundo”

MAXIMO=500 RESPUESTA=‘S’

UTP

RREDES & COMUNICACIONES

22

UNIDAD II Estructuras Basicas y Secuenciales

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

23

Capitulo

1

ESTRUCTURAS BASICAS OBJETIVOS ESPECÍFICOS Reconoce la estructura del algoritmo. Manejo de las instrucciones para la entrada, proceso y salida de datos. Comprende el manejo de las estructuras secuenciales en los procesos algorítmicos.

CONTENIDOS Estructura del algoritmo Instrucciones para la entrada, proceso y salida de datos Estructura de control, tipos

UTP

RREDES & COMUNICACIONES

24

ALGORITMO La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. Un algoritmo tambien se le puede definir como: Una "fórmula" para resolver un problema. o o Un conjunto finito de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema. o También puede definirse como un método para resolver un problema mediante una serie finita de pasos precisos y bien definidos.

Tipos de Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Estructura del Algoritmo Acciones de entrada: recogen los datos para el trabajo. Acciones de proceso: ejecutan los cálculos. Acciones de salida: ofrecen los resultados.

Lenguajes Algoritmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. De los cuales se encuentran los siguientes tipos de Lenguajes Algorítmicos:

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

25

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

Diagrama de Flujo Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).

Recomendaciones para el diseño de Diagramas de Flujo Se deben se usar solamente líneas de flujos horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar líneas de flujo son conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.

Pseudocodigo Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocodigo utiliza palabras que indican el proceso a realizar. INICIO Edad: Entero ESCRIBA “cual es tu edad?”

Lea Edad SI Edad >=18 entonces ESCRIBA “Eres mayor de Edad” FIN SI ESCRIBA “fin del algoritmo”

FIN

UTP

RREDES & COMUNICACIONES

26

Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo Ocupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de pseudocodigo a un programa en algún lenguaje de programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

Estructuras Algorítmicas Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructura de un Algoritmo en Pseudocódigo En pseudocódigo el algoritmo tiene tres partes: la cabecera, la zona de declaración de constantes y variables y el cuerpo. 1. La cabecera contiene el nombre del algoritmo. 2. La zona de declaraciones de variables y constantes establece qué variables y constantes vamos a usar, indicando junto al nombre el tipo de las mismas y el valor en el caso de las constantes. 3. El cuerpo del algoritmo es el que contiene las instrucciones que indican las acciones a realizar por el programa. a. Comienza con la palabra Inicio y termina con la palabra Fin (o palabras similares).

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

27

Estructura

ALGORITMO Nombre_Descriptivo Variables: …

INICIO Instrucciones

FIN

y/o Sentencias

Estructura Sintactica de un Algoritmo

Sentencias Declarativas Cabecera del Programa Declaración de Variables

Sentencias EntradaEjecutables de Datos Operaciones y Cálculos Salida de Resultados

UTP

Algoritmo CalculaArea VARIABLE Real: Radio, A

INICIO Leer Radio A  3.14* Radio ↑2

Escribir A

FIN

RREDES & COMUNICACIONES

28

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

29

Capitulo

2

ESTRUCTURAS SECUENCIALES OBJETIVOS ESPECÍFICOS Reconoce la estructura Secuencial Comprende el manejo de las estructuras secuenciales en los procesos algorítmicos.

CONTENIDOS Estructura Secuencial Definición Estructura Desarrollo Practico

UTP

RREDES & COMUNICACIONES

30

ESTRUCTURA SECUENCIAL DEFINICION La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una Estructura Secuencial se representa de la siguiente forma:

DIAGRAMA DE FLUJO

PSEUDOCODIGO

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

31

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos:

COMPONENTES DE UNA ESTRUCTURA SECUENCIAL La asignación

Consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constante a una variable (a  15) Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a  a + 1) Acumulador: Consiste en usarla como un sumador en un proceso (a  a + b) De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a  c + b*2/4). En general el formato a utilizar es el siguiente: < Variable > El símbolo

UTP

 

debe leerse “asigne”.

RREDES & COMUNICACIONES

32

Escritura o salida de datos Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue: ESCRIBIR (VALOR) ESCRIBIR (“MENSAJE”)

Lectura o entrada de datos La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así: LEER VARIABLE LEER VARIABLE1, VARIABLE 2

DECLARACION DE VARIABLES Y CONSTANTES La declaración de variables es un proceso que consiste en listar al principio del algoritmo las variables de colocar el nombre de la variabletodas se debe decir qué que tipo se de usarán, variableademás es. ENTERO: Contador, Edad, I CADENA: Direccion REAL: Salario_Basico CARÁCTER: Opcion En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario_Basico es una variable de tipo real, Opcion es de tipo carácter y la variable Direccion está declarada como una variable alfanumérica de cadena de caracteres.

EJERCICIOS RESUELTOS 1. Ingrese un número entero, luego súmele 2 unidades y visualícelo.

ALGORITMO Ejemplo1 VARIABLES ENTERO: A INICIO LEER (A) A← A + 2

ESCRIBIR (A)

FIN

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

33

2. Ingrese 2 números enteros y luego calcule y visualice la suma y producto de los 2 números ingresados ALGORITMO Ejemplo2 VARIABLES ENTERO: A, B, Suma, Producto INICIO LEER( A, B ) Suma ← A + B Producto ← A * B

ESCRIBIR (Suma, Resta, Producto)

FIN

3. Ingresar un número entero y luego calcular y visualizar su 5%.

ALGORITMO Ejemplo3 VARIABLES ENTERO: REAL: INICIO LEER (N)

N Porcentaje

Porcentaje ← N * (5 / 100)

ESCRIBIR (Porcentaje)

FIN 4. Una empresa decide otorgar una bonificación del 5% del haber básico por cada hijo a todos sus trabajadores. Calcule el total a pagar a un trabajador.

ALGORITMO Ejemplo4 VARIABLES ENTERO NroHijos REAL Hbasico, Bonificacion, Total INICIO LEER (Hbasico, NroHijos) Bonificacion ← (Hbasico * 0.05) * NroHijos Total ← Hbasico + Bonificacion

ESCRIBIR (Total)

FIN 5. Ingrese por teclado un número de dos cifras, visualice su número invertido

ALGORITMO Ejemplo5 VARIABLES ENTERO INICIO

Numero, Inverso, Unidad, Decena LEER (Numero) Unidad ← Numero MOD 10 Decenal ← Numero DIV 10 Inverso ← 10 * Unidad + Decena

ESCRIBIR (Inverso)

FIN

UTP

RREDES & COMUNICACIONES

34

6. Ingrese por teclado el nombre del cliente y el costo de una PC; por estar de promocion la empresa, se aplicará un descuento del 15% del costo, donde el neto es la diferencia del costo menos el descuento. Aplique el 19% del neto donde el monto a pagar es la suma del neto mas igv. Visualice el descuento, neto, igv y el monto a pagar.

ALGORITMO Ejemplo6 VARIABLES REAL Costo, Descuento, Neto, IGV, Monto, Pago CADENA Nombre INICIO

LEER (Nombre, Costo) Descuento ← 0.15 * Costo Neto  Costo – Descuento IGV  0.19 * Neto Pagar ← Neto + IGV ESCRIBIR (Descuento, Neto, IGV, Pagar)

FIN 7. En este verano un instituto educativo ha ingresado una cantidad de “N” alumnos matriculados en el programa de Computación e Informatica, si los alumnos son agrupadas en aulas de 40 alumnos cada aula, Hallar: Numero de aulas completas Cantidad de alumnos que faltan para completar otra aula

ALGORITMO Ejemplo7 VARIABLES ENTERO Matriculas, Aulas, Falta INICIO LEER (matriculas) Aula ← Matriculas DIV 40 Falta  Matricula MOD 40 ESCRIBIR (Aula, Matricula) FIN 8. Ingrese por teclado un Número de 3 cifras, visualice la suma de las cifras del número ingresado.

ALGORITMO Ejemplo8 VARIABLES INICIOENTERO

Numero, Unidad, Decena, Suma LEER (Numero) Unidad ← Numero MOD 10 Decena  (Numero DIV 10) MOD 10 Centena  NUMERO DIV 100 Suma ← Unidad + Decena + Centena ESCRIBIR (Suma)

FIN

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

35

9. Ingrese por teclado la cantidad de metros cubicos de agua que se consume en una casa. Calcula y visualice cada uno de los gastos sabiendo que el costo por metros cubico es 0.35 nuevos soles y el monto del consumo es el producto de la cantidad de metros cubicos por el precio. Mantenimiento Parques y Jardines Exploracion Limpieza de Alcantarillas

0.25% del monto 0.15% del monto 0.05% del monto 0.07% del monto

Del total a pagar deberá pagar el impuesto a las Ventas que representa el 19% del Monto Total, calcule y visualice el Monto Total a Pagar.

ALGORITMO Ejemplo9 VARIABLES REAL Cubicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar INICIO LEER (Cubicos) Monto  0.35 * Cubicos Mant ← Monto * 0.25 /100

PJ  Monto * 0.15 / 100 Explor  Monto * 0.05 / 100 Limp ← Monto * 0.07 / 100

Monto  Monto + Mant + PJ + Explor + Limp IGV  Monto * 0.19 Pagar  Monto + IGV ESCRIBIR (“Mantenimiento:”, Mant) ESCRIBIR (“Parques y Jardines:”, PJ) ESCRIBIR (“Exploracion:”, Explor) ESCRIBIR (“Limpieza:”, Limp) ESCRIBIR (“Monto:”, Monto) ESCRIBIR (“IGV:”, IGV) ESCRIBIR (“A Pagar:”, Pagar)

FIN 10. Una Empresa dedicada a la Venta de Electrodomesticos, realiza una promocion del 20% + 15% de descuento. Ingrese el precio de un electrodomestico, calcule y visualice su descuento y el neto a pagar.

ALGORITMO Ejemplo10 VARIABLES INICIOREAL

Precio, Descuento1, Descuento2, Neto LEER (Precio) Descuento1 ← (Precio * 0.20) Descuento2  (Precio – Descuento1) * 0.15 Neto  Precio – (Descuento1 + Descuento2) ESCRIBIR ((Descuento1+Descuento2), Neto)

FIN

UTP

RREDES & COMUNICACIONES

36

EJERCICIOS PROPUESTOS 1. Ingrese por teclado un número, calcule y visualice: a) El doble del número ingresado b) La tercera parte del número ingresado c) El cubo del número ingresado 2. Ingrese por teclado la cantidad de metros de un telar. Transformar los metros a centímetros y pulgadas, sabiendo que una pulgada es el equivalente a 2.54 centimetros. 3. Ingrese por teclado la descripción y precio de un producto, actualizar el preceio de la siguiente manera: a) Incremente el precio al 35% del precio ingresado. b) El nuevo precio es la suma del precio inicial mas el incremento 4. Ingrese por teclado el nombre del producto, el precio unitario y la cantidad vendida, calcule y visualice: a) El importe de la compra que es el producto del precio por la cantidad vendida. b) El IGV que representa el 19% del importe de la compra c) El importe final que es la suma del importe de la compra mas el IGV 5. Ingrese por teclado un número de tres cifras, calcule y visualice: a) de sus cifras b) Suma Promedio de las cifras 6. Ingrese por teclado un numero de dos cifras, mostrar el numero pero en sentido inverso. 7. Se desea repartir cierto monto de dinero entre tres personas que conforman una empresa; obtener el monto que le corresponde a cada persona si la repartición se basa en la cantidad de acciones que posee cada socio: Socio A B C

% Acciones 35% 45% 20%

Ingrese por teclado el monto de dinero, visualice el importe que recibirá cada uno de los accionistas. 8. Desarrolle un algoritmo para la compañía telefonica que permite mostrar el pago por consumo telefonico, para esto se ingresará el codigo del usuario, el numero telefonico y la cantidad de minutos utilizados. Mostrar el codigo del usuario, el importe de las llamadas realizadas, el IGV y el pago total, considerando que la empresa cobra 0.30 centimos de nuevo sol por cada minuto, la renta basica cobra 48 nuevos soles y el IGV es el 19% del Monto.

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

37

9. Ingrese por teclado el nombre y tres notas de un alumno, calcular y mostrar el promedio de las tres notas. 10. Ingrese por teclado la cantidad de soles, transaformarlo en dolares; considere el tipo de cambio del dia. 11. Ingrese por teclado la cantidad de postulantes a la Universidad, calcule y visualice: a) Cantidad de aulas completas b) Cantidad de alumnos para completas la ultima aula Coinsiderar que un aula completa es de 20 alumnos. 12. Ingrese por teclado una cantidad de segundos, calcular y mostrar: a) Cantidad de horas b) Cantidad de minutos c) Cantidad de segundos restantes 13. Ingrese por teclado un numero, incrementar el 2.4% de su valor, mostrar el valor del incremento y el nuevo numero. 14. Ingrese por teclado un numero de 4 cifras, mostrar los numeros formados por las cifras de los extremos y los medios. 15. Ingrese por teclado el sueldo de un trabajador, asumiendo que éste es un valor entero, visualizar la mejor distribución de billetes y monedas que se utilizarán para pagar un sueldo. Considere billetes de 100, 50, 20 ,10. Monedas de 5, 2 ,1 16. En un instituto se planteo los siguientes pesos para cada una de las evaluaciones que tendra en el curso. Examen Parcial 30% Examen Final 40% Promedio de Practicas 20% Promedio de Trabajos 10% Para tal caso ingrese el nombre del alumno y las 4 evaluaciones, mostrar el nombre del alumno y su promedio.

UTP

RREDES & COMUNICACIONES

38

UNIDAD III Estructuras Condicionales y Selectivas

FITT

UTP

FUNDAMENTOS

UTP

DE PROGRAMACION

39

RREDES & COMUNICACIONES

40

Capítulo

1

ESTRUCTURAS CONDICIONALES SIMPLES OBJETIVOS ESPECÍFICOS Defina el propósito de las estructuras condicionales Realiza la solución de diversos casos prácticos aplicando estructuras condicionales

CONTENIDOS Definición de estructurascondicionales Clasificación Estructura condicional simple Definición Sintaxis Desarrollo Practico

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

41

ESTRUCTURAS CONDICIONALES DEFINICION Las Estructuras Condicionales también reciben el nombre de “estructuras de selección”, permite elegir entre diferentes cursos de acción en función de

condiciones. Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. En una Estructura Condicional se evalúa una expresión lógica y dependiendo del resultado se ejecutan unas sentencias u otras. Pongamos un pequeño ejemplo. Imagine que tenemos nuestro robot subiendo las escaleras de la Torre Eiffel y le indicamos lo siguiente: si está en el escalón 200 entonces no continúe subiendo, sino continua su ascensión. Como puede ver aquí se nos presenta una condición y, según en el punto de la escalera en la que se encuentre, nuestro robot se parará o continuará subiendo. Si la condición es verdadera, entonces se ejecuta la sentencia mostrar, y luego el programa continuaría; si la condición es falsa, la sentencia mostrar se ignora y el programa continúa.

¿QUE ES UNA CONDICION? Una condición o expresión booleana puede ser: Una variable booleana TEST  Verdadero Una expresión aritmética seguida de un operador relacional, seguido de otra expresión aritmética TEST  3 < 5 Una expresión booleana, seguida de un operador booleano, seguido de una expresión TESTbooleana  A AND NOT B OR C Se pueden utilizar condiciones tan complejas como se quiera siempre que estén bien formadas

UTP

RREDES & COMUNICACIONES

42

CLASIFICACION Las estructuras condicionales o selectivas se clasifican en: 1. Condicional Simple (SI / FIN-SI) 2. Condicional Doble (SI / SINO / FIN-SI) 3. Condicional Anidada (Similar a Condicional Doble) 4. Condicional Múltiple (EN_CASO / FIN-EN_CASO)

ESTRUCTURA CONDICIONAL SIMPLE DEFINICION Es aquelle estructura de control que evalúa una condición: Si la condición se cumple se ejecutan determinadas acciones. Si la condición no se cumple, no se ejecutan esas acciones.

SINTAXIS DIAGRAMA DE FLUJO

PSEUDOCODIGO

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

43

EJERCICIOS RESUELTOS 1. Ingrese por teclado 2 números enteros y visualice el mayor de los 2 números ingresados.

ALGORITMO Ejemplo1 VARIABLES ENTERO: A, B, Mayor INICIO LEER ( A, B ) Mayor  A SI ( B > A )ENTONCES Mayor  B FIN-SI ESCRIBIR ( Mayor ) FIN 2. Ingrese por teclado un número entero, si mayor a 10 súmele 10 unidades y visualice el nuevo valor.

ALGORITMO Ejemplo2 VARIABLES INICIO

ENTERO: N LEER ( N ) SI ( N > 10) ENTONCES N  N + 10 FIN-SI ESCRIBIR ( N )

FIN 3. Ingrese por teclado la edad de una persona; si su edad es mayor a 17, visualice un mensaje “Es mayor de edad” .

ALGORITMO Ejemplo3 VARIABLES ENTERO: INICIO

edad

LEER (edad) SI (edad > 17) ENTONCES ESCRIBIR “Es mayor de edad” FIN-SI

FIN

UTP

RREDES & COMUNICACIONES

44

4. Ingrese por teclado la talla de una persona; visualice un mensaje “Servicio Obligatorio”, si tiene una talla minima de 1.70 metros

ALGORITMO Ejemplo4 VARIABLES REAL:

talla

INICIO LEER (talla) SI (talla>=1.70) ENTONCES FIN-SI

ESCRIBIR “Servicio Obligatorio”

FIN

5. Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador.

ALGORITMO Ejemplo5 VARIABLES ENTERO: NroHijos REAL:Hbasico, Bonificacion, Total INICIO LEER (Hbasico, NroHijos) Bonificacion  0 SI ( NroHijos > 0 ) ENTONCES

Bonificacion ← Hbasico * 0.05 * NroHijos

FIN-SI Total  Hbasico + Bonificacion ESCRIBIR ( Total )

FIN

6. Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador.

ALGORITMO Ejemplo6 VARIABLES ENTERO: NroHijos REAL:Hbasico, Bonificacion, Total INICIO LEER (Hbasico, NroHijos) Bonificacion  0 SI ( NroHijos > 0 ) ENTONCES Bonificacion ← Hbasico * 0.05 * NroHijos

FIN-SI Total  Hbasico + Bonificacion ESCRIBIR ( Total )

FIN

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

45

7. Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador.

ALGORITMO Ejemplo7 VARIABLES ENTERO: NroHijos REAL:Hbasico, Bonificacion, Total INICIO LEER (Hbasico, NroHijos) Bonificacion  0 SI (NroHijos > 0) ENTONCES Bonificacion ← Hbasico * 0.05 * NroHijos

FIN-SI Total  Hbasico + Bonificacion ESCRIBIR (Total)

FIN

EJERCICIOS P ROPUESTOS 1. Ingrese por teclado 2 números enteros y visualice el menor de los 2 números ingresados. 2. Ingrese por teclado un número entero visualice el cuadrado del numero, si el numero es mayor a 10 y menor a 50. 3. Ingrese por teclado la edad y talla de una dama, visualice un mensaje “Postulante a la Escuela de Oficiales”, si su edad minima es 17 y su talla

minima es 1.65 metros. 4. Ingrese po teclado el puntaje de un alumno que ha postulado a la Universidad, visualice un mensaje “Alumno Ingresado” si el puntaje obtenido es mayor a 500. 5. Ingrese por teclado el sueldo de un empleado, si el sueldo es mayor a 1800, se le aplicará un descuento del 15% del excedente de su sueldo respecto a 1800, visualice el descuento. 6. Ingrese por teclado la descripción y precio de un accesorio de computadora; se le aplicará un descuento del 5% al precio si el accesorio es Monitor o Teclado. Visualice el descuento y el nuevo precio 7. Ingrese por teclado un número, si es numero par, duplique el valor del numero; mostrar el nuevo valor. 8. Ingrese por teclado un numero, si es de 3 cifras, visualice la suma de las cifras del número.

UTP

RREDES & COMUNICACIONES

46

9. Ingrese por teclado el nombre del curso y su precio; si el nombre del curso es Networking, se le aplicará un descuento del 15% al precio, visualice el descuento y el nuevo precio 10. Ingrese por teclado el año de nacimiento de una persona, visualice un mensaje “Es mayor de edad”, si su edad es mayor o igual a 18.

11. Ingrese por teclado dos notas, calcule su promedio sabiendo que la segunda nota es peso doble; visualice un mensaje “Aprobado”, si su

promedio es mayor o igual a 11 12. Ingrese por teclado un número, si el número es impar y de tres cifras, visualice el número incrementado por su número invertido. 13. Ingrese por teclado el nombre, precio y la cantidad de productos a vender, calcule el monto de la venta. Se aplicará un descuento del 35% de su precio por la compra de 20 unidades. Visualice el descuento y el neto.

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

47

Capítulo

2

ESTRUCTURAS CONDICIONALES DOBLES OBJETIVOS ESPECÍFICOS Defina el propósito de las estructuras condicionales dobles Realiza la solución de diversos casos prácticos aplicando estructuras condicionales

CONTENIDOS Estructura condicional doble Definición Sintaxis Desarrollo Practico

UTP

RREDES & COMUNICACIONES

48

ESTRUCTURA CONDICIONAL DOBLE DEFINICION La estructura condicional de selección doble ejecuta un bloque de instrucciones (A) cuando la proposición (condición) es verdadera y un bloque diferente (B) cuando esta es falsa.

SINTAXIS DIAGRAMA DE FLUJO

PSEUDOCODIGO

True False

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

49

Donde: Si Condición Entonces Instrucción si no

: Indica el comando de comparación : Indica la condición a evaluar : Precede a las acciones a realizar cuando se cumple la condición : Son las acciones a realizar cuando se cumple o no la condición : Precede a las acciones a realizar cuando no se cumple la condición

Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.

EJERCICIOS RESUELTOS 1. Ingrese por teclado 2 numeros, visualice el mayor de los dos numeros ingresados.

ALGORITMO Ejemplo1 VARIABLES ENTERO: INICIO

A, B

LEER(A, SI ( A > BB) )ENTONCES ESCRIBIR (A) SINO ESCRIBIR (B) FIN-SI

FIN 2. Ingrese por teclado un numeros, si el número es par visualice su doble pero si el número es impar visualice su cuadrado.

ALGORITMO Ejemplo2 VARIABLES ENTERO: A INICIO LEER(A) SI ( A MOD 2 = 0 )ENTONCES ESCRIBIR (2*A) SINO ESCRIBIR (A^2) FIN-SI FIN

UTP

RREDES & COMUNICACIONES

50

3. Ingrese por teclado la edad de un postulante a las fuerzas armadas, visualice un mensaje “Apto” si su edad es mayor a 17; sino visualice un mensaje “No apto”.

ALGORITMO Ejemplo3 VARIABLES ENTERO: edad INICIO LEER (edad) SI (edad>17) ENTONCES SINO

ESCRIBIR (“APTO”) ESCRIBIR (“NO APTO”)

FIN-SI

FIN 4. Ingrese por teclado el total de ahorros de una persona, si ahorró mas de 1000, visualice “PUEDE COMPRAR SU TV”, sino “SIGA AHORRANDO”.

ALGORITMO Ejemplo3 VARIABLES REAL: ahorros INICIO LEER (ahorros) SI (ahorros>1000) ENTONCES ESCRIBIR (“PUEDE COMPRAR SU TV”) SINO ESCRIBIR (“SIGA AHORRANDO”) FIN-SI FIN 5. Ingrese por teclado el tiempo que e demora en recorrer 1500 metros un atleta, visualice un mensaje “ATLETA A COMPETIR EN LA OLIMPIADA” si la marca minima es 3 minutos, sino visualice un mensaje “PREPARARSE MAS”

ALGORITMICA Ejemplo5 VARIABLES REAL: tiempo INICIO LEER (tiempo) SI (tiempo= 100) Y ( N =1000) ENTONCES Descuento  Precio * 0.10 SINO Descuento  Precio * 0.03 FIN-SI Neto  Precio – Descuento ESCRIBIR (Descuento, Neto)

FIN 9. Se estan solicitando a la población postular a la Escuela de la Fuerzas Armadas, una persona que postula a la Escula deberá ingresar su Nombre, edad, talla y estudios realizados. Si su edad es mayor a 17, tiene una talla minima de 1.70 y estudios superiores, podrá ingresar, sino ingresará a la Escuela de Suboficiales.

ALGORITMICA Ejemplo9 VARIABLES ENTERO: edad REAL: talla CADENA: nombre, estudios INICIO LEER (nombre, talla, edad, estudios) SI ( edad>17 Y talla>=1.70 Y estudios=”SUPERIOR”) ENTONCES ESCRIBIR (“APTO PARA ESCUELA DE OFICIALES”) SINO ESCRIBIR (“APTO PARA ESCUELA DE SUB OFICIALES”) FIN-SI FIN

EJERCICIOS P ROPUESTOS 1. Ingrese por teclado 2 notas, visualice el mayor de las dos notas y si esa nota es aprobatoria o no (notas de 0-20). 2. Ingrese por teclado la edad de una persona, visualice un mensaje: a. “Mayor de Edad”, si la edad es minimo 18 b. “Menor de Edad”, si la edad es menor a 18 3. Ingrese por teclado un número de dos cifras, visualice un mensaje si es número es o no capicúa.

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

53

4. Ingrese por teclado dos numeros, visualice el menor de los dos numeros ingresados. 5. Ingrese por teclado tres números diferentes, visualice: a) Mayor de los tres números b) Menor de los tres números 6. Ingrese por teclado tres numeros entreros diferentes, visualice el segundo mayor numero. 7. Ingrese por teclado el precio de un articulo y el tipo de pago, si el tipo de pago es “CONTADO” se le aplicará un descuento del 5%, sino no se le

aplicará descuento; visualice el descuento y el nuevo precio. 8. Ingrese por teclado el nombre de un alumno y sus tres notas, calcule y visualice su promedio; si el promedio es menor a 11, deberá ingresar la nota sustitutoria que reemplazara a la nota mas baja; calcule y visualice su promedio. 9. Ingrese por teclado el precio de un artículo, si el precio es menor a 100, se le aplicará un descuento del 3% sobre el precio, sino, se le aplicará un descuento del 10% sobre el precio. Visualice el descuento y el nuevo precio 10. Ingrese por teclado el nombre de un obrero y sus horas trabajadas, el pado que recibe por cada hora es de 15 nuevos soles. Su jornal es el producto del pago por hora y las horas trabajadas; si trabaja más de 40 horas, por cada hora extra trabajada, se le pagará 25 nuevos soles. Visualice el jornal que recibió.

UTP

RREDES & COMUNICACIONES

54

Capítulo

3

ESTRUCTURAS CONDICIONALES MULTIPLES OBJETIVOS ESPECÍFICOS Defina el propósito de las estructuras condicionales multiples Realiza la solución de diversos casos prácticos aplicando estructuras condicionales

CONTENIDOS Estructura condicional multiple Definición Sintaxis Desarrollo Practico

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

55

ESTRUCTURA CONDICIONAL MULTIPLE DEFINICION Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar una variable con posibles resultados diferentes, ejecutando para cada caso una serie de instrucciones específicas. Cabe resaltar que este tipo de estructura evalúa el valor de una variable con los posibles valores que se puden comparar para obtener un resultado, por ejemplo:

Si el mes es 1, escribir “Enero”; sino si el mes es 2, escribir “Febrero”, etc.

SINTAXIS DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

56

PSEUDOCODIGO

EJERCICIOS RESUELTOS 1. Ingrese 3 números enteros y visualice el mayor de los 3 números ingresados.

ALGORITMO Ejemplo1 VARIABLES ENTERO: A, B, C, Mayor INICIO LEER( A, B, C) SI( A>B AND A>C ) ENTONCES Mayor ← A

SINO SI( B>A AND B>C ) ENTONCES Mayor ← B SINO Mayor ← C

FIN

FITT

FIN-SI ESCRIBIR( Mayor )

UTP

FUNDAMENTOS

DE PROGRAMACION

57

2. Ingrese un número entero, si es menor a 10 súmele 10 unidades, si está entre 11 a 20 multiplique por dos, si es mayor a 20 elevar a potencia par. Visualice el nuevo valor.

ALGORITMO Ejemplo2 VARIABLES ENTERO: INICIO

N

LEER( N ) SI ( N < 10) ENTONCES N ← N + 10

SINO SI ( N 0 0

Bonificación (% Haber Básico) 2.50 % 2.75 % 2.80 % 3.00 % 2.50 %

V D D

>0 0 >0

2.75 % 2.50 % 3.00 %

5. Un instituto ofrece cursos de programación, el costo de los cursos es de la siguiente manera:

UTP

RREDES & COMUNICACIONES

76

Básico Profesor Alumno Externo

Intermedio 50 70 40 50 70 100

Avanzado 100 80 120

Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que se mostraran en el recibo son: nombre del participante, costo del curso y nivel del curso. 6. Ingresar una fecha y calcular: el número de días de ese mes e identificar si el año es bisiesto. 7. Ingrese por teclado el nombre de un Empleado y su categoría. Según su categoría obtendrá su básico y bonificación: Categoría Empleado Obrero Ejecutivo Auxiliar

Básico 600 550 1500 200

Bonificación 150 190 500 50

Calcule y visualice su remuneración que es la suma del básico y bonificación.

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

77

UNIDAD IV Estructuras Repetitivas

UTP

RREDES & COMUNICACIONES

78

Capitulo

1

ESTRUCTURAS EPETITIV R AS OBJETIVOS ESPECÍFICOS Defina el propósito de las estructuras repetitivas. Implementar desarrollos prácticos utilizando contadores y acumuladores Realiza la solución de diversos casos prácticos aplicando estructuras repetitivas

CONTENIDOS Estructura iterativa Definición Tipos de estructuras Estructura repetitiva Para– Fin Para Contadores y acumuladores Desarrollo de ejercicios de aplicación

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

79

ESTRUCTURA REPETITIVA DEFINICION Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo, establecido por la condición que se evalúa en cada una de ellas. Cada una de las repeticiones se conoce como iteración. Tambien se les llaman problemas repetitivos o cíclicos porque en la solucion es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).

¿Qué es una Iteración? Es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.

Fases de un Programa Cíclico o Repetitivo Todo problema que trabaja cuenta las siguientes fases: con procesos repetitivos o cíclicos debe tomar en 1. Entrada de datos e instrucciones previas 2. Lazo o bucle 3. Instrucciones finales o resto del proceso 4. Salida de resultado

Ejemplo de un Bucle Finito En este ejemplo, el bucle finalizará cuando se cumple la condicion que “N” sea cero.

UTP

RREDES & COMUNICACIONES

80

Ejemplo de un Bucle Infinito

En este flujograma, el bucle se estará repitiendo indefinidamente ya que no existe ninguna condicion que nos permita finalizar en algún momento.

Clasificacion de las Estructuras Repetitivas Las estructuras repetitivas se clasifican en: a) Estructuras cíclicas que ejecutan un número determinado de aquellas en que el número de iteraciones se conoce antes Iteraciones: de ejecutarseSon el ciclo. •

Estructura Para – Fin Para

b) Estructuras cíclicas que ejecutan un número indeterminado de Iteraciones: Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa. • •

FITT

Estructura Mientras – Fin Mientras Estructura Repetir – Hasta_Que

UTP

FUNDAMENTOS

DE PROGRAMACION

81

ESTRUCTURA REPETITIVA PARA - HACER DEFINICION Si tenemos que repetir el bucle un número exacto de veces (que conocemos antes de empezar el bucle), debemos utilizar el bucle parahacer. Al bucle for debemos asociarle una variable. Esta variable la crea automáticamente cuando comienza a ejecutar el bucle y la utiliza para llevar la cuenta de cuantas veces ha hecho el bucle. A la estructura Para - Hacer se le conoce como Repetitiva. Para utilizar esta estructura en algoritmos, debemos hacer uso de contadores y algunas veces de acumuladores.

SINTAXIS DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

82

PSEUDOCODIGO

PARA Variable←V.Inicial HASTA V.Final DE Inc : Instrucciones y/o : Sentencias FIN-PARA Donde : – –

V.Inicial = Valor Inicial V.Final = Valor Final



Inc = Valor de Incremento (Opcional)

CONTADORES Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle.

Representación:  + Si en vez de incremento es decremento se coloca un menos en lugar del más.

Ejemplo: ii+1

ACUMULADORES Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando en una cantidad variable.de uno en uno, el acumulador va aumentando

Representación:  + Ejemplo: S  S + variable

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

83

EJERCICIOS RESUELTOS 1. Imprimir los 10 primeros números naturales.

ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO PARA N←1 HASTA 10 ESCRIBIR (N) FIN-PARA FIN 2. Imprimir los 10 primeros números naturales pero en forma descendente.

ALGORITMO Ejemplo2 VARIABLES ENTERO INICIO

N

PARA N ← 10 HASTA 1 DE -1

ESCRIBIR (N) FIN-PARA

FIN 3. Visualizar todos los números de 2 cifras compuestos por cifras iguales.

ALGORITMO VARIABLES Ejemplo3 ENTERO INICIO

N, A, B

PARA N ← 10 HASTA 99 A ← N DIV 10 B ← N MOD 10

SI ( A = B ) ENTONCES ESCRIBIR (N) FIN-SI FIN-PARA

FIN 4. Ingrese un número y luego visualice todos sus divisores. ALGORITMO Ejemplo4 VARIABLES ENTERO N, Divisor INICIO LEER (N) PARA Divisor ← 1 HASTA N

SI N MOD Divisor = 0 Entonces ESCRIBIR (Divisor) FIN-SI FIN-PARA

FIN

UTP

RREDES & COMUNICACIONES

84

5. Diseñe un programa que imprima una tabla de cuadrados y de cubos para los números del 1 hasta N, donde N se ingresa.

ALGORITMO Ejemplo5 VARIABLES ENTERO N, i, CUADRADO, CUBO INICIO LEER (N) PARA i ← 1 HASTA N

CUADRADO  i * i CUBO  i * i * i ESCRIBIR (N, CUADRADO, CUBO) FIN-PARA

FIN 6. Elabore un programa donde ingrese 30 números, visualizar el mayor y el menor de los números ingresados.

ALGORITMO Ejemplo6 VARIABLES ENTERO N, MAYOR, MENOR, i INICIO MENOR  0 MAYOR  0 PARA i ← 1 HASTA 30 LEER (N) SI N > MAYOR ENTONCES MAYOR  N FIN SI SI N < MENOR ENTONCES MENOR  N FIN SI FIN-PARA ESCRIBIR (MAYOR, MENOR) FIN 7. Elabore un programa para calcular el factorial de un número entero positivo

ALGORITMO Ejemplo7 VARIABLES ENTERO N, FACTORIAL, i INICIOFACTORIAL  1 LEER (N) PARA i ← 1 HASTA N FACTORIAL  FACTORIAL * i FIN-PARA ESCRIBIR (FACTORIAL) FIN

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

85

8. Elabore un programa donde ingrese las notas de 30 alumnos: nombre del alumno, el curso, nota1 y nota2. Por cada ingreso calcule y visualice su promedio; al finalizar visualice la cantidad de alumnos aprobados y la cantidad de alumnos desaprobados

ALGORITMO Ejemplo8 VARIABLES ENTERO N, NOTA1, NOTA2, i, CAPROB, CDESAPROB REAL PROMEDIO CADENA NOMBRE, CURSO INICIO CAPROB  0 CDESAPROB  0 PARA i ← 1 HASTA 30 LEER (NOMBRE, CURSO, NOTA1, NOTA2) PROMEDIO  (NOTA1 + NOTA2) /2 ESCRIBIR (PROMEDIO) SI (PROMEDIO>=11) ENTONCES CAPROB  CAPROB + 1 SINO CDESAPROB  CDESAPROB + 1 FIN SI FIN-PARA ESCRIBIR (CAPROB, CDESAPROB)

FIN

EJERCICIOS P ROPUESTOS 1. Visualizar los números de 2 cifras pares. 2. Ingrese un número entero y luego calcule el factorial del número ingresado. 3. Ingrese un número entero y luego visualice un mensaje indicando si es “primo” o “no primo”.

4. Ingrese un número entero y luego visualice un mensaje indicando si es “PERFECTO” o “NO ES PERFECTO”.

5. Ingrese un número entero y luego calcule la suma de todos los números impares menores al número ingresado. 6. Visualizar la siguiente serie de números: +1-2+3-4+5-6+7-8+…+N NOTA: “N” será el valor límite de la serie. 7. Calcular la suma de todos los números de 3 cifras compuestos por cifras diferentes impares.

UTP

RREDES & COMUNICACIONES

86

8. Diseñe un programa que ingrese las edades de 10 alumnos y que calcule lo siguiente: • Suma de todas las edades • Promedio de edades • Promedio de edades pares • Edad máxima • Edad mínima

9. Escribe un algoritmo que lea un número natural N y un carácter. La salida debe ser un rombo compuesto del carácter y de la anchura que especifica el número N. Por ejemplo, si N es 5 y el carácter es *, el rombo sería: * ** *** **** ***** **** *** ** * 10. Elabore un programa que permita convertir un numero de base 10 a un numero de otra base, para ello ingrese el numero y la base. Ejemplo: Suponga que el número en decimal que se desea transformar a su equivalente en binario es el 11: Por lo tanto, (11)10 = (1011)2 11. Elabore un programa donde ingrese un numero, visualizar los divisores del numero ingresado. 12. Escribe un algoritmo que imprima una pirámide de dígitos como la de la figura, tomando como entrada el número de filas de la misma. 1 121 12321 1234321 123454321 13. Escribaporunteclado: Algoritmo que permita forma la siguiente serie, donde N es ingresado 1, 4, 9, 16, … N 2

14. Diseñe un programa que imprima N términos de la siguiente serie: 3, 8, 15, 24………

15. Diseñe un programa que halle los 3 primeros números perfectos

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

87

16. Diseñe un programa para hallar la suma de N términos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................ 17. Diseñe un programa para hallar la suma de N terminos de la siguiente serie: 1 + 1/2 + 2/3 + 3/4 + 4/5+............................ 18. Diseñe un programa donde visualice los números primos comprendidos entre el 1 al 100.

UTP

RREDES & COMUNICACIONES

88

Capitulo

2

ESTRUCTURAS REPETITIV AS MIENTRAS - HACER OBJETIVOS ESPECÍFICOS Defina el propósito de las estructuras repetitivas. Implementar desarrollos prácticos utilizando contadores y acumuladores Realiza la solución de diversos casos prácticos aplicando estructuras repetitivas

CONTENIDOS Estructura Mientras - hacer Definición Sintaxis Desarrollo de ejercicios de aplicación

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

89

ESTRUCTURA MIENTRAS-HACER DEFINICION Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una

condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso.

CARACTERISTICA Se llama Mientras a la estructura algorítmica que se ejecuta mientras la condición evaluada resulte verdadera. Se evalúa la expresión booleana y, si es cierta, se ejecuta la instrucción especificada, llamada el cuerpo del bucle. Este proceso de evaluación de la expresión booleana y ejecución del cuerpo se repite mientras la expresión sea cierta. La estructura MIENTRAS se conoce como Iterativa. Se usan cuando no se conoce con anticipación el número de veces que se ejecutará la acción.

SINTAXIS DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

90

PSEUDOCODIGO

MIENTRAS (Expresion) HACER : VERDAD : FIN-MIENTRAS Instrucciones y/o Sentencias

EJERCICIOS RESUELTOS 1. Imprimir los 3 primeros números naturales.

ALGORITMO Ejemplo1 VARIABLES ENTERO INICIO

N

N←1

MIENTRAS( N N) ENTONCES RETORNAR (M) SINO

RETORNAR (N)

FIN-SI FIN-FUNCION

INICIO LEER (A, B) ESCRIBIR (Mayor (A, B) )

FIN 3. Crear una función que retorne la suma de la cifras de un número entero.

ALGORITMO Ejemplo3 VARIABLES ENTERO M FUNCION SumaCifras (ENTERO N): ENTERO VARIABLES ENTERO SUMA, Cifra INICIO SUMA ← 0

MIENTRAS (N 0) HACER Cifra ← N MOD 10 SUMA ← SUMA + Cifra N ← N DIV 10

FIN-MIENTRAS RETORNAR (Suma) FIN-FUNCION

INICIO LEER (M)

FIN

UTP

ESCRIBIR (SumaCifras (M) )

RREDES & COMUNICACIONES

116

4. Crear una función que retorne el factorial de un número entero.

ALGORITMO Ejemplo4 VARIABLES ENTERO M FUNCION Factorial (ENTERO N ) : ENTERO VARIABLES ENTERO Facto, I INICIO Facto ← 1 PARA I ← 1 HASTA N Facto ← Facto * I

FIN-PARA RETORNAR ( Facto ) FIN-FUNCION

INICIO PARA M ← 1 HASTA 5

ESCRIBIR (Factorial ( M ) ) FIN-PARA

FIN 5. Implementar una función que retorne la suma de la mayor y menor cifras contenidas en un número entero.

ALGORITMO Ejemplo5 VARIABLES ENTERO M FUNCION SumaMaxMin (ENTERO N): ENTERO VARIABLES ENTERO Cifra, MayorCifra, MenorCifra INICIO MayorCifra ← 0 : MenorCifra ← 9

MIENTRAS (N 0) HACER Cifra ← N MOD 10

SI (Cifra > MayorCifra) ENTONCES MayorCifra ← Cifra

FIN-SI SI (Cifra < MenorCifra) ENTONCES MenorCifra ← Cifra

FIN-SI N ← N DIV 10 FIN-MIENTRAS RETORNAR (MayorCifra + MenorCifra ) FIN-FUNCION INICIO LEER ( M ) ESCRIBIR (SumaMaxMin (M)) FIN

FITT

UTP

FUNDAMENTOS

DE PROGRAMACION

117

6. Implementar una función que retorne la suma de todos los números de 2 cifras compuestos por cifras diferentes pares.

ALGORITMO Ejemplo6 VARIABLES ENTERO M FUNCION SumaPares (ENTERO N): ENTERO VARIABLES ENTERO SUMA, A, B INICIO

SUMA ← 0 PARA N ← 10 HASTA 99 A ← N DIV 10 B ← N MOD 10

SI ( A B ) Y (A MOD 2=0) Y (B MOD 2=0) ENTONCES SUMA ← SUMA + N

FIN-SI FIN-PARA RETORNAR SUMA FIN-FUNCION

INICIO LEER (M) ESCRIBIR (SumaPares (M) )

FIN 7. Implementar una función que retorne la suma de los elementos de la siguiente serie: 1+8+27+64+…+1000

ALGORITMO Ejercicio7 FUNCION SumaSerie (): ENTERO VARIABLES ENTERO SUMA INICIO PARA N ← 1 HASTA 10 SUMA ← SUMA + (N ↑ 3)

FIN-PARA RETORNAR SUMA FIN-FUNCION

INICIO ESCRIBIR (SumaSerie ())

FIN

UTP

RREDES & COMUNICACIONES

118

EJERCICIOS P ROPUESTOS 1. Implemente una funcion que permita calcular el factorial del número ingresado. 2. Implemente una funcion que retorne un mensaje indic ando si es “primo” o “no primo” de un número ingresado. 3. Implemente una funcion que retorne un mensaje indicando si es “PERFECTO” o “NO ES PERFECTO” de un número ingresado por teclado.

4. Implemente una funcion que retorne la suma de todos los números de 3 cifras compuestos por cifras diferentes impares. 5. Elabore una funcion que permita convertir un numero de base 10 a un numero de otra base, para ello ingrese el numero y la base. Ejemplo: Suponga que el número en decimal que se desea transformar a su equivalente en binario es el 11: Por lo tanto, (11)10 = (1011)2 6. Elabore una funcion que permita retornar la suma de la serie, donde N es ingresado por teclado: 1, 4, 9, 16, … N 2

7. Elabore una funcion que retorne la suma de N términos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................ 8. Elabore una funcion que retorne la suma de los N terminos de la siguiente serie: 1 + 1/2 + 2/3 + 3/4 + 4/5+............................

FITT

UTP

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF