metodología de la programación

48
0 2012 Metodología de la Programación Fundamentos MTW Rosa Martha Núñez Arroyo

Upload: roshymar-nuar

Post on 29-Jul-2015

2.058 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Metodología de la Programación

Metodología de la Programación TIC

0

2012

Metodología de la

Programación Fundamentos

MTW Rosa Martha Núñez Arroyo

Page 2: Metodología de la Programación

Metodología de la Programación TIC

1

Contenido

Conceptos Básicos ......................................................................................................................... 3

Adquisición, procesamiento y almacenamiento de datos ........................................................... 3

Algoritmo ................................................................................................................................... 5

Ejercicios ................................................................................................................................ 5

Pseudocódigo ............................................................................................................................ 6

Ejercicios ................................................................................................................................ 7

Diagrama de Flujo ...................................................................................................................... 8

Simbología de los Diagramas de Flujo ..................................................................................... 8

Operadores de los Diagramas de Flujo.................................................................................... 9

Ejercicios .............................................................................................................................. 10

Variables .................................................................................................................................. 11

Constantes ............................................................................................................................... 11

Identificadores ......................................................................................................................... 11

Reglas para la creación de Identificadores ............................................................................ 11

Tipos de datos .......................................................................................................................... 12

Ejercicios .............................................................................................................................. 12

Metodología para la solución de problemas por medio de computadoras ................................ 13

Evidencia 1° Unidad ................................................................................................................. 15

Tarea Integradora 1° Unidad .................................................................................................... 16

Expresiones.................................................................................................................................. 17

Operadores Aritméticos, Relacionales y Lógicos ....................................................................... 17

Operadores Aritméticos ....................................................................................................... 17

Operadores Relacionales ...................................................................................................... 18

Operadores Lógicos .............................................................................................................. 18

Jerarquía de Operadores .......................................................................................................... 20

Expresiones .............................................................................................................................. 20

Conversión a de Expresiones Matemáticas a Expresiones Algorítmicas ................................. 21

Page 3: Metodología de la Programación

Metodología de la Programación TIC

2

Evidencia 2° Unidad ................................................................................................................. 23

Tarea Integradora 2° Unidad .................................................................................................... 24

Algoritmos y Diagramas de Flujo .................................................................................................. 25

Reglas para la elaboración de Pseudocódigos ........................................................................... 25

Ejemplo: ............................................................................................................................... 26

Reglas para la elaboración de Diagramas de Flujo .................................................................... 26

Pruebas de Escritorio ............................................................................................................... 27

Ejemplo: ............................................................................................................................... 27

Contadores y Acumuladores..................................................................................................... 29

Contadores .......................................................................................................................... 29

Acumuladores ...................................................................................................................... 30

Contador vs Acumulador ...................................................................................................... 30

Estructuras de Control de Selección ......................................................................................... 31

Simples ................................................................................................................................ 31

Dobles .................................................................................................................................. 33

Compuestas ......................................................................................................................... 35

Múltiples .............................................................................................................................. 37

Estructuras de Repetición ........................................................................................................ 40

Para – Hasta ......................................................................................................................... 40

Repite .................................................................................................................................. 42

Mientras .............................................................................................................................. 44

Evidencia 3° Unidad ................................................................................................................. 46

Tarea Integradora 3° Unidad .................................................................................................... 47

Page 4: Metodología de la Programación

Metodología de la Programación TIC

3

Conceptos Básicos

Adquisición, procesamiento y almacenamiento de datos

INTRODUCCIÓN:

1) Preguntar a los alumnos: ¿Qué son estos:

R= Son Datos.

2) Preguntarles: ¿Los datos, por sí solos, sirven para algo? R= No.

3) Decirles en conclusión: Los datos tienen que estar agrupados, ordenados y definidos para

ser útiles, es decir, para convertirse en información.

Información: Conjunto de datos supervisados y ordenados que sirven para resolver problemas y

tomar decisiones.

Ejemplo:

DATOS: 13.95 , 14.80 INFORMACIÓN: Dólar a la compra: $13.95 Dólar a la venta: $14.80

Los datos dados, son valores sueltos que no nos dicen nada, en cambio, con la información

podemos decidir, por ejemplo, si el dólar está caro o no y si nos conviene comprarlos o esperar a

que baje su valor.

Proceso: Acción que se puede descomponer en otras más simples.

Alba

4 Confirmado

25 Cuevas 110

Suspendido

12

3 Martínez

Page 5: Metodología de la Programación

Metodología de la Programación TIC

4

EXPLICACIÓN:

1) Realizar un proceso significa “transformar algo”.

Un proceso requiere de una entrada para poderse iniciar y dar como resultado una salida:

Entrada: Datos iniciales requeridos para arrancar.

Proceso: Operaciones a realizar.

Salida: Resultados obtenidos.

Ejemplo de un proceso: Proceso de suma de dos números.

Proceso de Información: Por tanto, consiste en recolectar datos, transformarlos de alguna

manera y convertirlos en información útil.

Ejemplo de un proceso de información: De acuerdo a la diferencia (Resta) entre los ingresos y

gastos mensuales que tiene la tienda de abarrotes de Don Chucho, decidir si le conviene seguir

manteniéndola o no.

En base a la información obtenida, se toma la decisión que más convenga a la tienda de abarrotes

(seguir o cerrarla).

ENTRADA

PROCESO SALIDA

2 , 5 ENTRADA

2 + 5 PROCESO

7 SALIDA

DATOS PROCESO DE

INFORMACIÓN INFORMACIÓN

INGRESOS: $3,250 GASTOS: $2,500

DATOS

INGRESOS – GASTOS $3,250 – $2,500

PROCESO DE INFORMACIÓN

GANANCIA = $750 MENSUALES

INFORMACIÓN

Page 6: Metodología de la Programación

Metodología de la Programación TIC

5

Algoritmo

Conjunto de instrucciones formadas por pasos finitos, eficientes y no ambiguos, que sirven para

llevar a cabo una tarea específica.

Como los algoritmos son considerados un tipo de proceso de la información y por tanto, requiere

de una entrada, un proceso y una salida.

Ejemplo: Algoritmo para preparar una taza de té con azúcar.

ENTRADAS: Pocillo, agua, bolsa de té, azúcar, taza, cuchara.

PROCESO:

1. Tomar el pocillo.

2. Llenarlo con agua.

3. Encender el fuego.

4. Poner el pocillo en el fuego.

5. Tomar la bolsa de té.

6. Introducirla en el pocillo.

7. Esperar un minuto.

8. Vaciar el té en la taza.

9. Tomar la cuchara.

10. Agarrar azúcar con la cuchara.

11. Vaciar el azúcar en la taza de té.

12. Revolver el té y el azúcar con la cuchara.

SALIDA: Taza de té con azúcar.

Ejercicios

Realizar los algoritmos necesarios para:

a) Preparar un pan tostado con mermelada.

b) Enviar un mensaje por celular.

c) Comparar dos valores y determinar cuál es el mayor.

d) Calcular el área de un cuadrado.

Page 7: Metodología de la Programación

Metodología de la Programación TIC

6

Pseudocódigo

Describe un algoritmo mezclando frases de un idioma común (español, inglés, etc.) con

instrucciones de programación y palabras clave para realizar el diseño de un programa. Su objetivo

es narrar los pasos que debe seguir un algoritmo para dar solución a un problema.

Presentan la ventaja de ser más compactos que los diagramas de flujo, más simples de escribir

para las instrucciones complejas y más fáciles de trasladar a un lenguaje de programación; además

de no estar regidos por ningún estándar.

Ejemplo 1: Realizar el pseudocódigo de un algoritmo que lleve a cabo la suma de dos números.

INICIO

1. IMPRIMIR: “Introduce el primer número:”

2. LEER: Primer número.

3. IMPRIMIR: “Introduce el segundo número:”

4. LEER: Segundo número.

5. CALCULAR: Suma = Primer número + Segundo número.

6. IMPRIMIR: “El resultado es: ”, Suma.

FIN

Ejemplo 2: Realizar el pseudocódigo de un algoritmo que lea un valor y escriba si éste es par o

impar.

INICIO

1. IMPRIMIR: “Introduce el número:”

2. LEER: Número.

3. SI: Número/2 = 0

4. ENTONCES: IMPRIMIR: “El número es par”

5. SI NO: IMPRIMIR: “El número es impar”

FIN

Page 8: Metodología de la Programación

Metodología de la Programación TIC

7

Ejercicios

Realizar los pseudocódigos necesarios para:

a) Comparar dos valores y determinar cuál es el mayor.

b) Calcular el área de un cuadrado.

c) Calcular el área de un círculo.

d) Convierta de kilómetros por hora a metros por segundo.

Page 9: Metodología de la Programación

Metodología de la Programación TIC

8

Diagrama de Flujo

Es la representación gráfica de los pasos realizados en un proceso y sirve para determinar cómo

dicho proceso produce un resultado (producto, servicio, información, etc.).

Simbología de los Diagramas de Flujo

Símbolo Significado

Inicializador o Terminador. Representa el inicio o fin de un diagrama de flujo.

Proceso. Simboliza la ejecución de un procedimiento específico, sobre los datos manejados en el diagrama.

Decisión. Indica qué hacer si un evento ocurre y qué hacer si no ocurre.

Entrada manual. Representa el ingreso de datos desde el teclado.

Conector. Simboliza la unión de un bloque del diagrama con otro.

Conector fuera de página. Indica la unión de una parte del diagrama con otra que se encuentra en una página distinta.

Documento. Simboliza la salida de datos por medio de la impresora.

Pantalla. Indica la impresión de resultados en la pantalla de la computadora.

Repetir. Permite utilizar estructuras iterativas.

Flujo. Señala la dirección en que se debe leer el diagrama.

Page 10: Metodología de la Programación

Metodología de la Programación TIC

9

Operadores de los Diagramas de Flujo

Operador Significado + Suma

– Resta

* Multiplicación

/ División

> Mayor que

< Menor que

= Igual que

>= Mayor o Igual que

<= Menor o Igual que

≠ Diferente de

Ejemplo 1: Realizar un diagrama de flujo que lleve a cabo la suma de dos números.

Ingreso del primer

número

INICIO

“Dame el primer

número:” Suma = Primer número

+ Segundo número

FIN “Dame el segundo

número:”

Ingreso del segundo

número

“El resultado es: ”,

Suma

A

A

Page 11: Metodología de la Programación

Metodología de la Programación TIC

10

Ejemplo 2: Realizar el pseudocódigo de un algoritmo que lea un valor y escriba si éste es par o

impar.

Ejercicios

Realizar los diagramas de flujo necesarios para:

a) Comparar dos valores y determinar cuál es el mayor.

b) Calcular el área de un cuadrado.

c) Calcular el área de un círculo.

d) Convierta de kilómetros por hora a metros por segundo.

Ingreso del número

INICIO

“Introduce un

número:”

FIN

Resultado = 0?

Resultado = Número / 2

SI

NO

“El Número es

Par”

“El Número es

Impar”

Page 12: Metodología de la Programación

Metodología de la Programación TIC

11

Variables

Una variable es un espacio reservado en la memoria de la computadora y sirve para contener un

dato valor determinado, el cual puede ser numérico o de otro tipo.

ANALOGÍA: Es posible comparar una variable con un cajón en el cual solamente cabe un objeto a la

vez y ese objeto, sería el dato en cuestión.

La característica principal de las variables es que, como su nombre lo indica, pueden cambiar su

valor en el momento que se requiera.

Constantes

Al igual que las variables, son espacios de memoria reservados para almacenar un valor. Sin

embargo, se diferencian de éstas, porque las constantes no pueden cambiar el dato que están

guardando, sino que lo mantienen fijo.

Identificadores

Para localizar una variable o constante, dentro de un algoritmo, pseudocódigo o diagrama de flujo,

es necesario asignarle un nombre; dicho nombre se conoce como identificador. Se aconseja

utilizar nombres representativos de los datos que se almacenarán.

Reglas para la creación de Identificadores

1. Incluir uno o más caracteres.

2. El primer carácter debe ser una letra o guion bajo (_), mientras que todos los demás,

pueden ser letras, dígitos o guiones bajos (_). Las letras pueden ser minúsculas o

mayúsculas del alfabeto inglés, es decir, no está permitido el uso de 'ñ' y 'Ñ'.

3. No pueden existir dos identificadores iguales, es decir, dos variables o constantes no

pueden llevar el mismo nombre.

4. Salvo el guion bajo, no se puede utilizar ningún otro símbolo especial.

Page 13: Metodología de la Programación

Metodología de la Programación TIC

12

Tipos de datos

Es el tipo de valor que una variable o constante, puede almacenar. Existen 4 tipos de datos

básicos, conocidos como “simples”:

1. Entero: Incluye todos los números enteros (positivos o negativos) que hay.

2. Real: Representan a los números decimales tanto positivos como negativos.

3. Carácter: Comúnmente conocido como “char” (por su nombre en inglés), es usado para

almacenar caracteres simples, como ‘a’ o ‘s’. En caso de que se requieran guardar palabras

e incluso, frases completas, el tipo de dato regularmente usado, es “string” (cadena de

caracteres), el cual puede almacenar datos como: “Esta es una cadena de caracteres”.

4. Booleano: Las variables o constantes de este tipo, sólo pueden almacenar dos valores:

“Verdadero” o “Falso”. En algunos casos, el valor “verdadero” suele representarse

también con un “1” y el “Falso” como un “0”.

Ejemplo: Si la variable A guarda únicamente números que no sean decimales, ¿de qué tipo es? R=

Entera.

Ejercicios

Responder correctamente las siguientes preguntas:

a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real. R= 1.5, 2.3

b) ¿De qué tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de

una persona? R= String o Carácter.

c) Una constante sólo puede contener un valor “verdadero” o “falso”, ¿cuál será su tipo de

dato? R= Booleano.

Page 14: Metodología de la Programación

Metodología de la Programación TIC

13

Metodología para la solución de problemas por medio de computadoras

La solución de un problema por computadora, requiere de siete pasos dispuestos de tal forma,

que cada uno depende de los anteriores, es decir, es un proceso complementario y por lo tanto,

cada paso exige el mismo cuidado en su elaboración.

Los siete pasos de la metodología son:

1. Definición del problema.- Es el enunciado del problema. Debe ser claro y completo. Es

fundamental conocer y delimitar totalmente el problema, para saber qué es lo que debe

realizar la computadora y mientras esto no suceda, no tiene caso continuar con el

siguiente paso.

2. Análisis de la solución.- Una vez definido el problema, es necesario determinar cuáles

serán los datos de entrada, qué información se desea producir (salida) y qué métodos y/o

fórmulas son necesarias para procesar dichos datos.

RECOMENDACIÓN: Hay que ponerse en el lugar de la computadora y analizar qué

necesitamos que nos ordenen y en qué secuencia, para producir los resultados esperados.

3. Diseño del algoritmo.- A continuación, se debe crear la serie de pasos ordenados que

proporcionen un método explícito para solucionar el problema, es decir, el algoritmo. Las

características de un buen algoritmo son:

a. Tener un punto particular de inicio. Indicar claramente por dónde empezar.

b. Ser definido, no permitir dobles interpretaciones.

c. Ser general, es decir, soportar la mayoría de las variantes que se puedan presentar

en la definición del problema.

d. Ser finito en tamaño y tiempo de ejecución.

EJEMPLIFICACIÓN DE PRÁCTICA: Tomar a dos alumnos, decirle a uno de ellos que le dé

órdenes al otro para que realice alguna acción. Quien recibe las órdenes debe desconocer

qué es lo que el otro compañero desea que haga.

4. Codificación.- Consiste en escribir la solución del problema (de acuerdo al pseudocódigo o

diagrama de flujo) como una serie de instrucciones detalladas en un código reconocible

por la computadora, es decir, en un lenguaje de programación, lo cual se conoce como

“Programa”.

Page 15: Metodología de la Programación

Metodología de la Programación TIC

14

5. Prueba y Depuración.- La prueba es el proceso de localizar los errores existentes en un

programa. Para ello, es necesario:

a. Iniciar la prueba con una mentalidad saboteadora, intentando por todos los

medios, que el programa marque algún error.

b. Sospechar de todos los resultados que arroje la solución y verificarlos.

c. Considerar todas las situaciones posibles tanto normales como anormales.

La depuración, es el proceso de eliminar los errores que se hayan encontrado mediante la

prueba.

6. Documentación.- Es la guía escrita que sirve para saber cómo usar un programa o facilitar

futuras modificaciones. Debe presentarse en tres formas:

a. Documentación Interna.- Son los comentarios que se agregan al código del

programa y explican las funciones que realizan ciertos procesos, cálculos o

fórmulas para el entendimiento del mismo.

b. Documentación Externa.- Es el Manual Técnico, integrado por los siguientes

elementos: Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o

Pseudocódigo, Lista de variables y constantes, y Codificación del Programa; con la

finalidad de permitir su posterior adecuación a los cambios.

c. Manual del Usuario.- Es la guía que se le proporciona al usuario final, para que

aprenda a manejar el programa. Presenta todas las pantallas y menús que éste

encontrará y una explicación de los mismos, pero no contiene información de tipo

técnico.

7. Mantenimiento.- Se lleva a cabo después de terminar y poner a trabajar el programa, si

se detecta que es necesario hacer un cambio, ajuste y/o complementación para que siga

trabajando de correctamente.

Page 16: Metodología de la Programación

Metodología de la Programación TIC

15

Evidencia 1° Unidad

Reunir los 15 ejercicios relativos a la unidad 1, pasarlos en limpio escritos a mano y entregarlos.

I.- Realizar los algoritmos necesarios para:

a) Preparar un pan tostado con mermelada.

b) Enviar un mensaje por celular.

c) Comparar dos valores y determinar cuál es el mayor.

d) Calcular el área de un cuadrado.

II.- Realizar los pseudocódigos necesarios para:

a) Comparar dos valores y determinar cuál es el mayor.

b) Calcular el área de un cuadrado.

c) Calcular el área de un círculo.

d) Convierta de kilómetros por hora a metros por segundo.

III.- Realizar los diagramas de flujo necesarios para:

a) Comparar dos valores y determinar cuál es el mayor.

b) Calcular el área de un cuadrado.

c) Calcular el área de un círculo.

d) Convierta de kilómetros por hora a metros por segundo.

IV.- Responder correctamente las siguientes preguntas:

a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real.

b) ¿De qué tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de

una persona?

c) Una constante sólo puede contener un valor “verdadero” o “falso”, ¿cuál será su tipo de

dato?

Lista de Cotejo para Revisión de esta Evidencia

Page 17: Metodología de la Programación

Metodología de la Programación TIC

16

Tarea Integradora 1° Unidad

Realizar, por equipos, el análisis de los ejercicios dados, indicando en una tabla los datos que se

solicitan en cada columna, como se observa en el ejemplo siguiente:

Ejercicio 1: Realizar la suma de dos números.

NÚMERO DE EJERCICIO

DATOS DE ENTRADA

DATOS DE SALIDA

TIPOS DE DATOS USADOS

OPERACIONES A REALIZAR

1 Primer número Segundo número

Suma de dos números

Resultado de la suma

1) Primer número + Segundo número

Ejercicios:

1) Comparar dos valores y determinar si son iguales.

2) Calcular la raíz cuadrada de un número.

3) Calcular la hipotenusa de un triángulo rectángulo, conocidas las longitudes de sus dos

catetos.

4) Ordenar dos números de menor a mayor.

5) Calcular el volumen de un cubo.

Lista de Cotejo para Revisión de esta Tarea Integradora

Page 18: Metodología de la Programación

Metodología de la Programación TIC

17

Expresiones

Operadores Aritméticos, Relacionales y Lógicos

En un código fuente, un operador es un carácter o secuencia de caracteres que definen las

operaciones que se realizarán con los datos u operandos.

Operadores Aritméticos

Operan sobre valores de tipo entero o real (decimal) y son:

OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN

RESULTADO DEL EJEMPLO

^ Potencia (permite operandos enteros y/o reales).

3^2 9

+ Suma (permite operandos enteros y/o reales).

2.5 + 7.1 9.6

- Resta (permite operandos enteros y/o reales).

10 – 3 8

* Multiplicación (permite operandos enteros y/o reales).

1.2 * 1 1.2

/ División real (sin importar si los operandos son enteros o reales).

6/8 30/3

0.75 10

div Cociente o resultado entero (sólo permite operandos enteros).

20 div 7 2

mod Devuelve el resto o residuo de la división (sólo permite operandos enteros).

20 mod 7 6

Ejercicios:

a) 40 div 2 = 20

b) 40 mod 2 = 0

c) 17 div 3 = 5

d) 17 mod 3 = 2

Page 19: Metodología de la Programación

Metodología de la Programación TIC

18

Operadores Relacionales

Operan sobre valores de tipo entero, real o cadena y son:

OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN

RESULTADO DEL EJEMPLO

= Igual que 110 = 110 9 = 3

Verdadero Falso

<> Diferente de 12 <> 12 7 <> 38

Falso Verdadero

< Menor que ‘A’ < ‘B’ ‘F’ < ‘C’

Verdadero Falso

> Mayor que 10 > 50 2.5 > 1.0

Falso Verdadero

<= Menor o igual 20 <= 16 1 <= 1

Falso Verdadero

>= Mayor o igual 32 >= 32 ‘D’ >= ‘K’

Verdadero Falso

Ejercicios:

Indicar si el resultado de la comparación es verdadero o falso.

a) 12 <= 26 Verdadero

b) 19 <> 3 Verdadero

c) 78 = 10 Falso

d) ‘C’ >= ‘F’ Falso

Operadores Lógicos

También conocidos como Booleanos, operan sobre valores de su mismo tipo, es decir, lógicos o

booleanos y devuelven como resultado también valores de dicho tipo. Son:

OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN RESULTADO DEL EJEMPLO

AND Y Verdadero AND Falso Falso OR O Verdadero OR Falso Verdadero

NOT No o Negación NOT Verdadero Falso

Page 20: Metodología de la Programación

Metodología de la Programación TIC

19

Tablas de Verdad para AND

Con el operador AND, el resultado será verdadero sólo si los dos operandos son verdaderos.

A B EXPRESIÓN COMPLETA “A AND B”

RESULTADO DEL EJEMPLO

V V V AND V V V F V AND F F F V F AND V F F F F AND F F

Tablas de Verdad para OR

Con el operador OR, el resultado será verdadero si uno de los dos operandos o ambos, son

verdaderos.

A B EXPRESIÓN COMPLETA “A OR B”

RESULTADO DEL EJEMPLO

V V V OR V V V F V OR F V F V F OR V V F F F OR F F

Tablas de Verdad para NOT

Con el operador NOT, el resultado será verdadero si el operando es Falso y viceversa.

A EXPRESIÓN COMPLETA “NOT A”

RESULTADO DEL EJEMPLO

V NOT V F F NOT F V

Ejercicios:

a) V AND F = Falso

b) F OR V = Verdadero

c) NOT V = Falso

d) NOT F AND V = Verdadero

Page 21: Metodología de la Programación

Metodología de la Programación TIC

20

Jerarquía de Operadores

Indica cuál operador debe ejecutarse sobre los operandos y cuál debe hacerlo después:

NIVEL DE PRIORIDAD OPERADOR

1 ( ) 2 ^ 3 NOT 4 *, /, div, mod, AND 5 +, -, OR 6 =, <>, >, <, >=, <=

La secuencia de operadores de igual prioridad, normalmente se evalúa de izquierda a derecha

dentro de una expresión, aunque se recomienda el uso de paréntesis para hacer que las

expresiones sean más claras y fáciles de entender.

Expresiones

Una expresión, es una combinación de operadores y operandos, donde estos últimos pueden ser

números, o bien, datos almacenados en constantes y/o variables. Dentro de la programación, se

usan para realizar una o varias operaciones sobre un dato o un conjunto de éstos, obteniéndose

otro dato como resultado.

Ejemplos:

EXPRESIÓN RESULTADO INTERMEDIO RESULTADO FINAL

2 * 3 + 4 6 + 4 10 2 + 3 * 4 2 + 12 14

(2 + 3) * 4 5 * 4 20 17 div 2 – 1 8 – 1 7

Las reglas de evaluación de expresiones, pueden resumirse en las siguientes:

a) Un dato situado entre dos operadores de diferente prioridad, se liga al operador de mayor

prioridad.

b) Un dato situado entre dos operadores de igual prioridad, se liga al operador de la

izquierda.

c) Las expresiones entre paréntesis se evalúan primero para que sus resultados sean tratados

como datos simples.

Page 22: Metodología de la Programación

Metodología de la Programación TIC

21

Ejercicios:

I.- Resuelve correctamente las siguientes expresiones usando la jerarquía de operadores e indica

cuál es ésta:

1. 3 * 5 – 8 / 2 = 15 – 4 = 11

2. (9 + 1) * (5 – 2) = 10 * 3 = 30

3. 9 div 3 * 2 + (5 mod 4) = 3 * 2 + 1 = 6 + 1 = 7

4. ((10 + 2) * 4) / (8 + (9 – 5)) = (12 * 4) / (8 + 4) = 48 / 12 = 4

II.- Convierte los siguientes enunciados a expresiones numéricas:

1. Seis veces la diferencia entre 25 y 3. 6(25-3) 2. La suma de 320 y 8, divididos entre 2, todo ello dividido entre 4. ((320+8)/2)/4

Conversión a de Expresiones Matemáticas a Expresiones Algorítmicas

Una expresión algebraica es, por ejemplo:

ax2+bx=c

Para convertirla a expresión algorítmica, hay que tener en cuenta los operadores antes vistos, así,

la expresión anterior se convertiría en:

a * x ^ 2 + b * x = c

Ejemplos:

a) 3x2+5x-6 = 3*x^2 + 5*x – 6

b) X4-2x2+5x+1 = x^4 – 2*x^2 + 5*x + 1

c) 5-xy2+xb-x5 = 5 – x*y^2 + x*b – x^5

Page 23: Metodología de la Programación

Metodología de la Programación TIC

22

Ejercicios:

Convertir las siguientes expresiones algebraicas a expresiones algorítmicas.

a) ab=c a*b=c

b) x3+yx2+zx=b x^3+y*x^2+z*x=b

c) (ab + cd)/(x/y) (a*b+c*d)/(x/y)

d) q2+((x3-ax)b)=k q^2+((x^3-a*x)*b)=k

e) Ax4-Bx3+Cx-D A*x^4-B*x^3+C*x-D

f) a2+2ab+b2 a^2+2*a*b+b^2

Page 24: Metodología de la Programación

Metodología de la Programación TIC

23

Evidencia 2° Unidad

1. Resolver las siguientes expresiones aritméticas, respetando la jerarquía de operadores.

a. -4 * 7 + 2 ^ 3 / 4 – 5

b. ( 7 * ( 10 - 5) mod 3) + 4 + 9

c. 10 div 2 * 8 / 4 – 5

d. (33 + 10 mod 3 * 4) /5

e. 16 * 12 mod 3 – 3 * 2

f. (( 3 + 2 ) ^ 2 – 15) / 2 * 5

g. Y = (4 * 3 / 2) mod (8 \ 4 + 2)

2. Deducir el valor de las siguientes expresiones sabiendo que: A = 5; B = 25; C = 10

a. X = A + B mod C

b. X = (A + B) / C

c. X = A + (B / C)

d. x ^ 2 - 4 * y * z Valores: y = 2, x = 1, z = 3

e. ( X ^ 2 + Y ^ 2 ) > ( 30 / 2 ) Valores: X = 2, Y = 3, Z = 4

3. Obtener el resultado de las siguientes expresiones sabiendo que: A = 4; B = 5; C = 1

a. B * A - B ^ 2 / 4 * C

b. (A * B) / 3 ^ 2

c. ( ( ( B + C ) / 2 * A + 10 ) * 3 * B ) - 6

4. Evaluar las siguientes expresiones lógicas aplicando la jerarquía de operadores, para saber

si el resultado de cada una es Verdadero o Falso.

EXPRESIÓN DONDE:

1. ((A * B) < (B + C)) AND (A = C) A=3, B=4 y C=2 2. ((A + B) > C) OR ((B / D > B)) A=2, B=5, C=3 y D=5 3. X = (A \ B) * C + (A / B) A = 4, B = 2, C = 3 4. PI * X^2>Y OR 2* PI * X <=Z 5. X>3 AND (Y=4 OR (X+Y<=Z)) 6. X>3 AND (Y=4 OR (X+Y<=Z)) 7. (NOT (Y/2=2*X)) AND (NOT (Y<(PI-E*Z))

X=1 Y=4 Z=10 PI=3.141592 E=2.718281

8. a>b 9. a>=b 10. a<b 11. a<=b 12. Not a=b

a=5 y b=2

Lista de Cotejo de la Evidencia 2° Unidad

Page 25: Metodología de la Programación

Metodología de la Programación TIC

24

Tarea Integradora 2° Unidad

I.- Realizar por equipos las conversiones de expresiones matemáticas a expresiones algorítmicas,

teniendo en cuenta los operadores aprendidos en clase.

1.

2.

3.

4. P=

5.

6. + 1

7.

8. (m + n)

9.

10.

II.- Para cada uno de los ejercicios anteriores, incluir la jerarquía de operadores para indicar el en

que éstos se ejecutarán.

III.- Convertir los siguientes enunciados a expresiones numéricas.

1. El cubo del término X, más el triple producto del cuadrado del termino X por el termino Y, más el triple producto del termino X por el cuadrado del termino Y, más el cubo del termino Y.

2. La diferencia entre el producto de 9 y 15, y el cociente de 24 y 4. 3. La suma de 8 y 3, por la diferencia de 6 y 2.

Lista de Cotejo Tarea Integradora 2° Unidad

Page 26: Metodología de la Programación

Metodología de la Programación TIC

25

Algoritmos y Diagramas de Flujo

Reglas para la elaboración de Pseudocódigos

Todo documento en pseudocódigo debe permitir la descripción de:

Instrucciones primitivas.

Instrucciones de proceso.

Instrucciones de control.

Instrucciones compuestas.

Instrucciones de descripción.

Estructura a seguir en su realización:

a) Cabecera:

Programa.

Modulo.

Tipos de datos.

Constantes.

Variables.

b) Cuerpo:

Inicio

Instrucciones

Fin

NOTA: Para comentar en pseudocódigo se le antepone al comentario dos asteriscos (*).

Page 27: Metodología de la Programación

Metodología de la Programación TIC

26

Ejemplo:

Programa que calcula el área de un cuadrado a partir de un lado dado por teclado.

Programa: area_cuadrado

Módulo: main **( también se puede llamar principal).

Variables:

lado: número natural

área: número natural

Algoritmo:

Inicio

Imprimir: "Introduce el lado del cuadrado"

Leer (lado)

Area lado * lado

Imprimir: "El área del cuadrado es: ", área

Fin

Reglas para la elaboración de Diagramas de Flujo

1. Usar solamente líneas de flujo, horizontales y/o verticales.

2. Evitar el cruce de líneas utilizando conectores.

3. Usar conectores sólo cuando sea necesario.

4. No dejar líneas de flujo sin conectar.

5. Todos los símbolos deben estar conectados.

6. Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a

derecha.

7. A un símbolo de proceso pueden llegar varias líneas de flujo.

8. A un símbolo de decisión pueden llegar varias líneas de flujo, pero sólo saldrán dos.

9. A un símbolo de inicio nunca le llegan líneas.

10. De un símbolo de fin no parte ninguna línea.

11. Escribir claramente cualquier texto que contengan los símbolos, evitando el uso de

muchas palabras.

Page 28: Metodología de la Programación

Metodología de la Programación TIC

27

Pruebas de Escritorio

Una prueba de escritorio es la comprobación lógica, de un algoritmo de resolución, es útil para

entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la

especificación sin necesidad de ejecutarlo.

Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se

debe llevar registro de los valores que va tomando cada una de las variables involucradas en el

mismo.

Para desarrollar la prueba de escritorio, se utilizara el siguiente procedimiento:

1. Con datos de prueba, se seguirán cada uno de los pasos propuestos en el algoritmo de

resolución.

2. Si la prueba de escritorio genera resultados óptimos, quiere decir que el algoritmo posee

una lógica adecuada, en caso contrario el algoritmo tendrá que ser corregido.

Ejemplo:

Realizar la prueba de escritorio del algoritmo dado.

suma: entero entrada: entero menor: entero leer (entrada) menor entrada suma 0 mientras (entrada != 0) si (entrada < menor) entonces menor entrada fin_si suma suma + entrada leer entrada fin_mientras imprimir: “valor Menor: ” imprimir: menor imprimir: “Suma:” imprimir: suma

Page 29: Metodología de la Programación

Metodología de la Programación TIC

28

INSTRUCCIÓN ENTRADA MENOR SUMA PANTALLA

leer (entrada) 10

menor entrada 10

suma 0 0

suma suma + entrada

10

leer (entrada) 7

menor entrada 7

suma suma + entrada

17

leer (entrada) 9

suma suma + entrada

26

leer (entrada) 0

Imprimir: “valor menor:”

Valor Menor

Imprimir: menor 7

Imprimir: “Suma:” Suma:

Imprimir: suma 26

Page 30: Metodología de la Programación

Metodología de la Programación TIC

29

Contadores y Acumuladores

Contadores

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante

cada vez que se produce un determinado suceso o acción. Se usan con la finalidad de contar

sucesos o acciones internas de un ciclo; deben realizar una operación de inicialización y

posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en

asignarle al contador un valor inicial y se sitúa antes y fuera del ciclo.

Ejemplos:

Cada vez que alguien es atendido en la taquilla de un banco, se puede almacenar en un

contador de personas atendidas.

Cada vez que se vende una entrada a un juego de futbol, se puede almacenar en un

contador de entradas vendidas.

Cada vez que se registra un nuevo usuario en una página web, se puede almacenar en un

contador de usuarios registrados.

A continuación, se presenta en pseudocódigo, la estructura general de un contador:

int contador = 0

inicio del ciclo

i = i + 1

fin del ciclo

Los contadores pueden ser de incremento o decremento, por tanto, las siguientes expresiones son

válidas:

i = i + 1; o bien, i++; (Expresiones equivalentes).

i = i – 1; o bien, i--; (Expresiones equivalentes).

Page 31: Metodología de la Programación

Metodología de la Programación TIC

30

Acumuladores

Un acumulador es una variable que suma sobre sí misma un conjunto de valores para tener el

total de ellos en una sola variable.

Ejemplos:

La cantidad de dinero depositado en una cuenta de ahorros en el lapso de un mes, se

podría almacenar en un acumulador de depósitos.

La cantidad de estudiantes de todos los salones de clases podría almacenarse en un

acumulador de cantidad de estudiantes de cada sección.

La suma de los habitantes de cada uno de los estados del país, se podría guardar en el

acumulador llamado total de habitantes del país.

A continuación, se presenta en pseudocódigo la estructura general de un acumulador:

int acumulador = 0 inicio del ciclo acumulador = acumulador + valor fin del ciclo

Donde “valor” puede ser un dato introducido por el usuario, el producto de un cálculo, etc.

Contador vs Acumulador

La diferencia entre un contador y un acumulador, es que el primero aumenta de uno en uno y el

segundo lo hace en una cantidad variable.

Page 32: Metodología de la Programación

Metodología de la Programación TIC

31

Estructuras de Control de Selección

También llamadas estructuras condicionales, se identifican porque en la fase de solución del

problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si

ciertas acciones deben realizarse o no.

En pseudocódigo, estas estructuras son representadas con las palabras IF – THEN – ELSE (SI –

ENTONCES – SI NO o DE LO CONTRARIO). En los diagramas de flujo se simbolizan con un rombo.

Simples

Se conforman de una sola condición. Es representada por la estructura IF – THEN, la cual evalúa la

condición:

Si ésta es verdadera, entonces ejecuta la acción o acciones localizadas en el bloque IF.

Si es falsa, entonces no se hace nada.

Representación en pseudocódigo

INGLES ESPAÑOL If (condición) Si (condición) then Entonces Acción a realizar en caso de que la condición se cumpla.

Acción a realizar en caso de que la condición se cumpla.

End If Final Si

Representación en diagrama de flujo

Page 33: Metodología de la Programación

Metodología de la Programación TIC

32

Ejemplo:

Construir un algoritmo que, dada la calificación de un alumno en un examen, escriba “Aprobado”

en caso que esa calificación fuese mayor que 8.

Representación en Pseudocódigo:

Salidas: Mensaje de Aprobado si se cumple la condición.

Entradas: Calificación.

Datos adicionales: Un alumno aprueba si la calificación es mayor que 8.

Variables:

Cal = Calificación

Algoritmo:

INICIO

LEER (Cal)

SI (Cal > 8) ENTONCES

Escribir “Aprobado”

FIN_SI

FIN

Representación en Diagrama de Flujo:

Page 34: Metodología de la Programación

Metodología de la Programación TIC

33

Dobles

Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se usan cuando se

tienen dos opciones de acción, por la naturaleza de éstas se debe ejecutar una o la otra, pero no

ambas a la vez.

Representación en pseudocódigo

INGLES ESPAÑOL

If (condición) Si (condición) then Entonces Acción a realizar en caso de que la condición se cumpla.

Acción a realizar en caso de que la condición se cumpla.

Else Si no Acción a realizar en caso de que la condición no se cumpla.

Acción a realizar en caso de que la condición no se cumpla.

End If Final Si

Representación en diagrama de flujo

Page 35: Metodología de la Programación

Metodología de la Programación TIC

34

Ejemplo:

Construir un algoritmo que, dada la calificación de un alumno en un examen, escriba “Aprobado”

en caso que esa calificación fuese mayor que 8 y “Reprobado” en caso contrario.

Representación en Pseudocódigo:

Algoritmo:

INICIO

LEER (Cal)

SI (Cal > 8) ENTONCES

Escribir “Aprobado”

SI NO

Escribir “Reprobado”

FIN_SI

FIN

Representación en Diagrama de Flujo:

Page 36: Metodología de la Programación

Metodología de la Programación TIC

35

Compuestas

Se utilizan en aquellos casos en que luego de tomar una decisión y marcar el camino

correspondiente a seguir, es necesario tomar otra decisión; proceso que puede repetirse

numerosas veces. Este tipo de estructuras se llama bloque anidado o IF anidado, pues contiene un

bloque condicional (IF) dentro de otro.

Ejemplo:

Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras

trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se

consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de

8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora

normal y el resto al triple.

SOLUCIÓN:

Primero, determinar si el trabajador laboró horas extra o no. Encontrar las horas extra de la

siguiente forma:

HORAS EXTRA = HORAS TRABAJADAS – 40

SI TRABAJÓ HORAS EXTRA:

SI HORAS EXTRA > 8 ENTONCES HORAS EXTRA EXCEDENTES DE 8 = HORAS EXTRA – 8 Y

PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL * 2 * 8 + PAGO POR HORA

NORMAL * 3 * HORAS EXTRA EXCEDENTES DE 8.

SI NO (SÓLO HORAS AL DOBLE), PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL *

2 * HORAS EXTRA.

FINALMENTE, PAGO TOTAL QUE RECIBIRÁ EL TRABAJADOR SERÁ:

PAGO = PAGO * HORA NORMAL * 40 + PAGO POR HORAS EXTRA.

SI NO TRABAJÓ HORAS EXTRA:

PAGO = PAGO POR HORA NORMAL * HORAS TRABAJADAS

SALIDAS: PAGO.

ENTRADAS: NÚMERO DE HOJAS TRABAJADAS Y PAGO POR HORA NORMAL.

Page 37: Metodología de la Programación

Metodología de la Programación TIC

36

VARIABLES:

HT = HORAS TRABAJADAS

HE = HORAS EXTRA

HET = HORAS EXTRA QUE EXCEDEN DE 8

PH = PAGO POR HORA NORMAL

PHE = PAGO POR HORAS EXTRA

PT = PAGO QUE RECIBE EL TRABAJADOR

ALGORITMO:

INICIO

LEER (HT, PH)

SI (HT > 40) ENTONCES

HE HT – 40

SI (HE > 8) ENTONCES

HET HE – 8

PHE PH * 2 * 8 + PH * 3 * HET

SI NO

PHE PH * 2 * HE

FIN_SI

PT PH * 40 + PHE

SI NO

PT PH * HT

FIN_SI

ESCRIBIR (PT)

FIN

Page 38: Metodología de la Programación

Metodología de la Programación TIC

37

Múltiples

Se emplea cuando es necesario que existan más de dos elecciones posibles.

COMENTARIO: Si bien este problema podría resolverse mediante estructuras simples o dobles

anidadas, puede suceder que el número de alternativas sea grande y plantee serios problemas de

escritura y legibilidad.

Usando estas estructuras puede evaluarse una expresión que tome n valores distintos (1, 2, 3, …,

n) y según el valor que se elija en la condición, se realizará una de las n acciones o en otras

palabras, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles.

Representación en Pseudocódigo

EN CASO DE QUE VARIABLE VALGA:

1: EJECUTAR ACCIÓN 1.

2: EJECUTAR ACCIÓN 2.

3: EJECUTAR ACCIÓN 3.

N: EJECUTAR ACCIÓN N.

FIN_EN_CASO_DE_QUE

Representación en Diagrama de Flujo

Page 39: Metodología de la Programación

Metodología de la Programación TIC

38

Ejemplo:

Diseñar un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado

de la siguiente función:

SOLUCIÓN:

ALGORITMO:

Page 40: Metodología de la Programación

Metodología de la Programación TIC

39

DIAGRAMA DE FLUJO:

Page 41: Metodología de la Programación

Metodología de la Programación TIC

40

Estructuras de Repetición

También llamadas “repetitivas” o “iterativas”, se utilizan cuando es necesario que un conjunto de

instrucciones se ejecuten un cierto número finito de veces. Están formadas por bucles o ciclos, que

son procesos que se repiten un determinado número de ocasiones dentro de un pseudocódigo o

programa.

Para – Hasta

Es usado cuando se conoce de antemano cuántas veces se ejecutarán las acciones de un ciclo.

Representación en Pseudocódigo

INGLES ESPAÑOL

FOR variable = valor inicial TO valor final PARA variable = valor inicial HASTA valor final Acciones a realizar dentro del ciclo Acciones a realizar dentro del ciclo END_FOR FIN_PARA-HASTA

Representación en Diagrama de Flujo

Para emplear esta estructura en algoritmos, se deben utilizar contadores y algunas veces,

acumuladores.

Page 42: Metodología de la Programación

Metodología de la Programación TIC

41

Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea

resolver el problema usando estructura Desde, Mientras y luego Repetir.

SOLUCIÓN:

ALGORITMO:

INICIO

SUMA 0

PARA k = 1 HASTA 100

SUMA SUMA + K * K

FIN_PARA-HASTA

ESCRIBIR (SUMA)

FIN

DIAGRAMA DE FLUJO:

Page 43: Metodología de la Programación

Metodología de la Programación TIC

42

Repite

Es aquella estructura que se repite un cierto número de veces hasta que una determinada

condición se vuelva verdadera.

Representación en Pseudocódigo

INGLES ESPAÑOL

REPEAT REPITE Acciones a repetir dentro del ciclo. Acciones a repetir dentro del ciclo. UNTIL (CONDICIÓN) HASTA QUE (CONDICIÓN)

Representación en Diagrama de Flujo

Page 44: Metodología de la Programación

Metodología de la Programación TIC

43

Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.

SOLUCIÓN:

ALGORITMO:

INICIO SUMA 0 K 1 REPETIR SUMA SUMA + K * K K K + 1 HASTA QUE (K > 100) ESCRIBIR (SUMA) FIN

DIAGRAMA DE FLUJO:

Page 45: Metodología de la Programación

Metodología de la Programación TIC

44

Mientras

Es aquella estructura que se ejecuta mientras una condición evaluada, resulte verdadera. La

diferencia entre Mientras y Repite, es que en la primera, la condición se sitúa al principio, en

cambio, en la estructura Repite, se sitúa al final del bloque de instrucciones.

Existen ciertos casos en que las estructuras Mientras y Para-Hasta, no realizan ninguna iteración

(repetición) en el ciclo, sin embargo, Repite, siempre ejecutará el ciclo al menos una vez.

EXPLICAR POR QUÉ SUCEDE ESTO.

Representación en Pseudocódigo

INGLES ESPAÑOL

WHILE (Condición) MIENTRAS (Condición) Acciones a repetir dentro del ciclo. Acciones a repetir dentro del ciclo. END_WHILE FIN_MIENTRAS

Representación en Diagrama de Flujo

Page 46: Metodología de la Programación

Metodología de la Programación TIC

45

Ejemplo:

Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.

SOLUCIÓN:

ALGORITMO:

INICIO SUMA 0 K 1 MIENTRAS (K <= 100) SUMA SUMA + K * K K K + 1 FIN_MIENTRAS ESCRIBIR (SUMA) FIN

DIAGRAMA DE FLUJO:

Page 47: Metodología de la Programación

Metodología de la Programación TIC

46

Evidencia 3° Unidad

Realizar el pseudocódigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado,

hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solución.

1. Llevar a cabo la suma de dos números leídos por el teclado e imprimir el resultado en

pantalla.

2. Modificar el anterior para sumar 100 números leídos por teclado.

3. Modificar el anterior para que permita sumar N números. El valor de N debe leerse

previamente por teclado.

4. Escribir los 100 primeros números pares.

5. Sumar los N primeros números impares.

6. Modificar el anterior para que haga lo mismo con los números pares.

7. Modificar el anterior para que haga lo mismo con los múltiplos de 3.

8. Calcular el N-ésimo término de la sucesión Fibonacci, la cual se define como sigue: a1=1,

a2=1 y an=an-1+an-2 para n>2, es decir, los dos primeros valores son 1 y en el resto cada uno

es la suma de los dos anteriores; así, los primero son: 1, 1, 2, 3, 5, 8, 13, 21, …

9. Simular un reloj.

10. Calcular el máximo común divisor de dos números enteros positivos N y M, siguiendo el

algoritmo de Euclides, que es el siguiente:

a. Se divide N entre M, sea R el resto.

b. Si R=0, el máximo común divisor es M y se acaba.

c. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.

Lista de Cotejo para Revisión de esta Evidencia

Page 48: Metodología de la Programación

Metodología de la Programación TIC

47

Tarea Integradora 3° Unidad

Realizar el pseudocódigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado,

hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solución.

1. Leer N números, calcular y escribir la suma de los pares y el producto de los impares.

2. Calcular el factorial de N, sabiendo que se calcula como sigue: N! = 1*2*3*…*N.

3. Calcular AB, siendo B un número entero que puede ser 0 o negativo.

4. Adivinar un número entre 1 y 1000 que haya sido pensado por un humano. El programa

debe ir diciendo números y el humano responderá con los símbolos “<”, “>” o “=”, según

el número pensado sea menor, mayor o igual que el propuesto por la computadora.

Cuando adivine, deberá poner un mensaje especificando cuántas preguntas ha necesitado

y finalizar. No debe realizar más de 10 preguntas y debe detectar si el humano le engaña

diciéndole cosas imposibles, como que un número es mayor que 4 y menor que 5.

5. Dados 2 números enteros positivos N y D, se dice que D es un divisor de N si el resto de

dividir N entre D es igual a 0. Se dice que un número N es perfecto si la suma de sus

divisores (excluido el propio N) es igual a N. Por ejemplo, 28 es perfecto, pues sus divisores

(excluyendo al propio 28) son: 1, 2, 4, 7 y 14 y su suma es: 1 + 2 + 4 + 7 + 14 = 28. Hacer un

pseudocódigo y diagrama de flujo que dado un número N, nos diga si dicho número es

perfecto o no.

6. Dado un año A decir si es bisiesto o no, teniendo en cuenta que un año es bisiesto si es

múltiplo de 4, exceptuando los múltiplos de 100, que sólo son bisiestos cuando son

múltiplos también de 400, por ejemplo, el año 1900 no fue bisiesto, pero el 2000 sí.

7. Leer un número N y obtener las ternas pitagóricas (A, B, C) en las que A, B y C son todos

enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagórica debe

cumplir con que A2 + B2 = C2.

8. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el número de horas

trabajadas, a razón de P pesos por hora y de 1.5 * P pesos por cada hora extra. Las horas

extras son las que exceden de 40hrs. Calcular el salario que le corresponde a cada

trabajador, dado el número de horas trabajadas y el valor de P.

9. Calcular el impuesto sobre la renta (ISR) el número de veces que sea necesario y lo escriba

por impresora. Tomar el impuesto sobre la renta como el 15% del salario anual de cada

persona, al que previamente se debe realizar una deducción en función del número de

hijos, que es del 0% si tiene 0 hijos, del 5% si tienen 1 ó 2 y del 15% si tienen más de 2.

10. Hacer un pseudocódigo y diagrama de flujo que resuelva el siguiente problema: Un

hombre, un lobo, una cabra y un repollo, deben pasar un río. Para ello, se dispone de una

barca con capacidad para dos ocupantes: el hombre (que es el único que sabe remar) y

otro. Tener en cuenta que, si en una orilla se quedan solos el lobo y la cabra, éste se la

comerá; mientras que si se quedan la cabra y el repollo, ésta se comerá el repollo.

Lista de Cotejo para Revisión de esta Tarea Integradora