Está en la página 1de 29

 

 
PROGRAMA  DE  INGENIERÍA  
 
 
 
 
 
 
 

UNIDAD 1. INTRODUCCIÓN A LA PROGRAMACIÓN

 
Tomada de: http://www.heptagono.com/content/uploads/programacion.jpg

Introducción

La     presente   unidad   centra   su   estudio   en   el   conocimiento   y   apropiación   de   los  


conceptos   básicos   formales   que   son   necesarios   para   el   desarrollo   de   algoritmos   de  
programación   y   su   interpretación   en   un   sistema   computacional   a   través   de   un  
lenguaje  de  programación.  
 
La  unidad  inicia  con  la  historia  y  evolución  de  la  programación,  los  conceptos  básicos  
de  los  algoritmos    y  la  incidencia  de  los  sistemas  numéricos  para  la  interpretación  de  
datos   por   un   sistema   computacional.     Llevando   así   a   todos   los   participantes   del  
módulo  a  la  contextualización,  dominio    y  aplicación  de  la    lógica  computacional  en  la  
programación  de  computadores.  
 
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Objetivos

Objetivo general

Presentar   al   estudiante   la   historia   de   la   programación   y   los   conceptos   formales   y  


matemáticos   que   son   necesarios   para   la   interpretación   de   datos   en   la   solución   de  
problemas  a  través  de  un  lenguaje  de  programación  en  un  sistema  computacional.  
 

Objetivos específicos

• Conocer  la  historia  de  la  programación  y  su  evolución  en  el  tiempo.  
 
• Identificar   los   conceptos   formales   y   matemáticos   para   la   interpretación   de  
datos  en  la  solución  de  problemas  a  través  de  un  sistema  computacional.  
 
 

Programación: introducción e historia

La   historia   de   la   programación   contiene   centenares   de   lenguajes   de   programación  


de   los   cuales   hoy   en   día   solo   unos   pocos   se   utilizan   en   los   entornos   científicos,  
académicos,   empresariales,   militares   etc.,   para   objetivos   específicos   de   resultados.     La  
historia   de   la   programación     se   remonta   a   1938   cuando   apareció   el   primer  
computador   analógico   y   en   1946   el   computador   digital;   estos   hitos   marcaron   una  
nueva  era  científica,  técnica,  de  investigación  y  hoy  mucho  más  evidentes  un  hito  de  
revolución  social.  
 
En   la   historia   han   surgido   varios   investigadores   del   cual   Von   Neumann   fue   el  
principal   impulsor   y   desarrollador   del   computador   digital   y   del   cual     los  
computadores  de  hoy  en  día  siguen  la  arquitectura  que  propuso  éste  matemático.    Los  
avances  de  la  programación  han  ido  de  la  mano  con  el    avance  de  los  computadores  
desde  las  primeras    máquinas  que  fueron  construidas  a  partir  de  válvulas    electrónicas  
que   posteriormente   fueron   reemplazadas   por   los   transistores   en   los   años   50   y   que  
para  su  funcionamiento  requerían  de  instrucciones  basadas  en  códigos  numéricos  que  
indicaban   el   estado   de   los   circuitos   electrónicos.     Esta   expresión   mediante   códigos  
numéricos   es   la   que   se   denomina   lenguaje   máquina,   lenguaje   que   mantuvo   un   alto  
nivel  de  complejidad  para  leer,  interpretar  y  programar,  conllevando  a  la  aparición  de  
lenguajes   ensambladores   los   cuales   marcaron   el   inicio   para   los   que   hoy   se   conocen  
como  lenguajes  de  programación.    
Los  primeros  trabajos  de  investigación  en  programación  se  orientaron  a  la  creación  de  
un  lenguaje  que  expresara  las  distintas  acciones  a  realizar  de  una  manera  sencilla  para  
   
PROGRAMA  DE  INGENIERÍA  
 
 
el   hombre.       Es   así   como   en   1950   John   Backus   dirigió   una   investigación   en   I.B.M   en   un  
lenguaje  denominado  algebraico.    Durante  el  año    1954  se  dio  inicio  al  desarrollo  de  
un  lenguaje  que  permitió  escribir  fórmulas  matemáticas    de  manera  traducible  por  el  
computador  y  aparece  el  lenguaje  llamado  FORTRAN  (FORmulae  TRANslator)  que  fue  
el  primer  lenguaje  de  alto  nivel.    Este  lenguaje  se  introdujo  en  1957  en  la  computadora  
IBM   modelo   704   que   permitía   una   programación   más   cómoda   y   breve   en   ese  
momento   lo   cual   suponía   un   ahorro   de   trabajo,   surgiendo   así   un   nuevo   concepto  
denominado  traductor  que  su  función  es  la  de  pasar  un  lenguaje  a  otro.  
 
A  finales  de  los  años  setenta,  John  McCarthy  diseñó  el  lenguaje  de  alto  nivel  LISP  que  
hoy   en   días   es   muy   utilizado   el   área   de   la   Inteligencia   Artificial   y     que   consistía  
básicamente  en  definir  un  conjunto  de  funciones    y  después  combinarlas  para  resolver  
problemas.      Las  versiones  más  modernas  de  LISP  introducen  técnicas  de  abstracción  
de   la   orientación   a   objetos.   Otro   de   los   lenguajes   que   surgió   en   los   años   setenta   fue  
Pascal,   diseñado   por   Nikaus   Wirth   del   Instituto   Politécnico   Federal   de   Zurich   que  
inicialmente   fue   construido   con   propósitos   de   enseñanza   y   fue   adaptado   a   muchos  
otros   propósitos,   inclusive   el   de   ser   progenitor   a   otros   lenguajes.     En   éste   sentido,  
Wirth  diseñó  posteriormente  MODULA-­‐2,  que  es  creado  sobre  los  conceptos  de  Pascal  
y   que   permite   la   construcción   de   un   programa   a   partir   de   módulos   compilados   de  
manera   independiente.     ADA,   es   otro   lenguaje   que   también   se   basa   en   Pascal   e  
introduce  complejos  conceptos  de  concurrencia  de  procesos  en  un  programa.  
 
Los  últimos  dialectos  de  Pascal  son  OBERON  Y  DELPHI.  Este  último  vigente  aún  en  la  
programación  moderna    permite  el  desarrollo  de  bases  de  datos  y  multimedia.  
 
En   1972   aparece   el   lenguaje   C,   lo   que   provocó   el   desplazamiento   de   los  
programadores  de  Pascal  a  C  porque  desde  éste  se  podía  manipular  directamente  el  
código   máquina     (lenguaje   de   bajo   nivel)   desde   el   mismo   lenguaje   de   programación  
(lenguaje   de   alto   nivel),   además   permite   obtener   programas   más   rápidos   que   los  
generados  en  Pascal  .      C  también  ha  servido  de  base  para  crear  otros  lenguajes  como  
es  el  caso  de  C++  que  es  un  lenguaje  orientado  a  objetos.  
 
A   principios   de   los   años   90,   la   empresa   Sun   Microsystems   desarrolla   el   lenguaje   de  
programación   Java   que   es   un   lenguaje   de   programación   orientado   a   objetos   y   permite  
el   desarrollo   de   aplicaciones   que   hoy   se   encuentra   en   dispositivos   móviles,   Internet,  
supercomputadores   con   funcionalidades   científicas   etc,   gracias   a   su   versatilidad,  
funcionalidad   y   eficiencia   en   el   uso   de   los   recursos   computacionales.   A   continuación  
se  ilustra  la  evolución    y  vigencia  de  algunos  lenguajes  de  programación  (Ver  Figura  
N°  1.-­‐  Árbol  de  los  Lenguajes  de  Programación).  
   
PROGRAMA  DE  INGENIERÍA  
 
 

 
1
Figura No. 1.- Árbol de los Lenguajes de Programación .

El computador y sus partes

El   computador   es   una   máquina   que   tiene   como   función   el   desarrollo   de   largas   y  


complejas   operaciones   a   altas   velocidades2   y   los   resultados   de   las   operaciones,   se  
determina  por  un  programa  de  computador.      Hoy  en  día  los  computadores  son  más  
que   máquinas   para   ejecutar   operaciones   aritméticas,   son   máquinas   de   procesamiento  
de  datos  y  sistemas  de  procesamiento  de  información.  
 
Es   frecuente   encontrar   datos   como   sinónimo   de   información   pero   existe   una   marcada  
diferencia  entre  los  dos  términos.    Dato    es  una  representación  simbólica  (numérica,  
alfabética,   algorítmica,   entre   otros.),   un   atributo   o   característica   de   una   entidad;   los  
datos  describen  hechos  empíricos,  sucesos  y  entidades3.      Información  implica  datos  
procesados   y   organizados.     Un   sistema   de   procesamiento   de   información   es   un  
                                                                                                               
1
LLAVORY Rafael Berlanga, Sevilla Isabel Gracia Luengo, Quereda José Manuel, Miralles Fernándo. Introducción a la
programación con Pascal, Editorial Universitat Jaume, 2000.
2
BECERRA, Santamaría César. Algoritmos: Conceptos básicos. Editorial Kimpres Ltda. 1998.
3
http://es.wikipedia.org/wiki/Dato
   
PROGRAMA  DE  INGENIERÍA  
 
 
sistema  que  transforma  datos  brutos  en  información  útil  y  significativa  (Ver  Figura  N°  
2.-­‐  Sistema  de  procesamiento  de  información).  
 
 
   
  Entrada  =  datos   PROCESADOR   Salida  =  información  

Figura No. 2.- Sistema de procesamiento de información.

Existen   dos   conceptos   importantes   a   considerar   dentro   de   los   sistemas   de  


procesamiento   de   información:   hardware   y   software.     Hardware   es   el   conjunto   de  
componentes   físicos   del   computador   y   software   relaciona   los   programas   que  
controlan  el  funcionamiento  del  computador,  siendo  la  parte  lógica  de  todo  el  sistema.  
El  hardware  de  un  computador  se  compone  de:  
 
• Unidad   Central   de   Proceso   (CPU:   Central   Processign   Unit):   Es   el   conjunto  
de  circuitos  electrónico  que  es  capaz  de  procesar  la  secuencia  de  operaciones  
especificadas  en  un  programa.  
 
• Memoria  central:  Es  donde  se  almacenan  temporalmente  la  información  que  
va  a  trabajar  el  programa.    Hay  dos  clases  de  memoria,  la  memoria  principal  y  
la  memoria  auxiliar.  
 
• La   memoria   principal   guarda   tanto   las   instrucciones   de   programa   como   los  
datos  que  se  quieren  procesar,  permitiendo  además  el  acceso  al  procesador  a  
almacenar  información  y  ejecutar  las  operaciones  de  una  en  una.  
 
• La   memoria   auxiliar   o   secundaria   está   conformada   por   una   serie   de  
dispositivos   donde   se   guarda   la   información   que   normalmente   no   cabe   en   la  
memoria  principal.    Estos  dispositivos  poseen  las  siguientes  características:  
 
- Su   capacidad   de   almacenamiento   es   mucho   mayor   que   el   de   la   memoria  
principal.  
- La  información  se  puede  guardar  de  manera  permanente    
- Ejemplos  de  estos  dispositivos  son:  Discos  duros,    Diskettes,  Memorias  USB.  
 
• Dispositivos   de   entrada   y   salida   (E/S):   son   dispositivos   que   permiten   la  
comunicación   del   usuario   con   el   computador.     Algunos   dispositivos  
comúnmente   encontrados   de   entrada   son   el   teclado,   el   mouse,   lápiz   ópticos  
etc.,   de   salida   la   pantalla,   impresora   etc.,   y   los   de   E/S   como   Discos   Duros,  
Diskettes,  Memorias  USB  etc.    (Ver  Figura  N°  3.-­‐  Diagrama  de  un  computador  -­‐  
Hardware).  
   
PROGRAMA  DE  INGENIERÍA  
 
 
 
 
 
Memoria
  Almacenamiento
Central
secundario

Dispositivos
de E/S    
Unidad
  Central de  
Proceso
   
 
Figura 3.- Diagrama de un computador – Hardware.

Conceptos básicos de algoritmos

La   principal   razón   para   que   las   personas   se   apropien   de   métodos,   metodologías,  


técnicas  y  lenguajes  de  programación  se  debe  a  la  necesidad  de  resolver  problemas  a  
través   de   la   computadora,   siendo   ésta   utilizada   como   una   herramienta   para   la  
solución  de  problemas.    Problemas  que  exige  una  serie  de  pasos  que  a  continuación  se  
relacionan   para   su   solución   (Ver   Figura   N°   4.-­‐   Etapas   para   la   solución   de   un   problema  
en  un  sistema  computacional).  
 
 

Analizar Diseñar Expresar el Ejecutar y


el el algoritmo en un validar el
problema Algoritmo programa de programa por el
computador computador

Paso 1 Paso 2 Paso 3 Paso 4

Figura N° 4.- Etapas para la solución de un problema en un sistema computacional

 
 
• Analizar  el  problema:  Consiste  en  distinguir  y  separar  las  partes  de  un  todo  
hasta   llegar   a   conocer   sus   principios   o   elementos   que   conlleven   a   su   óptima  
solución.  
 
• Diseñar   el   algoritmo:   Que   describe   la   secuencia   ordenada   de   pasos   que  
conducen  a  la  solución  del  problema  planteado.  
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
• Codificar:  Consiste  en  expresar  el  algoritmo  a  un  programa  de  computador.  
 
• Ejecutar   y   validar   el   programa   por   el   computador   donde   se   evidencian   los  
resultados  y  se  cotejan  con  los  datos  e    información  esperada.  
 
Se  hace  necesario  precisar  que  un  algoritmo  es  un  conjunto  de  instrucciones  o  reglas  
bien  definidas,  ordenadas  y  finitas  que  conducen  a  la  solución  de  un  problema  y  que  
siempre  cumple  con  las  siguientes  características  fundamentales:  
 
• Debe  ser  preciso  al  indicar  el  orden  de  la  realización  de  cada  paso.  
• Debe   estar   definido   de   tal   manera   que   si   se   sigue   dos   veces,   se   debe   obtener  
siempre  el  mimo  resultado.  
• Debe   ser   finito   en   el   tiempo,   lo   cual   significa   que   debe   terminar   en   algún  
momento.  
• La   definición   de   algoritmo   se   debe   constituir   por   las   siguientes   tres   partes:  
Entrada,  proceso  y  salida.  
 

Datos y tipos de datos

La  función  esencial  de  toda  computadora  es  el  manejo  de  la  información  o  datos.  Estos  
datos  pueden  ser  las  calificaciones  de  una  clase,  las  ventas  en  una  estación  de  gasolina,  
las  ventas  en  un  supermercado  etc.      Las  computadoras  pueden  trabajar  con  diferentes  
tipos  de  datos  y  son  los  algoritmos  y  los  programas  correspondientes  los  que  operan  
sobre  dichos  datos.  
 
Un   tipo   de   dato   es   un   rango   de   valores   que   son   aceptados   por   un   computador.     Los  
tipos  de  datos  simples  son  los  siguientes:  
 
 

Datos  

Numérico   Lógico   Carácter  

Real   Entero  

 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Datos numéricos

Estos  tipos  de  datos  se  representan  de  dos  formas  en  un  computador:  
 
• Enteros  (Integer):  Este  tipo  de  datos  es  un  subconjunto  finito  de  los  números  
enteros   y   son   números   que   están   comprendidos   dentro   del   rango   -­‐32768   y  
+32768   (los   números   por   fuera   de   éste   rango   se   representan   como   números  
reales),   no   tienen   componentes   fraccionarios   o   decimales   y   pueden   ser  
positivos  o  negativos.  
 
Ejemplo  de  estos  números  son:  
 
8   -­‐14   842  
4   35   -­‐45  
54   66   76  
-­‐45   99   345  
 
• Reales:   El   tipo   real   consiste   en   un   subconjunto   de   los   números   reales.     Estos  
números   siempre   tienen   una   parte   entera     y   una   parte   fraccionaria   o   decimal   y  
pueden  ser  positivos  o  negativos.  
 
Ejemplo  de  estos  números  son:  
 
4.56   345766.67  
6.09   4.0  
-­‐8.99   67.567  
-­‐45.56   0.566  
 

Datos lógicos (booleanos)

Este  tipo  de  datos  es  aquel  solo  puede  tomar  uno  de  dos  valores:  Verdadero  (true)  y  
falso  (false).  
 

Datos tipo carácter y tipo cadena

Este  tipo  de  datos    es  un  conjunto  finito  de  caracteres  que  la  computadora  reconoce.    
Estos   caracteres   no   son   estándar   entre   computadoras,   sin   embargo   la   mayoría  
reconoce  los  siguientes:  
 
• Carácter  numérico  (1,  2,  3,…..  9,  0)  
• Carácter  alfabético  (a,  b,  c,  d,……….z)  (A,  B,  C,  D,……,Z)    
   
PROGRAMA  DE  INGENIERÍA  
 
 
• Carácter  especial.  (  +,  -­‐,  *,  /,  .,  ;,  <,  >,  $,  (,  ),  …..).  
 
Nota:  Un  dato  tipo  carácter,  contiene  solo  un  carácter.  
Una   cadena   o   string   de   caracteres   son   aquellos   conjuntos   de   caracteres   que   están  
delimitados   por   una   comilla   simple   o   comilla   doble   (según   el   tipo   de   lenguaje   de  
programación).  
 
Ejemplo  de  éste  tipo  de  datos:  
 
“Bienvenidos  al  curso  de  programación  I”  
“Programa  de  Ingeniería  Civil  a  distancia”  
´Buenos  días´  
 

Variables

Una   variable   es   un   objeto   o   partida   de   datos   cuyo   valor   puede   cambiar   durante   el  
desarrollo  del  algoritmo  del  programa  (JOYANES,  1996,  P.  17).  
 
Dependiendo  del  lenguaje,  hay  diferentes  tipos  de  variables  tales  como  enteras,  reales,  
carácter,  lógica  y  de  cadena.  
 
Una  variable  definida  como  entera  solo  podrá  tomar  valores  enteros;  una  variable  de  
carácter  solo  podrá  tomar  como  valores  los  caracteres,  pues  de  lo  contrario  al  no  ser  
correspondiente  el  valor  de  la  variable  con  el  tipo  de  variable,  se  producirá  un  error.  
Ejemplo,   se   ha   definido   la   variable   a   como   una   variable   tipo   entero,   lo   cual   significa  
que  podrá  tomar  valores  numéricos  entre  -­‐32768  y  +32768  (sin  puntos  ni  comas)  en  
cualquier  estado  de  ejecución  del  programa.  
 
a           a  
 
8     8482  
 
  Valor de la variable a en un momento Valor de la variable a en un
  momento posterior
 

Constantes

Una  constante  es  una  partida  de  datos  (objetos)  que  permanecen  sin  cambio  durante  
todo   el   desarrollo   del   algoritmo   o   durante   la   ejecución   del   programa   (JOYANES,  
1996,P.  17).  
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Dependiendo  del  lenguaje  hay  diferentes  tipos  de  constantes:  enteras,  reales,  carácter,  
lógica  y  de  cadena.  
 
Ejemplo,   se   ha   definido   a   X   =   5   como   una   constante   tipo   entero,   lo   cual   significa   que   X  
siempre  mantendrá  este  valor  de  5  en  cualquier  estado  de  ejecución  del  programa.  
 

Lenguajes algorítmicos e informáticos

Los   lenguajes   algorítmicos   son   los   utilizados   para   representar   gráfica   o  


numéricamente   un   algoritmo   antes   de   ser   llevados   a   un   lenguaje   de   programación  
(Lenguaje   informático),   su   utilización   y   ventaja   de   aplicación   radica   en   que   ésta  
representación   permite   comprender   la   solución   sistémica   del   problema   antes   de   ser  
codificada  en  el  lenguaje  de  programación.  
 
Los  métodos  más  usados  para  la  representación  de  algoritmos  son:  
 

Diagramas de flujo

Este  lenguaje  utiliza  diversos  símbolos  (cajas)  para  representar  cada  una  de  las  etapas  
de  la  solución  de  un  problema  unidos  por  una    flechas  que  indican  la  secuencia  en  que  
se  deben  ejecutar  (líneas  de  flujo).  
 
 
NOMBRE SÍMBOLO FUNCIÓN

Representa el comienzo, «inicio», y el


final, «fin» de un programa. Puede
Terminal representar también una parada o
interrupción programada que sea
necesario realizar en un programa.
Cualquier tipo de introducción de datos
en la memoria desde los periféricos,
Entrada/Salida «entrada»,
o registro de la información procesada
en un periférico, «salida».
Cualquier tipo de operación que pueda
originar cambio de valor, formato o
Proceso posición de la información almacenada
en memoria, operaciones aritméticas,
de transferencia, etc..
   
PROGRAMA  DE  INGENIERÍA  
 
 
Indica operaciones lógicas o de
comparación entre datos —
normalmente dos— y en función del
resultado de la misma determina cuál
Decisión no   de los distintos caminos alternativos
del programa se debe seguir;
si   normalmente tiene dos salidas —
respuestas SI o NO— pero puede
tener tres o más, según los casos.
En función del resultado de la
Decisión comparación se seguirá uno de los
múltiple diferentes caminos de acuerdo con
dicho resultado.
Sirve para enlazar dos partes
cualesquiera de un ordinograma a
través de un conector en la salida y
Conector
otro conector en la entrada. Se refiere
a la conexión en la misma página del
diagrama.
Indicador de
Indica el sentido de ejecución de las
dirección o línea
operaciones.
de flujo

Línea conectora Sirve de unión entre dos símbolos.

Conexión entre dos puntos del


Conector organigrama situado en páginas
diferentes.

Una subrutina es un módulo


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

Se utiliza en ocasiones en lugar del


Pantalla
símbolo de E/S.

Se utiliza en ocasiones en lugar del


símbolo de E/S.
Impresora

Se utiliza en ocasiones en lugar del


símbolo de E/S).
Teclado

Los símbolos utilizados, han sido normalizados por el Instituto Norteamericano de Normalización –
ANSI.
   
PROGRAMA  DE  INGENIERÍA  
 
 
Reglas  a  tener  en  cuenta  cuando  se  diseña  un  diagrama  de  flujo:  
 
• Debe   existir   el   símbolo   de   inicio   y   el   símbolo     final     dentro   del   diagrama   de  
flujo.  
 
• El  flujo  y  recorrido  del  algoritmo  se  sigue  de  arriba  hacia  abajo.  
 
• Dentro   de   los   símbolos   no   se   utilizan   términos   que   son   empleados   en   el  
lenguaje  de  programación.  
 
• Los   símbolos   tipo   líneas,   siempre   deben   ser   verticales   u   horizontales,   nunca  
diagonales.  
 

Diagrama Nassi-Schneiderman (N-S)

En  este  lenguaje  a  diferencia  del  diagrama  de  flujo,  se  omiten  las  flechas  de  unión  y  las  
cajas  son  contiguas.    Las  acciones  que  son  sucesivas  se  escriben  en  cajas  sucesivas  y  
como  en  los  diagramas  de  flujo,  se  pueden  escribir  diferentes  acciones  en  una  caja4.  
 
Un  algoritmo  se  representa  de  la  siguiente  manera;  
 
 
Nombre del algoritmo

<Acción No. 1>

<Acción No. 2>

<Acción No. 3>

<Acción No. n>

fin

 
 
 
 
                                                                                                               
4
JOYANES, Aguilar luis. Fundamentos de Programación, algoritmos y estructura de datos. Editorial McGrawHill, 1996.
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
La estructura condicional en un diagrama de La estructura condicional en un
flujo diagrama Nassi-Shneiderman
   
 
  Si   No  
  ¿Condición ¿Condición?  
  ?
 
     Si            No  
   
   
Acción No. Acción No.    
1 2
<Acciones>  
  <Acciones>  
 
 
 
 
 
 
 
Pseudocódigo:   El   lenguaje   pseudocódigo   es   un   lenguaje   de   especificación   de  
algoritmos    y  se  utiliza  como  un  paso  previo  a  la  codificación  final  en  un  lenguaje  de  
programación,   éste   lenguaje   mezcla   el   lenguaje   de   programación   con   el   lenguaje  
natural   que   se   emplea   dentro   de   la   programación   estructurada   para   realizar   el   diseño  
de  un  programa.  
 
Ejemplo:  
 
Calcular  la  suma  de  dos  números  enteros.  
 
Start  
  //suma  de  dos  números  enteros  
  Read  numero1,  número2  
  Suma  ß  número1  +  número2  
  Write  suma  
End  
 
 
Fórmulas:   La   representación   de   la   solución   de   un   problema   en   éste   lenguaje   tiene  
relevancia  en  ciertas  soluciones  algorítmicas  debido  a  que  no  siempre  un  la  solución  
de   un   problema   se   pude   representar   con   una   simple   fórmula.     Ejemplo,   la   fórmula  
para   la   solución   de   una   función   cuadrática   o   función   de   segundo   grado   es   una   función  
polinómica  definida  como:  
F(x)  =  ax2  +  bx  +  c  
   
PROGRAMA  DE  INGENIERÍA  
 
 
El  procedimiento  algorítmico  que  se  debe  ejecutar  es:  
 
1) Eleve    a  al  cuadrado  x.  
2) Toma  b;  multiplicar  por  x  
3) Multiplique   a   por   el   resultado   de   elevar   x   al   cuadrado;   sumar   el   resultado   de  
multiplicar  b  por  x  y  sumar  c.  
 
Es  de  notar  que  los  métodos  de  fórmulas  y  lenguaje  natural  no  suelen  ser  fáciles  de  
transformar  en  programas.  
 
Lenguaje   natural:   Este   tipo   de   lenguaje   se   utiliza   muy   poco   en   la   construcción   de  
algoritmos  debido  a  que  es  más  difícil  de  transformar  en  un  lenguaje  de  computador  
por  la  ambigüedad  que  se  presenta  en  la  definición  de  sus  términos.  
 
 

Desarrollo de algoritmos

El   desarrollo   o   diseño   de   algoritmos   es   un   procedimiento     que   consiste   en   llevar   paso  


a  paso  las  etapas  o  fases  que  se  deben  dar  para    la  solución  de  un  problema,  más  aun  
cuando  el  contexto  de  su  solución  se  busca  hacer  a  través  de  un  computador  que  no  
tiene  la  capacidad  por  si  solo  de  llegar  a  una  solución  y  que  requiere  de  una  serie  de  
instrucciones  que  le  indiquen  cada  uno  de  los  procesos  a  seguir  (algoritmo).  
 
El  desarrollo  del  algoritmo  debe  responder  a  la  necesidad  de  determinar  cómo  hace  el  
programa  la  tarea  solicitada.  Los  métodos  más    eficaces  para  el  proceso  de  diseño  se  
basan   en   el   conocido   por   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  
esto   subproblemas   en   otros   de   nivel   más   bajo   hasta   que   pueda   ser   implementada   una    
solución   en   la   computadora.     Este   método   se   conoce   técnicamente   como   diseño  
descendente  (top  down)  o  modular5.  
 
En  el  desarrollo  modular  de  algoritmos,  cada  módulo  ejecuta  una  actividad  o  tarea  y  
se   codifican   independientemente   de   los   otros   módulos,   estas   tareas   puede   ser  
entrada,   salida,   manipulación   de   datos,   control   a   otros   módulos   o   combinación   de  
éstos.    Hay  que  tener  en  cuenta  que  cuando  cada  módulo  termina  su  tarea,  devuelve  el  
control  a  un    módulo  denominado  programa  principal.  

Lenguajes de programación

En   el   desarrollo   de   un   programa   de   computador   una   vez   realizado   el   algoritmo   que  


conlleva  a  la  solución  del  problema,  éste  debe  ser  codificado  para  que  el  procesador  
                                                                                                               
5
JOYANES, Aguilar Luis. Programación en algoritmos, estructura de datos y objetos, algoritmos y estructura de datos.
Editorial McGrawHill, 2000.
   
PROGRAMA  DE  INGENIERÍA  
 
 
del   computador   sea   capaz   de   interpretarlo   y   generar   los   resultados   de   una   manera  
eficaz   y   eficiente.     Esta   codificación   que   es   representada   en   un   lenguaje   de  
programación   (Ej.   C++,   Java,   Delphi   etc)   contiene   una   serie   de   palabras,   símbolos   y  
reglas   sintácticas   propias   de   cada   programa   que   permitan   al   procesador   del  
computador   comprender   las   instrucciones   en   cada   paso   y   realizar   las   operaciones  
correspondientes   que   son   definidas   en   el   diseño   del   algoritmo.     Estas   codificaciones  
propias  de  cada  lenguaje  de  programación  se  les  denominan  programa.      
 
A   continuación   se   describen   los   principales   tipos   de   lenguajes   de   programación   que  
son  utilizados  en  la  solución  de  problemas  a  través  de  una  computadora.  
 

Lenguaje máquina

En   este   lenguaje   de   programación,   los   programas   están   escritos   directamente   en   un  


código   que   es   inteligible   por   el   computador;   cada   instrucción   está   representada   por  
una   cadenas   binarias   (cadenas   de   caracteres   que     solo   contienen   los   dígitos   1   y   0).      
Estas   cadenas   de   caracteres   pueden   estar   especificando   operaciones,   posiciones   de  
memoria  en  el  cual  se  almacenaran  los  datos  o  las    instrucciones  que  se  encuentran  en  
ejecución  etc.      
 
Este   lenguaje   de   programación   en   la   actualidad   es   muy   poco     práctico   por   las  
siguientes  razones:  
 
• Dificultad  de  verificar  y  poner  a  punto  un  programa.  
• Son  programas  que  solo  se  ejecutan  en  el  computador  donde  fue  desarrollado.  
• La  codificación  es  muy  compleja  y  tediosa.  
 

Lenguaje de bajo nivel

Estos   lenguajes   a   diferencia   del   lenguaje   máquina   son   más   fáciles   de   utilizar   y   más  
fáciles   de   codificar,   sin   embargo   también   siguen   dependiendo   de   la   máquina  
(computador)   donde   es   creado   y   ejecutado   el   programa.     El   lenguaje   más   utilizado  
para  la  codificación  de  programas  en  éste  nivel  es  el  ensamblador  y  para  ello  requiere  
inicialmente  que  el  programa  sea  escrito  en  éste  lenguaje  (programa  fuente)  y    luego  
éste  es  traducido  al  lenguaje  de  máquina  (programa  objeto)  a  través  de  un  programa  
llamado  ensamblador  (assembler).  Nota:  No  se  debe  confundir  el  programa  assembler    
(Que   hace   la   traducción   del   programa   fuente   al   programa   objeto)     con   el   lenguaje  
ensamblador   en   el   cual   es   escrito   las   instrucciones   del   programa   (Ver   Figura   N°   5.-­‐  
Proceso  de  traducción  de  un  programa  fuente  a  un  programa  objeto).  
 
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
 
Programa fuente escrito Programa     Programa objeto en
en lenguaje Ensamblador código máquina
ASSEMBLER  
 
Figura N° 5.- Proceso de traducción de un programa fuente a un programa objeto.

 
Es   de   notar   que   éste   tipo   de   lenguajes   en   la   actualidad   tiene   aplicaciones   muy  
reducidas,  como  son  aplicaciones  en  tiempo  real,  dispositivos  electrónicos,  control  de  
procesos  en  la  industria  etc.  
 

Lenguaje de alto nivel

El  lenguaje  de  alto  nivel  es  el  más  utilizado  hoy  en  día  por  los  programadores,  pues  se  
escriben  y  entienden    de  una  manera  mucho  más  fácil  que  un  programa  en  lenguaje  
máquina   o   ensamblador.     Adicional   a   esto,   los   lenguajes   escritos   en   alto   nivel   son  
independiente   de   la   máquina,   lo   cual   quiere   decir   que   una   vez   codificado   se   puede  
ejecutar  en  cualquier  computador    (con  pocas  o  ninguna  modificación)  lo  que  los  hace  
transportables   y   versátiles   en   su   utilización.     Como   ventajas   podemos   enunciar   las  
siguientes:  
 
• Las   reglas   sintácticas   de   escritura   en   estos   tipos   de   programas   son   muy  
similares  al  lenguaje  humano.  
• Las   modificaciones   que   se   requieran   hacer   en   un   programa   para   que   pueda  
quedar  a  punto  son  más  fáciles  de  desarrollar.  
• La   formación   de   un   programador   en   éste   tipo   de   lenguajes   es   mucho   menor   en  
razón   a   que   las   reglas   sintácticas,   símbolos   y   palabras   son   más   fáciles   de  
comprender.  
 
Y  como  desventajas  frente  a  un  lenguaje  máquina  y  de  bajo  nivel,  se  pueden  destacar  
las  siguientes:  
 
• Aumentan  la  ocupación  de  datos  en  la  memoria  principal  del  computador.  
• El   tiempo   de   ejecución   es   mucho   mayor   al   no   estar   escritos   directamente   en   el  
lenguaje  máquina.  
 
Los   programas   desarrollados   en   un   lenguaje   de   alto   nivel   requieren   al   igual   que   los  
escritos  a  bajo  nivel  de  unos  programas  traductores    que  para  éste  caso  se  denominan  
compiladores  o  intérpretes.  
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Compiladores

Un   compilador   es   un   programa   que   se   encarga   de   traducir   un   programa   fuente   que   es  


escrito  en  un  lenguaje  de  alto  nivel  en  un  programa  objeto.  
 

Intérprete

Un  intérprete  es  un  programa  que  toma  cada  sentencia  del  programa  fuente  la  traduce  
y  ejecuta  línea  por  línea.  
 
 

Sistemas numéricos

Los  sistemas  numéricos  son  un  conjunto  de  símbolos  (dígitos)  que  son  utilizados  para  
la  representación  de  cantidades.    El  sistema  que  utiliza  símbolos  como  0,  1,  2,  3,  4,  5,  5,  
7,   8,   9   es   el   sistema   decimal   y   una     cadena   determinada   de   éstos     representar   una  
cantidad  que  está  determinada  por  el  símbolo  y  la  posición  que  ocupa  en  la  cadena.  
 
Considérese   el   número   digital   482.     El   2   está   en   la   posición   o   lugar   de   las   unidades,   el  
8   está   en   la   posición   de   las   decenas   y   por     tanto   las   ocho   decenas   significan   80  
unidades    y  el  4  de  la  posición  de  las  centenas  ó  400  unidades.    Sumando  400  +  80  +  2  
se  obtiene  el  número  decimal  842.    Al  sistema  de  numeración  decimal  también  se  le  
llama  sistema  de  base  10  por  tener  10  símbolos  para  su  representación.  
 
Los  sistemas  de  numeración  que  poseen  2  símbolos  (1,  0)  para  su  representación  se  
denominan  binarios  (base  2)  y  son  ampliamente  utilizados  en  la  electrónica  digital  y  
en  los  computadores.    Los  números  del  sistema  hexadecimal  (base  16)  y  octal  (base  8)  
son  utilizados  para  representar  grupos  de  dígitos  binarios.    
   
Para  evitar  confusiones  en  la  representación  de  un  número,  se  acostumbra  a  colocar  
en   su   extrema   derecha,   el   dígito   que   representa   la   base   (Ab:   Donde   A   es   el   número   y   b  
es  la  base)  
 
Ejemplo:         45610  (número  decimal)  
      4568  (número  octal)  
      45616  (número  hexadecimal)  
 
A  continuación  (Ver  Tabla  No.  1.-­‐  Conversión  entre  sistemas  numéricos)  se  hace  una  
representación   numérica   de   los   primeros   15   números   entre   los   sistemas   decimal,  
octal  y  hexadecimal.  
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Sistema   Sistema   Sistema   Sistemas  
decimal   binario   octal   hexadecimal  
0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Tabla No. 1.- Conversión entre sistemas numéricos.

Números binarios

El  sistema  de  numeración  binaria  que  utiliza    solo  dos  símbolos  (0,  1)  se  dice  que  tiene  
una   raíz   2     y   comúnmente   se   denomina   sistema   de   numeración   en   base   2.   A   cada  
dígito  binario  se  le  denomina  bit.    
 
En  la  siguiente  tabla  (Ver  Tabla  No.  2.-­‐  Representación  binaria)    se  ilustra  el  número  
binario  y  a  la  izquierda    su  equivalente  en  decimal.      
 
 
 
 
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
 
Potencia de 2 24 23 22 21 20 NÚMERO
Valor de la posición* 16 8 4 2 1 DECIMAL  
0 0
* El valor de la posición
1 1
resulta de tomar la base 2 y
elevarla a la potencia. 1 0 2
Potencia cuyo valor 1 1 3
depende de la posición del
dígito que es tomada de 1 0 0 4
derecha a izquierda e 1 0 1 5
iniciando desde 0.
1 1 0 6
 
1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
1 0 0 0 0 16
1 0 0 0 1 17
1 0 0 1 0 18
1 0 0 1 1 19

Tabla No. 2.- Representación binaria

A  partir  de  la  tabla  anterior,  convertir  el  número  10110  es  muy  sencillo  y  se  realiza  de  
la  siguiente  manera.  
 
Potencia  de  2   24   23   22   21   20  
Valor  de  la  posición*   16   8   4   2   1  
Binario   1   0   1   1   0  
Decimal   16   0   4   2   0  
 
El   primer     valor   decimal   (De   derecha   a   izquierda)   se   obtiene   de   multiplicar   el   número  
binario  por  el  valor  de  la  posición.    0    =  0  *  1  
 
El   segundo     valor   decimal   (De   derecha   a   izquierda)   se   obtiene   de   multiplicar   el  
número  binario  por  el  valor  de  la  posición.    2    =  1  *  2  
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
El  tercer    valor  decimal  (De  derecha  a  izquierda)  se  obtiene  de  multiplicar  el  número  
binario  por  el  valor  de  la  posición.    4    =  1  *  2.      
 
Y  así  sucesivamente  hasta  la  operación  con  el    último  dígito  binario.  
 
Ahora   cada   resultado   de   las   operaciones   anteriores   se   suma   para   obtener   el  
respectivo  número  decimal.  
 
16  +  0  +  4  +  2+  0  =  22.  
 
Considerar  el  número  binario  1011011  para  realizar  el  mismo  procedimiento  
 
Potencia  de  2   26   25   24   23   22   21   20  
Valor  de  la  posición*   64   32   16   8   4   2   1  
Binario   1   0   1   1   0   1   1  
Decimal   64   0   16   8   0   2   1  
 
 
64  +  0  +  16  +  8  +  0  +  2  +  1  =  91.  
 
 
En   el   siguiente   procedimiento   se   explicará   cómo   convertir   un   número   decimal   a  
binario.    Considerar  el  No.  37.  
 
 
3710   ÷   2   18   Residuo  de  1              
                     
18   ÷   2   9   Residuo  de  0              
                     
9   ÷   2   4   Residuo  de  1              
                     
4   ÷   2   2   Residuo  de  0              
                     
2   ÷   2   1   Residuo  de  0              
                     
1   ÷   2   1   Residuo  de  1              
                     

        3710    =   1   0   0   1   0   12  
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Números hexadecimales

El  sistema  de  numeración  hexadecimal  se  denomina  sistema  de  numeración  de  base  
16  y  utiliza  los  símbolos  0-­‐9  y  A,  B,  C,  D,  E,  F  (La  letra  A  se  utiliza  para  representar  el  
10,  la  B  para  el  11,  la  C  para  el  12,  la  D  para  el  13,  la  E  para  el  14  y  la  F  para  el  15)  
como   se   puede   apreciar   en   la   siguiente   tabla   (Ver   Tabla   No.   3.-­‐   Conversión   entre  
sistemas  numéricos  0-­‐31).  
 
 
Sistema Sistema Sistema Sistema Sistema Sistema
decimal binario hexadecimal decimal binario hexadecimal
0 0000 0 16 10000 10
1 0001 1 17 10001 11
2 0010 2 18 10010 12
3 0011 3 19 10011 13
4 0100 4 20 10100 14
5 0101 5 21 10101 15
6 0110 6 22 10110 16
7 0111 7 23 10111 17
8 1000 8 24 11000 18
9 1001 9 25 11001 19
10 1010 A 26 11010 1A
11 1011 B 27 11011 1B
12 1100 C 28 11100 1C
13 1101 D 29 11101 1D
14 1110 E 30 11110 1E
15 1111 F 31 11111 1F

Tabla No. 3.- Conversión entre sistemas numéricos 0-31

 
Como   se   observa,   la   línea   que   corresponde   al   No.   16   en   decimal   equivale   al   10   en  
hexadecimal   (1610   =   1016)   lo   que     significa   que   el   1   pasa   a   ser   las   primeras   16  
unidades  y  el  0  significa  cero  unidades.  
 
Para  convertir  el  número  2B516  en  decimal  se  realiza  el  siguiente  proceso.  
 
Potencia  de  16   162   161   160  
Valor  de  la  posición*   256   16   1  
Hexadecimal   2   B   5  
   
   
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
 
  256   16   1  
  x2   x11   x5  
  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  
Decimal   512   176   5  
 
Ahora   cada   resultado   de   las   operaciones   anteriores   se   suma   para   obtener   el  
respectivo  número  decimal.  
 
512  +  176  +  5  =  69310.  
 
2B516  =  69310  
 
Considerar  el  número  binario  8D916  para  realizar  el  mismo  procedimiento  
 
Potencia  de  16   162   161   160  
Valor  de  la  posición*   256   16   1  
Hexadecimal   8   D   9  
       
  256   16   1  
  X8   x13(D)   X9  
  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  
Decimal   2048   208   9  
 
2048  +  208  +  9    =  2265.  
 
8D916  =  226510  
 
En   el   siguiente   procedimiento   se   explicará   cómo   convertir   un   número   decimal   a  
hexadecimal.    Considerar  el  No.  43.  
             
             
             
4310   ÷   16   2   Residuo  de  11      
             
2   ÷   16   0   Residuo  de  2      
             
        4310    =   2   B16  
 
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
Números octales

El   sistema   de   numeración   octal   se   denomina   sistema   de   numeración   de   base   8   y  


utiliza  los  dígitos  0,  1,  2,  3,  4,  5,  6,  7.      Es  un  sistema  muy  utilizado  para  pasar  números  
binarios  a  octales  en  razón  a  que  los  primeros  pueden  llegar  a  ser  muy  difíciles  de  leer.  
La   conversión   de   binario   en   octal   se   lleva   a   cabo   fácilmente   por   la   partición   del  
número  binario  en  grupos  de  tres  dígitos  cada  uno,  iniciando  de  derecha  a  izquierda  y  
convirtiendo  esta  agrupación  en  números  octales  de  acuerdo  a  la  siguiente  tabla  (Ver  
Tabla  No.  4.-­‐  Conversión  binaria  –  octal):  
 
Sistema Sistema
binario octal
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Tabla No. 4.- Conversión binaria - octal

 El   siguiente   ejemplo   ilustra   el   procedimiento   para   convertir   el   número   binario  


10110101111001  en  octal.  
 
(10   110   101   111   001)2   =   265718  
2   6   5   7   1      
 
La  conversión  de  binario  a  hexadecimal  es  similar,  excepto  que  el  número  binario  se  
divide  en  grupos  de  cuatro  dígitos.  
 
(10   1101   0111   1001)2   =   2D7916  
2   D   7   9      
 

Código ASCII (American Standard Code For Information Interchange)

El  código  Estadounidense    Estándar    para  Intercambio  de  Información  (ASCII),  es  un  
juego   de   256   caracteres   (del   0   a   255)   que   es   utilizado   para   representar   los   caracteres  
en  el  computador,  donde  los  primeros  128  (del  0  al  127)  son  estándar  y  los  restantes  
(del  128  al  255)  son  los  llamados  extendidos.  
   
PROGRAMA  DE  INGENIERÍA  
 
 
 

 
6
El código ASCII

 
La  clasificación  consiste  en  asignar  a  cada  carácter  (letra,  número,  símbolo,  signo  de  
puntuación,  operación  etc.)  un  número  en  forma  binaria  y  almacenar  éste  en  un  byte  u  
octeto.  
Un   byte   u   octeto   es   equivalente   a   28   bits   que   conjugados   equivale   a   256  
combinaciones  (Del  0  al  255)    y  cada  combinación  representa  un  carácter  en  el  Código  
ASCII.  
 
Véase  la  siguiente  combinación:  
 
(0   1   0   1   1   0   1   1)   =  91  
8  bits  =    byte    
 
El  número  91  en  el  código  ASCII  =  [  
   
                                                                                                               
6
Fuente: http://www.elcodigoascii.com.ar/
   
PROGRAMA  DE  INGENIERÍA  
 
 
Operaciones matemáticas y lógicas

Antes   de   iniciar   con   la   definición   y   ejemplos   de   los     tipos   de   operaciones   matemáticas  


y   lógicas,   se   hace   necesario   precisar   que   los   operadores   son   signos   que   permiten  
definir   los   procesos   mediante   los   cuales   se   deben   ejecutar   una   serie   de   pasos  
establecidos  para  calcular  el  resultado  de  los  datos.  Esto  operadores  en  aritmética  son  
conocidos  como  la  suma  (+),  la  resta  (-­‐),  la  multiplicación  (*),  la  división  (/)  etc.,  en  las  
operaciones  de  relación  son  el  menor  que  (<),  mayor  que  (>),  mayor  o  igual  que  (<=)  
etc.  
 
Existen   diferentes   tipos   de   operadores   y   éstos   dependen   del   resultado   que   quiera  
obtener.    Si  le  resultado  es  un  número,  entonces  se  usan  operadores  aritméticos;  si  
el  resultado  es  un  valor  de  verdad  o  falsedad,  entonces  los  operadores  que  se  usan  son  
lógicos  o  de  relación.  
 

Operadores aritméticos

Son  los  que  indican  las  operaciones  aritméticas  básicas  y  las  expresiones  aritméticas  
son   análogas   a   las   fórmulas   matemáticas   donde   las   variables   y   las   constantes   son  
procesadas  utilizando  los  operadores.    Considérese  la  siguiente  expresión  aritmética:  
 
85  –  5  
 
El   símbolo   –   representa   el   procedimiento   de   la   resta   y   se   conoce   como   operador  
aritmético;  los  valores  numéricos  como  el  85  y  el  5  se  llaman  operados.    El  valor  de  
sustraer  85  menos  5,  esto  es  80    se  conoce  como  resultado  de  la  operación.  
 
Los  operadores  aritméticos  se  muestran  a  continuación.  
 
Símbolo Operador
() Paréntesis
^ Exponente
* Multiplicación
/ División
+ Suma
- Resta
Div División entera
Mod Módulo (residuo)
 
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
 
Tener  en  cuenta:  
 
• Los   operadores   aritméticos   solo   se   pueden   aplicar   a   datos   tipo   numéricos  
(Enteros  y  reales).      
• Todos   los   operadores   aritméticos   son   binarios,   lo   cual   quiere   decir   que   para  
realizar  una  operación  se  requiere  de  dos  números  (operándos)  
 

Operadores relacionales

Los  operadores  relacionales  o  de  relación  son  aquellos  que  se  utilizan  para  expresar  
condiciones:   el   símbolo   >   (Mayor   que)   es   un   operador   relacional,   ya   que   describe   una  
posible  relación  que  ocurre  entre  dos  datos  o  expresiones.  
 
En   la  siguiente   tabla   (Ver  Tabla  No.  5.-­‐   Operadores   de   relación)   se  representan  la  lista  
de  los  operadores  de  relación:  
 
Operador Significado
() Orden de procedencia
= Igual
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Diferente

Tabla No. 5.- Operadores de relación.

 
Tener  en  cuenta:  
 
• Los   operadores   de   relación   se   pueden   aplicar   a   los   cuatro   tipos   de   datos:  
enteros,  reales,  alfanuméricos  y  lógicos.  
• Todos   los   operadores   relacionales   son   binarios,   lo   cual   quiere   decir   que   para  
realizar  una  operación  se  requiere  de  dos  números  (operándos)  
 
El  formato  general  para  representar  una  comparación  es:  
 
Expresión  1  operador  de  relación     Expresión  2  
 
Y  el  resultado  de  la  operación  será  verdadero  o  falso.  
   
PROGRAMA  DE  INGENIERÍA  
 
 
Ejemplo 1

Número  1  =  600  
Número  2  =  800  
 
Número  1  <  Número  2,    ¿es  falso  o  verdadero?  
 
Respuesta:  Verdadero,  ya  que  es  cierto  que  el  valor  de  600  es  menor  que  800.  
 

Ejemplo 2

 
(5*3)  >  (6+20),  ¿es  falso  o  verdadero?  
 
Respuesta:   Falso,   en   razón   a   que   el   resultado   de   multiplicar   5*3   es   15   y   la   suma   de  
6+20  es  igual  a  26,  luego  15  es  menor  que  26.  
 
Es   de   aclarar   que   en   el   primer   ejemplo   el   operador   trabajó   directamente   sobre   dos  
datos   (Número   1   y   Número   2),   en   el   segundo   lo   hace   sobre   una   combinación   de  
operadores  denominada  expresión  aritmética.    
 

Operadores lógicos

Los  operadores  lógicos  o  boleanos  en  honor  al  británico  George  Boole  que  desarrollo  
el   Algebra   Lógica   de   Boole,   permiten   relaciones   lógicas   (si/no)   y   sirven   para  
representar   condiciones   compuestas.   En   la   tabla   (Ver   Tabla   No.   6.-­‐   Operadores  
lógicos)  se  representan  la  lista  de  los  operadores  lógicos:  
 
Operador lógico Expresión lógica Significado
NOT (no) NOT P Negación de P

AND (y) P ADN Q Conjunción de P y Q

OR (o) P OR Q Disyunción de P o Q.

Tabla No. 6.- Operadores lógicos.

En  la  tabla  No.  6,  se  debe  entender  P  como  el  nombre  de  una  proposición;  se  concibe  
una  proposición  como  un  enunciado  con  valor  de  verdad  o  falsedad.    Ejemplo.  
 
P:  Hoy  es  lunes.  
 
   
PROGRAMA  DE  INGENIERÍA  
 
 
P   es   cierto   si   efectivamente   el   día   lunes   corresponde   con   el   día   actual,   en   cuyo   caso   el  
hecho   que   el   enunciado   acuerde   con   los   hechos   es   verdadero.     En     caso   contrario  
tendrá  un  valor  de  falso.  
 
Las   tablas   de   verdad   representan   las   diferentes   posibilidades   de   resultado   de  
combinación  de  dos  proposiciones  (P,  Q)  (Ver  Tabla  No.  7.-­‐  Tablas  de  verdad).  
 
NEGACIÓN CONJUNCIÓN DISYUNCIÓN
Proposición Expresión Proposiciones Expresión Proposiciones Expresión
P NOT P P Q P AND Q P Q P OR Q
V F F F F F F F
F V F V F F V V
V F F V F V
V V V V V V

Tabla No. 7.- Tablas de verdad.

Tener  en  cuenta:  


 
• A  excepción  del  operador  NOT,  los  demás  operadores  son  binarios.  
• NOT  es  un  operador  unario,  es  decir  que  aplica  sobre  un  solo  operando.  
 
 

Resumen

Para   poder   llegar   a   una   solución   sistémica   computarizada   de   un   problema   real,   se  


hace   necesario   abordar   diferentes   conceptos   que   permitan   interpretar   el  
funcionamiento  de  la  lógica  computacional  y  la  lógica  procedimental  para  la  solución  
de  problemas.    Para  tal  efecto  es  importante  tener  claridad  de  cada  una  de  las  etapas  
que   conducen   a   la   solución   de   un   problema     y     los   elementos   lógicos   y  
computacionales  que  inciden  en  su  solución.    En  el  primer  tema  se  hace  un  recorrido  
histórico   de   los   diferentes   lenguajes   de   programación   hasta   nuestra   época,  
destacando   los   hitos   más   importantes   que   han   conllevado   a   las   herramientas   de  
desarrollo  computacional  moderna.  El  segundo  tema  deriva  la  comprensión  teórica  y  
práctica  de  los  datos  y  tipos  de  datos  en  un  sistema  informático,  el  tercer  tema  aborda  
la    solución  de  un  un  problema  en  los  diferentes    lenguajes  algorítmicos  (Pseudcódigo,  
Diagrama   de   Flujo   y   Nassi   –Schneiderman),   el   cuarto   tema   deriva   su   explicación   en   la  
traducción   de   un   programa   fuente   (creado   por   el   usuario)   a   un   programa   objeto  
(Interpretado   por   la   máquina)   en   los   3   tipos   de   lenguaje   (Lenguaje   Máquina,   lenguaje  
bajo  nivel  y  lenguaje  de  alto  nivel).    El  cuarto  tema  deriva  su  fundamentación  en  los  
sistemas   numéricos,   su   interpretación,   su   transformación   y   equivalencia   entre   los  
mismos   (Binario,   octal,   decimal,   hexadecimal)   para   comprender   su   aplicabilidad   en  
   
PROGRAMA  DE  INGENIERÍA  
 
 
los   sistemas   computacionales   y   finalmente   se   abordan   el   tema   sobre   cómo   los   datos   y  
las  operaciones  numéricas  son  priorizadas  e  interpretadas  por  un  computador  cuando  
el  programa  desarrollado  por  el  usuario  es  ejecutado  por  la  máquina.  
   

Bibliografía

• JOYANES   AGUILAR   LUIS.     Fundamentos   de   programación,   segunda   edición.  


McGrawHill,  España,  1996.  
 
• PIMIENTO   CARDENAS   WILSON   MAURICIO.   Fundamentos   de   lógica   para  
programación  de  computadores,  primera  edición.  Universidad  Piloto  de  Colombia,  
Bogotá  D.C.  2009.  
 
• TOKHEIM   ROGER   L.   Principios   digitales,   segunda   edición.   McGrawHill,   España,  
1990  
 
• MANO  M.  MORRIS.  Diseño  digital,  Prentice  Hall,  México  1987.  
 
• BECERRA   SANTAMARIA   CESAR,   Algoritmos:   conceptos   básicos,   cuarta   edición.  
Kimpres  Ltda,  1998.  

También podría gustarte