Upload
david-vargas-lazo
View
283
Download
2
Tags:
Embed Size (px)
DESCRIPTION
El presente manual contiene información didáctica sobre el aprendizaje de planteamiento, análisis, y resolución de la estructura de los algoritmos, su desarrollo simplificado en seudocódigos y diagramas de flujo.
Citation preview
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
1
NOMBRE :
DAVID VARGAS LAZO
NIVEL :
SECUNDARIO
GRADO :
4º
SECCION :
“B”
PROFESOR :
NERITA TARRILLO
AREA :
EDUCACION PARA EL TRABAJO
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
2
DEDICATORIA:
Este presente trabajo lo dedico
primeramente a Dios por darme la
vida y a mis padres que siempre están
apoyándome y también a usted
profesora Nerita ya que usted nos esta
enseñando muchas cosas que no
sabíamos y que nos van ayudar para
nuestro futuro.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
3
INDICE:
1. CARATULA………………………………………………………….. 1
2. DEDICATORIA……….……………………………………………. 2
3. INDICE………………………………………………………………. 3
4. PRESENTACION…………………………………………………… 4
5. SESION 1…………………………………………………………. 5
6. SESION 2…………………………………………………………….. 12
7. SESION 3…………………………………………………………… 25
8. SESION 4……………………………………………………………. 30
9. SESION 5………………………………………………………… 34
10. SESION 6………………………………………………………… 37
11. SESION7…………………………………………………………... 44
12. SESION 8………………………………………………………… 49
13. BIBLIOGRAFIA………………………………………………… 55
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
4
PRESENTACION
El presente manual contiene información didáctica sobre el
aprendizaje de planteamiento, análisis, y resolución de la estructura
de los algoritmos, su desarrollo simplificado en seudocódigos y
diagramas de flujo.
En este manual les enseñare la utilización de la herramienta Free
DFD.exe, para la elaboración de diagramas de flujo nivel básico. El
presente documento consta de ocho sesiones aprendidas en la sala
de computo del colegio nacional “Félix Tello Rojas” en el curso de
educación para el trabajo.
Esperamos que este material elaborado cuidadosamente por mi
persona pueda ser de ayuda a los que se quieran iniciar en este
mundo de la programación.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
5
Sesión 1:“CONOCIENDO LOS ALGORITMOS”
1. ¿QUÉ ES UN ALGORITMO?
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 cálculo
que, partiendo de diversos datos iniciales, conduce en todos
los casos al resultado que le corresponde.
Un algoritmo se transforma en una herramienta de
computadora cuando se han preparado instrucciones
adecuadas para que la computadora pueda llevarlo.
Estas instrucciones deberán comunicarse a la
computadora en un lenguaje que puede entenderse, tal
lenguaje se conoce como “lenguaje de programación”.
“Lenguaje de programación: es un conjunto de símbolos,
caracteres, y reglas (programadas) que le permiten a las
personas comunicarse con la computadora.
Los lenguajes de programación tienen un conjunto de
instrucciones que nos permiten realizar operaciones de
entrada/salida, calculo, manipulación de textos,
lógica/comparación y almacenamiento/ recuperación.”
2. PROPIEDADES DE UN ALGORITMO
Las propiedades de un algoritmo son puntos guía a seguir para su
elaboración, ya q ue estos llevan un mejor desarrollo del problema
del computador. Sus propiedades son:
2.1. Enunciado Del Problema:
El enunciado del problema debe ser claro y completo. Es
importante que conozcamos exactamente que se desea del
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
6
computador. Mientras esto no se comprenda, no tiene cas de
pasar a la siguiente etapa.
2.2. Análisis De La Solución General :
Entendido el problema para resolver es preciso analizar:
Los datos o resultados que se esperan.
Los datos de entrada que nos 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
2.3. 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 menor tiempo o al menor
costo.
3. ELABORACION DE ALGORITMOS
Los conocimientos adquiridos anteriormente son las
herramientas necesarias para llevar a cabo la elaboración de un
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 la
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 se suministraran en un disco.
Procedimiento:
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
7
Escribir correctamente el enunciado del problema.
“calcular e imprimir el área de un triangulo cuya base y altura se
suministraran en un disco”
Análisis
1. ¿Qué se quiere?, ¿Cómo se quiere?, ¿Qué deseo obtener?
- ¿Qué se quiere?: quiero calcular el área de un triangulo.
- ¿Cómo se quiere?: lo quiero calcular a través de una
formula.
Área del triangulo= base x altura
2
- ¿Qué deseo obtener?: imprimir el area del triangulo y
suministrar los resultados en un disco.
Solución:
Variables utilizadas en esta solución:
Buscar diferentes alternativas de solución al resultado del
problema.
Ejemplo:
El problema pide imprimir el área del triangulo como resultado,
en un disco.
4. MEDIOS DE EXPRESIÓN DE UN ALGORITMO
De lectura Para almacenar
Base
Altura
El valor correspondiente a la base del
triangulo
El valor correspondiente a la altura del
triangulo
INICIO
Lea base, altura, área
Calcule área= (base * altura)/2
Imprima “resultado” = área
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
8
“Los algoritmos pueden ser expresados de muchas maneras,
incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo
y lenguajes de programación entre otros. Las descripciones en
lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades
del lenguaje natural. Dichas expresiones son formas más
estructuradas para representar algoritmos; no obstante, se
mantienen independientes de un lenguaje de programación
específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
1. Descripción de alto nivel. Se establece el problema, se
selecciona un modelo matemático y se explica el algoritmo
de manera verbal, posiblemente con ilustraciones y
omitiendo detalles.
2. Descripción formal. Se usa pseudocódigo para describir la
secuencia de pasos que encuentran la solución.
3. Implementación. Se muestra el algoritmo expresado en un
lenguaje de programación específico o algún objeto capaz
de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el
algoritmo es correcto, un análisis de complejidad o ambos.”1
5. DISEÑO DE ALGORITMOS:
Un ordenador no tiene la capacidad de pensar y resolver el
problema por sí mismo; una vez que el problema ha quedado bien
definido debemos plantearnos buscar una secuencia de pasos que
lo Resuelvan e indiquen al ordenador las instrucciones a ejecutar, es
decir, hemos de encontrar un buen algoritmo.
Aunque en la solución de problemas sencillos parezca evidente la
codificación en un lenguaje de programación concreto, es
aconsejable el uso de algoritmos, a partir de los cuales se pasa al
programa simplemente conociendo las reglas de sintaxis del lenguaje
de programación a utilizar. Ejemplo: Los pasos a seguir para calcular
los datos de salida del ejemplo anterior a partir de los
Datos de entrada son:
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
9
Actividades:
Comprendo:
1. Cuáles son los valores 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 – 9
B = c – a ¨ b
A = b * c
Desarrollo:
C = 3 + 2 ¨2 B = 9 – 3**2
C = 3 + 4 = 7 B = 9 – 9 = 0
C = C + B A = B * C
C = 1 + 2 A = 0 * 9
C = 1 A = 0
Diseño:
2. Diseña un algoritmo para dar solución a los siguientes casos :
-Hallar el área de un cuadrado:
Precio ← peso x precio por kilogramo
Devuelta ← entregada - precio
Que se expresa en el lenguaje de programación Módula-2
como:
Precio := peso * precioPorKilogramo;
Devuelta := entregada – precio;
Inicio:
.Lea: l, a
.Calcula: a= l ^ 2
.imprime: “a”
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
10
-Hallar el área de un círculo:
-Hallar el cuadrado de un número:
3.- Elabora un algoritmo para el siguiente caso:
- Juan Felipe es jefe de bodega de una fábrica de pañales
desechables y sabe que la producción diaria es de 744 pañales y
que en cada caja donde se empacan para la venta caben 12
pañales. ¿Cuantas cajas debe conseguir Juan Felipe para empacar
los pañales fabricados en una semana?
Inicio:
.Lea: r, a
.Calcula: a=(r^2)*3.14
.Imprimir “a”
FIN
Inicio:
.Lea: “n”, “c”
.Calcula: c = num^2
.Imprimir “c”
Fin
Inicio:
Leer: n_cajas_semanal, Producción_diaria, pañales
Calcular:
Producción_diaria = 744
Pañales = 12
n_cajas_semanal = (Produccion_diaria/pañales) * 7
Imprimir:
n_cajas_semanal
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
11
4.- Diseñar el algoritmo correspondiente a un programa que pida
por teclado dos números enteros y muestra su suma, resta,
multiplicación.
5.- A un trabajador le pagan según sus horas y una tarifa de pago
por horas . Si la cantidad de horas trabajadas es mayor a 40 horas.
La tarifa se incrementa en un 50 % para las horas extras . calcular el
salario del trabajador dadas las horas trabajadas y la tarifa
Desarrollo:
inicio
Leer h,t
P = h * t
Hora > 40
P=(h*t)+((h*t)*o.s)) P= h*t
fin
no si
Inicio:
N1, N2, es entero
S, M,R, es entero
¨ingresar numero 1 = ¨, n1
¨ingresar numero 2 I, n2
S = n1 + n2
R = n2 – n1
M = n1 * n2
¨el resultado de la suma es = ¨S
¨el resultado de la resta es = ¨R
¨el resultado de la multiplicación es = ¨M
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
12
Sesión 2: “VARIABLES, CONSTANTES, TIPOS DE
DATOS, EXPRESIONES, OPERADORES”
1. Variables:
“Una variable es un valor que puede cambiar durante la ejecución
de un programa.
En una variable se pueden guardar todo tipo de datos. Las variables
se guardan en la memoria RAM (Random Access Memory). Esta
memoria solo almacena datos de manera temporal, cuando la
computadora se apaga, si no guardas los datos en el disco duro,
éstos se pierden.
Las variables se pueden representar con letras, letras y números
combinados.
Ejemplo:
A, nombre, numero21.
Cuando vamos a declarar una variable en un programa no es
recomendable que los nombres de éstas tengan acentos, la letra ñ,
ni símbolos, porque la mayoría de los lenguajes de programación son
diseñados en inglés, y no admiten estos caracteres.
Para asignar valor a una variable se utiliza el símbolo igual (=).
Ejemplo:
P = 120
En este ejemplo vemos que la variable P toma el valor de 120.
Nota: es importante señalar que en un programa no se pueden
realizar operaciones matemáticas sin asignar el valor a una variable
específica:
Ejemplo:
D/2
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
13
Esta línea de código daría un error porque se está calculando D/2, y
este valor no se está almacenando en ninguna parte.
Lo correcto sería:
S = D/2
Es decir, en la variable S se estará guardando el valor del resultado
de la división D/2.
Generalmente cuando vamos a asignar un valor tipo cadena o
carácter a una variable, ésta información se coloca entre comillas
simples (') o comillas dobles ("), dependiendo del lenguaje de
programación que sea.
Ejemplos:
planeta = "Marte"
color = 'azul'
Es muy importante saber cuáles son las variables que vamos a utilizar
a la hora de realizar un programa y tomar en cuenta que las
variables cuyo valor se va a calcular en el programa NO se
representan en un diagrama de flujo en el símbolo de entrada de
datos.
Por ejemplo: si vamos a realizar un programa que sume dos números,
vamos a necesitar tres variables:
A, B y R.
A representa el primer número, B el segundo número y R el resultado.
Sólo las variables A y B serán introducidas, porque la variable R se va
a calcular durante la ejecución del programa.”
2. Constantes
“Una constante es un dato numérico o alfanumérico que no
cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416”
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
14
“En programación, una constante representa a un valor (dato
almacenado en memoria) que no puede cambiar durante la
ejecución de un programa. Por ejemplo, en lenguaje C, una
constante puede ser de tipo entero, real, carácter, cadena o
enumerado. Las constantes de tipo enumerado se van a estudiar en
el apartado "Datos de Tipos Enumerados". En cuanto a las demás, se
pueden expresar de dos formas diferentes:
1. Por su valor.
2. Con un nombre (identificador).
Ejemplo 1: Las siguientes constantes de tipo entero están expresadas
por su valor:
-5
10
Para expresar una constante con un nombre, la constante debe ser
declarada previamente. Todas las constantes que se declaran en un
programa son definidas de la misma forma, indicando de cada una
de ellas:
1. Su nombre (mediante un identificador).
2. El valor que simboliza (mediante una expresión).
En pseudocódigo, para declarar una constante, vamos a utilizar la
sintaxis:
<nombre_de_la_constante> = <expresión>
Y para declarar más de una constante en una misma línea, las
separaremos por medio de comas (,).
Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo
entero del ejemplo anterior, asignándoles un identificador, se puede
escribir, por ejemplo:
TEMPERATURA = -5
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
15
MES = 10
O también:
TEMPERATURA = -5, MES = 10
En programación es una buena práctica escribir los identificadores
de las constantes en mayúsculas, de esta forma es más fácil
localizarlos en el código de un programa (o algoritmo). Durante la
ejecución de un programa, por medio del identificador de una
constante, se puede hacer referencia al valor (dato) que simboliza,
tantas veces como sea necesario.”
3. TIPOS DE DATOS
“Los datos que utilizan los programas (o algoritmos) se pueden
clasificar en base a diferentes criterios.
El primer objetivo de toda computadora es el manejo de información
o datos. Estos datos pueden ser las cifras de ventas de un
supermercado o las calificaciones de una clase. Un dato es la
expresión general que describe los objetos con los cuales opera una
computadora.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
16
Existen dos tipos de datos: simples (sin estructura) y compuestos
(estructurados, los cuales se verán en programación).
A.SIMPLES:
Ocupan solo una casilla de memoria
Los tipos de datos simples son los siguientes:
a. numéricos (integer, real)
b. lógicos (boolean)
c. caracter (char, string)
a.Datos numéricos:
El tipo numérico es el conjunto de los valores numéricos. Estos
pueden representarse en dos formas distintas:
- Tipo numérico entero (integer)
- Tipo numérico real (real)
Enteros: El tipo entero es un subconjunto finito de los números
enteros. Los enteros son números completos, no tienen
componentes fraccionarios o decimales y pueden ser negativos
o positivos. En ocasiones se denominan números de punto fijo.
Ejemplo de números enteros son:
5 6, -15, 4, 20, 17, 1, 340 26, 1 000
Reales: El tipo real consiste en un subconjunto de los números
reales. Los números reales siempre tienen un punto decimal y
pueden ser positivos o negativos. Un número real consta de un
entero y una parte decimal.
Los siguientes ejemplos son números reales:
0.08 , 3739.41 , 3.7452, -52.321, -8.12, 3.0 12.45678, -
0.12334
En aplicaciones científicas se requiere una representación
especial para manejar números muy grandes como la masa de
la Tierra o muy pequeños como la masa de un electrón. Una
computadora sólo puede representar un número fijo de dígitos.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
17
Este número puede variar de una máquina a otra, siendo ocho
dígitos un número típico. Este límite provocará problemas para
representar y almacenar números muy grandes o muy
pequeños como son los ya citados o los siguientes:
4867213432, 0.00000000387
Existe un tipo de representación denominado notación
exponencial o científica y que se utiliza para números muy
grandes o muy pequeños. Así,
367520100000000000000
se representa en notación científica, descomponiéndolo en
grupos de tres dígitos.
367 520 100 000 000 000 000
y posteriormente en forma de potencias de 10
3.675201 x 10^19 y de modo similar
0.0000000000302579 se representa como
3.02579 x 10^-11
La representación en coma o punto flotante es una
generalización de notación científica.
Obsérvese que las siguientes expresiones son equivalentes:
3.675201x10^19 = .3675201x10^20 = .03675201x10^21 = ,..., =
36.75201x10^18 = ...
En estas expresiones se considera la mantisa (parte decimal) al
número real y el exponente (parte potencial) el de la potencia
de diez.
36.75201 mantisa 18 exponente
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
18
b.Datos lógicos (booleanos)
El tipo lógico - también denominado booleano - es aquel dato que
sólo puede tomar uno de dos valores:
verdadero (true) o falso (false)
Este tipo de datos se utiliza para representar las alternativas (sí / no) a
determinadas condiciones. Por ejemplo, cuando se pide si un valor
entero es par, la respuesta será verdadera o falsa, según sea par o
impar.
C.DATOS TIPO CARACTER
El tipo caracter es el conjunto finito y ordenado de caracteres que la
computadora reconoce. Un dato tipo caracter contiene un solo
caracter.
Los caracteres que reconocen las diferentes computadoras no son
estándar; sin embargo, la mayoría reconoce los siguientes caracteres
alfabéticos y numéricos:
- caracteres alfabéticos (A, B, C,..., Z)
- caracteres numéricos (1, 2, ..., 9)
- caracteres especiales (+, -, *, /, ^, ... , <, >, $, ...)
Una cadena (string) de caracteres es una sucesión de caracteres
que se encuentran delimitados por una comilla (apóstrofo) o dobles
comillas, según el tipo de lenguaje de programación. La longitud de
una cadena de caracteres es el número de ellos comprendidos entre
los separadores o delimitadores. Algunos lenguajes tienen datos tipo
cadena. Ejemplo:
„8 de octubre de 1976‟ ”
B.COMPUESTOS:
Ocupan un numero de casillas de memoria
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
19
Tienen varios componentes
Cada uno de los componentes puede ser a su vez un dato
simple y compuesto
Arreglos
Cadenas de caracteres
Registros
Conjuntos
4. EXPRESIONES:
Las expresiones son combinaciones de constantes, variables, símbolos
de operación, paréntesis y nombres de funciones especiales.
Por ejemplo:
a + (b + 3) / c
Cada expresión toma un valor que se determina tomando los valores
de las variables y constantes implicadas y la ejecución de las
operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo
de datos que manipulan, se clasifican las expresiones en:
Aritméticas
Relacionales
Lógicas
5. OPERADORES:
A. Operadores aritméticos:
Operadores Aritmeticos en Algoritmos
Operadores aritmeticos
+ suma
- resta
* Multiplicación
/ División
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
20
() paréntesis solo para asociar
% modulo
Estos operadores se usan en las expresiones para asignar valores a
variables. Igual que en algebra tienen una jerarquía.
( ) Todo lo que está entre paréntesis se evalúa primero
* / % Multiplicación, división y modulo tiene la misma jerarquia
+ - tienen la jerarquia más baja.
Los operadores que tiene más jerarquia se evaluan primero. Si en una
expresión los operadores tienen la misma jerarquia se evalua de
izquierda a derecha.
La jerarquia también se llama pecedencia.
Ejemplo.
x = 5 + 3 * 10
El resultado es:
Primero se evalua el operador *
x = 5 + 30
Y después +
x = 35
Jerarquía de los operadores aritméticos:
Al evaluar expresiones que contienen operadores aritméticos
debemos respetar la jerarquía en el orden de aplicación, es decir, si
tenemos en una expresión más de un operador, debemos aplicar
primero el operador de mayor jerarquía, resolver esa operación, y así
sucesivamente. En la Tabla 2 se presenta la jerarquía de los
operadores.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
21
Tabla 2. Jerarquía de los Operadores Aritméticos
Operador Jerarquía Operación
**
(mayor)
(menor)
Potencia
*, /, mod, div Multiplicación,
división, módulo,
división entera
+, - Suma, resta
Las reglas para resolver una expresión aritmética son las siguientes:
1. Si una expresión contiene subexpresiones entre paréntesis, éstas
se evalúan primero; respetando claro está la jerarquía de los
operadores aritméticos en esta subexpresión. Si las
subexpresiones se encuentran anidadas por paréntesis, primero
se evalúan las subexpresiones que se encuentran en el último
nivel de anidamiento.
2. Los operadores aritméticos se aplican teniendo en cuenta la
jerarquía y de izquierda a derecha.
Ejemplo
7 * 8 * (160 mod 3 ** 3) div 5 * 13 – 28
7 * 8 * (160 mod 27) div 5 * 13 – 28
7 * 8 * 25 div 5 * 13 – 28
56 * 25 div 5 * 13 – 28
1400 div 5 * 13 – 28
280 * 13 – 28
3640 – 28
3612
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
22
B. Operadores lógicos
•Son aquéllos que permiten la combinación de condiciones para
formar una sola expresión lógica.
•Proporcionan resultados lógicos.
Ejemplo:
Para los siguientes ejemplos T significa verdadero y F falso.
Jerarquía de los operadores lógicos
Los operadores lógicos son de conjunción (y), disyunción (o) y
negación (no). En la Tabla 1 se muestra el operador lógico, la
expresión lógica y significado de dicha expresión, teniendo en
cuenta la jerarquía correspondiente.
Tabla 1. Operadores Lógicos
Operador jerarquía Expresión significado
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
23
lógico lógica
No
(Not)
(mayor)
(menor)
No P
No P
No es cierto que
P
Es falso que P
Y
(AND) P y Q
P y Q
P sin embrago
Q
O
(OR) P o Q
P o Q,
o P o Q o
ambas
Mínimo P o Q
C. Operadores relacionales
Se utilizan para establecer una relación entre dos valores. Luego
compara estos valores entre si y esta comparación produce un
resultado de certeza o falsedad (verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo
(numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su
evaluación.
Los operadores relaciónales tiene menor prioridad que los
aritméticos.
Tipos de operadores Relacionales
> Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
24
< > Diferente
= Igual
Ejemplos:
Si a = 10, b = 20, c = 30
a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero
Ejemplos no lógicos:
a < b < c
10 < 20 < 30
T > 5 < 30
(No es lógico porque tiene diferentes operandos)
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
25
Sesión 3: “DIAGRAMA DE FLUJOS DE DATOS”
DEFINICION:
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 cómo 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
sí 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):
SIMBOLOS:
Símbolo Descripción
Indica el inicio y el final de
nuestro diagrama de flujo.
Indica la entrada y salida de
datos.
Símbolo de proceso y nos
indica la asignación de un
valor en la memoria y/o la
ejecución de una operación
aritmética.
Indica la salida de información
por impresora.
Conector dentro de página.
Representa la continuidad del
diagrama dentro de la misma
página.
Conector fuera de página.
Representa la continuidad del
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
26
diagrama en otra página.
Indica la salida de información
en la pantalla o monitor.
Símbolo de decisión. Indica la
realización de una
comparación de valores.
Símbolo de Selección Múltiple.
Dada una expresión permite
escoger una opción de
muchas.
REGLAS PARA LA CONSTRUCCION DE DIAGRAMAS DE FLUJO
El diagrama de flujo facilitará posteriormente la escritura del
programa en algún lenguaje de programación.
1. Todo diagrama de flujo debe tener un inicio y un
fin.
INICIO
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
27
2. Las l íneas util izadas para indicar la dirección del
flujo del diagrama deben ser rectas, verticales y
horizontales.
3. Todas las líneas utilizadas para indicar la dirección del flujo
del diagrama deben estar conectadas. La conexión
puede ser a un símbolo que exprese lectura, proceso,
decisión, impresión, conexión o fin de programa.
4. Todas las líneas utilizadas para indicar la dirección del flujo
del diagrama deben estar conectadas. La conexión
puede ser a un símbolo que exprese lectura, proceso,
decisión, impresión, conexión o fin de programa.
5. El diagrama de flujo debe ser construido de arriba hacia
abajo (top-down) y de izquierda a derecha (rigth to left)
NO SE DEBE
HACER
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
28
6. La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programación. La solución
presentada en el diagrama puede escribirse
posteriormente y fácilmente en diferentes lenguajes de
programación.
7. Es conveniente cuando se realiza una tarea compleja,
poner comentarios que expresen o ayuden lo que se hizo.
8. Si el diagrama de flujo requiriera mas de una hoja para su
construcción se debe usar conectores adecuados y
enumerar las páginas convenientemente.
9. No puede llegar mas de una línea a un símbolo
Ejemplo:
Hallar el cuadrado de un número ingresado por teclado:
Válido No valido
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
29
X = (num)2
Diseñar un diagrama de flujo de datos que le permita calcular la raíz
cuadrada de un número y el resultado mostrando por impresora
Inicio
Num x es
entero
Leer num
X = num ^ 2
Fin
Inicio
Leer “n”
“n” es entero
Calcular
R = n^1/2
Mostrar “R”
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
30
Sesión 4: “SOLUCIONANDO PROBLEMAS CON
DIAGRAMAS DE FLUJO DE DATOS”
1) Calcular el numero de pulsaciones que una persona debe
tener por cada 10s de ejercicio, si la formula es
Numero de pulsaciones = (220 - edad)/10
INICIO
X, N, P es real
Leer: edad: x
NP = (220 – x) / 10
Mostrar NP
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
31
2) Calcular el nuevo salario de un obrero si obtuvo un
incremento de 25% sobre su salario anterior
INICIO
SA, T, SN es real
Leer: SA
A = (0,25 * SA)
SN = SA + T
Mostrar: SN
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
32
3) Todos los lunes, miércoles y viernes una persona corre la misma
ruta y cronometra los tiempos obtenidos. Determinar el tiempo
promedio que la persona tarda e recorrer la ruta en una
semana.
INCIO
Lun, Mier, Vie, TP
es real
Leer: Lun, Mier,
Vie
TP = (lun + Mier + Vie) / 3
Mostrar: TP
FIN
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
33
4) Un vendedor recibe un sueldo base mas un 10% extra por
comisión de sus ventas, el vendedor desea saber el total que
recibirá en el mes tomando en cuenta su sueldo básico y
comisiones.
inicio
SB,C,T es real
X, es entero
Leer: SB, X
C=10*X/100
T=SB + C
“Mostrar T”
fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
34
SESION 5: “INTEGRANDO LOS APRENDIZAJES I”
EVALUACION DE EDUCACION PARA EL TRABAJO
CAPACIDAD A EVALUAR: EJECUCCION DE PROCESOS
Nombre y Apellidos: ______________________________
Grado Sección: ______ Fecha:_______ Duracion:40 min.
1. Relaciona las siguientes columnas según crea conveniente (8pts)
II. Escribir los nombres de los siguientes Símbolos que se muestran a
continuación: (8 pts)
1. Variable Numérica
2. Variables Lógicas
3. Variables
Alfanuméricas
4. Contadores
5. Definición del
problema
6. Análisis de problemas
7. Diseño de Algoritmo
8. Codificación
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
35
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. (4 pts)
Inicio
A,B es entero
D es real
D ees real de
D
Leer A,B
D es = sqrt(A+B)
Mostrar D
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
36
EVALUACION DE EDUCACION PARA EL TRABAJO
CAPACIDAD A EVALUAR: Comprensión y Aplicación de Tecnologías
Nombre y Apellidos: ______________________________
Grado Sección: ______ Fecha:_______ Duracion:40 min.
Indicaciones: Resuelve los siguientes problemas. Se sugiere realizar
los diagramas de flujos de Datos.
1. Se desea depositar una cierta cantidad de dinero en el banco, el
cual paga razón de 2% mensual. Realizar un DFD para saber
cuánto dinero ganara en un mes.
2. Un vendedor recibe un sueldo base mas un 10% extra por
comisión de sus ventas, el vendedor desea saber en total que
recibirá en el mes tomando en cuenta su sueldo básico y
comisiones.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
37
SESION 6: “CREANDO DIAGRAMAS DE FLUJO DE
DATOS CON EL SOFTWARE FREE DFD”
¿Qué es „‟Free DFD‟‟?
Se podría resumir que el software Free DFD es un programa intérprete
de diagramas de flujo. Sirve para editar, ejecutar y deputar
algoritmos representados en Diagramas de Flujo.
Con este software diseñado especialmente para construir y analizar
algoritmos. Usted puede crear diagrama de flujo de datos de
manera sencilla y precisa.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
38
Ventajas:
Sin duda una de sus mayores ventajas sería que es un programa
simple de usar, siempre y cuando sea explicado con precisión.
Aparte de ser simple también es fácil de conseguir y descargar.
Símbolos:
Cursor
Asignación
Ciclo
Mientras
Ciclo
Para
Decisión
Lectura o
Entrada
Llamada
Salida
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
39
El primer botón, se denomina Cursor, cuando este botón se
encuentra activado, se pueden hacer selecciones en el área
de edición del programa.
El segundo botón, se denomina Asignación, y sirve para hacer
definición de variables en el programa de manera estática.
El tercer botón, se denomina Ciclo Mientras, sirve para crear
una estructura repetitiva dentro del programa y ejecutar una
serie de instrucciones muchas veces seguidas, mientras se
considere una condición como verdadera.
El cuarto botón, se denomina Ciclo Para, sirve para crear del
mismo modo que el ciclo mientras una estructura repetitiva
dentro del programa, para que se repitan una serie de
instrucciones, solo que la condición es diferente.
El quinto botón, se denomina Decisión, sirve para tomar
decisiones simples dentro del programa, se ingresa dentro de la
“decisión”, una condición y dependiendo de si esa condición
es falsa o verdadera, el programa ejecutara una serie de
instrucciones diferentes en cada caso.
El sexto botón, se denomina Lectura o Entrada, sirve para
realizar definiciones de variables de manera dinámica, en el
momento en que el programa está en ejecución.
El séptimo botón, se denomina Salida, sirve para mostrar salidas
por pantalla de los diferentes procesos que se realizan con el
programa, es el único medio que tenemos para obtener
resultados.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
40
El octavo botón, se denomina Llamada, sirve para hacer
llamadas a otros subprogramas.
EJEMPLOS:
1) Tres amigos hicieron una venta de libros y se reparten las
ganancias de acuerdo al siguiente porcentaje: el 25% para
Miguel, el 35% para Antonio ye l 40% para Roberto. Si las
ganancias fueron en soles, ¿Cuánto le corresponde a cada
quien?
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
41
2) Calcular cuanto va a pagar un estudiante por sus utiles
escolares, si necesita 6 cuadernos cuyo precio es el mismo para
todos, 2 libros del mismo valor y un millar de hojas.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
42
3) calcular cuanto dinero ahorrará Marina en una alcancía,
durante un año, si cada semana ahorra “n” soles.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
43
4) Martha deposita sus ahorros en el Banco de
Crédito, le pagan un interés de 3 % mensual ¿Cuánto dinero
tendrá en 6 meses si no retiro nada? El interés siempre se aplica
en el depósito
inicial.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
44
SESION 7:”ESTRUCTURAS CONDICIONALES
SIMPLES, DOBLES Y MULTIPLES”
Una instrucción condicional es aquella que nos permite "preguntar" sobre el
entorno que nos rodea, pudiendo así actuar según la respuesta obtenida.
Estas respuestas siempre serán Verdadero o Falso, pudiendo así tomar, en
un principio, dos caminos diferentes.
Existen dos tipos de Estructuras Condicionales:
Estructuras Condicionales Simples: También conocida como
„‟Toma de Decisión‟‟ y su forma es la siguiente:
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
45
Estructuras condicionales Dobles: Nos dan la opción de
elegir entre dos opciones o alternativas y función del cumplimiento o
no de una determinada condición.
Estructura Condicional Múltiple: Este tipo de estructura con
se decisiones especializadas las cuales permiten comparar una
variable contra una posible ejecutando una serie de instrucciones
específica.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
46
Aquí tienes
algunos
modelos
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
47
PROBLEMAS:
Realizar un programa que solicite ingresar dos números distintos y
muestre por pantalla el mayor de ellos.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
48
Ingresar el sueldo de una persona, si supera los 3000 soles mostrar
un mensaje en pantalla indicando que debe abonar impuestos.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
49
SESION 8: “INTEGRANDO APRENDIZAJE II”
1.) Elabora un algoritmo que lea 4 números enteros, y que
presente el promedio resultante de ellos.
S = Suma de los números.
A= Número 1
B = Número 2
C = Número 3
D = Número 4
Inicio
S, A, B , C, D son
reales
Leer A, B, C, D.
S = A + B+ C + D
Mostrar “S”
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
50
2.) Desarrollar un diagrama de flujo que permita realizar
las cuatro operaciones con dos números ingresados por
teclado.
N1 = número uno
N2 = Número dos
S = suma de los números
R = Resta de los números
M = Multiplicación de los números
D = División de los números
Inicio
N1, N2, S, R, M, D son
reales
Leer N1, N2
S = N1 + N2
M = N1 * N2
D = N1 / N2
R = N1 - N2
Mostrar “S, R,
M, D.”
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
51
3.) ¿ Cuántas y cuáles son las propiedades de un algoritmo?
a) Enunciado del problema.
b) Análisis de la solución general.
c) Diferentes alternativas de solución.
4.) ¿Qué símbolo de programación te permite realizar cálculos
fórmulas, asiganar valores a las variables?
El símbolo de PROCESO
5.) ¿Para qué sirve la variable tipo acumulador?
Sirve para llevar una suma o cuenta de diferentes valores
(acumular).Ej.: Edad variable que almacena la suma de las
edades de una cantidad de personas.
6.) ¿Cuál es el símbolo de programación que llama a un
procedimiento?
El símbolo Procedimiento predefinido.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
52
7.) Diseñar un diagrama de flujo de datos que te permita
evaluar si un numero ingresado por teclado es positivo o
negativo.
Número = num
Num >0 Positivo
Diseño:
Inicio
Num es
entero
Leer Num
Num > 0
“Positivo” “Negativo”
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
53
8.) Diseñar un diagrama de flujo de datos que te permita
determinar su una persona es mayor o menor.
Número num
Num > = 18
(Mayor de edad)
Num < 18 (menor de edad)
Inicio
Num es
entero
Leer
Num
Num > = 18
Menor de
edad
Mayor de
edad
Fin
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
54
9.) El dueño de una empresa desea planificar las decisiones
financieras que tomara en el siguiente año. La manera de planificarlas
depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedirá un
préstamo bancario para que su nuevo saldo sea de $10 000. Si su capital
tiene actualmente un saldo positivo pedirá un préstamo bancario para
tener un nuevo saldo de $20 000, pero si su capital tiene actualmente un
saldo superior da las $20 000 no pedirá ningún préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera: $5 000
para quipo de computo; $2 000 para mobiliario y lo que sobra repartirá en
la compra de insumos y la otra para otorgar incentivos al personal.
Desplegar que cantidades se destinaran para la compra de insumos y la
otra para otorgar incentivos al personal.
Desplegar que cantidades se destinaran para la copra de insumos e
incentivos al personal y, en caso de que fuera necesario, a cuanto
ascendería la cantidad que se pediría al banco.
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”
55
BIBLIOGRAFIA:
SESION 1:
http://enriquebarrueto0.tripod.com/algoritmos/algor01.pdf
http://es.wikipedia.org/wiki/Algoritmo
SESION 2:
http://infoalgoritmo.blogspot.com/2010/09/las-variables-parte-
i.html
http://www.desarrolloweb.com/articulos/2164.php
http://www.carlospes.com/curso_de_algoritmos/03_03_constan
tes.php
http://correo.uan.edu.mx/~iavalos/FP/FP4.html
http://www.desarrolloweb.com/articulos/2164.php
SESIÓN 3:
http://ciencias.udea.edu.co/programas/pregrado/CNM-
130/docs/clase4sinp.pdf
SESIÓN 6:
http://dfdgurzaf.wordpress.com/2010/05/04/objetos/#more-20
SESIÓN 7:
http://moisesrbb.tripod.com/si.htm
http://mouse-puntonet.blogspot.com/2010/07/condicional-multiple-select-
case.html
http://www.slideshare.net/ninamille/estructura-condicional-2763177