Está en la página 1de 15

EL COMPUTADOR:

Es una máquina que puede procesar una gran cantidad de datos rápidamente de una
forma precisa.

En el computador se pueden distinguir dos partes:

HARDWARE: Se denomina hardware o soporte físico al conjunto de elementos


materiales que componen un computador. En dicho conjunto se incluyen los dispositivos
electrónicos y electromecánicos, circuitos, cables, tarjetas, armarios o cajas, periféricos de
todo tipo y otros elementos físicos.
SOFTWARE: El software es un ingrediente indispensable para el funcionamiento del
computador. Está formado por una serie de instrucciones y datos, que permiten
aprovechar todos los recursos que el computador tiene, de manera que pueda resolver
gran cantidad de problemas. Un computador en si, es sólo un conglomerado de
componentes electrónicos; el software le da vida al computador, haciendo que sus
componentes funcionen de forma ordenada.

El software es un conjunto de instrucciones detalladas que controlan la operación de un


sistema computacional.

El software se divide en:

Sistemas operativos: Un sistema operativo (SO) es un conjunto de programas o


software destinado a permitir la comunicación del usuario con un ordenador y gestionar
sus recursos de manera cómoda y eficiente. Comienza a trabajar cuando se enciende el
ordenador, y gestiona el hardware de la máquina desde los niveles más básicos.
(Ejemplos: Windows, Linux, Unix, etc)
Aplicaciones: Programas que son escritos para o por los usuarios para realizar una tarea
especifica en la computadora. Ejemplo: software para procesar un texto, para generar una
hoja de cálculo, el software de aplicación debe estar sobre el software del sistema para
poder operar.
Manejadores de Bases de Datos: Un  DBMS es una colección de numerosas rutinas de
software interrelacionadas, cada una de las cuales es responsable de una tarea
específica.
El objetivo primordial de un sistema manejador base de datos es proporcionar un entorno
que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y
manipular información de la base de datos. Todas las peticiones de acceso a la base, se
manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como
interfase entre los usuarios y la base de datos. (Ejemplos: Access, SQL Server, Oracle,
etc.)

Lenguajes de Programación: Código utilizado para la creación de programas. Lo utilizan


los programadores (generalmente especializados en un lenguaje en particular) para la
creación de diversas aplicaciones. (Ejemplos: Visual Basic. NET, C++, Java, etc.)

ESTRUCTURA LÓGICA DEL COMPUTADOR

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.

Unidad de Control: Es el cerebro de del computador, se encarga de controlar las demás


unidades.

Unidad de Memoria: Como su nombre lo indica, se encarga de “recordar” temporalmente


los datos y programas que se están procesando.
Se dice que es una memoria volátil ya que los datos y programas que se almacenan en
ella se pierden cuando se termina el programa o se apaga la computadora; por lo tanto si
se quiere conservar los datos se deben enviar a una unidad externa de almacenamiento
cono el disco duro, memoria Flash u otro almacenamiento auxiliar.

La memoria del computador se divide en dos partes así: Memoria ROM y Memoria RAM

ROM: es el acrónimo de Read-Only Memory (memoria de sólo lectura). Es una memoria


de semiconductor no destructible, es decir, que no se puede escribir sobre ella, y que
conserva intacta la información almacenada, incluso en el caso de interrupción de
corriente (memoria no volátil). La ROM suele almacenar la configuración del sistema o el
programa de arranque del ordenador.

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

CAMPOS CONSTANTES ALFANUMÉRICOS: Son aquellos que no representan


cantidades, son solo un grupo de caracteres, por lo tanto con ellos no podemos realizar
cálculos aritméticos, se distinguen de los otros tipos de campo porque siempre van
encerrados entre comillas, por ejemplo
“ DANIELA ”
“ ANTIOQUIA “
“ 2007 “ (siendo un número, no representa cantidad)
“ 229 11 00 “ (un número telefónico)

VARIABLES: Son segmentos de memoria en los cuales podemos almacenar


temporalmente alguna información, que podamos utilizar posteriormente, esta información
almacenada, la podemos cambiar cuando lo necesitemos durante la ejecución de un
programa.
A cada campo variable que utilicemos, debemos asignarle un nombre que debe cumplir
con los siguientes requisitos:
Cada campo tiene un nombre único
El nombre debe comenzar por una letra
No puede tener espacios en blanco ni caracteres especiales como /, %, &, etc.
Se recomienda que el nombre sea nemotécnico, es decir, que el nombre identifique la
información que contendrá el campo.

Gráficamente la podemos visualizar de la siguiente forma:

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:

ARITMÉTICOS: Se caracterizan porque relacionan dos cantidades para obtener otra


cantidad, estos son:
 Potenciación  **
 Multiplicación  *
 División /
 Suma +
 Resta -
Cuando se tiene una expresión con varios operadores aritméticos, estos se evalúan
respetando el siguiente orden:
Primero se evalúan todas las potencias
Segundo se evalúan las multiplicaciones y las divisiones, de izquierda a derecha
Tercero se evalúan las sumas y las restas, de izquierda a derecha
Los símbolos de agrupación (los paréntesis) cambian el orden de evaluación como en las
matemáticas tradicionales.

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í:

 RELACIONALES: Relacionan dos cantidades para obtener un valor de verdad,


estos son:
> Mayor que
>= Mayor o Igual
< Menor que
<= Menor o Igual
= Igual
<> Diferente
EJEMPLO:
5 > 3  VERDADERO
5 <= 3  FALSO
5 <> 3  VERDADERO
( 20 / ( 8 + 2 )) > ( 5 – (10 / 5 ))  FALSO

 BOOLEANOS: Relacionan dos valores de verdad para obtener otro valor de


verdad, en la lógica de programación son:
AND ( ^ ) y lógico
OR ( v ) o lógico
NOT ( ~ ) Negación

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.

LAS CARACTERÍSTICAS DE LOS ALGORITMOS


 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
 Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
 Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún
momento, o sea debe tener un número finito de pasos.

ALGORITMOS PARA SER EJECUTADOS POR PERSONAS (CUALITATIVOS)


Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera
que esta persona lo entienda claramente, algunas de las normas que debe seguir la
construcción del algoritmo son las siguientes:
debe estar escrito en el idioma que comprende la persona que realizará el algoritmo.
debe enumerar cada uno de los pasos a realizar en un orden lógico.
debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo.
Algunos de los algoritmos diseñados para que sean ejecutados por personas son: las
recetas de cocina, los manuales de funcionamiento, itinerarios, guía de matricula etc.
Como ejemplo tenemos cruzar una calle:

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.

ALGORITMOS PARA SER EJECUTADAS POR LAS COMPUTADORAS


(CUANTITATIVOS)

Los pasos para la solución de un problema utilizando como herramienta la computadora


son:

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.

El primer paso es el mas importante, en el se determina el problema y describimos una


posible solución, utilizando nuestra malicia, conocimientos y habilidad para dar una
solución al problema.

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.

INSTRUCIONES BÁSICAS DE LOS ALGORITMOS CUANTITATIVOS

Las instrucciones que se utilizan en los algoritmos cualitativos deben se palabras


imperativas, debido a que se le está dando una orden al computador, las básicas son:
 Como dijimos anteriormente, los algoritmos deben ser finitos, por lo tanto
se debe indicar cual es el principio del algoritmo y cual es su final, esto lo
hacemos con las instrucciones:
INICIE y TERMINE respectivamente.

 Para indicarle al computador que capture uno o mas datos de la unidad de


entrada y los lleve a la memoria RAM se utiliza la instrucción LEA, la cual
tiene la siguiente sintaxis:
LEA <lista de campos variables separados por comas>

 Para indicarle al computador que debe llevar a la unidad de salida alguna


información (por defecto es el monitor), la instrucción es:
IMPRIMA <lista de campos separados por comas>

 Cuando necesitemos que el computador realice algún cálculo aritmético,


utilizamos la instrucción de asignación, la cual tiene la siguiente sintaxis:
Campo Variable = Expresión aritmética

En este caso, en la variable que se encuentra a la derecha del =, almacenará el resultado


de la operación aritmética, la expresión aritmética puede contener campos variables y/o
constantes, y también puede ser solo un campo constante o variable.

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

Solución: Lo primero que debemos hacer es realizar el análisis, en este determinamos si


tiene datos de entrada y cuales (que digitará el usuario)?, si tiene datos de proceso (que
cálculos necesitará realizar el computador)?, y cuales son los datos de salida (que debe
mostrar el computador)?.

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

1. Hacer un algoritmo que lea el nombre de un trabajador, la cantidad de meses que


trabajo en el año y muestre el nombre y el porcentaje de meses trabajados.

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.

3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias


que cursa en el semestre, la cantidad de materias perdidas  y muestre el nombre y
el porcentaje de materias ganadas.

4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre


y el número de materias perdidas y muestre la cantidad de materias que gano.
5. Hacer un algoritmo que lea el nombre de una persona, la comida preferida con su
precio, la cantidad de dinero que posee y muestre la cantidad de comidas que
puede comprar con el dinero que posee.

6. Hacer un algoritmo que lea el nombre de un animal, la comida preferida, el número


de porciones que come al día, el valor de la porción y muestre  el nombre del
animal y el costo de alimentarlo en el día.

7. Hacer un algoritmo lea el nombre de un deportista, la distancia recorrida, la


cantidad de intentos y muestre la distancia promedio que ha recorrido.

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.

A continuación se muestra un ejemplo de prueba de escritorio del siguiente algoritmo:

INSTRUCCIÓN num menor suma Pantalla


lea num 10
menor = num 10
suma :=0 0
suma :=suma + num 10
lea num 7
menor = num 7
suma :=suma + num 17
lea num 9
suma :=suma + num 26
lea num 0
Escribir “valor menor:” Valor Menor
Imprima menor 7
Imprima “Suma:” Suma:
Imprima suma 26

DECISIÓN LÓGICA

Esta instrucción permite ejecutar uno de dos posibles bloques de instrucciones,


dependiendo del valor de verdad de una expresión lógica, su sintaxis es:
SI (expresión lógica) ENTONCES

---------

--------- Grupo de instrucciones que se ejecutarán en el caso de que


al evaluar la expresión lógica, ésta sea Verdadera
---------

SINO

_____

_____ Grupo de instrucciones que se ejecutarán en el caso


de que al evaluar la expresión lógica, ésta sea Falsa
_____

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

D.S. { nom, mensaje

D.P. { si ed >= 18  mensaje =” mayor de edad”


si ed < 18  mensaje =” menor de edad”

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

Escribir un algoritmo donde el usuario pueda ingresar el nombre de un estudiante y las 4


notas que obtuvo en una materia, y el computador le muestre el nombre, la nota definitiva
(suponga que todas tienen un mismo porcentaje) y un mensaje que diga si gana, puede
habilitar o pierde la materia.

ANÁLISIS:

D.E. { nom, n1, n2, n3, n4

D.S. { nom, nd, mensaje

D.P. { nd = (n1 + n2 + n3 + n4) / 4

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:

En caso de (variable) haga


Valor 1 : instrucciones en el caso de que la variable contenga el valor 1

Valor 2 : instrucciones en el caso de que la variable contenga


el valor 2

Valor 3 : instrucciones en el caso de que la variable contenga el valor 3


.
.
.

Valor N : instrucciones en el caso de que la variable contenga el valor N

E.O.C.: Instrucciones en el caso de que la variable contenga un valor diferente a los


establecidos en las opciones anteriores

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:

ESTRATO DESCUENTO RECARGO


1 40% 0%
2 30% 0%
3 10% 0%
4 0% 10%
5 0% 20%
6 0% 40%

ANÁLISIS:

D.E. { nom, estr, ncm, vuc

D.S. { nom, Vrbto, VrDesc, VrRec, VrNto


VrBto = ncm * vuc
VrDesc = Depende del estrato
VrRec = Depende del estrato
D.P.
VrNto = VrBto – VrDesc + VrRec

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

4: VrRec = VrBto * 10 / 100


VrDesc= 0

5: VrRec = VrBto * 20 / 100


VrDesc= 0

6: VrRec = VrBto * 40 / 100


VrDesc= 0

E.O.C.: Imprima “ el valor digitado para el estrato está errado”

Fin caso
VrNto = VrBto – VrDesc + VrRec
Imprima nom, Vrbto, VrDesc, VrRec, VrNto
Termine

También podría gustarte