manual de algoritmos

Page 1

I.E.P.N.P FÉLIX TELLO ROJAS

Nombre: Vanesa Yajaira Guerrero Díaz Área: Educación para el Trabajo Profesora: Nerita Tarrillo Dávila Grado: 4 Sección: B

1


Este presente trabajo se lo dedicó principalmente a Díos porque me permitió hacer este trabajo. También le agradezco a usted profesora Nerita que con su esfuerzo ha sabido sacar adelante todas las clases y gracias por tenernos tanta paciencia Les agradezco a mis padres porque ellos siempre están ahí para apoyarme en todo lo que necesite Ojala este presente trabajo sea de su agrado Atte. Su alumna Vanesa G D

2


Caratula--------------------------------------------------------------------------- 1 Dedicatoria----------------------------------------------------------------------- 2 Ă?ndice------------------------------------------------------------------------------- 3 Conociendo algoritmos----------------------------------------------------- 4 - 11 Constantes, tipos de datos, operadores------------------------------ 12 - 17 Diagramas de flujo de datos---------------------------------------------- 18 - 26 Ejercicios propuestos--------------------------------------------------------- 27 - 30 Integrando nuestros aprendizajes I ------------------------------------ 31 - 38 Creando diagramas de flujos de datos en software------------- 39 - 45 Estructuras condicionales simples, dobles y mĂşltiples---------- 46 - 55 Integrando aprendizajes II ------------------------------------------------- 56 - 69 BibliografĂ­a------------------------------------------------------------------------ 70

3


Primera semana: Tema: INTRODUCCIÓN DE ALGORITMO ¿Qué es un algoritmo? La habilidad para manejar algoritmos tiene un valor estratégico del uso de la computadora como herramienta para resolver un problema, después de que se ha dicho como resolverlo. Un algoritmo se transforma en una herramienta de computadora cuando sean preparados instrucciones adecuadas para que la computadora pueda llevarlos a cabo. Estas instrucciones deberán comunicarse a la computadora en un lenguaje que pueda ‘’entenderse’’, tal lenguaje se conoce como lenguaje de programación. Un algoritmo se define como un conjunto de instrucciones para resolver un problema. En otros términos, un algoritmo es una sola prescripción determinante de un proceso de calculo que, partiendo de diversos datos iniciales, conduce en todos los casos al resultado que les corresponde. En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. 4


Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones. En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida). Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca termine de calcular números primos no deja de ser un algoritmo. A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos utilizando modelos matemáticos como máquinas de Turin entre otros. Sin embargo, estos modelos están sujetos a un tipo particular de datos como son números, símbolos o gráficas mientras que, en general, los algoritmos funcionan sobre una vasta cantidad de estructuras de datos. En general, la parte común en todas las definiciones se puede resumir en las siguientes tres propiedades siempre y cuando no consideremos algoritmos paralelos

Propiedades de un algoritmo. Las propiedades de un algoritmo son puntos guía a seguir para su elaboración, ya que estos llevan un mejor desarrollo del problema del computador.

5


Sus propiedades son: -enunciado del problema El enunciado del problema debe de ser claro y completo. Es importante que conozcamos exactamente que se desea del computador mientas esto no se comprenda, no tiene caso pasar a la siguiente etapa. -anรกlisis de la soluciรณn general Entendido el problema, para resolver es preciso analizar: Los datos de un enunciado que se esperan Los datos de entrada que se suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados ร reas de trabajo, formulas y otros recursos necesarios Una recomendaciรณn muy practica es el que, nos pongamos en el lugar del computador, y analicemos que necesito que me ordenen y en que secuencia, para poder producir los resultados esperados

-Diferentes alternativas de soluciรณn Analizando el problema, posiblemente tengamos varias formas de resolverlo. Lo importante es determinar cual es la mejor alternativa: la que produce los resultados esperados en el mayor tiempo o al menor costo

6


Elaboración de un algoritmo Los conocimientos adquiridos anteriormente son las herramientas necesarias para llevar a cabo la elaboración de una algoritmo a través de un problema. Se recomienda tomar en cuenta cada una de las propiedades de un algoritmo, ya que de ahí se inicia el proceso de elaboración. A continuación se mostrara el desarrollo de un problema con su respectivo algoritmo como solución. Supongamos que se necesita calcular e imprimir el área de un triangulo cuya base y altura su suministran de un disco. Procedimiento: Escribir correctamente el enunciado del problema. ¨calcular e imprimir el área de un triangulo cuya base y su altura se suministraran de un disco¨ Análisis: 1. ¿Qué se quiere? ¿Cómo se quieres? ¿Qué deseo obtener? -¿que se quiere calcular? Quiero calcular e área de un triangulo ¿Cómo se quiere? Lo quiere calcular a través de una formula.

Área de un triangulo= base x altura 2

7


-¿Qué desea obtener? Imprimir el área del triangulo y suministrar los resultados en un disco

2. Solución: Variables utilizadas en esta solución: De lectura

Para almacenar

Base

- El valor correspondiente a la base del triangulo

Altura

- El valor correspondiente a la altura del triangulo

Buscar diferentes alternativas de solución al resultado del problema. Ejemplo: El problema pide imprimir el área del triangulo como resultado, en un disco. Inicio Lea

Base, altura Área

Calcule Área= (base*altura)/2 Imprima 8


Área *Resultado=* Fin Actividades: 1. Cuales son los valores de A,B y C después de la ejecución de los siguientes valores: Inicio: A=3 B=2 C=A+2*B C=C+B B=C-A^B A=B*C Fin: a) A=0, b) A=0, c) A=3, d) A=3,

B=3, B=0, B=4, B=5,

C=5 C=9 C=3 C=0

2. Diseña un algoritmo para dar solución a los siguientes casos: -hallar el área de un cuadrado: Inicio: Lea= lado=n Área= (lado^2) Resultado del área es = A 9


-hallar el área de un círculo: Inicio: Lea= pi*(radio^2) Área Calcular área: pi*(radio^2) Resultado del área es: A -hallar el cuadrado de un número: Inicio: N es entero C es entero ¨ingresar numero= ¨, N C=N^Z ¨el resultado del cuadrado es= C 3. Elabora un algoritmo para el siguiente caso: Juan Felipe e s jefe de bodega en una trafica de pañales desechables y sabe que la producción diaria es de 744 pañales. ¿Cuántas cajas debe conseguir juan Felipe para empacar los pañales fabricados en una semana? Producción diaria de pañales es 744= P En cada caja se emplearan 12 pañales= C Calcule las cajas utilizadas en una semana (p*7)/C Resultado de las cajas utilizadas en = U Fin 10


(P*7)/C=U (744*7)/12=U 5208/12= U 434= U 3. Diseñar el algoritmo correspondiente a un programa que pida por teclado dos números enteros y muestre su suma, resta, multiplicación. Inicio: N1, N2 es entero S, M es entero Ingresar numero 1=¨, N1 Ingresar numero 2=¨, N2 S=N1 + N2 M=N1 + N2 El resultado de la suma es =¨S El resultado de la multiplicación es=¨4 Fin 5. Aun trabajador le pagan según sus horas y una tarifa de pago por horas. Si la cantidad de horas trabajadas en mayor a 40 horas. La tarifa incrementa en un 50% para las horas extras, calcular el salario del trabajador dadas las horas trabajadas y tarifa. Inicio: Pago del trabajador es por horas =P Horas extras es 40= M Tarifa extra= T Calcule tarifa= H+ (50% + p) Calcula salario= ¨,(p*30) + T Resultado del salario del mes es =¨R Fin 11


Segunda semana: Tema:

VARIABLES, DATOS OPERADORES.

¿Qué es una variable? Una variable es un símbolo que representa un elemento o cosa no especificada de un conjunto dado. Dicho conjunto es llamado conjunto universal de la variable, universo o variar de la variable, y cada elemento del conjunto es un valor de la variable. Sea x una variable cuyo universo es el conjunto {1,3,5,7,9,11,13}; entonces x puede tener cualquiera de esos valores: 1,3,5,7,9,11,13. En otras palabras x puede remplazarse por cualquier entero positivo impar menor que 14. Por esta razón, a menudo se dice que una variable es un remplazo de cualquier elemento de su universo.. Una variable es un elemento de una fórmula, proposición o algoritmo que puede adquirir o ser sustituido por un valor cualquiera (siempre dentro de su universo). Los valores que una variable es capaz de recibir, pueden estar definidos dentro de un rango, y/o estar limitados por razones o condiciones de pertenencia, al universo que les corresponde (en estos casos, el universo de la variable pasa a ser un subconjunto de un universo mayor, el que tendría sin las restricciones). En muchos usos, lo contrario de una variable es una constante. También puede considerarse a las constantes como caso particular de variables, con un universo unitario (con un solo elemento), ya que sólo pueden tener un valor, y no pueden modificarlo. Son elementos que toman valores específicos de un tipo de datos concreto. La declaración de una variable puede realizarse comenzando con var.

12


Principalmente, existen dos maneras de otorgar valores iniciales a variables: 1. Mediante una sentencia de asignación. 2. Mediante un procedimiento de entrada de datos (por ejemplo: 'read'). Por su contenido Variables aritméticas: Las expresiones habitualmente se utilizan para realizar operaciones aritméticas con variables: suma, resta, multiplicación o división. La tabla siguiente describe los operadores normalmente utilizados para operaciones aritméticas. Operador

Descripción

Ejemplo

+ (suma)

Devuelve la suma de dos operandos

5+4

- (resta)

Devuelve la diferencia de dos operandos

5-4

* (multiplicación)

Devuelve el producto de dos operandos 5 * 4

/ (división)

Devuelve el cociente de dos operandos 5 / 4

Variables alfanuméricas: Permiten manipular textos, cada carácter del texto ocupará un byte de la variable codificado en ASCII. Para este tipo de variable existe toda una batería de funciones agrupadas bajo la rúbrica “Character”. Se reconocen en el diagrama por su color violeta en las conexiones y terminales además de la indicación “ABC” en estosúltimos.La figura siguiente muestra un ejemplo de utilización 13


de variables alfanumérica: en el indicador “Resultado” demostrará la concatenación de los textos contenidos en los controles “String 1” y “String 2”. Se utiliza para ello la función de librería “concatenar”. Variables de tipo numérico Las variables numéricas son muy utilizadas en las aplicaciones habituales, ya que permiten almacenar cualquier valor numérico. Si el número es entero, se indica directamente. Si el número es decimal, se debe utilizar el punto (.) para separar la parte entera de la decimal. Expresiones Lógicas: Una expresión lógica puede tener solamente el valor de .TRUE. o de .FALSE.. Un valor lógico puede ser obtenido al comparar expresiones aritméticas usando los siguientes operadores relacionales: .LT. meaning < .LE. <= .GT. > .GE. >= .EQ. = .NE. /= Por lo que no se pueden usar símbolos como < or = para comparación en Fortran 77, por lo que se tienen que usar abreviaturas de dos letras encerradas con puntos. Sin embargo en Fortran 90 ya pueden ser usados. Las expresiones lógicas pueden ser combinadas con los operadores lógicos .AND. .OR. .NOT. Que corresponden a los operadores lógicos conocidos Y, O y negación respectivamente. Asignación de Variables Lógicas 14


Los valores booleanos pueden ser guardados en variables lógicas. La asignación es de forma análoga a la asignación aritmética. Ejemplo: logical a, b a = .TRUE. b = a .AND. 3 .LT. 5/2 El order de precedencia es importante, como se muestra en el último ejemplo. La regla es que las expresiones aritméticas son evaluadas primero, después las que contienen operadores relacionales, y finalmente las de operadores lógicos. Por lo que a b se le asigna .FALSE. en el ejemplo anterior. Expresiones: Expresiones relacionales: En programación las preguntas se llaman "condiciones". Las condiciones se construyen en base a comparaciones, que se llaman "expresiones relacionales". Estas comparan 2 datos mediante los siguientes "operadores relacionales": < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que == Igual a != Distinto a

15


Operadores: Operadores aritméticos: Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc.). En la siguiente tabla se muestran los operadores de los que disponemos en C y su función asociada.

Tabla: Operadores aritméticos Operador

Acción

Ejemplo

Resta

x=5

3; // x vale 2

Suma

x=2

3; // x vale 5

Multiplicación

x=2

3; // x vale 6

División

x=6

2; // x vale 3

Módulo

x = 5 % 2; // x vale 1

Decremento

x = 1; x

; // x vale 0

Incremento

x = 1; x

; // x vale 2

16


Los operadores lógicos: Los operadores lógicos son:   

&& AND (el resultado es verdadero si ambas expresiones son verdaderas) || OR (el resultado es verdadero si alguna expresión es verdadera) ! NOT (el resultado invierte la condición de la expresión)

AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las denominadas tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, iré a la playa", "si NO hace sol, me quedaré en casa", "si llueve O hace viento, iré al cine".

17


Tercera semana: Tema: DIAGRAMAS DE FLUJO DE DATOS.

¿Que son los diagramas de flujo de datos? Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica para la maceta del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando. Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los 18


datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos. modelo de datos. Niveles, los cuales son:   

Nivel 0: Diagrama de contexto. Nivel 1: Diagrama de nivel superior. Nivel 2: Diagrama de detalle o expansión.

Diagrama de Contexto: Nivel 0 En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema con su entorno (entidades externas), estas pueden ser otros sistemas, sectores internos a la organización, o factores externos a la misma. Se dibuja un sólo proceso que representa al sistema en cuestión y se escribe su nombre en dicha burbuja como un sustantivo común más adjetivos. De él solamente parten los flujos de datos que denotan las interrelaciones entre el sistema y sus agentes externos, no admitiéndose otros procesos ni almacenamientos en el dibujo. Resulta de gran utilidad para los niveles posteriores de análisis como herramienta de balanceo. Y es conocido como el Diagrama de Flujo de Datos DFD de Nivel "0" Diagrama de Nivel Superior: Nivel 1 En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los procesos no suelen interrelacionarse directamente, sino que entre ellos debe existir algún almacenamiento o entidad externa que los una. Esta regla de construcción sirve como ayuda al analista para contemplar que en un nivel tan elevado de abstracción (DFD Nivel 1) es altamente probable que la información que se maneja requiera ser 19


almacenada en el sistema aunque no esté especificado por un Requisito funcional, siendo en realidad un requisito no-funcional.

Diagrama de Detalle o Expansión: Nivel 2 En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos principales de la información dado que aumenta progresivamente el nivel de detalle. De aquí en adelante se permiten los flujos entre procesos. El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el máximo para ser validado en forma conjunta con el usuario dado que en los niveles posteriores el alto grado de complejidad del diagrama puede resultar de muy difícil lectura para personas ajenas al equipo de sistemas. También se recomienda el diagrama de nivel superior.

Símbolos: Los más conocidos son -

Inicio/fin Entrada/salida de datos Proceso Conectores de símbolo Conector de pagina Definición Proceso de pagina Flujo de datos Pantalla

20


21


INICIO O TERMINO.

ACTIVIDAD

ARCHIVO DEFINITIVO

ARCHIVO TERMINAL

CONECTOR

CONECTOR DE PAGINA

22


Ejercicios: 1. Hallar el cuadrado de un numero, ingresando por teclado X= (num)²

Inicio

Num es entero

XC=num^2

Salir x

Fin

23


24


Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos.

Inicio

catA=0 , catB=0

CatA , catB

HIP=√catA + catB

Hipotenusa

Fin 25


3) diseña un diagrama de flujo de datos que te permita calcular la raíz cuadrada de un número y el resultado mostrado por la impresora. Inicio

Num X es real

Leer num

X=num^ 1/2

Imprimir X

Fin 26


Cuarta semana: Tema:

EJERCICIOS PROPUESTOS.

En esta semana hicimos algunos ejemplos de diagrama de flujo de datos. Estos son: Inicio

Entrada A, B

Suma: A + B

Resultado es: A + B

Fin

27


Inicio

Pi ← 3.1416

R←5

A ← Pi * R ^²

L ← 2* Pi* R

A, L

Fin 28


Inicio

A, B, C, D

Producto ← a * b * c * d

Suma ← a+b+c+d

Media ← suma/4

Producto, Suma, Media

Fin

29


Inicio

A+b

S←a+b

S

Fin

30


Quinta sesión: Tema: Integrando los Aprendizaje I

I.- Relaciona las siguientes columnas según crea conveniente. 1. Variable Numérica letras. 2.- Variables lógicas

(3 ) Esta formada por números y ( 4 ) Se utiliza para llevar el control del número de ocasiones en que se realiza una operación.

3.- Variables alfanuméricas ( 2 ) Son aquellas que solo pueden tener dos valores (verdadero o falso). 4.-Contadores

( 1 ) Son aquellas en las cuales se almacenan valores numéricos.

5.- Definición del problema ( 7 ) Debe tener un punto particular de inicio. 6.-Analisis de problemas

( 8 ) Es la operación de escribir la solución del problema.

7.-Diseño de algoritmo

( 5 ) Esta fase esta dada por el enunciado del problema.

8.-Codificacion

( 6 ) Es la fase en la que es necesario definir los datos de entrada. Los métodos y la salida.

II.- Escribir los nombres de los siguientes símbolos que se muestran a continuación: Inicio o fin

31


Proceso

Entrada y salida de datos

Decisi贸n

Proceso predefinido

Imprimir por teclado

Conector de p谩gina 32


Imprimir por pantalla

III.-Comente la acci贸n y/o procesos a realizar con cada s铆mbolo del DFD, seg煤n la figura que se muestra a continuaci贸n. INICIO

A, B es entero D es real Leer A, B

D= sqrt (A+B)

Mostar D

FIN

33


IV. Se desea depositar una cierta cantidad de dinero en el Banco, el cual paga razón de 2% mensual. Realizar un DFD para saber cuanto dinero ganara en un mes.

INICIO

CD, TE, G es Real

LEER CD

TI= ØØ,2

G=CD*TI

MOSTAR G

FIN

34


VI. El profesor Wilton torres desea saber el porcentaje de hombres y que porcentaje de mujeres hay en el grupo de estudiantes del cuarto a単o.

INICIO

C H, CM es entero X, Y es real

Ingresar CH, CM

Y= 100* CH/( CH+CM) X= 100* CH/ (CH+CM)

Mostrar X,Y

FIN

35


VII.- Calcular el nĂşmero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicios si la formula es:

INICIO

X, entero N, P es real

Leer: Edad: X

Np= (220-X) *D

Leer: Edad: X

FIN

36


VIII.- Calcular el nuevo salario de un obrero si obtuvo un incremento de 25% sobre su salario anterior

INICIO

SA, T, SIN Es Real

Leer SA

T= (Ă˜,2* SA) SN= SA+T MOSTAR SN

FIN

37


IX.- Todos los lunes, miĂŠrcoles y vienes una persona corre en la misma distancia y cronometra los tiempos obtenidos Âżdeterminar el tiempo promedio que la persona tarda en recorrer la ruta en una semana.

INICIO

Lun, Mier, Vie T P, es Real

Leer: Lun, Mier, Vier.

TP= ( Lun + Mier + Vie ) /3

Mostrar TP

FIN

38


Sexta secion: Tema: CREANDO DIAGRAMAS DE FLUJOS DE DATOS CON EL SOFTWARE DFD Diagrama de Contexto: Nivel 0 En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema con su entorno (entidades externas), estas pueden ser otros sistemas, sectores internos a la organización, o factores externos a la misma. Se dibuja un sólo proceso que representa al sistema en cuestión y se escribe su nombre en dicha burbuja como un sustantivo común más adjetivos. De él solamente parten los flujos de datos que denotan las interrelaciones entre el sistema y sus agentes externos, no admitiéndose otros procesos ni almacenamientos en el dibujo. Resulta de gran utilidad para los niveles posteriores de análisis como herramienta de balanceo. Y es conocido como el Diagrama de Flujo de Datos DFD de Nivel "0"

Diagrama de Nivel Superior: Nivel 1 En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los procesos no suelen interrelacionarse directamente, sino que entre ellos debe existir algún almacenamiento o entidad externa que los una. Esta regla de construcción sirve como ayuda al analista para contemplar que en un nivel tan elevado de abstracción (DFD Nivel 1) es altamente probable que la información que se maneja requiera ser almacenada en el sistema aunque no esté especificado por un Requisito funcional, siendo en realidad un requisito no-funcional. Diagrama de Detalle o Expansión: Nivel 2 En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos principales de la información dado que 39


aumenta progresivamente el nivel de detalle. De aquí en adelante se permiten los flujos entre procesos. El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el máximo para ser validado en forma conjunta con el usuario dado que en los niveles posteriores el alto grado de complejidad del diagrama puede resultar de muy difícil lectura para personas ajenas al equipo de sistemas. También se recomienda el diagrama de nivel superior.

40


EJERCICIOS PROPUESTOS 1. Realizar un diagrama de flujo que permita calcular el promedio del 谩rea de educaci贸n para el trabajo teniendo en cuenta que esta cuenta con 04 capacidades

Inicio

A,B,C,D,P son enteros

Leer: A, B, C, D

P =(A+B+C+P)/4

"Imprimir P"

Fin

41


2. Diseñar un diagrama de flujo correspondiente a un programa que calcule el área y el perímetro de un triangulo rectángulo dada la base y atura.

Inicio

A B,H,X,Y,Z,P son enteros

Leer: B,H,X,Y,Z

A= (b*h)/Z P= X+Y+Z

"Imprimir P"

Fin

42


3. Desarrollar un diagrama de flujo que permita realizar las cuatro operaciones con dos nĂşmeros ingresados por teclado.

Inicio

Y,L,A,B,C,D son enteros

Leer: Y,L A= Y + L

B = Y- L C=Y/ L D= Y*L "Imprimir A,B,C,D"

Fin

43


4. Desarrollar un diagrama de flujo que nos permita cambiar una cantidad de soles a d贸lares.

Inicio

V,P son enteros

Leer: V,P

V = P / 2,65

"Imprimir V"

Fin

44


5. Desarrollar un diagrama de flujo que nos permita calcular el importa pagar por un determinado artĂ­culo el cual conozca su precio unitario

Inicio

I, P, C son enteros

Leer: P, C

I = P *C

"Imprimir I"

Fin

45


Séptima secion: Tema: ESTRUCTURA CONDICIONALES Existen 3 tipos básicos de estructura condicionales simple, dobles y múltiples. 1.- Estructuras Condicionales Simples: Se les conoce como toma de decisión, esta toma de decisión tiene la siguiente forma.

CONDICIO N

PROCESO 1

PROCESO 2

O

46


SI < condici贸n > entonces Acci贸n (es) FIN SI 2.- Estructuras Condicionales dobles: Permite elegir entre 2 opciones o alternativas posibles en funci贸n de cumplimiento o no de una determinada condici贸n.

NO

SI CONDICIO N

PROCESO F1

PROCESO V1

PROCESO F2

PROCESO V2

O

47


Sintaxis Si < condición > entonces Procesos _ Si Si no Procesos _ NO Fin _ Si

3.- Estructuras Condicionales Múltiples o animadas: Las estructuras de comparación múltiples son tomas de decisiones especializadas que permiten comparar una variable contra una posible ejecutando para cada caso una serie de instrucciones específicas.

A

CONDICION

PROCESO V1

NO

CONDICION

PROCESO V2

A

NO

CONDICION

PROCESO V2

A

NO 48


A

Sintaxis Si < condici贸n > entonces Proceso V1 Si No Si < condici贸n > entonces Proceso V2 Si No Si < condici贸n > entonces Proceso V3 Si No Fin Si Fin Si Fin Si

49


Ejercicios: 1.-DiseĂąar un diagrama de flujo de Datos. Que te permite evaluar si un nĂşmero ingresado por teclado es positivo o negativo.

INICIO

Num es Entero

Leer num

Num > 0

Leer

Leer

num

num

O

FIN

50


Análisis Numero = num Num > O

Positivo

2.-Diseño DFD que te permite si una persona es mayor o menor de edad.

INICIO

E es entero Leer E

No

E > 0 18

“Menor”

Si

“Mayor”

O

FIN

Edad: E

51


E >18

mayor3.-En un estacionamiento cobran $/. 1.500 por hora o

fracción. Diseñe un algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehículo, conociendo el tiempo de estacionamiento en horas y minutos.

INICIO // Declaración de variables ENTERO horas, minutos REAL pago // Entrada de datos LEER horas, minutos // Si hay alguna fracción de hora, incrementa las horas a pagar en una unidad

52


SI( minutos > 0 ) horas = horas + 1 // Determina el importe a pagar pago = horas * 1.500 // Salida de resultados IMPRIMIR pago FIN 4.-Diseñe un algoritmo que determine si ún número es o no es, par positivo.

53


INICIO // Declaración de variables REAL numero CADENA tipoNumero // Entrada de datos LEER numero // Determina si el número es o no es, par positivo SI( (numero%2==0) && (numero>0) ) tipoNumero = "El número es par positivo" SINO tipoNumero = "El número no es par positivo" // Salida de resultados IMPRIMIR tipoNumero FIN 5.-Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos.

54


6.-Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en pantalla indicando que debe abonar impuestos.

55


Octava secion: Tema: Integrando los Aprendizaje II I.- Relaciona las siguientes columnas según crea conveniente.

1.- DFD

( 2 ) Se le conoce como tema de decisiones.

2.- Estructuras condicionales simples

( 3 ) son tomas de decisiones especializadas que permiten Comparar una variable.

3.-Estructuras condicionales de múltiples verificar

(1 ) Representaciones graficas un algoritmo que sirve para y comprobar algoritmos.

4.-Caracteristicas de los niveles ( 5 ) Es la manera en que cualquier sistema desarrollado puede determinarse a través de un DFD. 5.-Modelos de datos

( 4 ) Diagrama de contexto, diagrama de nivel superior, diagrama de detalle o expansión.

56


2.-Reconocer las formas de estructuras condicionales 2.1

CONDICIO N

PROCESO 1

PROCESO 2

O

57


Estructura condicional Simpl2.2

NO

SI CONDICIO N

PROCESO F1

PROCESO V1

PROCESO F2

PROCESO V2

CONDICION

A

PROCESO V1

NO

CONDICION

PROCESO V2

A

58


NO

CONDICION

PROCESO V2

A

NO A

3.-Desarrollar los siguientes ejercicios: 1.-Diseñe un algoritmo que determine quienes son contemporáneos entre Juan, Mario y Pedro. inicio // Declaración de variables ENTERO EdadJuan, EdadMario, Edad Ped CADENA contemporaneos // Entrada de datos LEER EdadJuan, EdadMario, EdadPedro // Determina quienes son contemporáneos SI(EdadJuan == EdadMario && EdadMario == EdadPedro) contemporaneos = "Los tres son contemporáneos" SINO SI(EdadJuan == EdadMario) contemporaneos = "Juan y Mario son contemporáneos" SINO SI(EdadJuan == EdadPedro) contemporaneos = "Juan y Pedro son contemporáneos" SINO SI(EdadMario == EdadPedro) contemporaneos = "Mario y Pedro son contemporáneos" SINO 59


contemporaneos = "No hay contemporáneos" // Salida de resultados IMPRIMIR contemporaneos FIN 2:- El promedio de prácticas de un curso se calcula en base a cuatro prácticas calificadas de las cuales se elimina la nota menor y se promedian las tres notas más altas. Diseñe un algoritmo que determine la nota eliminada y el promedio de prácticas de un estudiante.

INICIO // Declaración de variables REAL pc1, pc2, pc3, pc4, pcmenor, promedio // Entrada de datos LEER pc1, pc2, pc3, pc4 // Determina la nota menor pcmenor = pc1 SI( pc2 < pcmenor ) pcmenor = pc2 SI( pc3 < pcmenor ) pcmenor = pc3 SI( pc4 < pcmenor ) pcmenor = pc4 // Determina el promedio promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3 // Salida de resultados IMPRIMIR promedio, pcmenor FIN

60


61


3:- En un estacionamiento cobran $/. 1.500 por hora o fracción. Diseñe un algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehículo, conociendo el tiempo de estacionamiento en horas y minutos.

INICIO // Declaración de variables ENTERO horas, minutos REAL pago // Entrada de datos LEER horas, minutos // Si hay alguna fracción de hora, incrementa las horas a pagar en una unidad SI( minutos > 0 ) horas = horas + 1 62


// Determina el importe a pagar pago = horas * 1.500 // Salida de resultados IMPRIMIR pago FIN

4.- Diseñe un algoritmo que determine si ún número es o no es, par positivo.

INICIO // Declaración de variables 63


INICIO // Declaraci贸n de variables REAL montopag, montocom, montodes, precio ENTERO docenas, obsequio 64


// Entrada de datos LEER docenas, precio // Determina el monto de la compra montocom = docenas*precio // Determina el monto del descuento y el obsequio SI( docenas > 3 ){ montodes = 0.15*montocom obsequio = docenas-3 } SINO{ montodes = 0.10*montocom obsequio = 0 } // Determina el monto a pagar montopag = montocom - montodes // Salida de resultados IMPRIMIR montocom, montodes, montopag, obsequio FIN

6.- Diseñe un algoritmo que lea un número de tres cifras y determine si es igual al Revés del número. Observación Como el número tiene tres cifras, para que sea igual al revés, basta con que la cifra de las unidades sea igual a la cifra de las centenas. Por ejemplo: 353, 878, etc.

65


66


INICIO // Salida de resultados ENTERO numero, unidades, centenas CADENA tipoNumero // Entrada de datos LEER numero // Si el número tiene tres cifras... SI(numero >99 && numero < 1000 ){ // Determina la cifra de las unidades y la cifra de las centenas unidades = numero%10 centenas = int(numero/100) // Determina si el número es igual al inverso SI( unidades == centenas ) tipoNumero = "El número es igual al inverso" SINO tipoNumero = "El número no es igual al inverso" // Muestra el tipo de número IMPRIMIR tipoNumero } SINO IMPRIMIR "Debe ingresar un número de tres cifras" FIN

7.- Una compañía dedicada al alquiler de automóviles cobra un monto fijo de $300000 para los primeros 300 km de recorrido. Para más de 300 km y hasta 1000 km, cobra un monto adicional de $ 15.000 por cada kilómetro en exceso sobre 300. Para más de 1000 km cobra un monto adicional de $ 10.000 por cada kilómetro en exceso sobre 1000. Los precios ya incluyen el 20% del impuesto general a las ventas, IVA. Diseñe un algoritmo que determine el monto a pagar por el alquiler de un vehículo y el monto incluido del impuesto.

67


68


INICIO // Declaraci贸n de variables REAL kilomrec, montopag, montoiva, montofijo = 300000, iva = 0.20 // Entrada de datos LEER kilomrec // Determina el monto a pagar SI( kilomrec <= 300 ) montopag = montofijo SINO SI( kilomrec <= 1000 ) montopag = montofijo + 15000*(kilomrec-300) SINO montopag = montofijo + 15000*700 + 10000*(kilomrec-1000) // Determina el monto del impuesto montoiva = iva*montopag // Salida de resultados IMPRIMIR montopag, montoiva

69


BibliografĂ­a: http://es.wikipedia.org/wiki/Algoritmo http://es.wikipedia.org/wiki/Variable http://www.fismat.umich.mx/mn1/tutor_fort/logical.html http://es.scribd.com/doc/54662396/16/VARIABLES-ALFANUMERICAS http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introd uccion/operadores1.htm http://es.wikipedia.org/wiki/Diagrama_de_Flujo_de_Datos http://www.google.com.pe/search?hl=es&q=diagramas%20de%20f lujo%20de%20datos&psj=1&biw=1680&bih=949&bav=on.2,or.r_gc.r_ pw.r_qf.,cf.osb&um=1&ie=UTF8&tbm=isch&source=og&sa=N&tab=wi&ei=CKgAUOu3EKbL6wGjj_n gBg#um=1&hl=es&tbm=isch&sa=1&q=diagramas+de+flujo+de+dat os+simbolos&oq=diagramas+de+flujo+de+datos+simbolos&gs_l=im g.3..0i24.7146.8297.0.8694.4.4.0.0.0.1.360.1172.22j2.4.0...0.0...1c.HM05VDxjkI&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=d63cfb00b71d59b 6&biw=1680&bih=949 http://es.wikipedia.org/wiki/Diagrama_de_Flujo_de_Datos http://artemisa.unicauca.edu.co/~nediaz/LabII/practica06.htm http://www.javaya.com.ar/detalleconcepto.php?codigo=80&inicio = http://www.desarrolloweb.com/articulos/2225.php http://artemisa.unicauca.edu.co/~nediaz/LabII/practica06.htm http://artemisa.unicauca.edu.co/~nediaz/LabII/practica06.htm

70


71


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.