universidad nacional experimental … fileelementos básicos de los algoritmos a. datos b....

19
UNIVERSIDAD NACIONAL EXPERIMENTAL "FRANCISCO DE MIRANDA" COMPLEJO DOCENTE EL SABINO DEPARTAMENTO DE GERENCIA Prof. Ing. Dubraska Delgado RESOLUCIÓN DE PROBLEMAS EMPLEANDO EL COMPUTADOR (Algoritmos, Componentes de los algoritmos, Diagramas de Flujo, Pseudocódigo) CONTENIDO: TEMA 2 1. Fases para la Resolución sistemática de problemas a. Análisis del problema b. Diseño del Algoritmo c. Implementación 2. Algoritmos a. Definición b. Tipos de Algoritmos 3. Lenguajes algorítmicos 4. Elementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo b. Pseudocódigo

Upload: hoangdang

Post on 11-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

UNIVERSIDAD NACIONAL EXPERIMENTAL "FRANCISCO DE MIRANDA"

COMPLEJO DOCENTE EL SABINO DEPARTAMENTO DE GERENCIA

Prof. Ing. Dubraska Delgado

RESOLUCIÓN DE PROBLEMAS EMPLEANDO EL COMPUTADOR (Algoritmos, Componentes de los algoritmos, Diagramas de Flujo, Pseudocódigo)

CONTENIDO:

TEMA 2 1. Fases para la Resolución sistemática

de problemas

a. Análisis del problema

b. Diseño del Algoritmo

c. Implementación

2. Algoritmos

a. Definición

b. Tipos de Algoritmos

3. Lenguajes algorítmicos

4. Elementos Básicos de los Algoritmos

a. Datos

b. Constantes y Variables

c. Expresiones

5. Representación de Algoritmos

a. Diagrama de Flujo

b. Pseudocódigo

Page 2: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

2/19

1. FASES PARA LA RESOLUCIÓN DE PROBLEMAS a. Análisis del Problema.

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 entrada y salida. 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?

b. Diseño del Algoritmo

En la fase de análisis se determina qué hace el algoritmo. En la fase de diseño se determina cómo

hace el algoritmo la tarea solicitada. Para representar la solución algorítmica podemos emplear, algunas herramientas de análisis estructurado como lo son: diagrama de flujos y pseudocódigo. Ambos, permiten llegar a la solución del problema siguiendo una serie de pasos. Los métodos utilizados para el proceso del diseño se basan en el conocido divide y vencerás. Es decir la resolución de un problema complejo se realiza dividiendo el problema en subproblemas y a continuación dividir estos subproblemas en otros de nivel mas bajo, hasta que sea implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (top-down) o modular.

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a

codificar posteriormente.

c. Implementación del Algoritmo Para implementar un algoritmo en la computadora, se debe ejecutar los siguientes pasos:

Codificación Compilación y ejecución Verificación Depuración Documentación

Problema Principal

Subproblema 1 Subproblema 2 Subproblema 3

Page 3: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

3/19

Codificación: Es la escritura en un lenguaje de programación de la representación de un algoritmo. Dado que el diseño del algoritmo es independiente del lenguaje de programación utilizado en su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro. Compilación y Ejecución: Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operación se realiza con un editor de texto, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en un disco.

El programa fuente debe ser traducido a lenguaje máquina. Este proceso se realiza con el compilador y el sistema operativo que se encarga prácticamente de la compilación. Si al compilar el programa fuente se presentan errores (errores de compilación), es necesario volver a editar el programa, corregir los errores y compilar de nuevo. Esto se repite hasta que ya no se presenten más errores, obteniéndose el programa objeto, el cual todavía no es ejecutable directamente. Al ya no existir errores en el programa fuente se

debe instruir al sistema operativo para que efectué la fase de montaje o enlace, del programa fuente con las librerías del programa del compilador. Este proceso de montaje produce un programa ejecutable.

Cuando se ha creado un programa ejecutable este se puede ya ejecutar desde el sistema operativo con solo teclear su nombre. Suponiendo que no existen errores durante la ejecución (errores en tiempo de ejecución), se obtendrá la salida de resultados correctos del programa.

Verificación y depuración: Es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba como son: valores normales de entrada, valores extremos de entrada que comprueben los límites del programa y valores de entrada que comprueben aspectos especiales del programa. Estos determinarán si el programa contiene errores o no.

Al ejecutar un programa se pueden producir tres tipos de errores: Errores de Compilación: Se producen normalmente por un uso incorrecto de las reglas del lenguaje

de programación, suelen ser errores de sintaxis. Errores de Ejecución: Se producen por instrucciones que la computadora puede comprender pero

no ejecutar. En estos casos se detiene la ejecución del programa y se imprime un mensaje de error. Ejemplo de esto puede ser una división por cero.

Errores Lógicos: Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo, son más difíciles de detectar puesto que el programa puede funcionar y no producir errores de compilación ni de ejecución pero regresará resultados incorrectos. En este caso se debe regresar a la fase de diseño, modificar el algoritmo, cambiar el programa fuente y compilar y depurar una vez más.

Documentación: La importancia de la documentación debe ser destacada por su influencia en la etapa final, ya que programas pobremente documentados son difíciles de leer, mas difíciles de depurar y casi imposibles de mantener y modificar. Puede ser interna y externa. La documentación interna es la contenida en líneas de comentarios. La documentación externa incluye análisis, diagramas de flujo y/o pseudocódigos, manuales de usuarios con instrucciones para ejecutar el programa y para interpretar los resultados. La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Estos cambios se denominan mantenimiento del programa. Además es de buena costumbre para todo buen programador, dejar comentado su código, esto es para que el futuro programador pueda darle mantenimiento fácilmente a el programa, o incluso, si es el mismo creador quien debe darle mantenimiento.

Page 4: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

4/19

2. ALGORITMO

La resolución práctica de un problema exige por una parte un algoritmo o método de resolución y por otra un programa o codificación de aquel en un ordenador. Ambos componentes tienen su importancia; pero la del algoritmo es absolutamente esencial, mientras que la codificación puede muchas veces pasar a nivel de anécdota.

a. Definición

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.

b. Tipos de Algoritmos.

Existen dos tipos y son llamados así por su naturaleza:

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del

proceso.

3. LENGUAJES ALGORÍTMICOS

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Existen dos tipos de Lenguajes Algorítmicos:

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

4. ELEMENTOS BÁSICOS DE LOS ALGORITMOS.

Los algoritmos y programas de computador, con independencia del lenguaje en que están escritos, están diseñados para manipular información o datos.

DATOS. Un dato es la expresión general que describe los objetos con los cuales opera una computadora. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados), los datos compuestos son conjuntos de partidas de datos simples con relaciones definidas entre ellos. Los datos simples son: numéricos, lógicos y carácter. Datos Numéricos: Es el conjunto de los valores numéricos y puede ser expresado numérico entero

(integer) y numérico real. Los enteros no tienen componentes fraccionarias o decimales y pueden ser negativos o positivos. Los reales siempre tienen un punto decimal. Este tipo de dato permite realizar operaciones aritméticas comunes.

Datos lógicos : También llamados booleanos —es aquel que solo puede tomar uno de dos valores: verdadero (true) o falso (false),ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Se utiliza para representar las alternativas (sí/no) a determinadas condiciones

Page 5: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

5/19

Datos Alfanuméricos: Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombre de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir, no es posible hacer operaciones con ellos. Los caracteres son: alfabéticos (A-Z), numéricos (0-9) y especiales (¡ @ # $ % ^ & *…). Este tipo de dato se representa encerrado entre comillas.

Los datos pueden estar expresados como variables o como constantes.

CONSTANTES Y VARIABLES Constantes: las constantes son elementos cuyo valor no cambia durante todo el desarrollo del algoritmo. Pueden ser Literales o Simbólicas. Las constantes simbólicas tienen un valor asignado y se identifican por un nombre. Una constante Literal es un valor que se utiliza como tal.

Constantes Simbólicas Constantes Literal

2.012

Valor: 3.80 230

‗A‘

Variables: las variables son elementos cuyo valor puede cambiar durante el desarrollo del algoritmo. Se identifican por un nombre y un tipo. El tipo determina el conjunto de valores que la variable puede tomar.

Variable Valor Tipo

A 2 Entero

B 5 Entero

Radio 2.5 Real

Carac1 ‗a‘ Carácter

Carac2 ‗c‘ Carácter

Las variables pueden ser de tipo: entero, real, carácter, lógico o Cadena. Las constantes y Variables se utilizan para formar expresiones.

EXPRESIONES Una expresión es una combinación de operadores y operandos. Los operandos pueden ser constantes, variables u otras expresiones. Los operadores pueden ser aritméticos, lógicos, orientados al bit o relacionales. Según sea el tipo de objetos que manipulan, se clasifican en : Aritméticas, Lógicas, Cadenas.

1. Expresiones Aritméticas: Las expresiones son análogas a las fórmulas matemáticas. Son combinaciones de operandos numéricos (variables y constantes) y operadores aritméticos que 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.

o Operadores Aritméticos

Operador Notación Algebraica Ejemplo

Suma + A+B

Resta - F-2

Multiplicación * A * C

División / B/15

Potenciación ** ó ^ S ^ 3

Negación - -Q

Page 6: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

6/19

o Prioridad de los Operadores Aritméticos: La evaluación de las expresiones se realiza de

Izquierda a derecha cuidando la prioridad de los operadores, los de prioridad mayor se evalúan primero. La evaluación de los operadores con la misma prioridad se realiza siempre de Izquierda a derecha. Si una expresión contiene subexpresiones encerradas entre paréntesis, dichas expresiones se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una expresión los operadores se evalúan así:

Prioridad Operador Notación Algebraica

1 Potenciación ** ó ^

2 Negación -

3 Multiplicación, División * , /

4 Suma ,Resta + , -

Veamos algunos ejemplos

a) 2*4+5*2 Se busca en la Expresión las operaciones con mayor prioridad 8+5*2 Resolvemos la de mayor prioridad como hay dos con el mismo grado se resuelve el de la izquierda

8+10 Entre la suma y el producto se resuelve el producto pues tiene mayor prioridad

18 Da como resultado 18, debido a que el producto tiene mayor prioridad que la suma.

b) (2*4+5)*2 Al existir paréntesis se resuelve primero la subexpresión buscando la operación de mayor

grado (8+5) *2 se resuelve primero el producto y persiste el paréntesis pues aún hay operandos y operadores 13*2 se elimina el paréntesis pues ya no existen operadores solo un operando

26 da como resultado 26 puesto que primero se evalúe en paréntesis.

1. SELECCIÓN SIMPLE

1. Los elementos Básicos de los algoritmos son:

Datos, entradas, cálculos y expresiones Entradas, salidas y procesos Los cálculos, la lectura y la escritura Datos, constantes, variables y expresiones

2. Los Tipos de datos son:

□ Constantes, variables, enteros y palabras reservadas

□ Enteros, Reales, alfanumérico y, carácter

□ Imprimir, Leer, Definir y cálculos

□ Enteros, reales, constantes y Variables

AUTOEVALUACIÓN

Page 7: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

7/19

3. El orden de evaluación de la siguiente expresión ( 2 + 2 * * 3 / 4) es:

□ Suma, luego la división y finalmente la potencia

□ Suma, luego la potencia y finalmente la división

□ Divido, luego sumo y finalmente resuelvo la potencia

□ Resuelvo la potencia, luego divido y finalmente suma

4. En la fase de análisis:

□ Se especifican cómo solucionar, el problema se divide en problemas más pequeños.

□ Se especifican entradas, salidas y los métodos para producir la salida deseada

□ Se escribe en un lenguaje de programación la representación de un algoritmo.

□ Se documenta la solución del problema

5. La documentación interna es:

Referida a los manuales de usuario con instrucciones para ejecutar el programa e interpretar los resultados

La escritura en un programa empleando un lenguaje de programación

La contenida en las líneas del programa a manera de comentario

Los diagramas de flujo y pseudocódigo 6. Los tipos de errores que se pueden

producir al ejecutar un programa son:

□ Errores de análisis, errores de diseño y errores de codificación

□ Errores de compilación, errores de ejecución y errores lógicos.

□ Errores de codificación, errores de compilación y errores lógicos

□ Errores de análisis, errores de ejecución y errores de codificación

1. Determine cuál es el valor de cada una de las siguientes expresiones.

2. Evaluar cada una de las siguientes expresiones aritméticas: Para valores a = 3, b = 2, c =1, d = 8, f = 4

a. a * b / c * d Resultado: 48

b. a ** b + d / c – 6 Resultado: 11

c. a + 2 * (3 + b) **f Resultado: 1253

d. 3 * ( a ** ( b / c) ) + 5 Resultado: 32

e. ( a + 1)** 2 / b – c * a * f + 18 / c – 3 * d Resultado: -10

f. ( a * ( b + c) ) – 2 * a + ( 4 * d – f ) * a * ( b + c ) + c * ( d + f) Resultado: 267

g. (a+b*d) + 2 * (b+f) ** ((a+ b) *c - 2) /b * c Resultado: 235

a. 15 * 14 – 3 * 7 Resultado: 189

b. - 4 * 5 * 2 Resultado: -40

c. (24 + 2 * 6) / 4 Resultado: 9

d. 3 + 4 * (8 * (4 + (19 - 4) / 5 )) Resultado: 227

e. 4 * 3 * 5 + 8 * 4 * 2 – 5 Resultado: 119

f. 4 – 40 / 5 Resultado: -4

EJERCICIOS

Page 8: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

8/19

h

i

3. Escribir las Siguientes expresiones matemáticas como expresiones de Computadoras.

X + 1

Y

X + Y

X – Y

X + Y

Z .

X - Y .

Z

b

c + d

(a + b) c .

d

[( a + b)2]

2

XY

1 – 4ZX

XY

mn

(x + y)2 * (a – b)

L = (x + y)2 * (a – b) +3.b

5x+2b – 6 a2

5

(x + y)2 * (a – b) + 3b

m= Z

5X

( 2+X ) (2 -X)

m * n3 + 3n * 5 + 9

5x 3 + b

Valor = 2a

( 5 + 3x ) + 3 - 2

2 5

3 + m

RESPUESTAS EXPRESIONES

3. (a) x/y + 1 (f) [ (a + b) ** 2 ] ** 2

(b) (x / y) / (x - y) (g) (x * y) / ( 1 – 4 * z * x)

(c) (x + y / z) / (x – y / z) (h) (x * y) / (m * n)

(d) b / (c + d) (i) (x * y) ** 2 * (a – b)

(e) (a + b) * (c / d)

(j) L= [ ( ( x + y) ** 2 ( a – b ) + 3 * b) / z ] / [ (5 * x ) + 2 * b - 6 * ( a ** 2 / 5 ) ]

(k) m = [ ( ( x + y) ** 2 ( a – b ) + 3 * b) / z ] / [ (5 * x ) / ( ( 2 + x) * ( 2 - x) ) ]

(l) valor = [ ( ( ( m* n* 3) / ( 5 * x ) ) +( ( 3 * n * 5) / (3 + b) ) + 9 ) / (2 * a) ] / [( ( 5 / 2 + 3 * x ) + 3 / 5 - 2 ) / ( 3 + m) ]

a b c d

e

e

f g

k j

l

Page 9: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

9/19

2. Expresiones Lógicas: Es una expresión que solo puede tener uno de dos valores, verdadero o falso. Se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas utilizando los operadores lógicos AND, OR, NOT y los operadores relacionales =,>,<,>=,<= y <> o Expresiones Lógicas Simples: Las Expresiones Lógicas Simples se forman

relacionando operandos (variables y/o constantes) mediante operadores relacionales. Se utilizan para establecer una relación entre dos valores, comparándolos entre sí y esta comparación produce un resultado de certeza o falsedad (Verdadero o Falso). Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Tienen el mismo nivel de prioridad en su evaluación. Estos tienen menor prioridad que los aritméticos. Operadores de Relación: Permiten realizar comparaciones de valores de tipo

numérico o carácter. Los operadores de relación sirven para expresar las condiciones en los algoritmos. Todos los operadores tienen el mismo nivel de precedencia.

Operador Notación Algebraica

Ejemplo

Mayor que > A>B

Menor que < H <D

Mayor o igual que >= A >=B

Menor o igual que <= C<=D

Igual que = C = Y

Diferente <> A<>D

Veamos algunos ejemplos

1. 6.7315 > 6.7342 (false)

2. 15 < 20 (cierto)

3. 8 = 8.0 (cierto)

4. ‗A‘ < ‘B‘ (cierto)

5. ‗5‘ = 5 produce error,

6. ‗2‘ < ‗235‘ produce error

o Expresiones Lógicas Compuestass: se forman utilizando operandos boléanos (expresiones lógicas que proporcionan un valor verdadero o falso) con operadores lógicos, los cuales siguen las reglas del Álgebra de Boole, su significado es:

OR u O : es un operador binario, afecta a dos operadores. La expresión formada es

cierta cuando al menos uno de sus operandos es cierto.

Expresión 1 Operador Expresión 2

Resultado

Verdadero OR Verdadero Verdadero Verdadero OR Falso Verdadero

Falso OR Verdadero Verdadero Falso OR Falso Falso

Page 10: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

10/19

AND o Y: es un operador binario, afecta a dos operadores. La expresión formada es cierta cuando ambos operandos son cierto.

Expresión 1 Operador Expresión

2 Resultado

Verdadero AND Verdadero Verdadero Verdadero AND Falso Falso

Falso AND Verdadero Falso Falso AND Falso Falso

NOT o NO: es un operador unario, afecta a la expresión cambiando su estado lógico,

si era verdad lo transforma a falso; y viceversa.

Operadores Lógicos: Los operadores Lógicos son NOT, AND y OR. NOT es la negación de una proposición en tanto que los valores de AND (y) y OR(o) se recogen en la tabla de verdad. La regla de estos operadores sigue el orden mostrado en esta tabla:

Operador Notación Algebraica

Ejemplo

Negación NOT NOT (A)

Conjución o ―Y lógico‖ AND H AND D

Disyución o ―O lógico‖ OR A OR B

Veamos algunos ejemplos

a) NOT (‗A‘=‘Z‘)

NOT ( Falso) A no es igual que Z

Verdadero Al ser el operador NOT un operador Unario cambia el resultado de la expresión

b) NOT (2<3)

NOT (Verdadero) Efectivamente se cumple que 2 es menor que 3

Falso El operador lógico NOT cambia el resultado por ende, se convierte en falso

c) ((X*2 > Y-3) or (X > Y-1)) and (Y < 5)

d) d) - (A or B ) and(C and B)

e) e) Valor := (resp=‘T‘) or (resp=‘t‘) verdadero si resp toma el valor de ‗T‘ o ‗t‘ de lo contrario es falso

3. Expresiones Alfanuméricas: Usadas para unir datos alfanuméricos. Involucran operandos de

tipo alfanumérico y el operador concatenación (+). Estas expresiones al ser evaluadas dan como resultado una cadena de caracteres.

Operador Notación Expresión Resultado

Concatenación + ‗Pseudo‘ + ‗código‘

Pseudocódigo

‗ 3 ‗ + ‗ , ‗ + ‗1416‘ 3,1416

Page 11: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

11/19

4. Expresiones Mixtas: Son aquellas que combinan expresiones numéricas con expresiones

lógicas o alfanuméricas. Para evaluar esta expresión se estiman las siguientes reglas:

1. Paréntesis(empezando por los más internos). 2. Potencias 3. Productos y Divisiones 4. Sumas y Restas 5. Concatenación 6. Relacionales 7. Lógicos

1. Evalúe las siguientes expresiones y determine en cada caso si se cumple o no; es decir, si el

resultado es verdadero o falso; sabiendo que Num1 y Num2 tienen asignados los valores 3 y 6

respectivamente.

a) Num1 > Num2 Resultado: Falso

b) Num2 >= Num1 + 3 Resultado: Verdadero

c) (2 + 3 * Num1) <> 6 +(Num2 - 1) Resultado: Falso

d) (1 + (2/2) / Num2 )<= 4 * Num2 Resultado: Verdadero

e) 2 – 7 * (2 * Num1 – Num2) = 0 Resultado: Falso

f) (Num1* 6) >= (Num2 * 3) Resultado: Verdadero

g) 24 * ( 2 * Num1 * Num2) = 0 Resultado: Verdadero

h) Num2 > = Num2 – Num1 * Num1 Resultado: Verdadero

i) Num2 + Num1 = ( ( 2 * Num1 ) / Num1) * 2 + 5 Resultado: Verdadero

j) (( Num1 * 2 > Num2 – 3) OR (Num1 > Num2-1)) AND (Num2 < 5) Resultado: Falso

k) (Num2 > = Num2 – Num1 * Num1 ) AND (Num1 > Num2 ) Resultado: Falso

l) NOT (Num2 + Num1<= 4 * Num2) AND ( Num2 >= Num1 + 3 ) Resultado: Falso

m) NOT [( ((15 + Num1)*2 )> (num2 / 2) ) OR (((num2+ 2)**2) <= (num1* 8)) ] Resultado: Falso

2. Para el procedimiento anterior diga cual es la salida para el siguiente grupo de datos:

a. 32 y 21

b. -48 , 7

c. -16 y 10

d. 532 y 20

RESULTADO Para Num1 =32 y Num2= 21

(a) Verdadero (b) Falso (c) Verdadero (d) Verdadero (e) Falso (f) Verdadero

(g) Falso (h) Verdadero (i) Falso (j) Falso (k) Verdadero (l) Falso

EJERCICIOS

Page 12: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

12/19

RESULATDO Para Num1 =-48 y Num2= 7

(a) Falso (b) Verdadero (c) Verdadero (d) Falso (e) Falso (f) Falso

(g) Falso (h) Verdadero (i) Falso (j) Falso (k) Falso (l) Falso

3. Evalúe las siguientes expresiones, y determine en cada caso si es verdadero o falso. Donde X1 = 3,

X2 = 5 , X3 = 2

a. (X1 + X2) < (2*X1) Resultado: Falso

b. X1 * (X2 - X3 ) < > X1 Resultado: Verdadero

c. X2 = X1 + X3 Resultado: Verdadero

d. NOT ( (X1 + X2) < X3 ) AND ( X2 = X1 + X3 ) Resultado: Verdadero

e. ( (2 * X3) = X1 + 1 ) OR ( X2 < X3 + X1 ) Resultado: Verdadero

f. ( X3 + X1 * X3 ) + 2 * ( X2 + X1 ) < > (X3 + X2) * X1 + 2 * X2 + X1 Resultado: Verdadero

4. Dado los siguientes enunciados, extraiga las expresiones aritméticas presentes. Asignado el

resultado de la operación a una variable llamada “Calculo” sabiendo que se emplean dos variables

enteras llamadas Num1 y Num2

a. La suma de los dos números dividido entre tres

b. El cuadrado del primer número mas el producto del primero por el segundo

c. El cubo del segundo número por el cuadrado del primer número

d. La diferencia del primer número menos el segundo elevado a la seis

e. La mitad del primer número mas el producto del primer número por el segundo número

elevado a la cuatro

f. El primer número lo multiplique por dos el resultado lo eleve a la ocho, luego lo reste al

producto del primer número por el segundo

RESPUESTAS EJERCICIO 4

4. a) calculo:= (Num1 +Num2)/ 3 b) calculo:= Num1**2 + Num1*Num2 c) calculo:= Num2 ** 3 * Num1**2 d) calculo:= (Num1 - Num2)**6 e) calculo:= Num1 / 2 + Num1* Num2**4 f) calculo:= ( Num1 * 2) ** 8 – Num1* Num2

Page 13: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

13/19

5. REPRESENTACIÓN DE ALGORITMOS. Para representar un algoritmo se necesita utilizar algún método que permita independizar un algoritmo del lenguaje de programación elegido. Esto permitirá que un mismo algoritmo pueda ser codificado en diferentes lenguajes. Los métodos usuales para representar algoritmos son:

Diagrama de flujo

Pseudocódigo

a. DIAGRAMA DE FLUJO

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de Flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente."

a.1. Símbolos de los Diagramas de Flujos

SÍMBOLO DESCRIPCIÓN

Elipse

Inicio/Fin: 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.

Rectángulo

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.

Paralelepípedo

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

Rombo

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 y no) cual de los distintos caminos alternativos del programa se debe seguir

Círculo

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

pentágono

Conector de Página: Empleado para continuar con el diagrama de flujo en otra página se emplea al final de la página previa y al comienzo de la siguiente haciendo referencia al número de página del cual proviene

Hexágono

Ciclo: Símbolo Para representar una estructura de control repetitiva, es decir sonde el numero de iteraciones o repeticiones es mas de una.

Page 14: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

14/19

SÍMBOLO DESCRIPCIÓN

Flechas

Flecha: Indica el sentido de la ejecución de las operaciones

Salida por Pantalla: Se utiliza en ocasiones en lugar del símbolo de salida. Es usado para mostrar datos o resultados en pantalla.

Salida por Impresora: 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 impresos.

a.2. Cómo Representar Diagramas De Flujos

Para representar algoritmo estructurado mediante diagrama de flujo es recomendable:

1. Debe indicar el inicio y el Fin del diagrama.

2. Los flujos que conectan los símbolos se dispondrán de arriba abajo, de izquierda a derecha. Tal como usted lee.

3. Las líneas de flujo deben ser verticales u horizontales, nunca diagonales. Además de entrar al símbolo por la parte superior o izquierda y salir del mismo por la parte inferior o derecha.

4. Evitar en lo posible el cruce de líneas de flujo empleando conectores adecuados sin abusar en su uso.

5. Evitar en la medida de lo posible, que el diagrama sobrepase una página.

Veamos algunos ejemplos:

ALGORITMO CUALITATIVO ALGORITMO CUANTITATIVO

ENUNCIADO: Elabore un algoritmo para preparar salsa rosada

ENUNCIADO: Elabore un algoritmo que solicite dos números enteros, calcule la suma y a continuación muestre el resultado de la suma impreso

Inicio

Fin

a , b

suma

Suma= a + b

Ingrese dos números enteros

Inicio

Fin

Mayonesa y salsa de tomate

Mezclar los ingredientes

Salsa rosada

Buscar ingredientes

Page 15: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

15/19

b. PSEUDOCÓDIGO Es una herramienta de análisis estructurado en la que las instrucciones se escriben en palabras en inglés o español, es muy efectiva para el seguimiento de la lógica de un algoritmo el cual facilita la codificación del mismo a un lenguaje de programación en particular; ya que un pseudocódigo por sí mismo no puede ser ejecutado por una computadora.

El pseudocódigo, puede ser empleado cuando la lógica del proceso involucra fórmulas o iteraciones, o cuando las decisiones estructuradas no son complejas, basado en instrucciones organizadas en procedimientos anidados y agrupados, y enunciados en lenguaje simple tales como sumar, multiplicar, mover, etcétera. En definitiva, se pretende llegar a la solución de un determinado problema, haciendo uso de estructuras más simples, las cuales se conocen como estructuras secuenciales, estructuras de selección o condición y estructuras repetitivas o de iteración.

b.1. Cómo Escribir En Lenguaje Estructurado En Pseudocódigo

Para escribir algoritmo estructurado es recomendable usar las siguientes convenciones:

1. Exprese toda la lógica en términos de estructuras secuenciales, estructuras de decisión, estructuras de iteración.

2. Use y ponga en mayúsculas las palabras claves aceptadas, tales como: INICIO, FIN, IMPRIMIR, LEER, SI, ENTONCES, SINO, HAGA MIENTRAS, DESDE HASTA, REPETIR HASTA.

3. Deje sangría a los bloques de enunciados para mostrar claramente su jerarquía (anidada)

4. Exprese los enunciados lógicos claramente empleando los operadores indicados (operadores lógicos AND OR, operadores relacionales <, > <=, >=, =, < >) recuerde que cada operador permite comparar dos elementos a la vez no tres ni cuatro simultáneamente.

b.2. ESTRUCTURAS SECUENCIALES

La estructura secuencial es aquella en la cual las instrucciones se ejecutan en el mismo orden en que son dispuestas en el algoritmo, es decir, una instrucción sigue a otra en secuencia. Las tareas se ejecutan de tal modo que, la salida de una, es la entrada de la siguiente instrucción y así sucesivamente hasta llegar al final del proceso.

Un algoritmo se elabora haciendo uso de estructuras secuenciales, en tal sentido, se maneja un nivel de complejidad muy bajo; ya que solo está representado por las siguientes operaciones:

Escritura

Lectura

Asignación

Escritura:

Es la operación que permite mostrar información al usuario, bien sea mediante mensajes de solicitud de datos de entrada o mensajes para mostrar los resultados de las operaciones realizadas en el algoritmo. El formato se muestra a Continuación

Page 16: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

16/19

FORMATO:

IMPRIMIR (‘Dentro de comillas van los mensajes, las variables se muestran directamente‘) IMPRIMIR (Variable)

DONDE:

IMPRIMIR(): Es una instrucción que permite mostrar información

Lectura:

Es la operación que permite recibir datos de entrada por parte del usuario, empleando para ello variables definidas previamente con los tipos de datos simples (enteros, real, alfanumérico, carácter). Si requiere más de un valor simultáneamente, las variables se separarán con comas. El formato se muestra a Continuación

FORMATO:

LEER (Variable) DONDE:

LEER(): una instrucción que permite recibir datos de entrada

Variable: área donde se guardan los datos temporalmente

Asignación:

Es la operación que permite fijar o modificar el valor de una variable, el operador de asignación básico es el signo de igualdad (=), que da el valor que lo sigue a la variable que lo precede. La operación de asignación es destructiva, ya que el valor que tenga la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. El formato se muestra a Continuación

FORMATO:

NombreVariable = valor;

DONDE:

NombreVariable: es un nombre de identificador válido donde se guardaran los datos

temporalmente

Valor: Valor de cualquiera de los tipos de datos simples

Page 17: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

17/19

b.3. ESTRUCTURA DE UN ALGORITMO EN PSEUDOCÓDIGO INICIO DEL ALGORITMO nombredelAlgoritmo;

DEFINIR Variables y Constantes

INICIO IMPRIMIR (‘los mensajes entre comillas simples’); LEER (lista de variables); CALCULOS; IMPRIMIR(los resultados puede alternar variables y mensajes); FIN

FIN DEL ALGORITMO nombredelAlgoritmo.

EJEMPLO Nº 1 EJEMPLO Nº 2

ENUNCIADO: Elabore un algoritmo que calcule el área de un rectángulo

ENUNCIADO: Elabore un algoritmo que solicite dos números enteros, calcule la suma y a continuación muestre el resultado de la suma impreso

INICIO DEL ALGORITMO rectángulo; DEFINIR alt, base, area: real; INICIO IMPRIMIR (‗Ingrese altura y base del rectángulo‘); LEER(alt, base); area = alt * base; IMPRIMIR (‗El área del rectángulo es:‘, area); FIN; FIN DEL ALGORITMO rectángulo.

INICIO DEL ALGORITMO sumando; DEFINIR a, b, suma: entero; INICIO IMPRIMIR (‗Ingrese dos números enteros‘); LEER(a, b) ; Suma = a + b; IMPRIMIR (‗La suma da:‘, suma); FIN; FIN DEL ALGORITMO sumando.

Cuerpo

principal del

Algoritmo

Cuerpo de

Declaraciones

Cabecera del

Algoritmo

Page 18: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

18/19

Resuelva los siguientes algoritmos empleando diagrama de flujo y pseudocódigo. 1. Diseñe un algoritmo que dada la cantidad total de estudiantes y la cantidad de mujeres, determine el

porcentaje de varones y de mujeres que hay en un salón de clases.

2. Elaborar un algoritmo en Pseudocódigo que calcule la suma y la diferencia de dos números leídos por teclado muestre ambos resultados en pantalla

3. Elabore un programa que realice la conversión de pulgadas a cm. Donde 1cm. = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N pulgadas y el algoritmo mostrará a cuantos centímetros equivale.

4. Elaborar un programa en el que se soliciten dos (2) números enteros y se calcule el cuadrado y el cubo de cada número. Se mostrará el Siguiente mensaje:

El cuadrado del primer número es :___________ El cuadrado del segundo número es :___________ El cubo del primer número es :___________ El cubo del segundo número es :___________

5. Una farmacia aplica al precio de venta de los remedios el 10% de descuento. El regente de la farmacia desea luego de conocer el monto de la compra hecha por el cliente, mostrarles el descuento otorgado por los medicamentos y el precio final que cancelará luego de aplicado el mismo.

6. ¿Cuáles son los resultados visualizados por el siguiente programa si los datos proporcionados son A = 5 y B= 8?

INICIO DEL ALGORITMO Prueba;

DEFINIR M = 6; A, B, C: entero; INICIO A,B,C= 0; IMPRIMIR (‗Introduzca dos números enteros‘); LEER (A, B); C= 2 * A – B; IMPRIMIR (‗EL VALOR DE C ES: ‘, C); C= C – M; B= A + C – M; IMPRIMIR (‗EL VALOR DE B ES: ‘, B); A= B * M; IMPRIMIR (‗EL VALOR DE A ES: ‘, A); B= B – 1; IMPRIMIR (‗LOS NUEVOS VALORES DE B y C SON: ‘, B, C); FIN;

FIN DEL ALGORITMO Prueba.

EJERCICIOS

Page 19: UNIVERSIDAD NACIONAL EXPERIMENTAL … fileElementos Básicos de los Algoritmos a. Datos b. Constantes y Variables c. Expresiones 5. Representación de Algoritmos a. Diagrama de Flujo

Dubraska Delgado Estructuras Secuenciales

19/19

7. Elaborar un Programa en Pseudocódigo que calcule el salario semanal de un trabajador, solicitando el

precio por Hora y el número de horas trabajadas diariamente. Muestre el salario Semanal del Trabajador.

8. En una competencia atlética de velocidad el tiempo se mide en minutos, segundos y centésimas de segundo y, el espacio recorrido se mide en metros. Diseñe un algoritmo para determinar la velocidad promedio de un atleta en km/hr. Considere que: 1 hora = 60 minutos, 1 minuto = 60 segundos, 1 segundo = 100 centésimas de segundo, 1 kilómetro = 1000 metros.

9. Un alumno quiere calcular la nota final que obtuvo en Cálculo. Se sabe que en el curso se tomaron tres pruebas, la primera de ellas con un valor de 20% de la nota final, mientras que las otras dos tienen un valor de 30% cada una. Además, la nota obtenida en talleres y asignaciones tiene un peso de 20%.

Elabore una solución algorítmica que ayude a este alumno a resolver su problema.

10. Un sistema de ecuaciones lineales

fcydx

cbyax

Se puede resolver con las siguientes fórmulas:

bdae

bfcex

bdae

cdafy

Diseñar un algoritmo que lea dos conjuntos de coeficientes (a, b y c; d, e y f) y visualice en pantalla los valores de x e y.

11. Pepe salió a celebrar su cumpleaños con un grupo de amigos y decidieron ir a comer a un restaurante. Ellos acostumbran pagar la cuenta por partes iguales, es decir, cada uno paga lo mismo. Sin embargo, la cuenta incluye el consumo de todos los comensales, y no considera el IVA (19%) ni la propina. Pepe y su grupo de amigos acostumbran dejar un 10% como propina. El problema es que no saben cuánto debe pagar cada uno.

12. Ricardo, guardaba sus mas preciados tesoros en una caja fuerte bien oculta en su casa, en una oportunidad quiso abrirla para obtener un objeto preciado que deseaba regalarle a su hijo, para su sorpresa cuando se encontró frente a la caja fuerte advierte que olvido la combinación. Luego de meditar por largo tiempo, logró evocar ciertas pistas que le permitirían descifrar la clave. Ayude a Ricardo a descifrar la combinación. Estas son las 5 pistas que el tiene:

a. El quinto número mas el tercero equivalen a 14, b. El cuarto número es uno mas que el segundo número, c. El primer número es uno menos que dos veces el segundo número, d. El segundo número mas el tercer número equivalen a 10, e. la suma de todos los números es 30.