Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Documento Base Lógica de Programación Primera Parte
Documento Base Lógica de Programación Primera Parte
Es una máquina que puede procesar una gran cantidad de datos rápidamente de una
forma precisa.
Lógicamente, en el computador podemos distinguir 5 partes que interactúan entre si para poder
realizar una tarea como lo muestra el siguiente gráfico:
Unidad de Entrada: Es la encargada de permitir que los usuarios ingresen datos y programas
al computador, por defecto se tiene al teclado, pero también pueden ser los drives (3 ½ ,
CD, etc.), la tarjeta de red, puerto USB, etc.
Unidad de Salida: Permite extraer del computador la información que almacena y/o procesa.
Por defecto se tiene el monitor (pantalla) pero también puede ser la impresora, los drives (3
½ , CD, etc.), la tarjeta de red, puerto USB, etc.
Unidad de Cálculo: Se encarga de realizar las operaciones aritméticas y lógicas dentro del
computador. Esta unidad no posee memoria, por lo tanto los resultados de sus operaciones
se deben guardar en otra unidad.
La memoria del computador se divide en dos partes así: Memoria ROM y Memoria RAM
RAM: Siglas de Random Access Memory, que lo podríamos traducir como Memoria de
Acceso Aleatorio. Es un conjunto de Chips que junto con el microprocesador es parte
fundamental del ordenador, es una memoria volátil ya que los datos almacenados en ella
se pierden al apagar el ordenador. El tamaño de la RAM determina la rapidez y
comodidad de trabajo ante el ordenador, así como el número de programas que podemos
utilizar de forma simultánea. Está integrada por uno o más chips y se utiliza como
memoria de trabajo donde podemos guardar o borrar nuestros programas y datos.
Si se observa la figura 1.1, vemos que los datos tienen como centro la unidad de
memoria, por esto nos centraremos en esta unidad.
Para entender que es la memoria, nada mejor que usar una analogía: imagina un área en
la cual hemos trazado líneas verticales y horizontales para hacer una retícula. Si a cada
columna y a cada fila de cuadritos le asignamos una letra y número para identificarlos en
forma de coordenadas, podemos luego identificar una posición de una celda determinada
por la letra de la columna y el número de la fila (tal como sucede con las celdas de las
Hojas de cálculo tipo Excel).
Eso, para entenderlo gráficamente. Pero matemáticamente hablando, en la RAM cada
celda tiene una ubicación o nombre en una nomenclatura aceptada por la comunidad
científica: el sistema hexadecimal. Cada depósito de un dato en la memoria (operando,
resultado, etc.) se ubica por una dirección en hexadecimal. Cada depósito de la memoria
RAM se denomina CAMPO.
CAMPOS
Existen dos tipos de campos así:
CONSTANTES: Como su nombre lo indica a este tipo de campo no le podemos cambiar
la información que almacena durante la ejecución de un programa, a su vez estos campos
se dividen en dos grupos:
CAMPOS CONSTANTES NUMÉRICOS: Están representados por todos los números con
los cuales es posible realizar cálculos aritméticos, siempre representan cantidades, por
ejemplo
3.1416
16
9.8
2,718281828
OPERADORES
Un operador es un símbolo mediante el cual le ordenamos al computador que realice
alguna acción. Los operadores se dividen en los siguientes grupos:
Ejemplo:
Si se tiene la siguiente expresión aritmética, esta se evaluaría como se indica
LÓGICOS: Se caracterizan porque su resultado siempre será uno de los dos valores de
verdad (VERDADERO o FALSO), se dividen en dos grupos así:
Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le damos
solución a un problema determinado.
En la vida diaria cada uno de nosotros diseña y realiza algoritmos para solucionar los
problemas cotidianos, es así que al levantarnos de la cama ya tenemos en la mente una
serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una
vez en el sitio de estudio, tenemos en nuestra mente una serie de tareas que debemos
realizar en unos horarios ya definidos.
Si quisiéramos realizar una comida especial, en nuestra mente construimos un algoritmo o
serie de pasos que debemos seguir en un orden específico para que todo nos salga como
queremos. Si quisiéramos transcribir estos pasos en una hoja de papel, para que otra
persona realizará las mismas tareas y obtenga el mismo resultado que nosotros, debemos
seguir una serie de normas para que esta otra persona nos entienda. Por ejemplo debe
estar escrito en el idioma que ella comprende, se deben enumerar los pasos etc. Las
normas que se deben seguir al momento de transcribir el algoritmo depende de quien
será el encargado de ejecutarlo, por ejemplo si quisiéramos escribir la receta para que la
ejecute una persona adulta las normas serán diferentes a las que debemos seguir si
quisiéramos escribir la receta para que le ejecute una niña.
1. iniciar
2. Ir hasta la cebra
3. Mirar el semáforo peatonal
4. Si está en rojo seguir con el paso 5, de lo contrario seguir con el paso 7
5. Esperar el cambio de luz
6. Ir al paso 3
7. Cruzar
8. Terminar
Es obvio que para este problema se podrían hacer muchas variantes tales como que pasa
si no hay cebra?, que pasa si no hay semáforo o está averiado?, etc.
1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen
a la solución de un problema dado (análisis del problema y desarrollo del
algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación
adecuado (fase de codificación). La actividad de expresar un algoritmo en forma
de programa se denomina programación.
3. Ejecución y validación de programa por la computadora.
Si queremos hacer algoritmos para que las computadoras los ejecuten, debemos seguir
ciertas normas y ese es uno de los objetivos de esta materia, enseñar las normas que se
deben seguir para realizar algoritmos que luego serán ejecutados por las computadoras.
El otro objetivo es darle la posibilidad de desarrollar la habilidad de solucionar problemas,
pero como todas las habilidades esta sólo se adquiere después de hacer muchos
intentos.
Ejemplo:
Crear un algoritmo que le permita al usuario ingresar la medida de la base de un triángulo
y la medida de su altura, y el computador le muestre el área
ANÁLISIS:
Datos de entrada { Base, Altura estos serán los nombres de las variables
donde se recibirán los valores que digite el
usuario.
Datos de Salida { area Esta variable contendrá el valor que calcule el algoritmo y que
se debe mostrar.
Datos de proceso { area = base * altura / 2 Este es el cálculo que debe realizar
el algoritmo
SOLUCIÓN:
INSTRUCCIONES DEL ALGORITMO DESCRIPCIÓN
En este punto comienza el
INICIE
algoritmo
Le mostramos al usuario
un mensaje pidiéndole que
IMPRIMA “DIGITE LA BASE”
digite el valor de la base
del triángulo
Llevamos el valor que
LEA BASE digite el usuario a la
variable BASE
Le mostramos al usuario
un mensaje pidiéndole que
IMPRIMA “DIGITE LA ALTURA”
digite el valor de la altura
del triángulo
Llevamos el valor que
LEA ALTURA digite el usuario a la
variable BASE
Hacemos que el
computador realice el
AREA = BASE * ALTURA / 2 cálculo y el resultado lo
almacenamos en la
variable AREA
Hacemos que el
computador muestre en la
IMPRIMA “EL ÁREA DEL TRIANGULO ES”, AREA pantalla del monitor un
mensaje y el contenido de
la variable AREA
Indicamos cual es el final
TERMINE
del algoritmo
Como podemos notar, en estos algoritmos no enumeramos las instrucciones debido a que
esta es programación estructurada, donde las instrucciones siempre se ejecutan en
estricto orden de arriba hacia abajo una por una, mas adelante veremos otras
instrucciones que permiten modificar este orden.
ACTIVIDAD PROPUESTA
2. Hacer un algoritmo que lea el nombre de una persona, el número de horas que
estudia en la semana y muestre el porcentaje de tiempo que dedica a estudiar y la
cantidad de minutos que dedica a estudiar.
La prueba de escritorio es una herramienta útil para entender que hace un determinado
algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de
ejecutarlo.
Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo
tanto se debe llevar registro de los valores que va tomando cada una de las variables
involucradas en el mismo.
DECISIÓN LÓGICA
---------
SINO
_____
FIN SI
Ejemplo:
Escribir un algoritmo donde el usuario pueda ingresar el nombre y la edad de una persona
y el computador le muestre el nombre y un mensaje que diga si la persona es mayor o
menor de edad.
ANÁLISIS:
D.E. { nom, ed
INICIO
IMPRIMA “Digite el nombre:”
LEA nom
IMPRIMA “Digite la edad:”
LEA ed
SI ( ed >= 18 ) ENTONCES
Mensaje = “MAYOR DE EDAD”
SINO
Mensaje = “MENOR DE EDAD”
FIN SI
IMPRIMA nom, mensaje
FIN
ANÁLISIS:
INICIO
IMPRIMA “Digite el nombre del estudiante:”
LEA nom
IMPRIMA “Digite la primera nota:”
LEA n1
IMPRIMA “Digite la segunda nota:”
LEA n2
IMPRIMA “Digite la tercera nota:”
LEA n3
IMPRIMA “Digite la cuarta nota:”
LEA n4
nd = (n1 + n2 + n3 + n4) / 4
SI ( nd >= 3.0 ) ENTONCES
Mensaje = “GANA LA MATERIA”
SINO
SI ( nd >= 2.0 ) ENTONCES
Mensaje = “PUEDE HABILITAR LA MATERIA”
SINO
Mensaje = “PIERDE LA MATERIA”
FIN SI
FIN SI
IMPRIMA nom, nd, mensaje
FIN
SELECTOR MÚLTIPLE
Esta estructura permite remplazar una serie de decisiones lógicas anidadas, cuando estas
se hacen sobre una misma variable, y los valores que pude tomar dicha variable son
finitos, fijos y conocidos, Su sintaxis es:
Fin Caso
Su funcionamiento es el siguiente:
Cuando el control llega cabecera del selector, se evalúa el valor de la variable y el control
es trasferido al grupo de instrucciones que se encuentren al frente del valor que tenga la
variable en ese momento, en caso de no coincidir con alguno de los valores, el control es
trasferido a las instrucciones que se encuentre al frente del E.O.C. (En Otro Caso, en los
lenguajes por lo regular es el ELSE).
Ejemplo:
Se tiene el registro de un estudiante así: Nombre, estrato (1, 2, 3, 4, 5, o 6), número de
créditos matriculados y valor unitario del crédito (cada materia tiene asignado un número
de créditos que por lo regular, no siempre, corresponde con la intensidad horaria
semanal).
Se debe crear un algoritmo que imprima el nombre del estudiante, el valor bruto de la
matrícula, el valor del descuento, el valor del recargo y el valor neto a pagar sabiendo que
se debe regir por la siguiente tabla:
ANÁLISIS:
INICIO
IMPRIMA “Digite el nombre del estudiante:”
LEA nom
IMPRIMA “Digite el estrato:”
LEA estr
IMPRIMA “Digite el número de créditos:”
LEA ncm
IMPRIMA “Digite el valor del crédito:”
LEA vuc
VrBto = ncm * vuc
En caso de (estr) haga
1: VrRec = 0
VrDesc= VrBt * 40 / 100
2: VrRec = 0
VrDesc= VrBt * 30 / 100
3: VrRec = 0
VrDesc= VrBt * 10 / 100
Fin caso
VrNto = VrBto – VrDesc + VrRec
Imprima nom, Vrbto, VrDesc, VrRec, VrNto
Termine