Manual de Algoritmos-David Vargas

55
INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas” 1 NOMBRE : DAVID VARGAS LAZO NIVEL : SECUNDARIO GRADO : SECCION : “B” PROFESOR : NERITA TARRILLO AREA : EDUCACION PARA EL TRABAJO

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.

Transcript of Manual de Algoritmos-David Vargas

Page 1: Manual de Algoritmos-David Vargas

INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”

1

NOMBRE :

DAVID VARGAS LAZO

NIVEL :

SECUNDARIO

GRADO :

SECCION :

“B”

PROFESOR :

NERITA TARRILLO

AREA :

EDUCACION PARA EL TRABAJO

Page 2: Manual de Algoritmos-David Vargas

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.

Page 3: Manual de Algoritmos-David Vargas

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

Page 4: Manual de Algoritmos-David Vargas

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.

Page 5: Manual de Algoritmos-David Vargas

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

Page 6: Manual de Algoritmos-David Vargas

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:

Page 7: Manual de Algoritmos-David Vargas

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

Page 8: Manual de Algoritmos-David Vargas

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:

Page 9: Manual de Algoritmos-David Vargas

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

Page 10: Manual de Algoritmos-David Vargas

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

Page 11: Manual de Algoritmos-David Vargas

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

Page 12: Manual de Algoritmos-David Vargas

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

Page 13: Manual de Algoritmos-David Vargas

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”

Page 14: Manual de Algoritmos-David Vargas

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

Page 15: Manual de Algoritmos-David Vargas

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.

Page 16: Manual de Algoritmos-David Vargas

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.

Page 17: Manual de Algoritmos-David Vargas

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

Page 18: Manual de Algoritmos-David Vargas

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

Page 19: Manual de Algoritmos-David Vargas

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

Page 20: Manual de Algoritmos-David Vargas

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.

Page 21: Manual de Algoritmos-David Vargas

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

Page 22: Manual de Algoritmos-David Vargas

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

Page 23: Manual de Algoritmos-David Vargas

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

Page 24: Manual de Algoritmos-David Vargas

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)

Page 25: Manual de Algoritmos-David Vargas

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

Page 26: Manual de Algoritmos-David Vargas

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

Page 27: Manual de Algoritmos-David Vargas

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

Page 28: Manual de Algoritmos-David Vargas

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

Page 29: Manual de Algoritmos-David Vargas

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

Page 30: Manual de Algoritmos-David Vargas

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

Page 31: Manual de Algoritmos-David Vargas

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

Page 32: Manual de Algoritmos-David Vargas

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

Page 33: Manual de Algoritmos-David Vargas

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

Page 34: Manual de Algoritmos-David Vargas

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

Page 35: Manual de Algoritmos-David Vargas

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

Page 36: Manual de Algoritmos-David Vargas

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.

Page 37: Manual de Algoritmos-David Vargas

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.

Page 38: Manual de Algoritmos-David Vargas

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

Page 39: Manual de Algoritmos-David Vargas

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.

Page 40: Manual de Algoritmos-David Vargas

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?

Page 41: Manual de Algoritmos-David Vargas

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.

Page 42: Manual de Algoritmos-David Vargas

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.

Page 43: Manual de Algoritmos-David Vargas

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.

Page 44: Manual de Algoritmos-David Vargas

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:

Page 45: Manual de Algoritmos-David Vargas

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.

Page 46: Manual de Algoritmos-David Vargas

INSTITUCION EDUCATIVA My PNP “Félix Tello Rojas”

46

Aquí tienes

algunos

modelos

Page 47: Manual de Algoritmos-David Vargas

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.

Page 48: Manual de Algoritmos-David Vargas

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.

Page 49: Manual de Algoritmos-David Vargas

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

Page 50: Manual de Algoritmos-David Vargas

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

Page 51: Manual de Algoritmos-David Vargas

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.

Page 52: Manual de Algoritmos-David Vargas

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

Page 53: Manual de Algoritmos-David Vargas

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

Page 54: Manual de Algoritmos-David Vargas

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.

Page 55: Manual de Algoritmos-David Vargas

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