Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 30

RESOLUCIÓN DE PROBLEMAS BASADOS EN

COMPUTADORAS

Pensamiento Computacional

Lógica Computacional

Este compendio recoge textualmente documentos e información de varias fuentes debidamente


citadas, como referencias elaboradas por el autor para conectar los diferentes temas.

Se lo utilizará únicamente con fines educativos.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


TABLA DE CONTENIDO

1 Instrucciones y tipos de instrucciones, Operadores relacionales, datos y tipos de datos. ............... 4


1.1 ¿Cuál método es el mejor para resolver un problema basado en computadoras?; Estimar el
requerimiento ...................................................................................................................................... 4
1.2 FASE DE ENTRADA .................................................................................................................... 5
1.2.1 Definición de los datos ..................................................................................................... 6
1.2.2 Variables de entrada......................................................................................................... 7
1.3 FASE DE PROCESO .................................................................................................................... 8
1.3.1 Operadores aritméticos .................................................................................................... 8
1.3.2 Operadores lógicos ........................................................................................................... 9
1.4 FASE DE SALIDA ........................................................................................................................ 9
1.5 Estructura de un Seudocódigo................................................................................................ 10
1.6 Parte declarativa .................................................................................................................... 10
1.6.1 Tipos de datos ................................................................................................................ 10
1.7 Parte de procesos ................................................................................................................... 11
2 Constantes y variables, expresiones, operadores, funciones internas, entrada y salida de
información ............................................................................................................................................ 14
3 Análisis de requerimientos, estructura de seudocódigo, abstracción ENTRADA – PROCESO -
SALIDA .................................................................................................................................................... 15
3.1.1 resolver la fase de salida, y luego continuar con las otras 2 fase .................................... 16
3.2 resolver la fase de proceso y luego continuar con las otras 2 fase ......................................... 19
3.3 Resolviendo las entradas y luego continuar con las otras 2 fase ............................................ 22
Bibliografía ............................................................................................................................................. 29

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


DESARROLLO DEL CONTENIDO DEL TEMA 1
1 Instrucciones y tipos de instrucciones,
Operadores relacionales, datos y tipos de
datos.

1.1 ¿Cuál método es el mejor para resolver un problema


basado en computadoras?; Estimar el requerimiento

Los programas de computadoras tienen un objetivo claro, son creados para solucionar problemas del
ser humano en sus actividades, por eso es importante, que tanto el usuario que requiere el programa, y
el programador, que es la persona que crea el programa, estén de acuerdo en que hace el programa,
existen muchas metodologías para determinar las necesidades del usuario, como por ejemplo la
ingeniería de requerimiento.

El usuario por lo generar posee muchos datos, a los que desea a través de un programa de computadora,
poder reducir el tiempo en los cálculos que le toca, realizar de forma manual, que incluso por errores
involuntarios de mismo usuario, presentan resultados finales incorrectos; el primer paso que debemos
de realizar, es un dialogo entre el usuario y el programador, en la reunión el usuario expresa sus
necesidades de automatización.

El programador en este dialogo actúa como un receptor de las necesidades del usuario, cada vez que él

¡Para recordar!

Automatizar: Convertir ciertos movimientos en movimientos


automáticos o indeliberados. (RAE Española, 2019),

tenga alguna duda sobre las necesidades del usuario, que note que no está clara, el interviene y pregunta
las veces que sean necesarias, para no dejar dudas e los puntos tratados.

Es importante resaltar lo siguiente, el programador cuando crea el programa en el lenguaje de


programación, es decir el programa fuente, él ya debe tener elaborado el algoritmo correspondiente al
problema, que puede estar representado gráficamente a través de un flujograma, o a través de un

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


seudocódigo, más adelante ampliaremos la definición de estas dos técnicas; el algoritmo es la
representación de la solución del problema propuesto, cuando el programador empieza a plasmar la
solución, lo hace bajo la percepción de lo que él comprendió de la necesidad del usuario.

¡Para recordar!

Algoritmo: Conjunto ordenado y finito de operaciones que permite


hallar la solución de un problema.. (RAE Española, 2019),

Es decir que el programa de computadora, es solo un reflejo de la percepción de un ser humano,


programador, de la forma de como el consideraría, que se debe de resolver el problema, y no es que el
computador piensa por sí solo, hasta este punto, estamos claros que es el usuario quien relata cual es
el problema y que desea como programa.

El usuario en su relato, menciona temas como: la cantidad de tiempo que toma para poder lograr el
informe de resultados, y muestra que requiere para hacer dicha actividad, entre otros temas, a partir de
este punto el programador va estructurando, según lo mencionado por el usuario, que actividad
corresponde a la fase de entrada, cual a la de proceso y por ultimo a la fase de salida.

1.2 FASE DE ENTRADA

La entrada corresponde a los datos que tiene el usuario, por lo generar la cantidad de datos es
considerable grande, es por eso que el usuario desea el programa, en este punto el programador debe
de consultar ¿Cuáles son los datos que se necesitan para hacer el reporte final?, y esperar que el usuario,
muestre cuales son esos datos, algunas veces esos datos, están impresos, también lo podríamos
encontrar digital, en hojas de cálculo, es el usuario, quien nos debe de mostrar en donde tiene los datos
necesario para elaborar el informe final.

Ejemplo:

1. Se requiere un sistema para la matriculación de los estudiantes: En este caso el usuario, debería
indicar, que tiene los siguientes datos:
 Datos de los estudiantes: nombres, apellidos, cedula, peso, estatura, grupo sanguíneo,
dirección, mail, entre otros datos
 Las carreras donde se va a matricular el estudiante: Ingeniera, licenciatura, entre otras
 Calificaciones: notas de los estudiantes

2. Se requiere un sistema para llevar la nómina de pagos a los empleados: En este caso el usuario,
debería indicar, que tiene los siguientes datos:

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


 Datos del empleado: nombres, apellidos, cedula, peso, estatura, grupo sanguíneo,
dirección, mail, entre otros datos
 Sueldo: valor mensual de pago
 Registro de asistencia: hora de entra y salida, atrasos, permiso

Como vemos en estos dos ejemplos, los datos de entrada, depende del contexto del problema, se
observa que para el primer caso prioriza al estudiante como actor principal del sistema y alrededor de
él se genera información, para el segundo caso se centra en el empleado.

Algo que resaltar en esta fase, es que, si bien el usuario cuenta con miles de datos para ingresar en el
sistema, el programador debe de discernir, cuál de todos esos datos son necesario para llegar al
resultado final, no todos los datos que tiene el usuario, son obligatoriamente ingresados al programa.

Luego de seleccionar los datos proporcionado por el usuario, viene la fase de selección, y de definición
de las variables de entrada.

1.2.1 Definición de los datos

Los datos deben ser definidos claramente por el programador, según los ejemplos anteriores, vemos
unos datos comunes, como por ejemplo los nombres y apellidos, aquí el programador debe de
determinar si solo requiere:

 Un nombre y un apellido
 Un nombre y los 2 apellidos
 Los dos nombres y los dos apellidos

La dirección es otro caso, por ejemplo, definir en la dirección:

 Será toda la dirección escrita de corrido, por ejemplo:” cdla universitaria km 1.5 vía km 26”
 O especificamos las calles
 O especificamos calles y un lugar cercado de referencia
 Incluso indicar la ubicación geo referencial

En este punto el programador define claramente los datos, se le puede consultar al usuario si tiene
alguna duda al respecto. La definición de los datos por lo general son anotaciones que el programador
hace, en ocasiones estas anotaciones representan datos que el usuario les muestra, por ejemplo, cuando
se indica que se requiere nombre y apellidos, entonces lo que se tiene en la definición de los datos es:

RAFAEL

LAZO SULCA

09999999

90 KG

1.75 MTS

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


1.2.2 Variables de entrada

Cuando ya tenemos definidos los datos, ahora asociamos una etiqueta identificativa a cada uno de los
datos, a estas etiquetas se las conoce como variables, que luego en el programa son las zonas de
memoria en donde el computar guardará los datos de entrada.

Las variables tienen asociado un nombre que debe de cumplir un estándar en su definición:

3. No tiene espacios en blanco


4. Utiliza letras mayúsculas y minúsculas
5. Utiliza números
6. El único carácter especial aceptado es el guion bajo _

No hay tamaño mínimo para el nombre de la variable, lo que, si se recomienda, es que el nombre asocie
lo que va a contener en ella, para que el programador u otra persona que lea el código, pueda
comprender lo que contiene.

Ejemplo de nombre de variables:

Nombre

Apellido

Peso

Estatura

Edad

Sueldo

NombreEmpleado

ApellidoEmpleado

Como vemos cuando queremos asignar un nombre de variables que requiere usar dos palabras, usamos
la combinación de mayúscula y minúscula, por tanto, de la definición de datos anterior ya podemos
asignar el nombre de variable.

Nombre: RAFAEL

Apellidos: LAZO SULCA

Cedula: 09999999

Peso: 90 KG

Estatura: 1.75 MTS

Es decir que hemos definido las variables: nombre, apellido, cedula, peso y estatura, que serán las que
contendrán los datos que se ingresaran al programa.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


1.3 FASE DE PROCESO

De la misma forma, en esta fase, el usuario debe de explicar los cálculos que se realizan con los datos de
entrada, como un profesor a un estudiante, el usuario explica al programador los cálculos, el
programador al tener alguna duda, pregunta hasta el más mínimo detalle, a veces los usuarios olvidan
mencionar calculo especiales, que se presentan en eventos particulares, una buena práctica, es solicitar
documentos que sustente los cálculos que el usuario realiza, pueden ser también, documento de orden
jurídico, leyes emitidas por alguna institución pública de control, esto permite, cuestionar al usuario en
su explicación y descubrir cálculos que pudieron haber sido omitido el usuario.

En este punto se realizan los cálculos, las operaciones matemáticas y lógicas, dentro del computado se
define lo siguiente:

1.3.1 Operadores aritméticos

Son los operadores que permiten realizar las operaciones aritméticas de los cálculos, estos operadores
son:

Operación Operador
suma +
Resta -
Multiplicación *
División /

Corresponde a las 4 operaciones básicas, dentro de los cálculos podemos utilizar el símbolo de
paréntesis () para la agrupación de términos, además los resultados de los cálculos deben de ser
almacenados en variables, diferentes a las definidas en la entrada, por ejemplo:

 Suma de dos números

Tenemos las variables de entrada N1 y N2, entonces el cálculo correspondiente es

N1 + N2

Pero ese valor debe ser almacenado en una variable, entonces la operación sería:

N1+ N2 = SUMA

Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de
un cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación
del cálculo:

SUMA=N1 + N2

 Sueldo a pagar

Tenemos horas trabajadas, horas faltas, por cada trabajada se recibe un valor hora de $3

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


(HorasTrabajadas – HorasFalta)*3

Pero ese valor debe ser almacenado en una variable, entonces la operación sería:

(HorasTrabajadas – HorasFalta)*3=TotalAPagar

Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de
un cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación
del cálculo:

TotalAPagar=(HorasTrabajadas – HorasFalta)*3

 Iva generado

Se tiene el valor de sub total de la compra y aplicamos el cálculo del iva al 12%, entonces tenemos

SubTotal*0.12

Pero ese valor debe ser almacenado en una variable, entonces la operación sería:

SubTotal*0.12= iva

Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de un
cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación del
cálculo:

iva =SubTotal*0.12

1.3.2 Operadores lógicos

Los operadores lógicos nos permiten aplicar condiciones o preguntas que solo tienen 2 respuestas,
verdadera o falta, los operadores son:

Operador Símbolo
And &&
Or ||
not ¡
En los temas siguiente profundizaremos el uso de los operadores lógicos.

1.4 FASE DE SALIDA

En esta fase el usuario debe de indicar como desea que se presenten los resultados, si bien el usuario,
tiene el reporte final, elaborado de forma manual, es decir hecho por él, puede resultar que el programa
presente otro distinto, pero siempre bajo la aceptación del usuario.

En esta fase solo se muestran las variables que tienen los resultados, por lo general la presentación del
resultado viene asociado con una etiqueta, que es informativa, indicando que el dato que se muestra
correspondo a tal resultado, ejemplo:

La suma es : 34

El sueldo a pagar es: 400.30

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


El iva es: 45

Los valores son solo para presentar el ejemplo.

El objetivo de la asignatura es desarrollar el pensamiento abstracto y estructurado de los estudiantes, a


través del uso de la lógica de programación, y luego en el desarrollo de la malla curricular, usaran estas
habilidades de forma directa, como es el caso de los estudiantes de Ingeniería de Software, o
indirectamente en caso de las demás carreras, que aplicaran la lógica abstracta, para la resolución de
problemas y procesos.

Siendo así la asignatura se centra en el análisis y diseño de algoritmo, como punto de partida, para luego
usar una herramienta de tecnología de la información, lenguaje de programación, para la creación de
los programas.

los algoritmos son el punto de partida de la construcción de los programas, por ellos vamos a definir
primero su estructura, y luego su diseño:

1.5 Estructura de un Seudocódigo

Según (Garcia, y otros, 2014), vamos a definir la estructura de los algoritmos de la siguiente manera:

Parte declarativa

INICIO

.. Parte de procesos

FIN

1.1.Estructura de un algoritmo
Fuente: (Garcia, y otros, 2014)
1.6 Parte declarativa

En esta parte listamos todas las variables, tanto las creadas en la entrada, en el proceso y la salida, son
todas las que se utilizaran dentro del algoritmo.

1.6.1 Tipos de datos

En esta sección debemos indicar el tipo de datos que contendrá la variable, en este punto solo vamos a
diferenciar 2 tipos de datos:

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


los numéricos: Que corresponden a las variables que contendrá valores numéricos, y usamos la
asignación de 0 para identificarlos, por ejemplo: peso, estatura, sueldo

alfa numéricos: Son los que contendrán letras, palabras o frases, en el caso que contengan solo una
letra, se asignara ‘’, comilla simple, y en el caso de contener una palabra o frase, “”, usaremos doble
comilla

Peso=0; estatura=0;
Parte declarativa
Sueldo=0;
Nombre=””
INICIO

….
Parte de procesos

FIN

1.2.Declaración de variables
Fuente: (Garcia, y otros, 2014)
Como vemos en la gráfica 1.3, se muestra como debemos declarar las variables en el algoritmo

En esta parte también podemos declarar una constante, la constante es un elemento del algoritmo que
tiene como nombre, las mismas restricciones que los nombres de variables, pero que su contenido
nunca cambia.

1.7 Parte de procesos

En la parte de proceso, se plasma el detalle del algoritmo, se requiere que se defina el “paso a paso”,
peor como entendemos esta frase, para ello vamos hacer un ejercicio muy sencillo, citaremos el juego
TETRIS, en este juego tenemos una serie de figuras que debemos de colocarlas de una forma que nunca
quede un espacio libre entre las piezas, para eso el usuario puede rotar las figuras y moverlas.

Entonces tenemos la siguiente situación inicial:

1.3.Ejemplo de algoritmo posición inicial


Fuente: Realizado por el autor

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


Y queremos pasar a tener las siguientes posiciones de las piezas

1.4.Ejemplo de algoritmo posición deseada


Fuente: Realizado por el autor

Entonces, se requiriere conocer que pasos se debería realizar, para que, desde la posición inicial
mostrada figura 1.4, las piezas pasen a estar en la posición deseada según la figura 1.5

Solución:

Cada uno de nosotros abordaríamos, de miles de formas diferentes, el inicio de los movimientos y como
se desarrollarían el resto de pasos, esa es la primera idea que debe estar clara para el estudiante:

¡Para recordar!

La solución a un problema, podría generar miles de algoritmos,


todos ellos solucionan el problema planteado, pero podría diferir
en muchas cosas.

Es por eso que cuando estamos iniciando esta asignatura, no debemos distraernos si el
compañero de aula o compañeros, generaron un algoritmo diferente al de usted, lo que en verdad
interesa, es que usted, este seguro que su algoritmo si resuelve el problema plateado, y cumple con
todas las reglas de diseño y estructura.

Entonces vamos a lista los pasos de una de las formas que se resuelve el problema planteado, vamos
hacer el algoritmo, recuerde estos pasos deben seguir un orden de precedencia, es decir cuál es primero
paso, luego el sigue el segundo paso, y así sucesivamente; usted podría hacer su propia forma desde
casa:

1.5.Paso 1 ejemplo de algoritmo posición inicial


Fuente: Realizado por el autor

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


1. Vamos a identificar con una letra a cada pieza
2. Movemos la pieza A 6 posiciones a la derecha
3. Movemos la pieza A 1 posición hacia abajo
4. Movemos la pieza F 5 posiciones hacia arriba
5. Movemos la pieza A 1 posición hacia izquierda
6. Rotamos 90° hacia la izquierda la pieza B
7. Movemos la pieza B 2 posiciones hacia la izquierda
8. Movemos la pieza B 1 posición hacia la abajo
9. Movemos la pieza C 3 posiciones hacia la izquierda
10. Movemos la pieza C 2 posiciones hacia la abajo
11. Movemos la pieza F 2 posiciones hacia la izquierda
12. Movemos la pieza F 3 posiciones hacia la abajo

Y listo tenemos el algoritmo, esos son “el paso a paso”, a lo que nos hemos estado refiriendo;
notemos lo siguiente, que no existe un paso que diga” mover a la izquierda y bajar” o “mover a la
derecha y subir”, lo que observamos es que primero “movemos la pieza en una dirección” y luego
“la movemos en otra dirección”, ese nivel de desagregación del paso, es el que debemos de tener,
al momento de iniciar el aprendizaje de lógica de algoritmos.

Este mismo ejemplo lo podemos repetir en eventos de nuestra vida cotidiana, por ejemplo:

 Los pasos para preparar el desayuno


 Los pasos para arreglar nuestro cuarto
 Los pasos para organizar una fiesta
 Los pasos para registrarse en la página ser Bachiller

De la misma forma en actividades normales de una profesión, al momento de ejercer un cargo, todo
está basado en procesos, y los procesos son algoritmos, por ejemplo, vemos:

 Los pasos para sacar la cedula de identidad


 Los pasos para sacar una cuenta de ahorros en un banco
 Los pasos para realizar un pedido de soporte técnico
 Los pasos para una orden de trabajo

Todos estos contextos, se refieren a pasos ordenados, es la mejor forma de comprender algo
“detallando el paso a paso”, que para nosotros se refiere al diseño de algoritmos,

En la parte de proceso se plasman las 3 fase que realiza el computador al ejecutar un programa:

ENTRADA PROCESO SALIDA

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


2 Constantes y variables, expresiones,
operadores, funciones internas, entrada y
salida de información
La entrada: corresponde a la acción de lectura, de las variables declaradas en la sección DECLARATIVA,
para especificar una entrada, usaremos una etiqueta llamada LEER y entre paréntesis las variables que
será ingresadas, por ejemplo:

LEER(NOMBRE,APELLIDO,VALORHORA,HORASTRABAJADAS);

Las variables son separadas con comas y están encerradas entre paréntesis, la línea de LEER termina
con un punto y coma (;)

El proceso: corresponde a los cálculos que se realizarán sobre las variables de entrada, por ejemplo,
según los datos ingresados vamos a calcular el sueldo a pagar, entonces tenemos:

SUELDO=VALORHORA * HORASTRABAJADAS;

En este punto se detallan los cálculos que se realizan, cada cálculo termina con puto y coma (;) podemos
usar los paréntesis si el cálculo requiere agrupación de términos, los mismo que deben ser en orden
recuerde “el paso a paso”, en estos calculo aplicamos los operadores aritméticos de suma, resta,
multiplicación y división, según sea el caso.

La Salida: corresponde a la presentación de los resultados, que lo general no se presenta solo el valor
de las variables que contienen los cálculos de resultado, a la vez se usa una etiqueta para informar al
usuario a que corresponde la salida mostrada.

Usamos para la presentación de resultado la palabra ESCRIBIR y separamos con comas los mensajes de
salida, por ejemplo:

ESCRIBIR(“EL SUELDO ES: ”,SUELDO);

El ejemplo muestra el mensaje:

EL SUELDO ES: 100

En valor solo es como ejemplo.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


3 Análisis de requerimientos, estructura de
seudocódigo, abstracción ENTRADA –
PROCESO - SALIDA
Ahora pasemos a la parte medular de la asignatura, la resolución de problemas, diseñemos el algoritmo,
a través de un modelo abstracto basado en la ENTRADA – PROCESO – SALIDA, que luego servirá para
crear su propio modelo de resolución de problemas a través de un algoritmo.

El siguiente procedimiento, corresponde al análisis del problema, es importante que los estudiantes que
recién inicial, el estudio de los algoritmos, aplique este proceso, que luego con la práctica, nos permitirá
omitir ciertos pasos, para ese punto son evidentes, pero para el iniciamos se recomienda hacerlo muy
detallado lo que llamamos el “paso a paso” del algoritmo.

Explicaremos este proceso a través de la resolución de un ejemplo:

Diseñe un algoritmo para la sumar dos números y presentar el


resultado.

Armemos una tabla de 3 columnas, en cada columna ubicamos el texto: ENTRADA – PROCESO – SALIDA:

ENTRADA PROCESO SALIDA

1. 1 . Modelo abstracto de resolución de problemas


Fuente: realizado por el autor

Al momento de resolver el problema, podemos iniciar, definiendo cualquiera de las 3 fases, entrada,
proceso o salida, por eso es que debemos estar claros, que se realiza en cada fase, en resumen, quiere
decir que usted puede iniciar:

 Resolviendo las entradas, y luego continuar con las otras 2 fase


 resolver la fase de proceso, y luego continuar con las otras 2 fase
 resolver la fase de salida, y luego continuar con las otras 2 fase

A continuación, vamos abordar las 3 formas, para que se observe el proceso, e iniciaremos resolviendo
primero la salida, por lo general es el estimo más fácil de asimilar.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


3.1.1 resolver la fase de salida, y luego continuar con las otras 2 fase

Se anotan en la columna de la SALIDA, el resultado que se requiere para el algoritmo, si existen más
resultados, se anotan cada uno de ellos en forma de lista, en este punto se debe ser preciso y no
combinar resultados, es decir indicar solo un resultado por línea y el siguiente lo anotamos en las líneas
de abajo, el enunciado dice: que “requiere la suma de dos números”, y es lo que anotamos en la tabla

ENTRADA PROCESO SALIDA

La suma de dos números

Ahora continuemos con las otras 2 fases, como las entradas no son indicadas en la redacción del
ejercicio, mejor abordaremos la fase de proceso.

En la fase de proceso, ponemos un ejemplo de los cálculos que nos piden, en el caso del ejercicio
planteado, dice que debemos sumar dos números, es decir algo así:

4+2

Y cuando hagamos un cálculo debemos poner el resultado que obtenemos, es decir lo correcto a
escribir seria:

ENTRADA PROCESO SALIDA


La suma de dos números
4 + 2=6

En la última fase, que corresponde a la ENTRADA, nos preguntamos que se requiere para hacer cada
uno de los cálculos, y los anotamos en la columna de entrada, es decir anotamos los mismos valores
que escribimos en la columna de proceso, si son muchos datos de entrada, los podemos separar con
comas, es decir anotamos:

ENTRADA PROCESO SALIDA


La suma de dos números
4y2 4 + 2=6

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


Listo cuando llenamos la tabla, ahora nos toca ir transformando estas anotaciones, hasta el punto de
tener las variable y procesos que se requieren para el algoritmo.

Entonces primero vamos a transformar en las variables, que vamos encontrando, por ejemplo, todas las
entradas deben de tener una variable que recepte el dato, así mismo todas las salidas deben de tener
una variable que reciba el resultado, entonces la tabla quedaría pasada a variables:

ENTRADA PROCESO SALIDA


La suma de dos números
4y2 4 + 2=6

NUNMERO1 Y NUMERO2 SUMA

En el caso de la columna de PROCESO, debemos usar los nombres de variables definidas en la entrada y
la salida y remplazarlas en las expresiones de los cálculos, y aquel valor que no tiene una variable de
entrada asociada, debemos evaluar, si ese dato es una entrada y no fue considerado, esto lo evaluamos
diciendo, si es el usuario quien lo deba proporcionar, si es así, creamos la variable de entrada, y la
remplazamos en el cálculo, y si no es proporcionada por el usuario por ejemplo el cálculo del IVA, el
valor de porcentaje es del 12%, entonces el valor del porcentaje no tiene una variable de entrada, y lo
dejamos el valor tal cual en el cálculo.

Y en el caso de que no existe un cálculo de resultado, que tenga una variable correspondiente en el lado
de la salida, debemos de evaluar, si ese cálculo falta de especificar en la salida, y si es así lo agregamos
en la salida y creamos la variable correspondiente, o que solo corresponde a un cálculo intermedio, en
este caso creamos la variable nueva para el cálculo.

ENTRADA PROCESO SALIDA


La suma de dos
4y2 4 + 2=6 números

NUNMERO1 Y NUMERO2 NUMERO1 + NUMERO2=SUMA SUMA

el paso siguiente es dejar a los cálculos, expresados en el formato que se aplica en los algoritmos, es
decir primo va la variable que recibe el cálculo y luego va la operación:

ENTRADA PROCESO SALIDA

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


La suma de dos
4y2 4 + 2=6 números

NUNMERO1 Y NUMERO2 NUMERO1 + NUMERO2=SUMA SUMA

NUNMERO1 Y NUMERO2 SUMA =NUMERO1 + NUMERO2 SUMA

De esta forma tenemos realizado el análisis, y lo que toca ahora es diseñar el algoritmo, y lo haremos
usando lo que tenemos en la tabla que hemos construido, recordemos, un algoritmo tiene una parte
DECLARATIVA y otra de PROCESO, entonces armemos el algoritmo:

ALGORITMO En la parte declarativa, listamos todas las variables


DECLARACIÓN que se usa en el algoritmo, tanto las de entrada, las
de salida, y si hubiere cálculos intermedios, también
NUMERO1=0; NUMERO2=0; SUMA=0; esas variables

PROCESO En la entrada: aplicamos la acción de leer, y


INICIO detallamos las variables que se leerán, tal como se
ENTRADA detalla en la columna de ENTRADA, separadas por
LEER(NUMERO1,NUMERO2); coma

PROCESO
SUMA=NUMERO1+NUMERO2; En el proceso: listamos todos los cálculos, en el
orden que están listados en la tabla
SALIDA
ESCRIBIR(“LA SUMA ES: ”,SUMA);
En la salida: aplicamos la acción de ESCRIBIR, y
FIN
detallamos las variables que se presentaran, tal
como se detalla en la columna de SALIDA, usamos
texto para presentar los valores de resultado

Y de esta forma tenemos el algoritmo, es importante que el estudiante revise este procedimiento,
porque será el que deberá aplicar para la resolución de los ejercicios.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


3.2 resolver la fase de proceso y luego continuar con las otras
2 fase

ahora vamos a resolver el mismo ejercicio, pero partiendo del análisis de los procesos:

En la fase de proceso, ponemos un ejemplo de los cálculos que nos piden, en el caso del ejercicio
planteado, dice que debemos sumar dos números, es decir algo así:

4+2

Y cuando hagamos un cálculo debemos poner el resultado que obtenemos, es decir lo correcto a
escribir seria:

ENTRADA PROCESO SALIDA

4 + 2=6

Se anotan en la columna de la SALIDA, los resultados que se obtiene de cada uno de los cálculos de los
procesos, si es necesario podemos indicar a que se refiere el número, debemos comprobar en esta fase
si se está cumpliendo con los resultados que debe presentar el programa, por ejemplo:

ENTRADA PROCESO SALIDA


4 + 2=6
Resultado de la suma es 6

En la última fase, que corresponde a la ENTRADA, nos preguntamos que se requiere para hacer cada
uno de los cálculos, y los anotamos en la columna de entrada, es decir anotamos los mismos valores
que escribimos en la columna de proceso, si son muchos datos de entrada, los podemos separar con
comas, es decir anotamos:

ENTRADA PROCESO SALIDA


La suma de dos números
4y2 4 + 2=6

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


Listo cuando llenamos la tabla, ahora nos toca repetir los pasos hechos en el anterior proceso, que sería:

Primero vamos a transformar en las variables, que encontremos, por ejemplo, todas las entradas deben
de tener una variable que recepte el dato, así mismo todas las salidas deben de tener una variable que
reciba el resultado, entonces la tabla quedaría pasada a variables:

ENTRADA PROCESO SALIDA


La suma de dos números
4y2 4 + 2=6

NUNMERO1 Y NUMERO2 SUMA

En el caso de la columna de PROCESO, debemos usar los nombres de variables definidas en la entrada y
la salida y remplazarlas en las expresiones de los cálculos, y aquel valor que no tiene una variable de
entrada asociada, debemos evaluar, si ese dato es una entrada y no fue considerado, esto lo evaluamos
diciendo, si es el usuario quien lo deba proporcionar, si es así, creamos la variable de entrada, y la
remplazamos en el cálculo, y si no es proporcionada por el usuario por ejemplo el cálculo del IVA, el
valor de porcentaje es del 12%, entonces el valor del porcentaje no tiene una variable de entrada, y lo
dejamos el valor tal cual en el cálculo.

Y en el caso de que no existe un cálculo de resultado, que tenga una variable correspondiente en el lado
de la salida, debemos de evaluar, si ese cálculo falta de especificar en la salida, y si es así lo agregamos
en la salida y creamos la variable correspondiente, o que solo corresponde a un cálculo intermedio, en
este caso creamos la variable nueva para el cálculo.

ENTRADA PROCESO SALIDA


La suma de dos
4y2 4 + 2=6 números

NUNMERO1 Y NUMERO2 NUMERO1 + NUMERO2=SUMA SUMA

el paso siguiente es dejar a los cálculos, expresados en el formato que se aplica en los algoritmos, es
decir primo va la variable que recibe el cálculo y luego va la operación:

ENTRADA PROCESO SALIDA

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


La suma de dos
4y2 4 + 2=6 números

NUNMERO1 Y NUMERO2 NUMERO1 + NUMERO2=SUMA SUMA

NUNMERO1 Y NUMERO2 SUMA =NUMERO1 + NUMERO2 SUMA

De esta forma tenemos realizado el análisis, y lo que toca ahora es diseñar el algoritmo, y lo haremos
usando lo que tenemos en la tabla que hemos construido, recordemos, un algoritmo tiene una parte
DECLARATIVA y otra de PROCESO, entonces armemos el algoritmo:

En la parte declarativa, listamos todas las variables


ALGORITMO que se usa en el algoritmo, tanto las de entrada, las
DECLARACIÓN de salida, y si hubiere cálculos intermedios, también
esas variables
NUMERO1=0; NUMERO2=0;SUMA=0;

PROCESO En la entrada: aplicamos la acción de leer, y


INICIO detallamos las variables que se leerán, tal como se
ENTRADA detalla en la columna de ENTRADA, separadas por
LEER(NUMERO1,NUMERO2); coma

PROCESO
En el proceso: listamos todos los cálculos, en el
SUMA=NUMERO1+NUMERO2;
orden que están listados en la tabla
SALIDA
ESCRIBIR(“LA SUMA ES;”,SUMA); En la salida: aplicamos la acción de ESCRIBIR, y
FIN detallamos las variables que se presentaran, tal
como se detalla en la columna de SALIDA, usamos
texto para presentar los valores de resultado

Y de esta forma tenemos el algoritmo, es importante que el estudiante revise este procedimiento,
porque será el que deberá aplicar para la resolución de los ejercicios.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


3.3 Resolviendo las entradas y luego continuar con las otras
2 fase

Se anotan en la columna de la ENTRADA, las variables que se especifican en el enunciado del problema,
en este caso, le enunciado no especifica, por tanto, sería complicado iniciar analizar desde este punto,
en el próximo ejercicio, usaremos este proceso pare resolver el algoritmo

Si las tuviéramos indicadas en el enunciado, tocaría listarlas en la columna ENTRADA, y de ahí repetir el
proceso tal como se hizo en los procedimientos anteriores

Hagamos otro ejemplo:

Calcular el sueldo a pagar de un empleado, considerando el número de horas


trabajas, por cada hora trabaja se pagará $3

Resolvamos ahora a partir de las entradas, entonces tenemos, que solo se indica que a partir de las horas
trabajas se calcule el sueldo:

ENTRADA PROCESO SALIDA


Horas trabajadas

Luego podemos ir a la fase de PROCESO o de SALIDA, tomemos la de SALIDA, y tenemos como resultado
del algoritmo es presentar el sueldo del empleado

ENTRADA PROCESO SALIDA


Horas trabajadas Sueldo del empleado

Continuemos con la última fase, que corresponde al proceso, recuerde en esta fase, debemos de hacer
un ejemplo del cálculo, recordemos que el ejercicio indica que se paga por cada hora trabajada $3, se
asigna datos ficticios para el desarrollo, entonces tendremos:

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


ENTRADA PROCESO SALIDA
Horas trabajadas Por ejemplo, si trabajada: 80 horas Sueldo del
empleado
80 * 3=240

Ahora transformamos a variables, las ENTRADAS y las SALIDAS, y remplazamos estas variables en lo que
corresponda en PROCESO

ENTRADA PROCESO SALIDA


Horas trabajadas Por ejemplo, si trabajada: 80 horas Sueldo del
empleado
80 * 3=240

HorasTrabajada SUELDO

Remplazamos en el PROCESO y tenemos

ENTRADA PROCESO SALIDA


Horas trabajadas Por ejemplo, si trabajada: 80 horas Sueldo del
empleado
80 * 3=240

horasTrabajada HorasTrabajadas * 3 = SUELDO SUELDO

En este punto vemos que el valor por hora, no es una variable, sino una constante, por eso no se le crea
una variable nueva.

Ahora pasemos los cálculos al formato correcto

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


ENTRADA PROCESO SALIDA
Horas trabajadas Por ejemplo, si trabajada: 80 horas Sueldo del
empleado
80 * 3=240

horasTrabajada SUELDO =HorasTrabajadas * 3 SUELDO

Ya estamos listos para crear el algoritmo:

ALGORITMO
DECLARACIÓN

HorasTrabajadas=0; SUELDO=0;

PROCESO
ENTRADA
LEER(horasTrabajadas);

PROCESO
SUELDO=horasTrabajadas+3;

SALIDA
ESCRIBIR(“EL SUELDO ES: ”,SUELDO);
FIN

Realicemos un ejercicio más, y aumentemos más cálculos:

Un granjero tiene como actividad la venta de leche, todos los días llena la caneca
de galón, con la producción del ordeño, y realiza la venta a una plata
pasteurizadora, que le compra la producción a $ 0.70, por cada litro, entonces el
productor requiere un programa que le permita saber cuánto ganará en la venta de
su producción

Como vemos, aquí ya se complicó un poco más, pero tranquilos, “la práctica hace al maestro”,
analizando el problema podemos darnos cuenta que al granjero le pasa es que su producción está en
galones y no en litro, entonces él no puede hacer el cálculo directamente, y decirle que cambien sus
embaces de litro, generaría gastos, y decirle a la empresa que ahora compre en galones, lo único q
causaría, es que se busque a otro grajero, para que les venda el producto, por tanto la solución es hacer
la conversión de galones a litro, es decir, determinar cuántos litros entran en una galón y con esa
transformación hacer el cálculo del valor a pagar, por tanto se define que:

1 galón equivale a 3.79 litros

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


A partir de este dato desarrollamos el análisis, empecemos por la SALIDA, recuerden ustedes
determinan, por donde inician a resolver el ejercicio:

ENTRADA PROCESO SALIDA


Valor a pagar por la compra de la
leche

Luego vamos a la entrada

ENTRADA PROCESO SALIDA


Producción de leche en Valor a pagar por la compra de la
galones leche

Pasemos al proceso, recuerden en esta fase, hacemos un ejemplo con datos ficticios, para identificar
todos los cálculos

ENTRADA PROCESO SALIDA


Producción Si produjo 300 galones de leche Valor a pagar por la
de leche en compra de la leche
galones 300 * 3.79=1137 litros

1137 * 0.70 = 795.90 dorales por la venta

Como observamos requirió hacer un cálculo previo, para llegar al resultado requerido por el algoritmo

Ahora transformemos a variables:

ENTRADA PROCESO SALIDA


Producción de leche Si produjo 300 galones de leche Valor a pagar por la
en galones compra de la leche
300 * 3.79=1137 litros

1137 * 0.70 = 795.90 dorales por la venta

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


galonesProduccion ganancia

Remplazamos las variables en el proceso:

ENTRADA PROCESO SALIDA


Producción de leche Si produjo 300 galones de leche Valor a pagar por la
en galones compra de la leche
300 * 3.79=1137 litros

1137 * 0.70 = 795.90 dorales por la venta

galonesProduccion galonesProduccion * 3.79= litros ganancia

litros * 0.70= ganancia

En esta fase requirió definir una variable más, que la llamamos LITROS, que no corresponde ni a la
ENTRADA o SALIDA.

Ahora apliquemos el formato correcto de los cálculos:

ENTRADA PROCESO SALIDA


Producción de leche Si produjo 300 galones de leche Valor a pagar por la
en galones compra de la leche
300 * 3.79=1137 litros

1137 * 0.70 = 795.90 dorales por la venta

galonesProduccion galonesProduccion * 3.79= litros ganancia

litros * 0.70= ganancia

galonesProduccion litros = galonesProduccion * 3.79 ganancia

ganancia =litros * 0.70

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


Por lo tanto, el algoritmo correspondiente es:

ALGORITMO
DECLARACIÓN

GalonesProduccion=0; ganacia=0; litros=0;

PROCESO
ENTRADA
LEER(GalonesProduccion);

PROCESO
litros = galonesProduccion * 3.79;
ganancia =litros * 0.70;

SALIDA
ESCRIBIR(“LA GANANCIA ES: ”,ganancia);
FIN

En la actividad autónoma, encontraras más ejercicios para resolver.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


MATERIAL COMPLEMENTARIO

Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje autónomo:

Videos de apoyo:

Bibliografía de apoyo:

Links de apoyo:

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


REFERENCIAS

Bibliografía
Alvarez, A. (27 de 02 de 2017). youtube. Obtenido de youtube :
https://www.youtube.com/watch?v=y7eyMeEZswg

Arshdeep, B., & Vijay, M. (2016). Big Data Science & Analytics: A Hands-On Approach. EEUU: VPT;
Edición: 1.

Definicion.de. (17 de 05 de 2019). Definicion.de. Obtenido de https://definicion.de/:


https://definicion.de/bit/

Deitel, H., & Deitel, P. (2004). CÓMO PROGRAMAR EN C, C++ Y JAVA. Mexico: PEARSON.

Diaz, I. G. (2017). Big Data para CEOs y Directores de Marketing: Como dominar Big Data Analytics en 5
semanas para directivos (Spanish Edition) . MADRID: Independently published .

elfuturoeslapragramacion. (13 de 05 de 2019). elfuturoeslapragramacion. Obtenido de


elfuturoeslapragramacion: https://sites.google.com/site/elfuturoeslapragramacion/evolucion-
historica-de-los-lenguajes-de-programacion

Garcia, M., Alarcon, C., Angelone, L., Rosario, E., Pedro, C., Guspi, F., . . . Arteaga, J. (2014). Elementos
esenciales para programación: algoritmos y estructura de datos. Mexico: Proyecto Latin .

González, J. (2013). Manual de referencia JAVA. Mexico: McGranwHill.

Illescas Espinoza, W. (2016). LA INFORMÁTICA EN LAS EMPRESAS: ANÁLISIS DE TENDENCIAS.


REDMARKA. Revista Digital de Marketing Aplicado.

Jeremy, K., Hayden, J., & Charles E., L. (2018). Mathematics of Big Data: Spreadsheets, Databases,
Matrices, and Graphs. EEUU: The MIT Press .

Jones, H. (2018). iencia de los datos: Lo que saben los mejores científicos de datos sobre el análisis de
datos, minería de datos, estadísticas, aprendizaje automático ... Data - que usted desconoce
(Spanish Edition). MADRID: Independently published.

Joyanes A., L. (2003). Libro de problemas. Fundamentos de programación. Algortimos, Estructuras de


datos y Objetos (Segunda Edición ed.). Madrid, España: McGRAW-HILL/INTERAMERICANA DE
ESPAÑA, S. A. U.

Joyanes A., L. (2008). Fundamentos de programación. Algortimos, estructura de datos y objetos.


España: McGRAW-HILL/INTERAMERICANA DE ESPAÑA, S.A.U.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020


Kenneth, C., & Viktor, M. S. (2013). Big data : la revolución de los datos masivos . MEXICO: Turner
Publicaciones S.L.; Edición: 1.

López-Cantos, F. (2015). La investigación en comunicación con metodología BigData. Revista Latina de


Comunicación Social, 878 a 890.

Mayer-Schönberger, V. (2014). Big Data: A Revolution That Will Transform How We Live, Work, and
Think. Great Britain: An Hachette.

Noguera O., F. J. (2013). Programación. España: Edictorial UOC.

Pixabay. (16 de 05 de 2018). Pixabay. Obtenido de Pixabay: https://pixabay.com/es/illustrations/iot-


internet-de-las-cosas-internet-3404892/

RAE Española, R. A. (13 de 05 de 2019). https://dle.rae.es/?id=9dZx6FB. Obtenido de


https://dle.rae.es/?id=9dZx6FB: https://dle.rae.es/?id=9dZx6FB

Real académica de la lengua, E. (17 de 05 de 2019). rae. Obtenido de rae:


https://dle.rae.es/?id=6MofNvJ

Rodríguez, L. (2007). El gran libro del PC interno: programación de sistemas, hardware a fondo.
Mexico: Marcombo.

Stephens-Davidowitz, S. (2017). Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us
About Who We Really Are. EEUU: Dey Street Books.

FORMATO CONTROLADO: FR0044/ v1.1 / 11-05-2020

También podría gustarte