Está en la página 1de 47
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS ALGORITMOS Y HERRAMIENTAS DE
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS ALGORITMOS Y HERRAMIENTAS DE PROGRAMACION FUNDAMENTOS

ALGORITMOS Y HERRAMIENTAS DE PROGRAMACION

FUNDAMENTOS BASICOS Y HERRAMIENTAS DE PROGRAMACION

Introducción a los algoritmos

En matemáticas, ciencias de la computación, y disciplinas relacionadas, un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia. En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su patrón. También existen ejemplos de índole matemáticos, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones.

Cuando escribimos un programa de computadora, generalmente estamos llevando a cabo un método que se ha inventado para resolver algún problema previamente. Este método es a menudo independiente de la computadora y es probable que sea igualmente apropiado para muchas tipos de computadora y muchos lenguajes de computadora. Es el método, en el programa de computación, el que nosotros debemos estudiar para aprender cómo se está tratando de resolver el problema. El término algoritmo se usa en la informática para describir un método problema solución conveniente para la aplicación en un programa de computadora. Los algoritmos son los materiales de informática, son los objetos centrales de estudio para muchos, si no la mayoría, de las áreas de campo.

La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente problemas matemáticos o de otro tipo. Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida, comportándose como una caja negra.

Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida (formalización de su comportamiento) de instrucciones. De este modo se puede seguir y predecir el comportamiento del algoritmo para cualquier entrada posible (salvo algoritmos probabilistas, que tiene usualmente una salida distinta), a partir del seguimiento de esa secuencia de instrucciones, que como es ordenada y definida, no da lugar a ambigüedades y puede seguirse su traza. El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa. Mientras el primero es la especificación de un conjunto de pasos (operaciones,

orientados a la resolución de un problema (método), el segundo es ese

instrucciones, órdenes,

conjunto de operaciones especificadas en un determinado lenguaje de programación y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programación, en un circuito eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún otro modelo de computación.

)

La mayoría de los algoritmos involucran métodos de organizar los datos que intervienen en el cómputo. Estos objetos creados son llamados, de esta manera la estructura de los datos, y también son objetos centrales del estudio en la informática. De esta forma, los algoritmos y estructuras de los datos van siempre de la mano. Los algoritmos simples pueden dar lugar a una estructura de datos complicada y, recíprocamente, los algoritmos complicados pueden usar estructuras de los datos simples. Cuando usamos una computadora para ayudarnos a resolver un problema, nos enfrentamos típicamente con varios posibles esquemas. Para los problemas pequeños, lo que apenas importa es que lo usemos, con tal de que se tenga uno que resuelva el problema correctamente. Para los problemas grandes (o aplicaciones dónde nosotros necesitamos resolver un gran número de problemas pequeños), sin embargo, nos motivamos en inventar métodos que usan tiempo eficazmente de forma rápida como sea posible.

Cuando un programa de computadora es grande o complejo, este será desarrollado con mucho esfuerzo, ya que se debe comprender y definir el problema a ser resuelto, manejando su complejidad, y

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS descomponiéndolo en partes más
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS descomponiéndolo en partes más pequeñas que puedan

descomponiéndolo en partes más pequeñas que puedan resolverse más fácilmente. A menudo, muchos de los algoritmos que se necesitan, después de la descomposición son triviales al instrumento. En la mayoría de los casos, sin embargo, existen algoritmos cuyo funcionamiento es crítico porque alguno o varios de los recursos del sistema (memoria, tiempos de uso de procesador, etc.) pueden agotarse durante su funcionamiento.

Importancia de los Algoritmos

Un algoritmo es un conjunto finito de instrucciones o pasos precisos y definidos que sirven para ejecutar una tarea o resolver un problema en un periodo de tiempo determinado. De un modo más formal, un algoritmo es un conjunto finito de pasos realizables y no ambiguos para solucionar un problema. Los algoritmos forman uno de los pilares de la computación actual, aunque su uso no se limita solamente a esta rama, sino a también a ciencias como las matemáticas, así como a la vida cotidiana.

No solo del uso masivo de los algoritmos es de donde se deriva su importancia, sino de los aportes que le ha dado a la computación y a otras ciencias. La teoría de algoritmos es una rama de la computación, en donde se analizan las bases teóricas que envuelven a los algoritmos, así como las bases para diseños de algoritmos eficientes. Existe una gran cantidad de algoritmos que son usados a diario, como algoritmos de búsqueda, de ordenamiento, de encriptación, de compresión, matemáticos, etc. y de su análisis surgen una gran cantidad de avances. Los algoritmos son fundamentales en otro sentido, son independientes tanto del lenguaje en que se expresan como de la computadora que los ejecuta. En cada sistema el algoritmo puede expresarse en un lenguaje diferente de programación y ejecutarse en una computadora diferente. El programador de computadoras es ante que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. A la metodología necesaria para resolver problemas mediante programas se denomina Metodología de la Programación. El eje central de esta metodología es el concepto, ya tratado, de algoritmo.

esta metodología es el concepto, ya tratado, de algoritmo. ALGORITMOS Definición: Un algoritmo es un conjunto

ALGORITMOS

Definición: Un algoritmo es un conjunto finito de instrucciones o pasos precisos y definidos que sirven para ejecutar una tarea o resolver un problema en un periodo de tiempo determinado.

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.

De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema en un tiempo finito.

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS RESOLUCION DE PROBLEMAS CON
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS RESOLUCION DE PROBLEMAS CON COMPUTADORA Y HERRAMIENTAS DE

RESOLUCION DE PROBLEMAS CON COMPUTADORA Y HERRAMIENTAS DE PROGRAMACION

El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.

Es importante el estudio y conocimiento de lo que hoy conocemos como Algoritmos Computacionales, que desde su aparición hasta nuestros días es, y seguirá siendo; vital para el desarrollo de aplicaciones para computadoras y el manejo y dominio de la lógica de programación para resolver problemas.

El programador de computadoras es ante que nada una persona que resuelve problemas, por

lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo

riguroso y sistemático. A la metodología necesaria para resolver problemas mediante programas se denomina Metodología de la Programación. El eje central de esta metodología es el concepto, ya tratado, de algoritmo.

La algoritmia es uno de los pilares de la programación y su relevancia se muestra en el desarrollo de cualquier aplicación, más allá de la mera construcción de programas. En resumen, el objetivo de aprender a programar, es poder utilizar la computadora como una herramienta para resolver problemas, de diversos tipos

CARACTERÍSTICAS DE LOS ALGORITMOS

El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo:

1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".

2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".

3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el

algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".

4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".

5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".

Knuth admite que, aunque su descripción pueda ser intuitivamente clara, carece de rigor formal, puesto que no está exactamente claro qué significa "precisamente definido", "de manera rigurosa y no ambigua", o "suficientemente básicas", y así sucesivamente

A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o valores de

entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepción de los algoritmos probabilistas.

FASES PARA LA RESOLUCION DE PROBLEMAS CON COMPUTADORA

Son los pasos a seguir para la resolución de problemas con ayuda de la computadora.

Análisis del Diseño del problema Algoritmo Análisis del Problema
Análisis del
Diseño del
problema
Algoritmo
Análisis del Problema

Transformación del algoritmo en Programa

del Problema Transformación del algoritmo en Programa Ejecución y validación del programa Exige la lectura

Ejecución y validación del programa

Exige la lectura previa del problema, las veces que sean necesarias. A fin de tener una idea general de

lo que se solicita y sea así comprendido claramente.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Esta fase requiere una clara
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Esta fase requiere una clara definición donde se contemple

Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Dado que se busca una solución se precisan especificaciones de entradas que se requieren y las salidas que se desean obtener.

Para poder definir bien un problema es conveniente responder a las siguientes preguntas:

¿Qué entradas se requieren? (cantidad y tipo) ¿Cuál es la salida deseada? (cantidad y tipo) ¿Qué método produce la salida deseada?

Diseño del Algoritmo

En la fase de diseño se determina como hace el programa la tarea solicitada. Se diseña una solución que conducirá a un algoritmo que resuelva el problema.

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente. Para expresar un algoritmo hay que realizar una descripción paso a paso, en lenguaje natural del citado algoritmo.

Hay que recordar que las reglas del algoritmo deben seguir una secuencia bien definida de pasos hasta que se obtenga un resultado y que solo puede ejecutarse una operación a la vez. El empleo de identación (justificación o sangrado) en la escritura de los algoritmos facilita su lectura y compresión. Otro aspecto a considerar es el método elegido para representar los algoritmos:

- Diagrama de flujo (convencional)

- Pseudocodigo

- Diagrama de flujo estructurado (Nassi Schneiderman)

Transformación del Algoritmo en Programa (Codificación)

La codificación es la escritura en un lenguaje de programación de la representación del algoritmo, desarrollado en las etapas precedentes, mediante alguno de los métodos indicados anteriormente. La solución se escribe en la sintaxis del lenguaje de alto nivel (por ejemplo Visual Basic, Java, Power Builder) y se obtiene un programa para computadora. Dado que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.

Ejecución y Validación del Programa

El programa se ejecuta, se comprueba rigurosamente lo que hace un programa, como lo hace. Constatar si efectivamente hace lo que se desea, y si no lo hace, entonces determinar las cusas por las que falla y se eliminan todos los errores que puedan aparecer.

ELEMENTOS BÁSICOS DE UN PROGRAMA Los elementos básicos constitutivos de un programa o algoritmo son:

- Palabras reservadas (Inicio, Fin, Si Entonces, etc.)

- Identificadores (Nombres de variables, procedimientos, funciones, nombre del programa)

- Caracteres especiales (Coma, apostrofe, etc.)

- Constantes

- Variables

- Expresiones

- Instrucciones

Además de estos elementos básicos, existen otros elementos que forman parte de los programas o algoritmos, estos elementos son:

- Bucles

- Contadores

- Acumuladores

- Interruptores

- Estructuras

o

Secuenciales

o

Selectivas

o

Repetitivas

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Identificadores Representan los
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Identificadores Representan los nombres de los objetos de un

Identificadores

Representan los nombres de los objetos de un programa (constantes, variables, tipos de datos, procedimientos, funciones, etc.). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que permite acceder a su contenido.

Reglas para formar un identificador

- Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios

en blanco.

- Letras, dígitos y caracteres como la subraya (_) están permitidos después del primer carácter.

- La longitud de identificadores puede ser de varios caracteres, dependiendo de los lenguajes de programación.

- El nombre del identificador debe dar una idea del valor que contiene.

Ejemplos:

Numero

dia_del_mes

PINGUINO1

Ciudad

Z

Constantes

En programación, las constantes son tipos de datos (con valores numéricos o de cadena) que permanecen invariables, sin posibilidad de cambiar el valor que tienen durante el curso del programa.

Una constante corresponde a una longitud fija de un área reservada en la memoria principal del computador, donde el programa almacena valores fijos.

Las constantes son valores que no pueden cambiar en la ejecución del programa. Recibe un valor en el momento de la compilación del programa y este no puede ser modificado.

Declaración de una constante <nombre_de_la_constante> = <expresión>

Ejemplo:

El valor de pi = 3.141592

TEMPERATURA = 5

MES = 10

O también:

TEMPERATURA = 5,

MES = 10

Variables

Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un programa, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.

Ejemplo: Area = pi * radio ^ 2 Las variables son: el radio, el área y la constate es pi

Clasificación de las Variables

- Por su contenido: Entera, real, lógica, carácter, alfanumérica o de cadena

- Por su uso: De trabajo, contadores, acumuladores e Indicador o bandera

a) Por su contenido

Variables Enteras: Son aquellas en las cuales se almacenan valores numéricos enteros, positivos o negativos, que no tienen parte decimal, es decir almacenan números del 0 al 9, signos (+ y -).

Ejemplo:

Costo = 2500

Variables Reales: Son aquellas en las cuales se almacenan valores numéricos con parte entera y parte decimal, pueden ser positivos o negativos

Ejemplo:

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Igv = 0.19, pi =
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Igv = 0.19, pi = 3.1416 Variables Lógicas :

Igv = 0.19, pi = 3.1416

Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos. A estos datos también se les conoce como Datos Booleanos.

Variables Caracteres: Un dato de tipo carácter es aquel que puede tomar por valor un carácter perteneciente al conjunto de los caracteres que puede representar el computador. En pseudocódigo, el valor de un dato de tipo carácter se puede representar entre comillas simples ('). Ejemplo: Letra = „A‟

Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales). Son los que permiten identificar valores de manera descriptiva, esto incluye nombres de personas, direcciones, características, etc. Podemos decir que los datos alfanuméricos, son una serie o secuencia de caracteres válidos encerrados entre caracteres especiales denominados delimitadores y que suelen ser comillas simples o dobles. A este tipo de datos también se les conoce como Cadenas. Ejemplos: Apellido = ‟López‟; dirección = ‟Av. Libertad # 190‟

b) Por su uso Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Ejemplo: c = c + 1 Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. Ejemplo: s = s + x De indicador o de bandera: Es aquella que recibe un determinado valor cuando se cumple cierta condición o sucede cierto evento dentro de un programa. Se les conoce también como BANDERAS.

Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. 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

Carácter

El resultado de la expresión aritmética es de tipo numérico; el resultado de la expresión relacional y de una expresión lógica es de tipo lógico; el resultado de una expresión carácter es de tipo carácter.

a) Expresiones Aritméticas

Las expresiones aritméticas son análogas a las formulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.

i) Operadores Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

ii) Operadores utilizados en Programación

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS En todos los lenguajes de
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS En todos los lenguajes de programación se utilizan

En todos los lenguajes de programación se utilizan operadores para efectuar operaciones aritméticas. Combinando las variables y constantes en expresiones aritméticas por medio de funciones adecuadas.

iii) Tipos de Operadores Aritméticos, relacionales y lógicos

iv) Operadores aritméticos Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).

Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.

Operando (Operador) Operando Valor (Constante o Variable
Operando
(Operador)
Operando
Valor (Constante o Variable

A continuación se muestran dichos operadores aritméticos:

Operadores

Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

Tipos de Operadores Aritméticos, relacionales, lógicos y alfanuméricos

a. Operadores aritméticos

Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).

Operador

Significado

Tipo de resultado

Ejemplo

Resultado

+ Suma

 

Entero o real

4

+ 2

6

- Resta

 

Entero o real

4

- 2

2

 

* Multiplicación

Entero o real

4

* 2

8

 

/ División real

Entero o real

4

/ 2

2

 

^ Potenciación

Entero o real

4

^ 2

16

Div

División entera

Entero

9 Div 2

4

Mod

Modulo (residuo de la división entera)

Entero

9 Mod 2

1

Expresiones de relación

Es un conjunto de variables y/o constantes unidas o relacionadas por operadores relacionales.

b. Operadores de Relación

Permiten realizar comparaciones de valores (del mismo tipo) de tipo numérico o caracteres. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los operadores de relación sirven para expresar las condiciones en los algoritmos.

El formato general para las comparaciones es:

Variable operador relacional variable Constante operador relacional constante.

Tipos de operadores Relacionales

Operador

Significado

 

< Menor que

 

> Mayor que

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS = Igual a >= Mayor
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

=

Igual a

>=

Mayor o igual que

<=

Menor o igual que

<>

Distinto o diferente a

El resultado de una expresión lógica es un valor de tipo lógico: verdadero o falso. Cuando se aplican a elementos de tipo carácter se verifican en orden alfabético

Expresiones lógicas

Una expresión lógica o booleana es una expresión que puede ser verdadera o falsa. Existen dos constantes lógicas: Verdadera (true) y falsa (false) Y Las variables lógicas pueden tomare solo estos dos valores. En esencia, una expresión lógica es una expresión que solo puede tomar estos dos valores, verdadero y falso. Se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas utilizando los operadores lógicos: NO, O, Y, y los operadores relacionales o de comparación.

c. Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.

Operadores

Expresión lógica

Significado

No (not)

No p (not p)

Negación de p

Y (and)

p Y q (p and q)

Conjunción de p y q

O (or)

P O q (p or q)

Disyunción de p y q

Las expresiones lógicas pueden combinarse para formar expresiones mas complejas utilizando operadores lógicos y relacionales; estos se utilizan con constantes lógicas, variables lógicas y otras expresiones lógicas.

d. Operadores Alfanuméricos

Permiten operar con datos de tipo carácter o cadenas. Para algoritmos consideraremos el operador + para realizar la concatenación (unión) de caracteres o cadenas.

Tablas de Verdad de los Operadores Lógicos El resultado de las operaciones lógicas está determinado por las tablas de verdad correspondientes a cada una de ellas.

Para las tablas de verdad, vamos a trabajar para simplificar el análisis con los siguientes símbolos:

V

= Verdadero

F

= Falso

A

= Es una expresión booleana o lógica

B

= Es una expresión Booleana o lógica

Se dice que es una expresión booleana o lógica, cuyo valor es siempre verdadero o falso

Operador No:

A

No(A)

V

F

F

V

No ( 6 > 10 ) es verdadera ya que ( 6 > 10 ) es falsa

Operador Y:

 
 

A

Operador

B

Resultado = A y B

V

Y

(And)

V

V

V

Y

(And)

F

F

F

Y

(And)

V

F

F

Y

(And)

F

F

A y B es verdadera sólo si A y B son verdaderas

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Operador O: A Operador B
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Operador O: A Operador B Resultado=A o B V

Operador O:

A

Operador

B

Resultado=A o B

V

O

(Or)

V

V

V

O

(Or)

F

V

F

O

(Or)

V

V

F

O

(Or)

F

F

A y B es verdadera cuando A, B o ambas son verdaderas

En las expresiones lógicas se pueden mezclar operadores de relación y lógicos. Así por ejemplo:

(1 < 5 ) Y ( 5 < 10 ) es verdadera

( 5 > 10 ) O ( „A‟ < „B‟ ) es verdadera, ya que „A‟ < „B‟

Instrucciones y Tipos de Instrucciones

El proceso de diseño del algoritmo o posteriormente de codificación del programa consiste en definir las acciones o instrucciones que resolverán el problema. Las acciones o instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de ejecutarse, es decir en secuencia.

Tipos de instrucciones

Las instrucciones acciones básicas que se pueden implementar de modo general en un algoritmo son las siguientes:

- Instrucciones de inicio/fin

- Instrucciones de asignación

- Instrucciones de lectura

- Instrucciones de escritura

- Instrucciones de bifurcación

Algunas de estas instrucciones se recogen en la siguiente tabla:

Tipo de instrucción

Pseudocódigo ingles

Pseudocódigo español

Comienzo de proceso

begin

Inicio

Fin de proceso

end

Fin

Entrada(lectura)

read

Leer

Salida(escritura)

write

Escribir

Asignación

A = 5

ó

A <- 5

B <- 7

Instrucciones o sentencias de asignación Se utiliza para asignar o almacenar valores a variables o constantes. Se demuestra en pseudocódigo con el símbolo = (Un signo igual o flecha apuntando hacia el identificador, donde se desea guardar el valor). La sintaxis en general es la siguiente:

< Variable > = <valor o expresión > ó < Variable > ← <valor o expresión >

El símbolo (= ó ←) debe leerse “asigne”.

La asignación se puede clasificar de la siguiente forma:

a)

Simples: Consiste en pasar un valor constante a una variable (a =15).

La variable a toma el valor de 15

b)

Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso

(c

= c + 1).

c)

Acumulador: Consiste en usarla como un sumador en un proceso (a = a + b).

d)

De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas

variables (a = c + b*2/4).

El tipo de expresión debe ser del mismo tipo que el de la variable, en caso contrario en la fase de compilación se produciría un error de tipos.

Reglas de Asignación: Una variable en el lado derecho de una sentencia de asignación debe tener un valor antes de que la sentencia de asignación se ejecute. Hasta que un programa le da un valor a una variable, esa variable no tiene valor. En la izquierda de una sentencia de asignación solo pueden existir variables.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Además hay que recordar que
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Además hay que recordar que la operación de asignación

Además hay que recordar que la operación de asignación es una operación destructiva debido a que el valor almacenado en una variable se pierde o se destruye y se sustituye por el nuevo valor en la sentencia de asignación.

Instrucciones de lectura ó entrada de datos: La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (por ejemplo el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así:

Pseudocódigo LEER (Variable) Ejemplo: LEER(x) Significa leer del terminal o teclado el valor x, archivándolo en la memoria Observaciones: El argumento de la acción LEER siempre debe ser una variable, Se pueden leer varios

datos, colocando la lista de variables separadas por comas, El valor leído se almacena directamente en

la variable que se indica.

Instrucciones de escritura o salida de resultados (datos) Consiste en mandar por un dispositivo de salida (por ejemplo monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue:

Pseudocódigo ESCRIBIR (Variable o expresión)

Ejemplo:

A = 100

B = 200

Escribir (A, B) Se visualiza en la pantalla o imprimirán en la impresora los valores 100 y 200 que contienen las variables A, B.

Observaciones: El argumento de la acción ESCRIBIR puede ser una variable o expresión, Se pueden escribir varias expresiones, señalando la lista de expresiones separadas por comas.

Reglas de Prioridad de Operadores Aritméticos

Las expresiones que tienen dos o más operandos requieren unas reglas matemáticas que permitan determinar el orden de las operaciones se denominan reglas de prioridad o precedencia y son:

1. Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis (interiores unos a otros), las expresiones más internas se evalúan primero.

2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad:

- Operador exponencial ( ^ )

- Operadores ( *, / ) multiplicación y división

- Operadores ( div y mod ) división entera y modulo o residuo

- Operadores ( +, - ) suma y resta

Ejemplo 1: Obtener el resultado de la siguiente expresión: - 4 * 7 + 2 ^ 3 / 4 5 Solución

- 4 * 7 + 2 ^ 3 / 4 5

- 4 * 7 + 8 / 4 5

- 28 + 8 / 4 5

- 28 + 2 5

- 26 5

- 31

Ejemplo 2: Obtener el resultado de la siguiente expresión: ((3 + 2) ^ 2 - 15) / 2 * 5 Solución ( 5 ^ 2 15 ) / 2 * 5 ( 25 15 ) / 2 * 5 10 / 2 * 5

5 * 5

25

5 * 5 25 UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS PRIORIDAD DE
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS PRIORIDAD DE OPERADORES LOGICOS Operador Prioridad No

PRIORIDAD DE OPERADORES LOGICOS

Operador

Prioridad

No (Not)

Más alta (primera ejecutada)

/,

*,

div, mod, y (and)

 

+,

-,

O (Or)

<,

>,

=, <=,

>=,

<>

Más baja

Ejemplos

La tabla siguiente resume una serie de aplicaciones de expresiones lógicas

Expresión lógica

 

Resultado

Observaciones

(

1 > 0 )

y

( 3 = 3 )

 

Verdadero

(

0 < 5 )

o

( 3 > 5 )

Verdadero

(

5 <= 7 )

y

( 2 > 4 )

Falso

No ( 5 <> 5 ) (Numero = 1 ) No ( 4 > 14 )

o

 

Verdadero

( 7 >= 4 )

Verdadero

Numero es una variable entera de valor 5

Verdadero

5

2 >

4

y

no

0.5 = ½

Falso

Declaración de Variables y Constantes

La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es.

Variable Lista de variables1: Tipo1

Lista de variables2: Tipo2

.

.

Lista de variablesn: Tipon

Donde cada lista de variables es una variable simple o una lista de variables separadas por comas y cada tipo es uno de los tipos de datos básicos (Entero, real, Carácter, Cadena de Caracteres ó booleano).

Ejemplo

Variable Entera: Numero_empleado Real: Horas Real: Impuesto Real: Salario Constante

Pi = 3.141592 Horas = 6.50

O de modo equivalente

Variable Entera: Numero_empleado Real: Horas, Impuesto, Salario Constante Pi = 3.141592, Descuento = 0.10

Declara que solo tres variables Hora, Impuesto y Salario son de tipo real y dos variables constantes: Pi y Descuento son constantes. Es una buena práctica de programación utilizar nombres de variables significativos que sugieren lo que ellas representan, ya que eso hará más fácil y legible el programa. También es buena práctica incluir breves comentarios que indique como se utiliza la variable.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Actividades 1. EN FORMA INDIVIDUAL:
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Actividades 1. EN FORMA INDIVIDUAL: Revisar todo el material

Actividades

1. EN FORMA INDIVIDUAL: Revisar todo el material avanzado hasta acá y elaborar un cuadro

sinóptico con las ideas generales (titulo y subtitulo)

2. EN GRUPOS DE 3 ALUMNOS:

I. Resuelven y presentan al profesor de la asignatura, los siguientes ejercicios

a. Determinar el valor de las siguientes expresiones

i. 3 + 5 * ( 10 ( 2 + 4 ))

ii. ( 9 + 3 ) * 5 div 4 mod 7 + 1

iii. 4 / 2 * 3 / 6 + 6 / 2 / 1 / 5 ^ 2 / 4 * 2

b. Si el valor de A es 4, el valor de B es 5, y el valor de C es 1, evaluar las siguientes expresiones:

i. B * A B ^ 2 / 4 * C

ii. ( A * B ) / 3 ^ 2

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

c. Obtener el valor de cada una de las siguientes expresiones aritméticas:

i. 7 div 2

ii. 7 mod 2

iii. 12 div 3

iv. 12 mod 3

v. 0 mod 5

vi. 15 mod 5

vii. 7 * 10 50 mod 3 * 4 + 9

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

d. Marca con un aspa si las siguientes expresiones son verdaderas o falsas

i. Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo humano. Verdadero( ), Falso( )

ii. Un algoritmo es eficaz cuando alcanza el objetivo primordial, el análisis de resolución del problema se lo realiza prioritariamente. Verdadero ( ), Falso ( )

e. Ordena colocando un número en los paréntesis, de las siguientes palabras que tienen que ver con

los pasos para resolver un problema con computadora

i. ( ) Ejecución y validación del programa

ii. ( ) Análisis del problema

iii. ( ) Transformación del algoritmo en programa

iv. ( ) Diseño del algoritmo

f. Identificar cuál(es) de las siguientes proposiciones son validas, explicar por qué son validas o por qué

no lo son:

i. El año 1200 A.C. es más reciente que el año 970 de la era Cristiana

ii. El jugo de manzana y papaya tiene muy buen sabor

iii. La nota máxima en un examen es 10

iv. Periquito Pérez es alto

v. Ojalá que no llueva mañana

vi. ¿Podría decirme, por favor, qué hora es?

vii. Cuatro es mayor que dos

Medios de Expresión de un Algoritmo

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo, Diagramas Nassi Schneiderman (NS) y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo, diagramas de flujo o diagramas nassi schneiderman, 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, diagramas de flujo o diagramas nassi schneiderman

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.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagramas de flujo Los diagramas
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagramas de flujo Los diagramas de flujo son descripciones

Diagramas de flujo Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

Pseudocódigo Pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural. Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocódigo no está regido por ningún estándar. pseudo viene de falso y por ende es un código al que aunque es entendible no se aplica al proceso que debe realizar la maquina.

Diagramas Nassi Schneiderman El diagrama estructurado NS también conocido como diagrama de chapin es como un diagrama de flujo

en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja Se trata de un método de representación de algoritmos en forma de bloque compacto. Es un diagrama algo similar a los diagramas de flujo (convencionales) en el que se omiten las flechas y las figuras que se usan son rectángulos contiguos. La representación del algoritmo se basa en los siguientes puntos:

- Un programa se representa por un solo diagrama en el que se incluyen todas las operaciones a realizar para la resolución del problema. La forma de conectar una página con la siguiente es similar a los métodos anteriores, es decir, mediante la palabra proceso seguida de un número o un nombre encerrados en uno de los rectángulos que componen el algoritmo.

- Todo diagrama comienza en un rectángulo en el que en su parte superior y fuera de él figura el nombre del programa. El rectángulo superior contiene la palabra INICIO y el inferior FIN.

- Un proceso puede ser un subprograma.

- Las acciones sucesivas se representan en rectángulos sucesivos.

- En un solo rectángulo se pueden escribir diferentes acciones.

- El D.F.E. esta orientado a la programación modular y descendente.

- La lectura del diagrama se hace de arriba a abajo.

Símbolos de Diagramas de Flujo

Para la construcción de los Diagramas de Flujo se utilizarán los siguientes símbolos:

NOMBRE

SIMBOLO

 

FUNCION

Terminal

 

Representa el inicio y fin de un programa. También puede representar una parada o interrupción programada que sea necesaria realizar en un programa.

     

Entrada / salida

Entrada / salida   Cualquier tipo de introducción de datos en la memoria desde los periféricos
 

Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico.

   

Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc.

Proceso

     

Decisión

Decisión   Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del
 

Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir

Proceso

 

Llamada subrutina o a un proceso predeterminado (una subrutina es un modulo independiente del programa principal, que recibe una entrada procedente de dicho programa, realiza una tarea determinada y regresa, al terminar, al programa principal)

predefinido o

 
predefinido o  

subprograma

Conector

 

Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma pagina del diagrama

Misma Página

 
Misma Página  

Indicador de dirección o línea de flujo

 
Indicador de dirección o línea de flujo   Indica el sentido de la ejecución de las

Indica el sentido de la ejecución de las operaciones

Salida

Salida Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo

Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Símbolos de Diagramas Nassi –
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Símbolos de Diagramas Nassi – Schneiderman o Diagrama

Símbolos de Diagramas Nassi Schneiderman o Diagrama N-S

Para la construcción de los Diagramas Nassi - Schneiderman se utilizarán los siguientes símbolos:

NOMBRE SIMBOLO FUNCION Proceso Cualquier tipo de operación que pueda originar cambio de valor, formato
NOMBRE
SIMBOLO
FUNCION
Proceso
Cualquier tipo de operación que pueda originar cambio
de valor, formato o posición de la información
almacenada en memoria, operaciones aritméticas, de
transformaciones, etc.
Decisión
Indica operaciones lógicas o de comparación entre
datos (normalmente dos) y en función del resultado de
la misma determina (normalmente si(V) y no(F)) cual
de los distintos caminos alternativos del programa se
debe seguir
La estructura selectiva múltiple evaluará una expresión
que podrá tomar n valores distintos 1, 2, 3, 4,
n.
Estructura
Condicional
Múltiple
,
Según que elija uno de estos valores en la condición,
se realizará una de las n acciones, o lo que es igual, el
flujo del algoritmo seguirá un determinado camino
entre los n posibles.
Estructura
En este tipo de estructura, el cuerpo del bucle se
repite Mientras se cumple una determinada condición.
repetitiva
Mientras
Estructura
repetitiva
Hacer Mientras
Se ejecutarán las sentencias, mientras se cumpla la
condición. Además, una diferencia con la sentencia de
control anterior, es que en ésta por lo menos se entra
una vez en el ciclo.
Para o Desde
El bucle PARA o DESDE permite repetir un conjunto
de instrucciones un número determinado de veces,
con la peculiaridad que la instrucción incrementa (o
decrementa), automáticamente y de uno en uno, la
variable que se utiliza como contador.

Comentarios

En los algoritmos es conveniente escribir comentarios para explicar el diseño y/o funcionamiento del mismo. Para delimitar los comentarios se pueden utilizar distintos caracteres:

/*……*/ En pseudocódigo, en este curso, los comentarios se van a escribir entre los símbolos reservados barra- asterisco (/*) y asterisco-barra (*/), que son los mismos que se utilizan en lenguaje C++. Estos comentarios se representan con diferentes notaciones, según el tipo de lenguaje de programación

Visual Basic 6.0 / VB.Net Los comentarios utilizan un apostrofe simple y el compilador ignora todo lo que viene después de ese carácter. „Este es un comentario de una sola línea Dim Mes As String „Comentario después de una línea de código

C++ y C#

Existen dos formatos de comentarios en los lenguajes C++ y C#

1. Comentarios de una sola línea (comienzan con el carácter //) // Programa 5.0 realizado por el Señor Mackoy // En Carchelejo (Jaén) en las fiestas de Agosto // de Moros y Cristiano

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2. Comentarios multilínea (comienzan
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2. Comentarios multilínea (comienzan con los caracteres /*

2. Comentarios multilínea (comienzan con los caracteres /* y terminan con los caracteres */, todo lo encerrado entre ambos juegos de caracteres son comentarios.

/* El maestro Mackoy estudió el bachiller en el mismo instituto donde dio clase Don Antonio Machado el poeta */

Java

1. Comentarios de una línea // Comentarios sobre la ley de protección de datos

2. Comentarios multilineas /* El pueblo de Mr. Mackoy está en Sierra Magina, y produce uno de los mejores aceites de oliva del mundo */

3. Documentación de clases /** Docuemtacion de la clase */

Estructura de un Algoritmo

elementos que aparecen en él. En

pseudocódigo, todos los algoritmos tienen la misma estructura, la cual viene definida por tres secciones:

- Cabecera

- Declaraciones

- Cuerpo

La estructura de un algoritmo sirve para organizar a los

Cabecera En la cabecera de un algoritmo se debe indicar el nombre (identificador) asignado al mismo. La sintaxis es:

Algoritmo <nombre del algoritmo> Ejemplo: Algoritmo Area_de_una_circunferencia

Declaraciones En esta sección se declaran las constantes, los tipos de datos y las variables que se usan en el algoritmo. La sintaxis es:

[Constantes <declaraciones_de_constantes> = <Expresiones> ] [ <tipos_de_datos> <declaraciones_de_variables> ]

Ejemplo:

Constante PI = 3.141592 Variables real: area, radio

Cuerpo En el cuerpo se escriben todas las instrucciones del algoritmo. La sintaxis es:

Inicio

<instrucción_1>

<instrucción_2>

<instrucción_n>

Fin

Inicio y Fin son palabras reservadas que marcan el principio y final de la sección cuerpo, que es donde está el bloque de instrucciones principal del algoritmo.

En resumen la estructura del programa quedara así:

Algoritmo Identificador // Sección de declaraciones

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Variables <Tipo de datos>
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Variables <Tipo de datos> <Lista de

Variables <Tipo de datos> <Lista de Variables> Constantes CONSTANTE <Lista de identificadores> = <Expresiones>

Inicio

//Cuerpo del algoritmo Leer (Lista de Variables) Instrucciones Escribir (Lista de variables)

Fin

Ejemplo:

Algoritmo Area_de_una_circunferencia Inicio

Constante PI = 3.141592 Variable real Area, Radio Escribir ("Introduzca radio: ") Leer (radio) Area = PI*Radio^2 Escribir ("El área de la circunferencia es: ", area)

Fin

PROGRMACION ESTRUCTURADA

ESTRUCTURAS DE CONTROL

Las estructuras de control tienen una finalidad bastante definida: señalar orden en que tienen que sucederse los pasos de un algoritmo. Si un programa muestra un mensaje en la pantalla que pregunta al usuario” ¿Desea seguir adelante?”, obviamente, de la respuesta del usuario dependerá la siguiente acción del programa. El programador debe escribir el código para las dos posibilidades (si y no), aunque cuando el programa este funcionando, solo se elegiría una. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructuras de

Control

Secuenciales

Condicionales

Repetitivas

de Control Secuenciales Condicionales Repetitivas Simples Dobles Múltiples Mientras Hacer Mientras Desde ó

Simples

Dobles

Múltiples

Mientras Hacer Mientras Desde ó ParaCondicionales Repetitivas Simples Dobles Múltiples 1. Estructuras secuenciales La estructura secuencial es

1. Estructuras secuenciales

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

La representación de una estructura secuencial en las diferentes técnicas de diseño de algoritmos sería:

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2. Estructuras de control selectivas
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2. Estructuras de control selectivas Las estructuras

2. Estructuras de control selectivas

Las estructuras selectivas se utilizan para tomar decisiones (por eso también se llaman estructuras de decisión o alternativas). El mecanismo de acción evalúa una condición, y, a continuación, en función del resultado, se lleva a cabo una opción u otra. Es importante asentar esta idea: El programa esta diseñado para evaluar una condición, y actuar en consecuencia, según que la condición sea verdadera o falsa.

2.1 Estructura selectiva simple

Se evalúa una condición y si ésta resulta verdadera entonces se ejecuta una o varias instrucciones. Su representación en:

ejecuta una o varias instrucciones. Su representación en: Si la condición es verdadera, entonces se ejecutarán

Si la condición es verdadera, entonces se ejecutarán en orden las sentencias delimitadas por el FIN SI. Si la condición es falsa o no se cumple, el punto de algoritmo ejecutará la sentencia posterior al FIN SI.

2.2 Estructura selectiva doble

Lo más frecuente es encontrar situaciones donde si una condición se cumple se ejecuta un Grupo de instrucciones, pero si no se cumple, deben ejecutarse otras.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Si la condición es verdadera,
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Si la condición es verdadera, entonces se ejecutarán las

Si la condición es verdadera, entonces se ejecutarán las Instrucciones1. Si la condición es falsa, el punto de algoritmo ejecutará las Instrucciones2.

2.3 Estructura selectiva múltiple

También hay programas que nos llevan a considerar alternativas con varias opciones posibles. Hay dos formas de escribir esto en pseudocódigo. La primera de ellas modifica la estructura de selección doble:

2.4 Sentencia de selección

, n. Según que elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles.

La estructura selectiva múltiple evaluará una expresión que podrá tomar n valores distintos 1, 2, 3, 4,

expresión que podrá tomar n valores distintos 1, 2, 3, 4, valor1 y valor2 son los

valor1 y valor2 son los posibles valores de variable. En caso de que variable sea valor1, se ejecuta el Instrucciones1; en caso de que variable sea valor2, se ejecuta el Instrucciones2; de lo contrario se ejecuta el InstruccionesN

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Modelo 2 Según Sea expresión
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Modelo 2 Según Sea expresión (E) Hacer E1:

Modelo 2

Según Sea expresión (E) Hacer

E1: InstruccionesS11

InstruccionesS12

…………… E2: InstruccionesS21

InstruccionesS22

………… En: InstruccionesS31

InstruccionesS32

………… En otro caso InstruccionSx Fin Según

Modelo 3 (Simplificado) Según E Hacer …… …… Fin Según

2.5 Estructuras repetitivas

Las estructuras repetitivas, que también reciben el nombre de bucle (loop, en ingles) controlan un conjunto de instrucciones que deben repetirse cierto número de veces, mientras se cumple una condición que ha de ser claramente especificada. La condición podría ser verdadera o falsa, y se comprobara en cada paso o iteración del bucle. Todo bucle consta de tres partes básicas, a saber:

Decisión: donde se evalúa la condición y, en caso de ser cierta, se ejecuta el cuerpo del bucle.

Cuerpo del bucle: son las instrucciones que se ejecutaran repetidamente, un número determinado de veces, cuando la decisión es verdadera.

Salida del bucle: es la condición que indica cuando terminan las iteraciones.

Básicamente, existen tres tipos de estructuras repetitivas:

”Mientras

”Hacer Mientras” (Do

”Desde ó Para” (for).

(while),

While)

Una forma de controlar un bucle es mediante una variable llamada contador cuyo valor se incrementa o decrementa en una cantidad constante en cada repetición que se produzca. También, los bucles suelen utilizar otro tipo de variables llamadas acumulador, cuya misión es almacenar una cantidad variable resultante de operaciones sucesivas y repetidas. Es como un contador, con la diferencia que el incremento/decremento es variable.

2.5.1 Estructura repetitiva mientras (While)

En este tipo de estructura, el cuerpo del bucle se repite MIENTRAS se cumple una determinada condición. La sintaxis básica es:

Además se cumple, que se puede entrar al ciclo, sólo si se cumple la condición. Finalmente, es muy importante determinar la variación de alguna variable, para quebrar la condición y no convertir al ciclo iterativo, en un "loop" o ciclo infinito.

Frecuentemente se utiliza el bucle mientras (while) para validar los datos de entrada de un programa.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2.5.2 Sentencia Hacer Mientras Se
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 2.5.2 Sentencia Hacer Mientras Se ejecutarán las

2.5.2 Sentencia Hacer Mientras

Se ejecutarán las sentencias, mientras se cumpla la condición. Además, una diferencia con la sentencia de control anterior, es que en ésta por lo menos se entra una vez en el ciclo. La sintaxis es:

por lo menos se entra una vez en el ciclo. La sintaxis es: 2.5.3 Estructura repetitiva

2.5.3 Estructura repetitiva para o desde (for)

El bucle PARA o DESDE (for) permite repetir un conjunto de instrucciones un número determinado de veces, con la peculiaridad que la instrucción incrementa (o decrementa), automáticamente y de uno en uno, la variable que se utiliza como contador. La sintaxis básica es:

El incremento es opcional. Si no se coloca, el bucle aumenta de uno en uno de forma automática el valor del contador. Si se desea decrementar la variable es necesario colocar el valor del decremento

(-1).

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS El ciclo cumple los siguientes
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS El ciclo cumple los siguientes pasos: 1) Inicializa el

El ciclo cumple los siguientes pasos:

1) Inicializa el valor de la variable 2) Revisa la condición de término 3) SI se cumple la condición ENTONCES Ejecuta la sentencia Incrementa la variable Vuelve al paso 2 SINO saltar al paso 4 4) Fin del ciclo

a. Ejemplos con estructuras secuenciales

1. Haga un algoritmo, para que resuelva el sistema de dos ecuaciones lineales con dos incógnitas, de la siguiente forma:

A 1 X + B 1 Y = C 1 A 2 X + B 2 Y = C 2 Los coeficientes de la ecuación ingresarán por teclado y los valores de X e Y se debe calcular y reportar.

Análisis Del Problema

Cinco pasos que deben tener en cuenta los estudiantes para resolver problemas de algoritmos:

1. Leer con mucho cuidado el problema hasta entenderlo

2. Buscar la(s) pregunta(s)

3. Decidir lo que debes hacer

4. Realizar las operaciones

5. Comprobar que la respuesta hallada es la correcta

Formular El problema: Ya se encuentra claramente formulado. Resultados esperados: Resolver las incógnitas X e Y, que deben ser variables reales. Datos disponibles: Los coeficientes de la ecuación: A, B, C; que pueden ser variables enteras o reales. La incógnita son las variables de salida X e Y. El resto de variables A, B y C son de entrada, es decir variables a ingresar por teclado. Procesos necesarios: Guardar los resultados en dos variables X e Y; aplicando el método de resolución de sistemas de ecuaciones lineales mediante determinantes, llamada Regla de Kramer, cuyo valor es:

X = (C1B2 B1C2)/(A1B2 B1A2)

Y = (A1C2 C1A2)/ (A1B2 B1A2) Para (A1B2 B1A2 0)

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama de flujo Diagrama N
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Ecuaciones_lineales Variables Real: A, B, C,
Diagrama de flujo
Diagrama N – S
Pseudocódigo
Algoritmo Ecuaciones_lineales
Variables
Real: A, B, C, X, Y
Inicio
Escribir („Ingrese Coeficientes:‟)
Leer (A, B, C)
X = (C1B2 – B1C2)/(A1B2 – B1A2)
Y = (A1C2 – C1A2)/ (A1B2 – B1A2)
Escribir („El valor de X e Y es:‟, X, Y)
Fin

2. Periquito Pérez viene ahorrando diariamente en una alcancía solamente monedas de un sol; hasta el mes de diciembre, tendrá N monedas. Hacer un algoritmo para encontrar ¿Cuántos billetes de S/. 200, de 100, de 50, de 20, de 10, podría obtener?, asimismo monedas de 5, de 2 y de un sol?

Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: El número de billetes de 200 soles (B200), de 100 (B100), de 50 (B50), de 20 (B20), de 10 (B10), el numero de monedas de 5 soles (M5), de 2(M2) y de 1. Estas variables son las incógnitas del problema y deben ser enteras Datos disponibles: El número de monedas (N) ahorradas hasta el mes de diciembre. Debe ser variable entera Restricciones: El número de monedas es una variable y se debe solicitar al usuario. Procesos necesarios: Definir variables; solicitar al usuario el numero de monedas encontradas en la alcancía; aplicar divisiones enteras (operador DIV) con 200, 100, 50, 20, 10, 5, 2 y almacenarlo en variables. Encontrar el residuo o modulo (operador MOD) de 200, 100, 50, 20, 10, 5 y 2; mostrar el resultado.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama de flujo Diagrama N
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

Diagrama de flujo

Diagrama de flujo Diagrama N – S Algoritmo Monedas_Billetes Inicio N, B200, B100, B50, B20, B10,
Diagrama de flujo Diagrama N – S Algoritmo Monedas_Billetes Inicio N, B200, B100, B50, B20, B10,

Diagrama N S

Algoritmo Monedas_Billetes

Inicio

N, B200, B100, B50, B20, B10, M5, M2, R

Leer N

 

B200 = N Div 200

R

= N

Mod 200

B100 = R Div 100

R

= R

Mod

100

B50 = R

Div 50

R

= R

Mod

50

B20 = R

Div 20

R

= R

Mod

20

B10 = R

Div 10

R

= R

Mod

10

M5 = R

Div 5

R

= R

Mod

5

M2 = R

Div 2

R

= R

Mod

2

Escribir B200, B100, B50, B20, B10, M5, M2, R

Fin

 
Pseudocódigo Algoritmo Monedas_Billetes Variables Entera: N, B200, B100, B50, B20, B10, M5, M2, R Inicio
Pseudocódigo
Algoritmo Monedas_Billetes
Variables
Entera: N, B200, B100, B50, B20, B10, M5, M2, R
Inicio
Escribir(„Ingrese cantidad monedas:‟)
Leer (N)
B200 = N Div 200
R = N Mod 200
B100 = R Div 100
R = R Mod 100
B50 = R Div 50
R = R Mod 50
B20 = R Div 20
R = R Mod 20
B10 = R Div 10
R = R Mod 10
M5 = R Div 5
R = R Mod 5
M2 = R Div 2
R = R Mod 2
Escribir („Billetes:‟, B200, B100, B50, B20,B10)
Escribir („Monedas:‟, M5, M2, R)
Fin

3. Haga un algoritmo, para que calcule el montó a devolver si nos prestan un capital C, a una tasa de interés I, durante N periodos. Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: El monto (M) a devolver, deben ser variables reales y se debe utilizar la formula de Monto Compuesto que es el Total: El capital, incluyendo los intereses, capitalizables; dicho de otra forma es el capital más los intereses capitalizados: M = C(1+i) n

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Datos disponibles : El capital
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Datos disponibles : El capital (C) que nos prestan,

Datos disponibles: El capital (C) que nos prestan, en soles y debe ser una variable real. La tasa de interés (I), debe darse en decimales de 0 1, si nos dieran en %, este valor deberá dividirse entre 100. El número de periodos (N), éste valor debe ser una variable entera. Estas variables se deben solicitar al usuario. El estudiante debe preguntarse si sus conocimientos actuales de matemáticas le permiten resolver este problema; de no ser así, debe revisar la asignatura de Matemática Financiera para obtener los conocimientos necesarios. Restricciones: Los valores del monto del préstamo, la tasa de interés y el número de periodos son variables y se deben solicitar al usuario. Procesos necesarios: Definir variables; solicitar al usuario el monto del préstamo, la tasa de interés y el número de periodos; aplicar la formula de monto compuesto y mostrar el resultado.

Diagrama de Flujo

Diagrama de Flujo Diagrama N – S Algoritmo Monto_Devolver Inicio C, I, N, M Leer C,
Diagrama de Flujo Diagrama N – S Algoritmo Monto_Devolver Inicio C, I, N, M Leer C,

Diagrama N S

Algoritmo Monto_Devolver

Inicio

C, I, N, M

Leer

C, I, M

M = C*(1 + I)^N

Escribir 'Monto a devolver:', M

Fin

Pseudocódigo Algoritmo Monto_Devolver Variables Entera: N Real: C, I, M Inicio Escribir („Ingrese capital, interés, periodos:‟) Leer (C, I, N) M = C*(1+I)^N Escribir („Monto a devolver:, M) Fin

Actividades

1. En grupos de 3 alumnos, hacer una lluvia de ideas para formular 5 problemas con estructuras secuenciales, utilizando las palabras:

a. Trabajadores, pago por hora, horas trabajadas, pago total

b. Alumnos, notas, promedio

c. Mercado, compras de artículos, total a pagar

d. Casa, área terreno, área construida

e. Dulces, billete, total a pagar, vuelto

Después de formularlos, deberán resolverlos, realizando el diseño respectivo.

2. Dado el enunciado del problema siguiente: María va de compras al mercado Metro. Adquiere D docenas de cuadernos a un precio de P1 cada docena, N unidades de lapiceros Pilot a un precio de

P2. A continuación se da una parte del algoritmo; debe completar los símbolos que faltan, para

calcular el pago total que va a realizar María.

para calcular el pago total que va a realizar María. Algoritmos, herramientas de programación, estructuras
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 3. Resolver los siguientes problemas,
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 3. Resolver los siguientes problemas, utilizando lápiz y

3. Resolver los siguientes problemas, utilizando lápiz y papel:

a. Calcular el perímetro, el área, y la diagonal de un rectángulo si se ingresan sus lados.

b. Encontrar la suma, resta, multiplicación, división entera, residuo y promedio de dos números enteros ingresados por teclado.

c. Hacer un algoritmo que tome como dato de entrada, la longitud de un diámetro de una

circunferencia y nos calcule e imprima la longitud de la circunferencia, el área del círculo y el volumen de la esfera que se corresponden con dicho diámetro. Formulas: L = 2*Pi*R; A = Pi*R 2 ; V = 4/3*Pi*R 4. Elija cualquier problema que haya resuelto del grupo 3 y hágalo utilizando el software Edraw Max.

3

b. Ejemplos con estructuras selectivas simples y dobles

1. Haga un algoritmo para que encuentre el mayor de tres números ingresados por teclado. Asumir que los números ingresados son diferentes Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: El numero mayor (May), de los tres números. Esta variable puede ser entera o real. Datos disponibles: Los tres números: A, B y C. Deben ser variables enteras o reales y se deben solicitar al usuario. Restricciones: Los tres números pueden ser positivos y/o negativos Procesos necesarios: Definir variables; solicitar al usuario el valor de los números y almacenarlos en las variables A, B y C; comparar A con B, A con C y B con C y el numero mayor almacenarlo en la variable May; mostrar el resultado. Hay que tener en cuenta que éste no es el único método; hay otro método que consiste en comparar simultáneamente los tres números y como resultado de esa comparación se debe extraer el número mayor.

Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo Mayor Variables Entera: A, B, C
Diagrama de Flujo
Diagrama N – S
Pseudocódigo
Algoritmo Mayor
Variables
Entera: A, B, C
Inicio
Escribir(„Ingrese tres números:‟)
Leer (A, B, C)
Si A >= B Entonces
Si A >= C Entonces
May = A
Sino
May = C
Fin Si
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Sino Si B >= C
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Sino Si B >= C Entonces May = B Sino May = C Fin Si
Sino Si B >= C Entonces May = B Sino May = C Fin Si

Sino Si B >= C Entonces May = B Sino May = C Fin Si Fin Si Escribir („El mayor de tres números es:‟, May) Fin

2. Elabore un algoritmo que obtenga las raíces reales de una ecuación de segundo grado de la forma AX 2 + BX + C = 0 Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Las raíces (X 1 y X 2 ) de la ecuación de segundo grado. Estas variables deben reales. Datos disponibles: Los coeficientes: A, B y C. de la ecuación de segundo grado. Deben ser variables reales y su valor se debe solicitar al usuario. Restricciones: Para que la ecuación tenga raíz real, la discriminante D debe ser mayor que 0. Procesos necesarios: Definir variables; solicitar al usuario el valor de los coeficientes y almacenarlos en las variables A, B y C; hallar la discriminante D = B – 4*A*C; comparar dicha discriminante, si D es mayor que 0, encontrar las raíces X 1 y X 2 , caso contrario enviar un mensaje que tienen raíces imaginarias; mostrar el resultado.

Tener en cuenta que X 1 = (-B+

mostrar el resultado. Tener en cuenta que X 1 = (-B+ )/(2A) y X 2 =

)/(2A) y X 2 = (-B -

Tener en cuenta que X 1 = (-B+ )/(2A) y X 2 = (-B - )/(

)/( 2A)

Diagrama de flujo

Diagrama de flujo
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama N – S Pseudocódigo
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Diagrama N – S Pseudocódigo Algoritmo Raices_Cuadradas Variables Real: A, B, C, X1, X2 Inicio
Diagrama N – S
Pseudocódigo
Algoritmo Raices_Cuadradas
Variables
Real: A, B, C, X1, X2
Inicio
Escribir(„Ingrese coeficientes ecua.:‟)
Leer (A, B, C)
Si A <> 0 Entonces
D = B^2 – 4*A*C
Si D >= 0 Entonces
X 1 = (-B+
X 2 = (-B -
)/(2A)
)/( 2A)
Escribir(„Raíces:‟, X 1 , X 2 )
Sino
Escribir(„Raíces imaginarias‟)
Fin Si
Sino
Escribir(Coef. de X 2 debe ser difer. 0)
Fin Si
Fin

3. Haga un algoritmo para ingresar un número por teclado y reportar si es positivo par, positivo impar, negativo par, negativo impar o cero. Análisis del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Un mensaje que informe el tipo de número. Datos disponibles: El número N. Debe ser variable entera y su valor se debe ingresar por teclado. Restricciones: N puede tomar valores positivos o negativos. Procesos necesarios: Definir variable; solicitar al usuario que ingrese el valor de la variables N; comparar la variable N usando los operadores de relación ( >, < ) y el operador aritmético ( Mod); mostrar el mensaje respectivo.

Diagrama de Flujo

Diagrama de Flujo
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama N – S Pseudocódigo
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

Diagrama N S

Informática y de Sistemas ALGORITMOS Diagrama N – S Pseudocódigo Algoritmo Numeros_Positivos_Negativos

Pseudocódigo

Algoritmo Numeros_Positivos_Negativos Variables Entera: N Inicio Escribir(„Ingrese número:‟) Leer(N) Si N > 0 Entonces Si N Mod 2 = 0 Entonces Escribir(„Positivo Par‟) Sino Escribir(„Positivo Impar‟) Fin Si Sino Si N < 0 Entonces Si N Mod 2 = 0 Entonces Escribir(„Negativo Par‟) Sino Escribir(„Negativo Impar‟) Fin Si Sino Escribir(„El número es cero‟) Fin Si Fin Si

Actividades

EN GRUPOS DE 3 ALUMNOS REALIZAR LO SIGUIENTE:

1. Hacer una lluvia de ideas para formular 5 problemas con estructuras selectivas simples y dobles, utilizando las palabras:

a. Trabajadores, pago por hora, horas trabajadas, horas extras, pago total

b. Alumnos, notas, promedio, aprobado, desaprobado

c. Mercado, compras de artículos, descuentos, total a pagar

d. Agencia, numero boletos acumulados, descuento, destinos

e. Banco, depósitos, tiempo de depósitos, tasa de interés en %, interés a ganar en soles

Después de formularlos, deberán resolverlos, realizando el diseño respectivo.

2. Dado el enunciado del problema siguiente: Periquito Pérez compra N artículos a P soles, si su compra supera los S/. 300, le descuentan el 10%, caso contrario le descuentan el 5%. A continuación se da una parte del algoritmo; debe completar los símbolos que faltan, para calcular el pago total que va a realizar Periquito.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 3. Resolver los siguientes problemas,
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 3. Resolver los siguientes problemas, utilizando lápiz y

3. Resolver los siguientes problemas, utilizando lápiz y papel:

a. Elabore un algoritmo que identifique e imprima el número medio de un conjunto de tres números únicos. El número medio es aquel que no es el menor ni el mayor. Asuma que los tres valores introducidos por teclado son distintos.

b. Los empleados de una fábrica trabajan en dos turnos: Diurno y Nocturno. Se debe calcular el jornal diario de acuerdo a los siguientes puntos:

La tarifa de las horas diurnas es de S/. 3.5 La tarifa de las horas nocturnas es de S/. 4.5 En caso de ser domingo la tarifa aumentará en S/. 2.0 en el turno diurno y S/. 2.5 en el turno nocturno. Se debe leer el turno, las horas trabajadas y el día de la semana.

c. Leer 3 números enteros e imprimir el mayor de ellos.

4. Elija cualquier problema que haya resuelto del grupo 3 y hágalo utilizando el software BizAgi Process Modeler.

c. Ejemplos con estructuras selectivas múltiples

1. En una Universidad tienen como política considerar 3 notas en cada curso, la nota de trabajos T, la nota de medio ciclo M y la de fin de ciclo F, cada una tiene un peso de 50%, 20% y 30% respectivamente. Un alumno es calificado según lo siguiente:

Nota

Condición

16

20

BUENO

11

15

REGULAR

6

10

MALO

0

5

PESIMO

Diseñe el algoritmo respectivo, para que realice tal acción.

Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Un mensaje que indique el tipo de alumno: Bueno, Regular, Malo ó

Pésimo.

Datos disponibles: Las notas de trabajos: T, la nota de medio ciclo M y la nota de fin de ciclo F. Debe ser variable entera y su valor se debe ingresar por teclado. Restricciones: Las notas deben estar en el rango permitido de 1 a 20. Procesos necesarios: Definir variable: La nota promedio N, la nota de trabajos T, la nota de medio ciclo M y la nota de fin de ciclo; solicitar al usuario que ingrese el valor de la variables T, M y F; cada una de las 3 notas tiene porcentajes diferentes en la nota definitiva: N = 0.50*T+0.20*M+0.30*F; de acuerdo a la nota obtenida se enviara un mensaje: Si nota esta entre 16 y 20 escribir “Bueno” , si nota esta entre 11 y 15 escribir “Regular” , si nota esta entre 6 10 escribir “Malo” , si nota esta entre 0 y 5 escribir “Pésimo”

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama de flujo Diagrama N
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Notas Variables Entera: N, T, M,
Diagrama de flujo
Diagrama N – S
Pseudocódigo
Algoritmo Notas
Variables
Entera: N, T, M, F
Inicio
Escribir („Ingrese notas:‟)
Leer (T, M, F)
N = 0.50*T + 0.20*M + 0.30*F
Según Sea ( N ) Hacer
16
a 20: Escribir („Bueno‟)
11
a 15: Escribir („Regular‟)
6
a 10 : Escribir („Malo‟)
0
a 6
: Escribir („Pésimo‟)
Fin Según
Fin

2. Se pretende categorizar a un alumno, de acuerdo a su nota, de la siguiente manera:

Nota

Categoría

18

a 20

A

15

a 17

B

11

a 14

C

Menor o igual de 10

D

De acuerdo a la categoría, su pago es el siguiente:

Categoría Pago

A 0

B 50

C 70

D 120

Diseñe un algoritmo para que ingrese la nota respectiva y reporte el pago que tiene que realizar dicho alumno.

Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: El valor del pago que tiene que realizar el alumno. Debe ser variable real Datos disponibles: La nota del alumno. La nota debe ser variable entera. Su valor se debe solicitar al usuario. Restricciones: La nota debe estar en un rango de 0 a 20, y el pago debe ser positivo. Procesos necesarios: Definir variables: Notas N, Categoría C, Pago P; solicitar al usuario el valor de la nota N; se debe evaluar N y de acuerdo al valor de sus notas hacer: Si esta entre 18 - 20 entonces C = „A‟, Si esta entre 15 - 17 entonces C = „B‟, Si esta entre 11 - 14 entonces C = „C‟, si es <= 10 entonces C=‟D‟ ; Evaluar el resultado de la Categoría C y de acuerdo a sus valores hacer: Si es „A‟ entonces P =

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 0 , si es „B‟
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS 0 , si es „B‟ entonces P = 50

0, si es „B‟ entonces P = 50, si es „C‟ entonces P = 70, si es „D‟ entonces P = 120 ; reportar el valor de pago P

Diagrama de flujo

P = 120 ; reportar el valor de pago P Diagrama de flujo Diagrama N –

Diagrama N S

el valor de pago P Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Categorización Variables

Pseudocódigo Algoritmo Categorización Variables Entera : N

Real

Carácter: C

Inicio

:

P

Escribir(„Ingrese nota:‟) Leer ( N ) Según Sea ( N ) Hacer

a 20 : C = „A‟ a 17 : C = „B‟ a 14 : C = „C‟

: C = „D‟

Fin Según Según Sea ( C ) Hacer

18

15

11

0 a 10

„A‟

: P = 0

„B‟

: P = 50

„C‟

: P = 70

„D‟

: P = 120

Fin Según Escribir(„Paga:‟, P)

Fin

3. Hacer un algoritmo para ingresar un número por teclado, y de acuerdo a su último digito se solicita hacer lo siguiente: Si termina en 1 ó 7, retornar el cuadrado del número; Si termina en 2 ó 9, retornar el cubo de dicho número; Si termina en 3 ó 4, retornar la raíz cuadrada del mencionado número; En otro caso retornar el mismo número.

Análisis Del Problema Formular El problema: Ya se encuentra claramente formulado Resultados esperados: El valor de Y, éste depende del ultimo digito de X. Y debe ser variable real Datos disponibles: El valor de X. Debe ser variable entera y su valor se debe solicitar al usuario. Restricciones: El valor de X debe ser positivo. Procesos necesarios: Definir variables: X e Y ; solicitar al usuario que ingrese el valor de la variables X ; se debe encontrar el residuo del numero de la forma X Mod 10 y según el residuo realizar lo siguiente: Si termina en 1 y 7 hacer Y = X^2 ; si termina en 2 y 9 hacer Y = X^3 ; si

Y = X^2 ; si termina en 2 y 9 hacer Y = X^3 ; si
Y = X^2 ; si termina en 2 y 9 hacer Y = X^3 ; si

termina en 3 y 4 hacer Y =

; en otro caso hacer Y = X; reportar el valor de Y

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama de flujo Diagrama N
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Terminaccion_Numeros Variables Enteras: X Real: Y
Diagrama de flujo
Diagrama N – S
Pseudocódigo
Algoritmo Terminaccion_Numeros
Variables
Enteras: X
Real: Y
Inicio
Escribir(„Ingrese valor de x, positivo:‟)
Leer ( X )
Según Sea (X Mod 10) Hacer
1, 7:
2, 9:
Y = X^2
Y = X^3
3, 4:
Y =
Otros
Y = X
Fin Según
Escribir („Valor de Y:‟, Y)
Fin

Actividades

EN GRUPOS DE 3 ALUMNOS REALIZAR LO SIGUIENTE:

1. Mediante la técnica de lluvia de ideas, formular 2 problemas con estructuras selectivas múltiples, preferentemente de tengan aplicación en la vida diaria. Después de formularlos, deberán resolverlos, realizando el diseño respectivo.

2. Resolver los siguientes problemas, utilizando lápiz y papel:

a. Dado el número de un mes, genere como salida el mes en palabras y el total de días que tiene ese mes. Protéjalo contra entradas no válidas.

b. Haga un algoritmo para convertir una calificación numérica a una calificación de letra de acuerdo con la siguiente escala:

90

80

70

60

Menos de 60 R

100 A 89 B 79 C 69 D

c. Hacer un algoritmo considerando el año actual donde considere a las personas según su año

de nacimiento en que etapa de su vida están, (niñez, adolescencia, juventud, adultez, vejez, mortandad). Considere a la muerte mayor de 75 años.

Edad

Etapa de su vida

Edad

Etapa de su vida

0 y ≤ 12 >12 y ≤ 18 > 18 y ≤ 30

Niñez

> 30 y ≤ 60 > 60 y ≤ 75 > 75

Adultez

Adolescencia

Vejez

Juventud

Mortandad

3. Plantea un problema a partir del siguiente diagrama de flujo

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS De acuerdo al problema 2.
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS De acuerdo al problema 2. Si el DNI de

De acuerdo al problema 2. Si el DNI de María Antonieta es 17985391 y el Precio de la lotería es S/. 10. ¿Cuánto obtiene de Premio?

4. Elija cualquier problema que haya resuelto del grupo 2 y hágalo utilizando el software Smart Draw

2009.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Para las estructuras repetitivas es
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Para las estructuras repetitivas es necesario realizar las

Para las estructuras repetitivas es necesario realizar las definiciones de:

Contador

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle. Se utiliza en la condición de salida del bucle. Normalmente, se compara con el valor máximo (o mínimo) que debe alcanzar el contador para dejar de repetir las instrucciones del bucle. Representación:

<Nombre del contador> = <nombre del contador> + <valor constante>

Si en vez de incremento es decremento se coloca un menos en lugar del más. Ejemplo: i = i + 1

Acumulador

Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. El sumador o acumulador es una variable que se incrementa con valores variables La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable. Tanto los acumuladores como los acumuladores deben ser inicializados en cero (0). Representación: <Nombre del acumulador> = <nombre del acumulador> + <valor variable>

Ejemplo: S = S + X

Conmutadores Un conmutador (o interruptor) es una variable que sólo puede tomar dos valores. Pueden ser, por tanto, de tipo booleano, aunque también pueden usarse variables enteras o de tipo carácter.

La variable conmutador recibirá uno de los dos valores posibles antes de entrar en el bucle. Dentro del cuerpo del bucle, debe cambiarse ese valor bajo ciertas condiciones. Utilizando el conmuntador en la condición de salida del bucle, puede controlarse el número de repeticiones.

Ejemplo: Escribir un algoritmo que sume todos los números positivos introducidos por el usuario a través del teclado. Para terminar de introducir números, el usuario tecleará un número negativo.

Ejemplos con Estructuras Mientras

1. Hacer un algoritmo para ingresar un número N por teclado y verificar si es primo o no. Se dice que un número es primo si es divisible entre 1 y él mismo.

ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Un mensaje indicando si el numero es primo o no es primo. Datos disponibles: El número N. Debe ser variable entera y se deben solicitar al usuario. Restricciones: El número debe ser natural, es decir positivo. Procesos necesarios: Definir variables enteras e inicializar contadores: El número a ser leído ( N ), Contador ( C ) para el bucle mientras, Contador de divisores (CD); solicitar al usuario el valor del número y almacenarlo en las variable N; definir un ciclo que se repita de 1 a N; en cada iteración se debe acumular la variable contador ( C = C + 1), se debe verificar si el numero N es divisible por C ( N Mod C = 0), si fuera divisible (es decir la expresión N Mod C = 0, es verdad), entonces el contador CD se incrementa en 1 (CD = CD + 1), caso contrario no se incrementa; chequear cuantos divisores tiene CD, si tiene 1 y/o 2, entonces enviar el mensaje que el numero es primo, por que por definición sabemos que un numero es primo si tiene dos divisores: el 1 y el mismo numero; caso contrario si CD tiene mas de 2 divisores, enviar un mensaje que el numero no es primo. Existe otra forma de determinar si un número es primo o no. Consiste en declarar una variable tipo entera inicializándolo en 0, y cambiará de estado a 1 si encuentra un número divisor entre 2 a N/2.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Diagrama de Flujo Diagrama N
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

Diagrama de Flujo

Informática y de Sistemas ALGORITMOS Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo Numeros_Primos

Diagrama N S

de Sistemas ALGORITMOS Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo Numeros_Primos Variables Entera: C

Pseudocódigo

Algoritmo Numeros_Primos Variables

Entera: C = 0, CD Inicio

= 0, N

Escribir(„Ingrese valor de N:‟) Leer N

Mientras C

C = C + 1 Si N Mod C = 0 Entonces CD = CD + 1 Fin Si Fin Mientras Si CD <= 2 Entonces Escribir („Número primo‟)

Sino Escribir („Número no primo‟) Fin Si

<

N

Fin

Código en Java package japrimos; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int C=0, CD=0, N; System.out.print("Ingrese N:"); N = Integer.parseInt(br.readLine()); while(C < N)

{

C = C + 1;

if(N%C==0)

{

CD = CD + 1;

}

}

if(CD <= 2)

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS { System.out.println("El
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
{

{

System.out.println("El número es primo");

}

else

{

System.out.println("El número no es primo");

}

}

}

2.

Implemente un algoritmo para comprobar si un número natural ingresado por teclado es un número

perfecto. Un número es perfecto si la suma de sus divisores propios es igual a él mismo. ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Un mensaje indicando si el numero es perfecto o no. Datos disponibles: El número N. Debe ser variable entera y se deben solicitar al usuario. Restricciones: El número debe ser positivo. Procesos necesarios: Definir variables enteras e inicializar contadores y acumuladores en 0: El número a ser leído ( N ), el Contador ( C ) para el bucle mientras, el Acumulador ( S ); solicitar al usuario el valor del número y almacenarlo en la variable N; definir un ciclo con la estructura repetitiva mientras que se repita de 1 a N 1; en cada iteración se debe acumular el contador ( C = C + 1), se debe verificar si el numero N es divisible por C ( N Mod C = 0), si fuera divisible (es decir la expresión lógica N Mod C = 0, es verdad), entonces el acumulador S se incrementa en C (S = S + C), caso contrario no se incrementa; verificar el valor de la expresión lógica (S = N), si es verdad, escribir un mensaje que el numero es perfecto, caso contrario escribir un mensaje que el número no es perfecto. Existe otra forma de determinar si un número es primo o no

Diagrama de Flujo

de determinar si un número es primo o no Diagrama de Flujo Diagrama N – S

Diagrama N S

número es primo o no Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo Numeros_Perfectos Variables

Pseudocódigo

Algoritmo Numeros_Perfectos Variables

Entera: C = 0, CD

Inicio Escribir(„Ingrese valor de N:‟)

= 0, N

Leer N

Mientras C

<

N - 1

C = C + 1 Si N Mod C = 0 Entonces S = S + C Fin Si Fin Mientras

Si

S

= N

Entonces

Escribir („Número perfecto‟)

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Fin Sino Escribir („Número no
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Fin Sino Escribir („Número no p erfecto ‟) Fin Si
Fin Sino Escribir („Número no p erfecto ‟) Fin Si
Fin Sino Escribir („Número no p erfecto ‟) Fin Si
Fin Sino Escribir („Número no p erfecto ‟) Fin Si
Fin Sino Escribir („Número no p erfecto ‟) Fin Si

Fin

Sino Escribir („Número no perfecto‟) Fin Si

Fin Sino Escribir („Número no p erfecto ‟) Fin Si

3. Los números Amstrong o cubos perfectos son aquellos que sumados los cubos de sus dígitos nos dan el mismo número. Por ejemplo 153 es un cubo perfecto pues 1 3 + 5 3 + 3 3 = 153. Lea un número y diga si es o no, un número Amstrong. ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Un mensaje indicando si el numero es Amstrong o no. Datos disponibles: El número N. Debe ser variable entera y se deben solicitar al usuario. Restricciones: El número debe ser positivo. Procesos necesarios: Definir variables enteras e inicializar acumulador en 0: El número a ser leído (N), el Acumulador (S), y una variable auxiliar (Aux); solicitar al usuario el valor del número y almacenarlo en la variable N; asignar el valor de la variable N a la variable auxiliar Aux, haciendo Aux = N (Esto debe hacerse obligatoriamente debido a que este método destruye a la variable N, reduciéndolo a 0, y así, no podríamos comparar con S); definir un ciclo que se repita mientras N <> 0; en cada iteración se debe extraer el ultimo digito (o residuo) del número, haciendo D = N Mod 10; acumular este digito, elevado al cubo al acumulador, haciendo S = S + D 3 ; a continuación debemos extraer el cociente, haciendo N = N Div 10. Saliendo del bucle verificar el valor de la expresión lógica (S = Aux), si es verdad, escribir un mensaje que el numero es Amstrong, caso contario escribir que no lo es.

Diagrama de Flujo

caso contario escribir que no lo es. Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo

Diagrama N S

escribir que no lo es. Diagrama de Flujo Diagrama N – S Pseudocódigo Algoritmo Numero_Amstrong Variables

Pseudocódigo

Algoritmo Numero_Amstrong Variables Entera: S=0, Aux, D, N Inicio Escribir(„Ingrese valor de N:‟) Leer ( N ) Aux = N Mientras Aux <> 0 Hacer

D

= Aux Mod 10

S

= S + D^3

Aux = Aux Div 10 Fin Mientras Si S = N Entonces Escribir(„Numero amstrong‟)

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Fin Sino Escribir(„Numero no
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
Fin Sino Escribir(„Numero no amstrong‟) Fin Si
Fin Sino Escribir(„Numero no amstrong‟) Fin Si
Fin Sino Escribir(„Numero no amstrong‟) Fin Si
Fin Sino Escribir(„Numero no amstrong‟) Fin Si
Fin Sino Escribir(„Numero no amstrong‟) Fin Si

Fin

Sino Escribir(„Numero no amstrong‟) Fin Si

Fin Sino Escribir(„Numero no amstrong‟) Fin Si

TAREAS

EN FORMA INDIVIDUAL REALIZAR LO SIGUIENTE:

1. Determine el resultado del siguiente diagrama de flujo, si N = 10, realice el diagrama N S y elabore su enunciado.

= 10, realice el diagrama N – S y elabore su enunciado. 2. Investiga la definición

2. Investiga la definición e importancia, de los siguientes términos, que tienen en los algoritmos.

Contador

Constantes

Acumulador o sumador

Bucle

Variables

Iteración

EN GRUPOS DE 3 ALUMNOS REALIZAR LO SIGUIENTE:

3. Mediante la técnica de lluvia de ideas, formular 2 problemas con estructuras repetitivas Mientras,

preferentemente que tengan aplicación en la vida diaria. Después de formularlos, deberán resolverlos, realizando el diseño respectivo.

4. Traer pedazos de cartulina de color y una tijera y recortar unos 5 símbolos de cada uno de los

diagramas de flujo: Inicio, Fin, Entrada, Proceso, Decisión, Indicador de dirección o línea de flujo, Impresora, etc. El tamaño de cada símbolo puede variar de 3 a 5 cm.

5. Resolver los siguientes problemas, inicialmente debe hacerlo con los símbolos recortados en la parte

4 y rotulados o escritos cada instrucción con lápiz. Después que lo han verificado, deben pasarlo el diagrama de flujo a un papel; asimismo deben hacer el diagrama N – S respectivo:

a. Hacer un algoritmo que calcule el cociente y el residuo de 2 números enteros en base a restas sucesivas solamente.

b. La profesora María Rosario necesita calcular la nota definitiva para cada uno de los 30 alumnos que asisten a su curso de Lenguaje de Programación I. Ella realizó a todos sus estudiantes, en el primer periodo del año lectivo 2008I, tres exámenes y asignó un trabajo de investigación, todos con igual peso. Realice un algoritmo para ayudarle.

c. Escribir un algoritmo que lea un número y lo imprima invertido.

6. Elija cualquier problema que haya resuelto del grupo 5 y hágalo utilizando el software de algoritmos

FlowBreeze.

Ejemplos con estructuras Hacer Mientras

1. Hacer un algoritmo para calcular la multiplicación de dos números en base a sumas sucesivas

solamente.

ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado Resultados esperados: La multiplicación de dos números M. Debe ser variable entera

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Datos disponibles : Los dos
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Datos disponibles : Los dos números A y B

Datos disponibles: Los dos números A y B ingresados por teclado. Deben ser variables enteras. Restricciones: Los números ingresados por teclado deben ser positivos. Procesos necesarios: Definir variables enteras e inicializar acumulador y contador en 0: El número a ser leído (A , B ), el Acumulador M , un contador C; solicitar al usuario el valor del multiplicando y multiplicador: A y B ; definir un ciclo que se repita de 1 a B ; en cada iteración se debe incrementar el contador C = C + 1; también se debe acumular A de la siguiente forma M = M + A ; reportar resultados. Si define el ciclo que se repita de 1 hasta A, entonces el acumulador M se incrementaría así M = M + B.

Diagrama de Flujo

Diagrama de Flujo Diagrama N – S Algoritmo Multiplicacion Inicio A, B, M = 0, C
Diagrama de Flujo Diagrama N – S Algoritmo Multiplicacion Inicio A, B, M = 0, C

Diagrama N S

Algoritmo Multiplicacion

Inicio

A, B, M = 0, C = 0

Leer A, B

 
 

C

= C + 1

M

= M + A

C

< B

Escribir 'Multiplicación', M

Fin

Pseudocódigo Algoritmo Multiplicacion Variables Entera: A, B, M = 0, C = 0 Inicio

Escribir(„Ingrese valor de A y B:‟) Leer (A, B) Hacer

C

M

= C + 1

= M + A

Mientras C < B Escribir(„Multiplicacion:‟, M)

Fin

Código en Java package jamultiplicacion; import java.io.*; public class Main { public static void main(String[] args)throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int A, B, M=0, C=0; System.out.println("Ingrese A:");

A = Integer.parseInt(br.readLine());

System.out.println("Ingrese B:");

B = Integer.parseInt(br.readLine());

do{

C++; M = M + A; }while(C < B);

System.out.println("La multiplicación es:"+M);

}

}

2.

Escribir un algoritmo que lea un número entero N > 0 y que imprima los N términos de la serie: 4,

12, 24, 40, 60…

Debe

imprimir también la suma de los N términos.

ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Resultados esperados : El reporte
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Resultados esperados : El reporte de la serie: 4,

Resultados esperados: El reporte de la serie: 4, 12, 24, 40, 60,…Las variables que generan la serie deben ser tipo enteras. Datos disponibles: N que representa la cantidad de números de la serie. N debe ser variable tipo entera. Restricciones: N debe ser positivo. Procesos necesarios: Definir variables enteras e inicializar variables: El número a ser leído N, el Acumulador S =0, un contador C; variables auxiliares A = 4, B = 8; solicitar al usuario el valor del multiplicando y multiplicador: A y B ; definir un ciclo que se repita de 1 a N; en cada iteración se debe incrementar el contador C = C + 1; reportar A ; también se debe acumular S de la siguiente forma S = S + A ; Acumular A haciendo A = A+B ; acumular B haciendo B = B + 4 ; escribir la suma S de los N términos.

Diagrama de Flujo

; escribir la suma S de los N términos. Diagrama de Flujo Diagrama N – S

Diagrama N S

Algoritmo Serie

Inicio

A = 4, B = 8, S = 0, C = 0, N

Leer N

N

<= 0

C

= C + 1

Escribir: A

S = S + A

A = A + B

B = B + 4

C < N

Escribir 'Suma serie:', S

Fin

Pseudocódigo

Algoritmo Serie Variables Entera: A = 4, B = 8, S = 0, C = 0, N Inicio Hacer Escribir(„Ingrese N:‟) Leer( N ) Mientras N <= 0 Hacer

C

S

Escribir ( A )

A = A + B

B = B + 4

= C + 1 = S + A

Mientras C < N Escribir(„Suma serie:‟, S)

Fin

3. Diseñar un algoritmo que lea un numero entero N. y que imprima todos los divisores de dicho

número. Además se debe indicar, cuantos divisores son en total. ANALISIS DEL PROBLEMA Formular El problema: Ya se encuentra claramente formulado Resultados esperados: Reportar los divisores del número, asimismo cuantos son. Las variables deben ser tipo enteras. Datos disponibles: N que representa al número. N debe ser variable tipo entera y se debe solicitar al usuario Restricciones: N debe ser positivo.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Procesos necesarios : Definir
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS Procesos necesarios : Definir variables enteras e

Procesos necesarios: Definir variables enteras e inicializar contadores: El número a ser leído N, el contador C = 0 , el contador de divisores CD = 0 ; definir un ciclo que se repita de 1 a N; en cada iteración se debe incrementar el contador C = C + 1 ; comprobar el valor de la expresión lógica (N Mod C = 0 ) si es verdad el contador de divisores se debe incrementar CD = CD + 1 ; reportar el divisor C; caso contrario no hacer nada; al salir del bucle reportar la cantidad de divisores CD.

Diagrama de flujo

reportar la cantidad de divisores CD. Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Divisores

Diagrama N S

de divisores CD. Diagrama de flujo Diagrama N – S Pseudocódigo Algoritmo Divisores Variables Entera: N,

Pseudocódigo Algoritmo Divisores Variables Entera: N, CD = 0, C = 0 Inicio Escribir („Ingrese N:‟) Leer ( N ) Hacer C = C + 1 Si N Mod C = 0 Entonces CD = CD + 1 Escribir( C ) Fin Si Mientras C < N Escribir(„Cantidad divisores:‟, CD) Fin

TAREAS

EN FORMA INDIVIDUAL REALIZAR LO SIGUIENTE:

1. Investiga las diferencias o definiciones, de los siguientes términos, que tienen en los algoritmos.

¿Cuál es la diferencia entre Contador y Sumador o Acumulador? ¿Cuál es la diferencia entre la Estructura Repetitiva Mientras y la Hacer Mientras? ¿Una Variable es un Identificador?, ¿Por qué? Investigar el significado de variables Centinelas o Banderas, Bucle Anidado, Bucle Infinito, Expresión Booleana.

2. El siguiente diagrama de flujo debe representar a la multiplicación de dos números ingresados por

teclado, en base a sumas sucesivas solamente. Determine el error o errores que presenta y corríjalo, luego realice el diseño en diagrama N S.

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS EN GRUPOS DE 3 ALUMNOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO

Ingeniería Informática y de Sistemas ALGORITMOS

UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
UNIVERSIDAD PRIVADA SAN PEDRO Ingeniería Informática y de Sistemas ALGORITMOS
PEDRO Ingeniería Informática y de Sistemas ALGORITMOS EN GRUPOS DE 3 ALUMNOS REALIZAR LO SIGUIENTE: 3.

EN GRUPOS DE 3 ALUMNOS REALIZAR LO SIGUIENTE:

3. Mediante la técnica de lluvia de ideas, formular 2 problemas con estructuras repetitivas Mientras,

preferentemente que tengan aplicación en la vida diaria.

Después de formularlos, deberán resolverlos, realizando el diseño respectivo.

4. Traer pedazos de cartulina de color y una tijera y recortar unos 5 símbolos de cada uno de los

diagramas de flujo: Inicio, Fin, Entrada, Proceso, Decisión, Indicador de dirección o línea de flujo, Impresora, etc. El tamaño de cada símbolo puede variar de 3 a 5 cm.

5. Resolver los siguientes problemas, inicialmente debe hacerlo con los símbolos recortados en la parte

4 y rotulados o escritos cada instrucción con lápiz. Después que lo han verificado, deben pasarlo el

diagrama de flujo a un papel; asimismo deben hacer el diagrama N – S respectivo:

a. Escribir un algoritmo que lea 2 números enteros y positivos y luego calcule e imprima el máximo

común divisor y el mínimo común múltiplo. Se sabe que el mínimo común múltiplo de dos números es igual a (N1*N2)/MCD.

b. Escribir un algoritmo que lea un número entero N, y que determine e imprima:

- Cuantos dígitos tiene el número

- Cuantos dígitos son pares

- Cuantos dígitos son impares

- La suma de sus dígitos

c.

Escribir un algoritmo que permita calcular la sumatoria de: 1 + X + X 2