Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE CIENCIAS
D E L A C O M P U TA C I N
F l i x A r m a n d o Fe r m
C s a r Lu z a M o n
C h r i s t i a n A l m g u e r
R a l D a z Ro j
n P r e z
t e r o
M a r t n e z
a s
Fundamentos
de Ciencias
de la
Computacin
F l i x A r m a n d o Fe r m
C s a r Lu z a M o n
C h r i s t i a n A l m g u e r
R a l D a z Ro j
n P r e z
t e r o
M a r t n e z
a s
FICHA TCNICA
Ttulo:
Autor:
Categora:
Cdigo:
Edicin:
Formato:
Impresin:
Soporte:
Interiores:
Publicado:
Fundamentos de Ciencias
de la Computacin
Flix Armando Fermn Prez,
Csar Luza Montero,
Christian Almguer Martnez,
Ral Daz Rojas
Cuadernos
CU/376-2016
Fondo Editorial de la UIGV
170 mm. X 245 mm. 251 pp.
Offsett y encuadernacin en rstica
Cubierta: folcote calibre 14
Bond alisado de 75 g.
Lima, Per. Abril del 2016
Estos textos de educacin a distancia estn en proceso de revisin y adecuacin a los estndares internacionales de notacin
y referencia.
Hecho el Depsito Legal en la Biblioteca Nacional del Per N 2016-04680
NDICE
Presentacin.................................................................................................... 11
Introduccin.................................................................................................... 13
Orientaciones metodolgicas.............................................................................. 15
PRIMERA UNIDAD
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
SEGUNDA UNIDAD
4.4.3. Imgenes........................................................................................ 67
4.4.4. Sonido............................................................................................ 67
4.5. El sistema binario...................................................................................... 67
4.5.1. Notacin binaria............................................................................... 68
4.6. Almacenamiento de enteros y fracciones....................................................... 68
4.6.1. Notacin en complemento a dos......................................................... 69
4.6.2. Notacin en exceso a un nmero........................................................ 69
4.6.3. Almacenamiento de fracciones............................................................ 70
Leccin 5
Manipulacin de datos....................................................................................... 71
5.1. La computadora y sus componentes............................................................. 71
5.1.1. Componentes de una computadora..................................................... 72
5.2. Lenguaje de mquina y ejecucin de un programa.......................................... 78
5.2.1. Ejecucin de un programa.................................................................. 78
5.3. Instrucciones aritmticas y lgicas............................................................... 82
5.3.1. Operaciones de desplazamiento y rotacin de bits................................. 82
5.4. Comunicacin con otros dispositivos............................................................. 83
Resumen......................................................................................................... 84
Texto para comentar......................................................................................... 87
Autoevaluacin N 2......................................................................................... 89
Exploracin online............................................................................................ 89
Referencias bibliogrficas.................................................................................. 90
TERCERA UNIDAD
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
CUARTA UNIDAD
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z1 0 z
P R E S E N TA C I N
Fondo Editorial
z1 1 z
INTRODUCCIN
Este libro tiene el propsito de brindar un panorama, fundamental, de los temas relacionados con la computacin, formalmente, ciencia de la computacin, que permita al estudiante
comprender la importancia de estos temas para su formacin
profesional.
Los contenidos de este libro se han organizado en cuatro
unidades temticas. Estas se desarrollan en lecciones que incluyen apartados, esquemas y figuras, segn cual sea la necesidad
didctica. Cada unidad consta tambin de un conjunto de actividades y de evaluacin orientados a afianzar el aprendizaje del
estudiante y a valorar sus logros.
La primera unidad tiene como propsito que el estudiante
aplique los principios de la computacin para la solucin de
problemas computacionales, valorando su importancia en la
disciplina de sistemas de informacin.
Con la segunda unidad, el estudiante ser capaz de identificar
las tcnicas de almacenamiento y manipulacin de datos en la
solucin de problemas computacionales asumiendo actitud de
inters por estos temas.
La tercera unidad permite que el estudiante describa el
funcionamiento de los sistemas operativos, las redes, Internet y
los sistemas de base de datos como componentes de un sistema
computacional, adoptando actitud proactiva en el aprendizaje
de estos temas.
z1 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z1 4 z
orientaciones
METODOLGICAS
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Proverbio chino
z1 6 z
p r i m e r a
UNIDAD
La computacin y la disciplina
de sistemas de informacin
SUMARIO
OBJETIVOS
L e c c i n
LA COMPUTACIN Y SOLUCIN
DE PROBLEMAS COMPUTACIONALES
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
1.1.2. Computadora
En trminos simples, una computadora es un dispositivo que procesa datos y los
convierte en informacin til para las personas. Cualquier computadora (sin importar
su tipo) se controla con instrucciones programadas, las cuales le dan a la mquina un
propsito y le dicen lo que debe hacer (Norton, 2006).
Las computadoras son mquinas de propsito general, es decir, pueden realizar muchos tipos distintos de tareas, aunque pueden considerarse modelos de computadoras
de propsito especfico, por ejemplo, computadoras para el control de temperatura en
un edificio (Forouzan & Mosharraf, 2008).
Para comprender los mecanismos internos de una computadora de propsito general
utilizaremos dos modelos (Forouzan & Mosharraf, 2008): el modelo de procesador de
datos programable y el modelo de Von Neumann.
El modelo de procesador de datos programable
Es un modelo general para representar una computadora como una caja negra (figura
1.1). En este contexto la computadora es una mquina para manipular datos de acuerdo
a una lista de instrucciones conocida como programa. La computadora acepta datos de
entrada, las procesa y genera datos de salida. El programa es una serie de instrucciones escritas en un lenguaje de computadora.
2 www.wikipedia.org
z2 0 z
Programa
Datos de entrada
COMPUTADORA
Datos de salida
Programa
Computadora
Entrada
Datos de
entrada
Salida
Unidad
aritmtica
lgica
Memoria
Unidad
de control
z2 1 z
Datos de
salida
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z2 2 z
z2 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
4. COLOSSUS. En Inglaterra, Alan Turing invent una computadora llamada Colossus diseada para descifrar el cdigo Enigma alemn.
5. ENIAC. La primera computadora de propsito general totalmente electrnica fue
fabricada por John William Mauchly y John Presper Eckert y recibi el nombre de
ENIAC (Electronic Numrical Integrator and Calculator: Calculador e Integrador
Numrico Electrnico). Se termin en 1946, utilizaba 18 000 tubos de vaco, meda 100 pies de largo por 10 pies de alto y pesaba 30 toneladas.
6. EDVAC. La primera computadora electrnica basada en la idea de Von Neumann
se construy en 1950 en la Universidad de Pennsylvania y se llam EDVAC. Al
mismo tiempo, Maurice Wilkes construy una computadora similar llamada EDSAC en la Universidad de Cambridge en Inglaterra.
3er. Periodo: generacin de computadoras (1950-hoy da)
Las computadoras construidas despus de 1950 siguieron, ms o menos, el modelo
de Von Neumann. Estas son ms rpidas, ms pequeas y ms baratas, pero el principio es casi el mismo. Los historiadores dividen este periodo en generaciones, cada una
presenta un cambio importante en el hardware o software, pero mantienen el modelo.
1. Primera generacin, aproximadamente de 1950 a 1959, se caracteriza por la
aparicin de computadoras comerciales. Eran utilizadas solo por profesionales.
Estaban encerradas en habitaciones con acceso restringido solo al operador o
especialista en computacin. Las computadoras eran voluminosas y usaban tubos
al vaco como interruptores electrnicos. Solo las grandes organizaciones podan
acceder a estas computadoras.
2. Segunda generacin, aproximadamente de 1959 a 1965, utilizaba transistores en
lugar de tubos al vaco. Esto redujo su tamao, y su costo estuvo al alcance de
empresas medianas y pequeas. Se inventaron los lenguajes de programacin
de alto nivel, FORTRAN y COBOL, que facilitaron la programacin y permitieron
separar la tarea de programacin de la tarea de operacin de la computadora.
3. Tercera generacin, aproximadamente de 1965 a 1975, la invencin del circuito
integrado (transistores, cableado y otros componentes en un solo chip) redujeron, an ms, el coste y tamao de las computadoras. Aparecieron las minicomputadoras en el mercado. Los programas empaquetados, popularmente conocidos como paquetes de software, se volvieron disponibles. Una pequea empresa
poda comprar un paquete que necesitaba, por ejemplo, contabilidad, en lugar de
escribir su propio programa de contabilidad. Una nueva industria naci: la industria del software.
4. Cuarta generacin, aproximadamente de 1975 a 1985, vio nacer la microcomputadora. La primera calculadora de escritorio, Altair 8800, se volvi disponible en
1975. Los avances de la industria de la electrnica permitieron que los componentes de una computadora completa alcanzaran en una sola tarjeta de circuito.
Esta generacin tambin vio aparecer las redes de ordenadores.
z2 4 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
usadas, generalmente, para apoyar tareas sofisticadas de cientficos, ingenieros y animadores, quienes necesitan un sistema con una velocidad y poder mayores a los del
promedio.
La computadora laptop (sobre el regazo) es igual que un computador de escritorio,
pero de tamao y peso reducidos para que sea fcil su transporte. Debido a su portabilidad, las PC laptop caen dentro de una categora de dispositivos conocidos como computadoras porttiles, que son sistemas lo suficientemente pequeos para ser transportados
por el usuario.
Las tablet PC son como una laptop, pero ms ligeras y son tctiles. Pueden introducirse datos pulsando sobre la pantalla o con una pluma stylus o pluma digital. Ofrecen
todas las funcionalidades de una PC, incluyendo Wifi, GPS, GPRS, webcam, cmara
digital, etc. Algunos modelos permiten conectar a un teclado y un monitor de tamao
normal.
La handheld PC es un dispositivo de cmputo suficientemente pequeo como para
caber en la mano. Bsicamente, es un tipo de asistente digital personal o PDA (Personal
Digital Assistent). Un PDA es como una libreta de notas para desplegar nmeros telefnicos y direcciones, adems de dar seguimiento a fechas o agendas. Muchos PDA se
pueden conectar con computadoras ms grandes para intercambiar datos, la mayora de
PDA cuenta con un lpiz que permite escribir en la pantalla.
Los telfonos inteligentes o smartphones son una PC en miniatura, con todas las
funcionalidades o incluso ms; incluyen procesadores potentes y empiezan a tener una
memoria interna importante.
Computadoras para uso de organizaciones
Estas son computadoras que atienden a muchos usuarios simultneamente. Estos
sistemas se utilizan con mayor frecuencia en las organizaciones y suelen ubicarse en el
centro de una red de computadoras. En general, cada usuario interacta con la computadora desde su propio dispositivo (PC u otros). Las computadoras ms grandes para
organizaciones pueden funcionar con miles de usuarios individuales al mismo tiempo,
los cuales pueden estar a miles de kilmetros de distancia entre s.
Esta categora puede incluir los tipos siguientes: servidores de red, computadoras
mainframe, minicomputadoras, supercomputadoras.
El servidor de red es una computadora personal potente, con software y equipamiento especial que le permite funcionar como la computadora central de una red.
Dependiendo de la configuracin de la red, los usuarios pueden acceder al servidor de
distintas formas, la mayora a travs de su PC de escritorio que est conectada permanentemente a la red; tambin es posible que los usuarios que se desplazan puedan
conectar una PC laptop a la red por medios inalmbricos; o cuando estn lejos de sus
z2 6 z
oficinas, puedan utilizar Internet como un medio de conexin a los servidores de red de
su compaa.
Las computadoras mainframe se utilizan en grandes compaas. Cada usuario accede a los recursos del mainframe mediante un dispositivo llamado terminal, que puede
ser de dos tipos: terminal tonta y terminal inteligente. La terminal tonta, no procesa ni
almacena datos, solo es un dispositivo de entrada/salida. La terminal inteligente puede
realizar operaciones de procesamiento, pero no tiene ningn dispositivo de almacenamiento. Las computadoras mainframe son sistemas grandes y muy potentes, pueden
satisfacer las necesidades de procesamiento de miles de usuarios al mismo tiempo; pero
estn diseadas para realizar un conjunto especfico de tareas.
Las minicomputadoras son computadoras que aparecieron en los aos 60, tuvieron
ese nombre por tu tamao pequeo en comparacin con las computadoras mainframe
de esa poca. La capacidad de una minicomputadora est entre las que ofrecen un
mainframe y un PC, por eso se las conoce como computadoras de rango medio, las ms
potentes pueden atender a cientos de usuarios al mismo tiempo.
Las supercomputadoras son las ms potentes y, fsicamente, ms grandes que las
anteriores. Pueden procesar enormes cantidades de datos y las ms rpidas pueden
realizar hasta un billn de clculos por segundo. Algunas pueden alojar miles de procesadores. Son ideales para resolver problemas grandes y complejos que requieren un
poder de clculo extremo.
z2 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Input:
Output:
Por ejemplo, en la secuencia de entradas (31, 41, 59, 26, 41, 58), un algoritmo de
ordenamiento entrega como salida la secuencia (26, 31, 41, 41, 58, 59).
Input:
Output:
A una secuencia de entrada se le denomina una instancia del problema de ordenamiento. En general, una instancia de un problema consiste de una entrada (que satisface
las restricciones impuestas en la declaracin del problema) necesaria para computar una
solucin al problema.
z2 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
1.2.3. La abstraccin
El concepto de abstraccin est impregnado en el estudio de las ciencias de la computacin y el diseo de sistemas computacionales. El trmino abstraccin hace referencia
a la distincin entre las propiedades externas de una entidad y los detalles de la composicin interna de la entidad. La abstraccin permite ignorar los detalles internos de
un dispositivo complejo (computador, automvil, horno microondas, etc.) y usarlo como
una simple y comprensible unidad (Brookshear G. , 2012).
Es por medio de la abstraccin que tales sistemas complejos son diseados y fabricados en primera instancia. Por ejemplo, la computadora, el automvil o el horno
microondas son construidos desde componentes, cada uno de los cuales es construido
desde pequeos componentes que representan un nivel de abstraccin en el que el uso
del componente es aislado de los detalles de la composicin interna del componente.
A travs de la aplicacin de la abstraccin, podemos construir, analizar y manejar
grandes sistemas computacionales complejos, tarea que podra ser abrumadora si lo
vemos en un nivel enteramente detallado. En cada nivel de abstraccin, vemos el sistema en trminos de componentes, llamados herramientas abstractas, cuya composicin
interna ignoramos. Esto permite concentrarnos en comprender cmo cada componente
interacta con otros del mismo nivel, y cmo la coleccin de dichos componentes constituyen un componente entero en el nivel ms alto. As seremos capaces de comprender
qu parte del sistema es relevante para la tarea en cuestin y no perdernos en un mar
de detalles.
Un ejemplo ilustrativo
Para ilustrar el proceso de abstraccin usemos como ejemplo el problema de buscar
un edificio en cualquier lugar del mundo mediante su direccin de correo postal. Las direcciones de correo postal incluyen el pas en el que se encuentra el destinatario.
1. En un primer nivel de bsqueda, se toma la informacin referida a todos los pases del mundo y se selecciona el pas especificado en la direccin.
z3 0 z
b)
c)
d)
e)
Entre estas categoras, existe una relacin muy intuitiva. Cada una de ellas contiene
detalles de la siguiente categora. La informacin sobre todos los pases del mundo puede incluir, adems, todas las divisiones en unidades territoriales. De igual forma, los datos sobre todas las ciudades de una unidad territorial pueden incluir todas sus calles. Sin
embargo, la solucin del problema de localizar un edificio se simplifica sustancialmente
si los datos estn divididos en las categoras antes mencionadas, es decir, una categora
incluye la informacin de su nivel e ignora o abstrae los datos del resto de categoras.
Podemos decir que como cada una de estas categoras ignora detalles de las categoras siguientes, simplifica la informacin acerca de la localizacin de edificios en el
mundo, pero, a la vez, conservando los aspectos ms relevantes. Cada una de estas
categoras puede ser considerada como un nivel de abstraccin.
Generalizando este concepto, los niveles de abstraccin son diferentes visiones de
una misma entidad relacionadas de tal forma que cada una de ellas provee ms detalles
que el nivel anterior, pero ignora detalles del nivel siguiente. Como conclusin, entre los
niveles de abstraccin se puede establecer una relacin con respecto a dos aspectos: la
complejidad y el detalle.
Un segundo ejemplo de los diferentes niveles de abstraccin es la escala de un mapa
topogrfico. Un mapa es una representacin de algunos de los aspectos contenidos en
una determinada rea. El tamao del mapa y el de dicha rea estn relacionados mediante un factor de escala. Es posible tener mapas de la misma rea, pero realizados a
z3 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
diferente factor de escala. Estos mapas ofrecen diferentes visiones del lugar, pero con
diferentes niveles de complejidad y detalle.
La observacin clave de estos dos ejemplos es que la resolucin de problemas en un
mbito concreto es posible representando la realidad mediante un nivel de abstraccin
adecuado. Por ejemplo, si una empresa de distribucin de mercancas a nivel mundial
necesita decidir dnde situar sus centros de distribucin, no es preciso que utilice la
informacin de qu nmeros hay en cada calle. Igualmente, un ingeniero que desea
disear una autopista no puede utilizar un mapa con una escala tan grande que no se
perciban lo suficiente los accidentes geogrficos.
z3 2 z
L e c c i n
LA COMPUTADORA
Y EL SISTEMA DE CMPUTO
z3 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
2.1. El hardware
El hardware es la categora de componentes fsicos de la computadora. Cada componente consiste de circuitos electrnicos y partes mecnicas que llevan a cabo una
funcin particular. Los dispositivos hardware pertenecen a uno de los tipos siguientes:
procesador, memoria, entrada-salida y almacenamiento.
2.1.1. El procesador
Es como el cerebro de la computadora: organiza y ejecuta las instrucciones que provienen del usuario o software. En una computadora personal, el procesador, normalmente, consiste en uno o ms circuitos integrados especializados llamados microprocesadores (chips). Generalmente, el microprocesador est acoplado a la tarjeta madre, que es
una tarjeta de circuitos maestra de una computadora. En las computadoras personales
los dispositivos internos (tarjetas de video, tarjetas de sonido, controladores de discos y
otros) se alojan en sus propias tarjetas de circuitos que son ms pequeas y se acoplan
a la tarjeta madre.
Al procesador tambin se le conoce como la Unidad Central de Proceso (Central Processing Unit o CPU). A menudo, las personas distinguen a los sistemas de cmputo por
el tipo de CPU que contienen. Por ejemplo, un sistema Pentium 4 utiliza el procesador
Pentium 4 como CPU.
2.1.2. Memoria
La memoria es uno o ms conjunto de chips que almacenan datos o instrucciones de
programas, en forma temporal o permanente. Algunos tipos de memoria son: la memoria de acceso aleatorio (RAM, Random Access Memory) y la memoria de solo lectura
(ROM, Read Only Memory).
La memoria de acceso aleatorio es como un blog de notas electrnico dentro de
la computadora que almacena datos e instrucciones, temporalmente, mientras la CPU
trabaja con ellas. Los datos se escriben y se leen desde esta memoria llamada tambin
memoria de lectura-escritura. La RAM es voltil, es decir, pierde su contenido cuando
se apaga la computadora o por una falla de energa elctrica. La unidad de medida del
tamao de la RAM es el byte, que es la cantidad de memoria para almacenar un carcter. Debido a la gran cantidad de almacenamiento se utilizan unidades de medida como
kilobytes (KB = 1024 bytes), megabyte (MB = 1 048 576 bytes), gigabyte (GB = 1 073
741 824), terabyte (TB = 1 099 511 627 776).
La memoria de solo lectura almacena permanentemente sus datos, incluso cuando se
apaga la computadora. La ROM es una memoria no voltil, es decir, no pierde su contenido. Contiene instrucciones que la computadora necesita para funcionar. Cuando se
z3 4 z
enciende la computadora, se revisa la ROM para obtener las instrucciones que ayudan a
iniciar y proporcionan informacin sobre los dispositivos de hardware.
2.2. El software
El software hace referencia a los programas de computadora. Un programa es un
conjunto de instrucciones que indican a la computadora que realice una tarea especfica.
Estas instrucciones le indican a los componentes fsicos lo que deben hacer, sin ellas,
la computadora no podra hacer nada. Existen dos categoras de software: software del
sistema y software de aplicaciones.
z3 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z3 6 z
Entrada. En este paso, la computadora acepta datos, que provienen del usuario o de
un programa, para ser procesados. Por ejemplo, el ingreso de las horas de una planilla
de sueldos en una hoja de clculo a travs del teclado.
Procesamiento. En este paso del ciclo, los componentes de procesamiento de la
computadora (CPU y memoria) realizan acciones con los datos segn las instrucciones
del usuario o de un programa. La CPU interpreta las instrucciones del programa y procesa los datos.
Salida. Este paso se realiza, de manera opcional, cuando la computadora necesita
desplegar los resultados de su procesamiento. Por ejemplo los resultados pueden aparecer como textos, nmeros o grficas en la pantalla. La salida de una computadora puede
convertir en audio, documentos impresos, video y otros medios.
Almacenamiento. En este paso, que tambin es opcional, de acuerdo al requerimiento del usuario, la computadora almacena permanentemente los resultados de su
procesamiento. Puede almacenar en un disco, cinta, o algn otro tipo de medio de almacenamiento.
z3 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z3 8 z
z3 9 z
L e c c i n
LA DISCIPLINA
DE SISTEMAS DE INFORMACIN
z4 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z4 2 z
especficos, las Ciencias de la Computacin ofrecen una fundamentacin amplia y completa que permite a los graduados adaptarse a nuevas tecnologas y nuevas ideas.
La Ciencia de la Computacin (Computer Science) es la disciplina que busca construir los fundamentos cientficos para tpicos tales como diseo de computadoras, programacin de computadoras, procesamiento de la informacin, solucin algortmica de
problemas y el procesamiento algortmico en s mismo. Provee las bases para las aplicaciones computacionales de hoy y los fundamentos para las aplicaciones del futuro
(Brooksheaar, 2007).
z4 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z4 4 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
tituida por las principales empresas desarrolladoras de software, algunas de las cuales
han logrado obtener certificaciones de calidad bajo estndares internacionales, como el
CMMI, ISO9000, IT MARK.
http://www.apesoft.org/
z4 6 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z4 8 z
RESUMEN
La computadora, su historia e importancia en la sociedad
La computacin es la ciencia que estudia el funcionamiento de las computadoras, incluyendo su diseo,
funcionamiento y utilizacin para la gestin de la informacin. Computacin es sinnimo de informtica.
Una computadora es un dispositivo que procesa datos y los convierte en informacin; es controlada con
instrucciones programadas, las cuales le dan a la mquina un propsito y le dicen lo que debe hacer. Segn el
modelo de Von Neumann, estn formadas por: memoria, unidad aritmtica lgica, unidad de control y el subsistema de entrada salida. La memoria almacena los programas y datos. La unidad aritmtica lgica (ALU) realiza
clculos aritmticos y operaciones lgicas. La unidad de control determina las operaciones de la memoria, de
la ALU y del subsistema de entrada-salida. El subsistema de entrada acepta datos de entrada y el programa
desde el exterior de la computadora, el subsistema de salida, enva los resultados del procesamiento al exterior.
La historia de la computacin y computadoras puede dividirse en periodos: 1) De las mquinas mecnicas
(antes de 1930); 2) Del nacimiento de las computadoras electrnicas modernas (1930 1950), y 3) De la
generacin de computadoras (1950 al presente).
El impacto de la computacin en la sociedad ha generado asuntos de discusin que se agrupan en asuntos
sociales (dependencia, justicia social, brecha digital) y asuntos ticos (privacidad, copyright, delitos informticos).
Los problemas computacionales, el rol de los algoritmos y la abstraccin
Un problema computacional es una descripcin basada en objetos matemticos (nmeros, permutaciones,
particiones, matrices, conjuntos y relaciones) que representan una coleccin de preguntas que el computador
debe ser capaz de resolver.
La solucin de problemas computacionales se basa en algoritmos. Un algoritmo es un conjunto de
pasos que definen cmo una tarea es ejecutada.
La abstraccin hace referencia a la distincin entre las propiedades externas de una entidad y los detalles de la composicin interna de la misma.
La computadora y el sistema de cmputo
Se denomina hardware a los componentes fsicos de la computadora. Los programas o conjunto de instrucciones constituyen la parte lgica de la computadora, denominada software. Un programa se conforma de
un nmero finito de instrucciones.
Algunos dispositivos hardware son el procesador, la memoria, las unidades de entrada-salida y el almacenamiento. El procesador, tambin se le conoce como CPU, organiza y ejecuta las instrucciones. La memoria
almacena datos e instrucciones del programa. Las unidades de entrada-salida aceptan datos e instrucciones del
usuario y devuelven los resultados despus de su procesamiento.
La disciplina de Sistemas de Informacin
Las disciplinas de la computacin son: Computer Engineering (Ingeniera de Computadoras), Computer
Science (Ciencias de la Computacin), Information Systems (Sistemas de Informacin), Information Technology
(Tecnologa de Informacin), Software Engineering (Ingeniera de Software).
Algunas de las principales organizaciones internacionales de computacin son: ACM, IEE Computer Society,
AIS. Algunas organizacionales nacionales en computacin son: APESOFT, ONGEI.
La disciplina de Sistemas de Informacin incluye conceptos, principios y procesos de dos amplias reas de
actividad dentro de las organizaciones: a) Adquisicin, entrega y administracin de los recursos y servicios de
tecnologa de informacin (la funcin de sistemas de informacin); b) Desarrollo, operacin y evolucin de la
infraestructura y los sistemas para su uso en procesos organizacionales (desarrollo de sistemas, operacin de
sistemas y mantenimiento de sistemas).
z4 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Texto pa ra c ome n t a r
La combinacin de medios y contenidos*
Imagino que usted conoce las computadoras personales desde hace algn tiempo. A
pesar de que su familia nunca haya tenido una PC (e incluso si este curso es su primera
oportunidad de utilizar una) es probable que al menos haya notado de forma indirecta el
lugar prominente que hemos otorgado a las PC en nuestras vidas. A decir verdad, las PC
se han ganado un lugar en los escritorios de los hogares y lugares de trabajo, si es que
se puede decir que ganado es la palabra adecuada. El comienzo lento de las computadoras personales se ha acelerado hasta alcanzar un paso sorprendente, debido a que
los humanos hacemos lo que siempre hemos hecho: adoptar una nueva herramienta y
explotar todos sus usos posibles.
Para muchos de nosotros, la evolucin en treinta aos de los usos de la PC no ha sido
menos revolucionaria de lo que fue la introduccin de la electricidad en los hogares hace
un siglo. Lo que comenz con algo simple, si acaso aparentemente milagroso, fcil de
leer, se ha convertido en el centro de casi todos lo que hacemos en el hogar. Vaya, incluso
muchas chimeneas (anteriormente la iluminacin para leer), hoy en da se encienden con
energa elctrica. Las computadoras personales comenzaron su vida de forma similar, con
cosas modestas, aparentemente milagrosas por su capacidad de realizar mltiples propsitos para trabajar con palabras y nmeros y, sin embargo, solo capaces de desplegar
textos en respuesta a los comandos escritos, apenas capaces de imprimir algo que fuera
til y de ser aparatos cerrados (incapaces de comunicarse fuera de sus caja).
Se desarroll una enorme industria para sustentar el desarrollo de las computadoras
personales y expandir su uso potencial como herramienta. Y, durante aproximadamente
los primeros cinco aos de la existencia de la PC, las innovaciones ms grandes provienen del mundo de la computacin gracias a personas que investigan especficamente el
aumento del desempeo del video, la reduccin del costo de almacenamiento de datos
cada vez mayor, la conexin de computadoras en el mundo para acortar distancias, entre
otras cosas. La creatividad de estas personas fue asombrosa. Cuando se enfrentaron al
planteamiento: Puedo hablar a todo el mundo por telfono, por qu no lo puede hacer
mi computadora?, por ejemplo, literalmente dieron voz a la computadora. Eso es lo que
un mdem hace: convierte las seales digitales de una computadora en sonido audible
que el sistema telefnico tradicional puede manejar. Si lo desea, puede considerar esto
como algo anlogo a los primeros aos de la electricidad, cuando los pioneros como
Thomas Edison y George Westinghouse trabajaron incasablemente para mejorar el potencial de sus originales innovaciones y lograron hacer mucho dinero de forma honesta.
Otras industrias (la automotriz, la electrnica, y la de entretenimiento, solo por nombrar
algunas de las ms importantes), adoptaron las tecnologas que se desarrollaron para
z5 0 z
z5 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
AUTOEVALUACIN N 1
Marque la respuesta correcta:
1. Una computadora convierte datos en:
a) Informacin
b) Grficas
c) Software
d) Entrada-Salida
e) Otros
2. Las computadoras personales tambin son conocidas como:
a) Minicomputadoras
b) Microcomputadoras
c) Mainframe
d) Supercomputadoras
3. La unidad aritmtica y lgica (ALU) realiza:
a)
b)
c)
d)
4. Un algoritmo es:
a)
b)
c)
d)
5. La abstraccin se refiere a:
a)
b)
c)
d)
z5 2 z
EXPLORACIN ONLINE
John Blankenbaker, el hombre que cre la primera computadora personal de la historia
Bill Wilson. BBC. Noviembre, 9, 2015
http://www.bbc.com/mundo/noticias/2015/11/151109_tecnologia_john_blankenbaker_hombre_creo_primera_computadora_personal_lv
Cmo se cre la primera computadora electrnica del mundo
Un documental producido por Google revela los secretos de la construccin del equipo que fue vital para el
xito del desembarco en Normanda durante la Segunda Guerra Mundial
http://www.lanacion.com.ar/1459056-como-se-creo-la-primera-computadora-electronica-del-mundo
IBM refresca su estrategia en Per con la computacin cognitiva
Lunes, 26 de octubre del 2015
http://gestion.pe/tecnologia/ibm-refresca-su-estrategia-peru-computacion-cognitiva-2146404
BIBLIOGRAFA
The Joint Task Force for Computing Curricula, (2005).
Brookshear, G. (2012).
Brookshear, J. G. (2007).
Cormen, TH., Leirseson, C., Rivest, R., & Stein, C. (2009). Introduction to Algorithms (3 ed.). Massachusetts: The MIT
press.
Forouzan, B., & Mosharraf, F. (2008).
Fourozan, B. A. (2003).
Introduccin a la ciencia de la computacin. De la manipulacin de datos a la teora de la computacin. Mxico: International Thomson Editores.
Norton, P. (2006).
Topi, H., Valacich, J., Wright, R., Kaiser, K., Nunamaker, J.,
Sipior, J., & Vreede, G. (2010).
z5 3 z
s e g u n d a
UNIDAD
Almacenamiento de datos
y manipulacin de datos
OBJETIVOS
Identifica las tcnicas de almacenamiento y manipulacin de
datos en la solucin de problemas computacionales asumiendo actitud de inters por estos temas.
Realiza operaciones booleanas y comprende la notacin
hexadecimal.
Describe la organizacin de la memoria principal.
Reconoce los dispositivos de almacenamiento masivos.
Explica la representacin de textos, nmeros, imgenes,
sonidos mediante patrones de bits.
Realiza operaciones en el sistema binario.
Comprende las notaciones para almacenar enteros y fracciones.
Determina los componentes del computador y su funcionamiento.
Explica la ejecucin de un programa en base a lenguaje de
mquina.
Realiza operaciones aritmticas y lgicas.
Describe la comunicacin entre dispositivos.
L e c c i n
ALMACENAMIENTO DE DATOS
1100101010110101
Figura 4.1 Patrn de bits
z5 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Entrada
Salida
(a)
Entrada
Salida
Entrada
(b)
Figura 4.2. (a) Operacin unaria. (b) Operacin binaria. (Fourozan, 2003)
Las operaciones booleanas bsicas son la operacin unaria NOT y las operaciones
binarias AND, OR y XOR como se muestran en la Figura 4.3.
NOT
AND
OR
XOR
NOT 0 = 1
0 AND 0 = 0
0 OR 0 = 0
0 XOR 0 = 0
NOT 1 = 0
0 AND 1 = 0
0 OR 1 = 1
0 XOR 1 = 1
1 AND 0 = 0
1 OR 0 = 1
1 XOR 0 = 1
1 AND 1 = 1
1 OR 1 = 1
1 XOR 1 = 0
La operacin lgica unaria que opera con una sola entrada es la operacin NOT, donde
el valor de la salida es opuesto al de la entrada, es decir, se invierten los bits, cambia el
0 a 1, y el 1 a 0. Por ejemplo, si se aplica la operacin NOT al patrn de bits 11001010,
el resultado es el patrn de bits de salida 00110101.
La operacin booleana AND determina la verdad o falsedad de una declaracin formada por dos declaraciones ms pequeas o simples, as: P AND Q donde P y Q representan declaraciones, por ejemplo, el sensor de la puerta izquierda del auto est en
activado, y el interruptor de encendido en modo automtico de la iluminacin interior
del auto est activado, entonces, la salida se puede declarar as: si el sensor de la
puerta izquierda de un auto est en activado y el interruptor de encendido en modo
automtico de la iluminacin interior est activado, entonces encender la iluminacin
interior del auto.
Las entradas a la operacin lgica binaria AND representan la verdad o falsedad de
los componentes de las declaraciones compuestas, la salida representa la verdad o falsedad de la declaracin compuesta misma. En una operacin AND, la salida P AND Q es
verdadera solo cuando sus componentes tambin lo son, en otros casos la salida genera
un 0
La operacin lgica binaria OR se basa en la forma compuesta P OR Q, donde igualmente P y Q son declaraciones. La declaracin compuesta es verdadera si al menos uno
de sus componentes tambin lo es.
Mientras que la operacin lgica boolena XOR se basa en la forma compuesta P XOR
Q, donde P y Q son declaraciones sencillas, y la declaracin es verdadera si una entrada
es verdadera y la otra es falsa, es decir, algo similar a cualquiera, P o Q, pero no ambos
z5 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Las compuertas lgicas son importantes ya que con ellas se construyen no solo los
bloques y subsistemas combinatorios sino tambin los de comportamiento secuencial
que forman parte de las computadoras. As, por ejemplo, un flip-flop es un dispositivo
secuencial formado por compuertas lgicas en una estructura con realimentacin, como
el mostrado en la Figura 4.5, y produce un valor de salida 0 o 1 cuando un pulso de
entrada, denominado seal de reloj, cambia de 0 a 1 (o tambin de 1 a 0) y permanece
constante entre pulso y pulso; en el circuito mostrado, colocar temporalmente un 1 en
la entrada superior fuerza la salida a 1, mientras que colocar un 1 en la entrada inferior
fuerza la salida a 0.
Entrada
Salida
Entrada
Figura 4.5 Circuito flip-flop.
z6 0 z
Brookshear (2012) afirma que presentar un flip-flop como el de la Figura 3.5 demuestra cmo se pueden construir dispositivos fundamentales a partir de compuertas lgicas
como la AND, OR y NOT en un proceso denominado diseo de circuitos digitales; adems de proporcionar un ejemplo de abstraccin y uso de herramientas abstractas; y finalmente, introducir un medio de almacenamiento de bits en una computadora moderna
utilizando una tecnologa conocida como VLSI (very large-scale integration) con la que
millones de componentes electrnicos se colocan dentro de un chip.
Patrn de bits
Representacin
hexadecimal
Patrn de bits
Representacin
hexadecimal
0000
1000
0001
1001
0010
1010
0011
1011
0100
1100
0101
1101
0110
1110
0111
1111
z6 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
1 0 1 1 0 0 1 0
MSB
MSB
z6 2 z
Registro
Direccin (hexadecimal)
Dato almacenado
(8 bits)
0000
00101011
0001
11111111
0002
00000000
0003
01000111
0004
11010011
0005
10000000
0006
00010101
0007
00111001
0008
10000111
0009
10100000
10
000A
11111111
11
000B
11111111
12
000C
00000000
13
000D
00000001
14
000E
00000101
15
000F
10101010
...
...
...
65535
FFFF
01011110
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
En la memoria principal, cada celda o registro puede accederse de manera independiente en cualquier orden aleatorio, ya que se halla organizada como registros individuales, en lo que se denomina como memoria de acceso aleatorio (RAM = Random
Access Memory), a diferencia de otros tipos de memoria donde el acceso es secuencial,
por ejemplo (Brookshear, 2012).
Tambin debe anotarse que existe otro tipo de memoria que no utiliza flip-flops como
elemento almacenador de datos, sino que utiliza pequeos capacitores en donde almacena bits en forma de cargas elctricas que se disipan muy rpidamente, por lo que
requieren de una circuitera electrnica adicional para realizar operaciones de refresco
que recargan la carga elctrica de cada celda varias veces por segundo. A estas memorias se las conoce como memorias dinmicas (DRAM = Dynamic RAM).
z6 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
superficies reflectoras, que luego son ledas por medio de un haz lser que detecta las
irregularidades sobre la superficie del CD cuando este gira alrededor de su eje.
Inicialmente utilizado en audio se utiliza como almacenador de datos masivos con el
mismo formato de grabacin, los CD tradicionales tienen de 600 a 700MB, sin embargo, los DVD pueden almacenar varios gigabytes. La tecnologa Blu-ray utiliza un lser
azul-violeta en lugar del clsico haz rojo y es capaz de enfocar su haz lser con mayor
precisin, por lo que su capacidad de almacenamiento es hasta cinco veces mayor que
la de un DVD.
4.4.1. Texto
La informacin en forma de texto normalmente se representa mediante un cdigo en
la que a cada carcter del texto se le asigna un nico patrn de bits. Para ello existen
cdigos tales como el denominado ASCII (American Standard Codefor Information Interchange) que utiliza patrones de 7 bits para representar las letras maysculas y minsculas, los smbolos de puntuacin, los dgitos del 0 al 9, y algunas seales de control.
Debe diferenciarse entre un archivo de texto que contiene una codificacin carcter por
z6 6 z
carcter del texto, mientras que un procesador de texto contiene un mayor nmero de
cdigos propietarios que representa cambios en las fuentes, alineamiento, etc.
4.4.2. Nmeros
La informacin numrica se almacena en alguna forma de notacin binaria en lugar
de smbolos como el ASCII, as tambin, por ejemplo, la denominada notacin en complemento a dos para representar nmeros positivos y negativos; y para representar
fracciones se utiliza la notacin denominada de punto flotante.
4.4.3. Imgenes
Las imgenes se representan como un conjunto de puntos llamados pixel, conformando un mapa de bits, til en muchos displays e impresoras.
En el caso de las imgenes en blanco y negro, cada pixel puede ser representado por
un bit; para imgenes ms elaboradas puede utilizarse un conjunto de bits para representar una variedad de tonos grises. Si son imgenes a color se utiliza la codificacin
RGB, donde cada pixel es representado por componentes de tres colores primarios, rojo,
verde, azul.
4.4.4. Sonido
El sonido se representa como una serie de valores de la amplitud de una onda de
sonido muestreada a intervalos regulares. Para obtener un sonido de calidad en los CD
actuales la tasa de muestreo debe ser de aproximadamente 44,100 muestras por segundo, de manera que la data obtenida se representa en 16 bits (32 bits para estreo),
as cada segundo de msica grabada requiere de ms de un milln de bits. Un mtodo
alternativo de codificacin es el denominado MIDI (Musical Instrument Digital Interface)
utilizado en los sintetizadores digitales, juegos de video y efectos de sonido de la web.
z6 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
27 26 25 24 23 22 21 20
128 64
32 16 8
1 1
1 0
1 x 128 + 1 x 64 + 1 x 32 + 0 x 16 +
4 2 1
0 0 0 1
0 x 8 + 0 x 4 +
0x2 + 1 x1
z6 8 z
Patrn de bits
Valor
0011
0010
0001
0000
1111
-1
1110
-2
1101
-3
z6 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Patrn de bits
Valor
1000
0111
0110
0101
0100
0011
0010
-1
0001
-2
0000
-3
1 bit
8 bits
10000101
31
30
23 bits
01000101100000000000000
23 22
Tambin existe el formato en punto flotante de precisin doble con 64 bits, de los
cuales uno corresponde al bit de signo, 11 bits para el exponente y 52 bits conforman
la mantisa.
z7 0 z
L e c c i n
MANIPULACIN DE DATOS
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Datos de
Entrada
Computadora
Datos de
Salida
Programa
Datos de
Entrada
Computadora
Datos de
Salida
z7 2 z
Programa
Unidad de control
Datos de
Entrada
Unidad aritmtico-lgica
Datos de
Salida
Unidad de memoria
Unidad de memoria
La unidad de memoria es el rea donde se almacenan los programas y los datos durante el procesamiento. La unidad aritmtico-lgica es encargada de realizar las operaciones tanto aritmticas como lgicas. Por su parte, la unidad de control, quiz la ms
importante, es la que se encarga de determinar cules son y cul es la secuencia en la
que se llevan a cabo las operaciones de la memoria, de la unidad aritmtico-lgica, y de
las unidades de entrada y salida. Finalmente, la unidad de entrada-salida es la que se
ocupa de ingresar los datos a ser procesados y luego enviar los datos de salida hacia el
exterior.
En la actualidad, la unidad de control junto con la unidad aritmtico-lgica se hallan
encapsuladas en un solo circuito integrado denominado microprocesador, o unidad de
procesamiento central o simplemente CPU (Central Process Unit), adems de contar
en su interior con una serie de registros utilizados para almacenar temporalmente los
datos.
Tambin debe considerarse que segn el modelo Von Neumann, una computadora
es una mquina que funciona en base a un programa almacenado en su memoria (ver
Figura 4.4), y cuyas instrucciones se llevan a cabo de modo secuencial, a esto se le conoce como el concepto de programa almacenado, de ah su versatilidad para ser considerada como una mquina de propsito general, donde las tareas a realizar se pueden
modificar una y otra vez, simplemente cambiando el programa que se encuentra almacenado en la memoria. En resumen, segn (Stallings, 2000) el concepto de programa
almacenado se basa en tres conceptos bsicos:
z7 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Los datos a procesar y las instrucciones del programa se almacenan en una sola
memoria de lectura-escritura.
Memoria
Datos
Memoria
Figura 5.4. Programa y datos almacenados en la memoria
Igualmente, propone representar a una computadora como una entidad que interacta de alguna manera con su entorno externo (ver Figura 4.5), interconectndose
mediante dispositivos perifricos de entrada y salida, as como mediante las lneas de
comunicacin, Internet, por ejemplo, o quiz por un modem.
z7 4 z
Registro de instruccin (Instruction Register, IR): contiene la ms reciente instruccin encontrada en la fase de bsqueda del ciclo de instruccin y lista para
ser decodificada.
Registro intermedio de memoria (Memory Buffer Register, MBR): contiene la palabra de datos a escribir en la memoria, o la palabra de datos leda ms recientemente.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Registros de estado o banderas: OF, DF, IF, TF, SF, ZF, AF, PF, CF.
z7 6 z
Registros de datos
Registros generales
D0
AX
D1
BX
Base
D2
CX
Contador
D3
DX
Datos
Acumulador
D4
D5
Punteros e ndices
D6
SP
Puntero de pila
D7
BP
Puntero base
SI
ndice fuente
DI
ndice destino
Registro de direcciones
A0
A1
Segmento
A2
CS
Cdigo
A3
DS
Datos
A4
SS
Pila
A5
ES
Extra
A6
A7
A7
IP
Puntero a instruccin
Flags
Indicadores
Registro de estado
(b) 8086
MC68000
Figura 5.7 Organizacin de registros internos de dos microprocesadores
z7 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Al inicio de cada ciclo de instruccin, la CPU capta una instruccin desde la memoria,
para ello hace uso del registro contador de programa (PC) para seguir la pista de la
instruccin que debe captarse. Si no se especifica otra accin, la CPU siempre incrementa el contenido del registro PC despus de haber captado cada instruccin, de manera
que apunta a la siguiente direccin de memoria donde se halla la siguiente instruccin
de la secuencia.
La instruccin ya buscada y captada se almacena en el registro de instruccin (IR),
donde la CPU debe interpretar la instruccin, esto es, decodificarla, y llevar a cabo la
accin solicitada, que en general puede ser de cuatro tipos:
z7 8 z
Procesamiento de datos: la unidad aritmtico-lgica dentro de la CPU debe realizar alguna operacin aritmtica o lgica con los datos.
Control: puede especificarse que la secuencia de ejecucin se altere, como sucede en los saltos condicionales, por ejemplo.
0 1 2 3 4 5 6 7 8 9 10 11 12 13
14
15
Cod._operacin
Direccin
(a) Formato de instruccin
0 1 2 3 4 5 6 7 8 9 10 11 12 13
14
15
S
Magnitud
(b) Formato de datos enteros
z7 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z8 0 z
En este ejemplo, se muestra cmo se utilizan estos tres ciclos de instruccin, cada
uno con un ciclo de bsqueda y otro ciclo de ejecucin, para sumar el contenido de la
posicin de memoria 940 y la posicin de memoria 941 y el resultado almacenarlo en
la posicin de memoria 941. En comparacin con los anteriores microprocesadores, los
actuales poseen un conjunto de instrucciones ms complejo que le permiten utilizar
menos ciclos.
z8 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Descripcin
D7
D6
D5
D4
D3
D2
D1
D0
Registro A al inicio
z8 2 z
Disco duro
Impresora
Controlador
Controlador
CPU
Memoria
Controlador
Controlador
Monitor
Mouse
z8 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
RESUMEN
Almacenamiento de datos
Una computadora es una mquina de procesamiento de datos; los datos se representan en forma de bits
codificados como patrones de ceros (0s) y unos (1s). El bit es la unidad ms pequea de datos que es posible
almacenar en una computadora y se utiliza para representar valores numricos, caracteres en un alfabeto,
imgenes e, incluso, sonidos. El bit 0 representa un valor lgico falso y el bit 1 representa un valor lgico verdadero, y se emplean en las operaciones booleanas del tipo unario o binario. Las operaciones booleanas
bsicas son la operacin unaria NOT y las operaciones binarias AND, OR y XOR.
La compuerta lgica se utiliza para construir las operaciones booleanas; est conformada por dispositivos
electrnicos en los que los dgitos 0 y 1 se representan con niveles de voltaje igual a 0 voltios y 5 voltios; son
importantes en la construccin de los bloques y subsistemas combinatorios y de comportamiento secuencial
que forman parte de las computadoras.
Los patrones de bits se utilizan en la representacin y almacenamiento de datos dentro de una computadora, pero generalmente para simplificar la representacin de una serie de bits se utiliza la notacin hexadecimal
con 16 smbolos o dgitos hexadecimales: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, y F, donde cada dgito
hexadecimal representa a cuatro bits.
Memoria principal
Una computadora posee un gran conjunto de circuitos electrnicos capaces de almacenar un bit, a estos se
les denomina memoria principal, la cual se organiza en unidades administrables denominadas celdas, con
tamao igual a 8 bits (1 byte). En este conjunto enorme de celdas o registros ordenados por direcciones, la
recuperacin del dato almacenado en estas celdas es una operacin de lectura, y la de almacenamiento de
estos datos es una operacin de escritura.
Cada celda o registro puede accederse de manera independiente en orden aleatorio, a esto se le denomina
como memoria de acceso aleatorio (RAM = Random Access Memory), a diferencia de otros tipos de memoria donde el acceso es secuencial.
Capacidad de memoria
La capacidad de los sistemas de memoria principal se mide en nmero de celdas potencia de dos; en las
primeras computadoras el tamao de la memoria se meda en 1024 unidades de celdas (210 unidades de
celdas), la que fue adoptada por la comunidad informtica con el prefijo de kilo. En la actualidad se utilizan los
trminos megabytes (MB), gigabytes (GB) y terabytes (TB).
Almacenamiento masivo
La memoria principal de una computadora es voltil y de tamao limitado, lo que obliga a contar con
dispositivos de memoria adicional denominados como sistemas de almacenamiento masivo, que incluye a
los discos magnticos, CD, DVD, cintas magnticas y las memorias flash. Las ventajas de los sistemas de almacenamiento sobre la memoria principal son su menor volatilidad, mayor capacidad de almacenamiento, bajo
costo, y su habilidad para remocin del medio de almacenamiento. Una desventaja principal de los sistemas de
almacenamiento masivo es que necesitan de movimiento mecnico y, por lo tanto, necesitan ms tiempo para
almacenar y recuperar datos que la memoria principal de una computadora donde sus actividades son realizadas electrnicamente. Se utilizan en cmaras digitales, telfonos celulares, MP3, PDA y tambin en aplicaciones
de almacenamiento masivo de datos en las denominadas comnmente como memorias USB.
z8 4 z
Manipulacin de datos
La manipulacin de datos dentro de una computadora trata sobre el movimiento de datos de un lugar a
otro, as como de las operaciones de clculo aritmtico, edicin de texto y manipulacin de imgenes mediante
los componentes de una computadora.
El computador y sus componentes.
Un modelo comn de conceptualizar una computadora es como un procesador de datos, pero un modelo mejor es el de considerarla como un procesador de datos programable. En el modelo procesador de
datos, una computadora acta como una caja negra que recibe datos de entrada, los procesa y crea datos
de salida. En el modelo procesador de datos programable, una computadora se conceptualiza como una
mquina de propsito general en la que se agrega un programa, esto es, un conjunto de instrucciones que
le indican a la computadora qu es lo que debe hacer con los datos de entrada para producir datos de salida.
Componentes de una computadora.
Una computadora est constituida por cuatro componentes o subsistemas: unidad de control, unidad aritmtico-lgica, unidad de memoria y unidad de entrada-salida. La unidad de memoria almacena los programas
y los datos durante el procesamiento. La unidad aritmtico-lgica realiza las operaciones aritmticas y lgicas.
La unidad de control determina cules son y cul es la secuencia en la que se llevan a cabo las operaciones de
la memoria, de la unidad aritmtico-lgica, y de las unidades de entrada y salida. La unidad de entrada-salida es
la que se ocupa de ingresar los datos a ser procesados y de enviar los datos de salida hacia el exterior.
La CPU se encarga de las funciones de control, intercambiando datos con la memoria y la unidad de entrada-salida, utilizando diversos tipos de registros visibles al usuario, y otros de uso especializado no accesibles al
usuario tales como el registro contador de programa, el registro de instruccin, el registro temporal de direccin de memoria y el registro temporal de datos de memoria. Un grupo de registros accesibles por el usuario,
en el caso del microprocesador 8086, son los siguientes:
- Registros generales o de datos: AX, BX, CX, DX.
- Registros de segmento: CS, DS, SS y DS.
- Registro apuntador de instrucciones: IP.
- Registros apuntadores: SP y BP.
- Registros ndice: SI y DI.
- Registros de estado o banderas: OF, DF, IF, TF, SF, ZF, AF, PF, CF.
Lenguaje de mquina y ejecucin de un programa
El programa almacenado en memoria contiene una serie de instrucciones que la CPU debe reconocer y se
hallan codificadas en lenguaje de mquina.
Ejecucin de un programa
Una computadora funciona ejecutando una serie de instrucciones que conforman un programa de manera
secuencial, estas instrucciones se hallan almacenadas en la memoria. La CPU es la que se encarga de llevar a
cabo las instrucciones especificadas en un programa que bsicamente conlleva dos etapas: bsqueda de una
instruccin y ejecucin de una instruccin. A esta secuencia de dos operaciones se le conoce como ciclo de
instruccin.
Instrucciones aritmticas y lgicas
Las operaciones en una computadora pueden dividirse en dos categoras muy amplias denominadas operaciones aritmticas y operaciones lgicas.
z8 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Las operaciones aritmticas estn constituidas por las operaciones de adicin, substraccin, multiplicacin,
divisin, incremento en uno, decremento en uno y similares, mientras que las operaciones lgicas lo constituyen las operaciones y (AND), o (OR), no (NOT), o exclusivo (XOR) y las combinaciones de y con
no (NAND), o con no (NOR), o exclusivo con no (XNOR), principalmente.
Comunicacin con otros dispositivos
Las comunicaciones entre una computadora y un dispositivo externo se realizan mediante un controlador,
que puede estar incluido en la misma placa principal o puede ser una tarjeta que se incrusta en ella, conformando incluso una pequea computadora embebida, y comunica a los dispositivos con la computadora por
intermedio de un conector denominado puerto, trasladando los mensajes y datos entre perifricos
z8 6 z
Texto pa ra c ome n t a r
Las computadoras son mucho ms importantes en la vida moderna de lo que podemos
pensar. Estn en todas partes. Pero imagina lo que pasara si un da dejasen de funcionar?
z8 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
De vuelta a casa, no deja de especular con las implicaciones que tendra un fallo de
las computadoras a nivel mundial. Cmo podran funcionar los edificios inteligentes en
los que desde los ascensores hasta el control de la humedad dependen de ellas? Podran
seguir produciendo energa las centrales elctricas? Qu les ocurrira a los pacientes
conectados a sistemas informatizados? Y a los satlites que se mantienen en rbita
gracias a los sistemas computarizados de control de guiado? Se colapsara el sistema
financiero si las computadoras no pudieran procesar ni comunicar las transacciones?
Sera el mundo un lugar seguro si todos los sistemas de armamento controlados por
computadoras estuvieran cados?
Nuestra historia podra continuar, pero el mensaje es lo suficientemente claro. Las
computadoras estn en todas partes, y nuestras vidas estn afectadas por su funcionamiento (o su no funcionamiento). Es verdaderamente sorprendente el modo en que las
computadoras se han colado en nuestras vidas en un espacio de tiempo tan corto.
* Beekman, G. (2005). Introduccin a la Informtica (6ed.) Madrid: Pearson Eduacin S.A.
z8 8 z
AUTOEVALUACIN N 2
1 Las unidades que conforman una computadora basada en microprocesadores
son los siguientes:
a. CPU, memoria, entrada-salida.
b. Control, ALU, memoria, entrada, salida.
c. CPU, memoria, entrada, salida.
d. Todos.
2. Las computadoras personales son herramientas altamente verstiles porque
aceptan las instrucciones de una gran variedad de:
a. Hardware.
b. Software.
c. Firmware.
d. Programadores.
3. Un megabyte equivale aproximadamente a:
a.
b.
c.
d.
1.000 bits.
1.000 bytes.
1 milln de bytes.
1 milln de bits.
Un DVD-RAM.
Un CD-ROM.
Memoria flash.
Memoria USB.
EXPLORACIN ONLINE
Simulador de una PC virtual: http://www.pcjs.org/
Ciclo de instruccin: http://www.edsim51.com/microDemo/executeCycleDemo/cycle1.html
Simulador GNU/GLP de un microprocesador: http://www.softwareforeducation.com/
z8 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
REFERENCIAS BIBLIOGRFICAS
Beekman, G. (2005).
Brookshear, J. G. (2007).
Forouzan, B., & Mosharraf, F. (2008). Foundation of Computer Science (2 ed.). USA: Thomson Course Technology.
Fourozan, B. A. (2003).
z9 0 z
t e r c e r a
UNIDAD
Introduccin a sistemas operativos,
redes e Internet y sistema de base de datos
OBJETIVOS
Describe el funcionamiento de los sistemas operativos, las redes, Internet y los sistemas de base de datos como componentes de un sistema computacional adoptando actitud proactiva en el aprendizaje de estos temas.
Explica el rol del sistema operativo en la computadora.
Determina los elementos de la arquitectura de un sistema
operativo.
Explica el concepto de proceso y la administracin de procesos.
Comprende y explica el rol de las redes en el desarrollo de
las comunicaciones.
Describe los fundamentes de las redes, internet y el World
Wide Web.
Determina los elementos de un sistema de base de datos.
L e c c i n
INTRODUCCIN
A SISTEMAS OPERATIVOS
Una computadora es un sistema formado por dos componentes importantes: hardware y software. El hardware es el equipo fsico de la computadora. El software es la
coleccin de programas que permiten que el hardware realice su trabajo. El software se
divide en dos amplias categoras: el sistema operativo y los programas de aplicacin. El
sistema operativo controla el acceso al hardware por parte de los usuarios. Los programas de aplicacin utilizan el hardware para resolver problemas de los usuarios.
En esta leccin, se presentan los conceptos y los elementos del sistema operativo y el
rol que este juega en un sistema computacional.
6.1. Definicin
Un sistema operativo es el software que controla todas las operaciones de la computadora. Provee el medio por el cual un usuario puede almacenar y recuperar archivos,
provee la interfaz por la cual un usuario puede solicitar la ejecucin de un programa, y
provee el ambiente necesario para ejecutar los programas (Brookshear G., 2012).
z9 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
PROGRAMAS
USUARIOS
SISTEMA
OPERATIVO
HARDWARE
6.2. Evolucin
Los sistemas operativos han evolucionado en una larga historia, la cual se resume a
continuacin (Fourozan, 2003):
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Figura 6.1.
Red de
Comunicaciones
z9 6 z
6.3.2. Clasificacin
6.3.2.1. Distribucin geogrfica
Redes LAN (Local Area Network, redes de rea local) son redes pequeas que cubren
tramos pequeos, por lo general no ms de los 100 metros, y se utilizan para conectar
equipos de una oficina, departamento o incluso de un edificio. Debido a sus limitadas dimensiones, son redes muy rpidas, siendo los equipos mayormente utilizados los switch
(Figura 6.2).
Las redes WAN (Wide Area Network, redes de rea extensa) son redes punto a punto
que interconectan diferentes sucursales que se encuentran en diferentes reas geogrficas o incluso en ciudades o pases. Por ejemplo, un cable de fibra ptica para interconectar dos facultades de una universidad hasta incluso un cable submarino entre Europa
y Amrica. Al tener que recorrer una gran distancia sus velocidades son menores que en
las LAN, aunque son capaces de transportar una mayor cantidad de datos. Los equipos
ms utilizados para este tipo de comunicacin son los ruteadores y mdems (Figura 6.3).
Figura 6.3.
Red de rea extensa
z9 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
La fibra ptica es el medio ms moderno y avanzado; soporta velocidades muy altas y es capaz de transmitir en promedio unos 500 millones de bytes por segundo.
Es el medio ms avanzado y seguro, pero su instalacin supone costes elevados.
Medios no guiados
Las microondas son ondas de radio de alta frecuencia que utilizan el aire como
medio de transmisin. Se transmiten en lnea recta, por lo que, debido a la curvatura de la tierra, solo pueden utilizarse en distancias cortas.
z9 8 z
Los satlites son un medio estacionario que gira sobre la Tierra a una determinada distancia y velocidad, por lo que permiten amplificar las seales microondas
transmitidas desde un punto de superficie terrestre a otro. De esta forma se pueden enviar grandes volmenes de datos.
6.3.4.1. Topologas
Los dispositivos y terminales de una red se pueden disponer de diferentes formas.
Atendiendo a esa configuracin, se pueden establecer cuatro tipos de redes locales:
Las redes en estrella. Se componen de varios enlaces o dispositivos perifricos,
fsicamente conectados a una unidad central, que acta como servidor, de forma que
los nodos son independientes entre s. Tienen como ventajas la simplicidad de los terminales, ya que la mayora de las operaciones las soporta el servidor, y que el nivel de
seguridad en su funcionamiento es muy alto; adems son bastante fciles de ampliar.
Por contra, tienen como inconvenientes la complejidad del nodo central, su velocidad
limitada por el nmero de extensiones, la gran cantidad de cableado y que, en caso de
que se estropee la estacin central, deja de funcionar toda la red. (Figura 6.4).
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Redes en anillo. Cada nodo est conectado a sus dos vecinos y los mensajes circulan alrededor del sistema hasta encontrar su destino. Por tanto, todos los dispositivos
estn conectados en serie, en un bucle cerrado y dispuesto como en una lnea punto a
punto. La principal ventaja es que la capacidad de transmisin se reparte equitativamente entre todas las estaciones de trabajo, permaneciendo la red independiente de la
estacin central. Otras ventajas son la distribucin simple de los mensajes, su gran velocidad, la instalacin fcil y barata, la sencillez de los protocolos y las escasas conexiones
mnimas que necesita. El inconveniente ms importante es que, si falla alguno de los
nodos, pueden surgir retrasos en la comunicacin, debido a la necesidad de repetidores
y amplificadores. Si todas las estaciones estn conectadas a un centro de control que
gestione las comunicaciones, nos encontraremos con una red en anillo tipo bucle, como
las utilizadas preferentemente en banca y administracin (Figura 6.5).
Figura 6.5.
Topologa anillo
Redes tipo Bus. Todos los nodos estn conectados a un cable comn, ejerciendo
cada dispositivo su propio control del sistema de comunicaciones y, por lo tanto, no es
necesario estaciones ni servidores. Todas las estaciones tienen una funcin pasiva, por
lo que, en caso de avera de una de ellas, la red sigue funcionando. Sus ventajas son la
facilidad para conectar nuevos nodos, el coste reducido, la buena gestin de los mensajes y la fcil instalacin. Los inconvenientes principales son la complejidad de los protocolos, la deficiente seguridad de los datos, la limitada longitud del cable de conexin o
bus y el mal reparto de los recursos (Figura 6.6).
Figura 6.6.
Topologa Bus
z1 0 0 z
6.4. Internet
6.4.1. Concepto
Existen innumerables definiciones sobre el concepto de Internet, en todas ellas prima
la idea de que Internet es una nube o conglomerado de computadoras que se encuentran dispersas compartiendo datos, recursos y ofreciendo mltiples servicios (figura
6.8), pero si miramos dentro de esta nube encontraremos miles de kilmetros de cable
de fibra ptica, millones de kilmetros de cable de cobre, hardware y software de conexin, todos juntos en una red redundante, rpida y autosuficiente, todos ellos gestionados por un proveedor de comunicaciones. Esta definicin puede ser compleja desde
el punto de vista de su administracin, sin embargo, no es as, cada organizacin que
tiene sus recursos dentro de la Internet es responsable de cuidar y gestionar su propio
segmento, este segmento local se denomina nodo, entonces podemos concluir que una
organizacin es nicamente responsable de su propio nodo. El Centro de Informacin de
la Red Internet (en ingls, Internet Network Information Center Center, INTERNIC) es la
instancia encargada de definir los nombres de los nodos, asignar direcciones y dominios
y supervisar el funcionamiento de Internet
Internet tiene sus origen en 1969, ao en el que la red de computadoras Advanced
Research Projects Agency Network (ARPANET) enva su primer mensaje y establece su
primer enlace con un grupo de universidades de los Estados Unidos como son la Universidad de Stanford y la Universidad de California, utilizando para ellos mdems y lneas
telefnicas convencionales a una velocidad mxima de 50kbits por segundo, para ello se
z1 0 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
PUERTO
DESCRIPCIN
FTP
21
SSH
22
SMTP
25
DNS
53
HTTP
80
Protocolo de hipertextos
POP3
110
IMAP
143
443
HTTPS
z1 0 4 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
F. POP3
Protocolo POP3 (Post Office Protocol 3). Es un protocolo que utiliza por defecto el
puerto 110 y permite recibir mensajes de correo electrnico que se encuentran almacenados en un servidor de correo, por ello, cuando el usuario se conecta a dicho servidor
puede descargar los mensajes a su computadora.
POP3 es el primer estndar de correo electrnico de Internet, es un protocolo fuera
de lnea, es decir, los mensajes quedan en espera en el servidor hasta que un programa
cliente se conecte y los revise. Su principal ventaja es la diversidad de programas que
existen, los mejores de estos cuentan con avanzadas opciones de configuracin y filtrado de mensajes. No es aconsejable para quienes revisan su correo desde diferentes
lugares, ya que es necesario configurar el programa cliente primero. Ejemplos de programas: Eudora Mail, Outlook Express, Gmail, etc.
G. IMAP
IMAP (Internet Message Access Protocol) tiene las mismas caractersticas que POP3,
pero es ms avanzado, ya que permite trabajar con correo electrnico en un servidor
como si este estuviera en una PC local. IMAP proporciona las mismas funciones de POP,
pero con la ventaja de poder organizar y filtrar los mensajes antes de bajarlos del servidor de correo.
H. HTTPS
El protocolo HTTPS (Hyper Text Transport Protocol Secure) se utiliza para la conexin
a servidores web seguros. Estos servidores son normalmente de mbito comercial y utilizan encriptacin para evitar la intercepcin de los datos enviados, usualmente nmeros de tarjeta de crdito, datos personales, etc. La conexin va Internet es totalmente
segura para el cliente, ya que la informacin se enva encriptada, es decir, codificada de
forma que no pueda ser leda ni modificada por terceros.
Una arquitectura cliente-servidor basada en el protocolo de transferencia de hipertexto (http). Este protocolo determina la interaccin entre un navegador y un
z1 0 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z1 0 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z1 1 0 z
El permetro de una red es el punto en que la red interna de una organizacin expone
una interfaz a las redes que no son de confianza. Desde el punto de vista de la seguridad, el permetro de red abarca cada punto donde la red interna se conecta a redes y
computadoras que no son controladas por el personal tcnico y especializado en TI de
la organizacin. Dicho de otro modo, las redes perimetrales estn constituidas por todas
aquellas redes que se encuentran fuera del dominio de la empresa y que mantienen
algn tipo de acceso con la red corporativa y, por lo tanto, no pueden ser controladas ni
administradas por ella. Esto incluye conexiones a Internet, a las redes privadas virtuales
y a las conexiones de acceso telefnico e inalmbrico (Figura 6.10).
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
o de la red, por tanto, el recurso no podr ser utilizado. Aqu se encuentran las
tcnicas de ataque tales como denegacin del servicio, cierre manual de servicios,
robo de informacin de dispositivos de almacenamiento, corte de un enlace de
comunicacin, desmontaje de un sistema de archivos.
Intercepcin. Cuando se consigue acceso a un recurso sin autorizacin. Aqu se
ataca la confidencialidad, las tcnicas ms usuales son captura de informacin,
copia de archivos no autorizados.
Modificacin. Cuando es posible modificar informacin de una fuente de datos.
Aqu se vulnera la integridad, ya que los datos son manipulados por personal no
autorizado en algn momento entre su elaboracin y su llegada al destinatario,
por ello no es vlida la informacin que se recibe cuando esta ha sido manipulada.
Entre las tcnicas ms usadas se encuentran aquellas que tienen acceso a una
base de datos como DNS Spoofing.
Fabricacin. Cuando se insertan objetos falsificados en el sistema. Este tipo de
ataque vulnera la autenticidad. Consiste en lograr la modificacin de un producto
para que sea similar al original, de tal forma que sea difcil establecer diferencias.
La tcnica ms usual Phising.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Alteracin de informacin de estado, tales como interrupcin de sesiones del protocolo de transporte.
Obstruccin de medios de comunicacin entre usuarios de un servicio y la vctima, de manera que ya no puedan comunicarse adecuadamente.
E. Peticiones Syn
Conocido tambin como SYN Flood, consiste en hacer una peticin de establecimiento
de conexin a un servidor y no responder a su aceptacin de conexin, ya sea porque se
false el paquete de peticin con una direccin IP falsa o por alguna otra causa. Este tipo
de ataque provoca una saturacin en las conexiones abiertas del servidor, de tal forma
que si son muy elevadas pueden llegar a producir un colapso del servicio ofrecido con la
siguiente denegacin de servicio.
F. Explotacin de errores
Es un ataque a nivel de aplicacin, que consiste en aprovechar la vulnerabilidad, error
o inconsistencia de un programa. Esta situacin ocurre cuando un programa ha sido
desarrollado sin tener en cuenta un planeamiento de anlisis de riesgos en el proceso
de diseo, desarrollo e implementacin del aplicativo, a las capacidades del lenguaje o
plataforma que lo contiene o simplemente por descuido. En lo que respecta a aplicaciones web, los ataques ms comunes son:
Cross-site Scripting. Sucede cuando es posible enviar datos o scripts completos desde los campos de entrada de un formulario no validado consistentemente,
este cdigo enviado puede generar en la aplicacin web secuencias de comandos
maliciosas, perjudicando directamente al sistema.
SQL Injection. Es cuando se inserta generalmente desde un formulario o URL
del navegador un cdigo SQL dentro de otro cdigo SQL para alterar la respuesta
de la base de datos.
G. Registrador de teclas (Keyloggers)
Es una tcnica que permite conocer todo lo que un usuario escribe a travs del teclado, incluso a veces registran capturas de pantalla del equipo. Para ello existen herramientas de hardware y software diseadas para tal fin.
H. Introduccin me malware
Es el proceso por el cual se introducen al sistema virus, troyanos o gusanos, los cuales
infectan el equipo informtico.
Virus. Son programas que se propagan entre los equipos. Su cdigo se adjunta
a otro programa existente en el sistema para facilitar su propagacin y causar los
z1 1 4 z
daos para el que han sido diseados. Su caracterstica principal es que han sido
escritos para que sean replicados en el mayor nmero de equipos posibles.
Gusanos (worms). Son diseados con el mismo fin que los virus, diferencindose
en que estos no necesitan la intervencin del usuario, ya que no se adjuntan a
ningn otro programa, sino que son distribuidos de manera completa por la red,
consumiendo mayormente ancho de banda o bloqueando el equipo infectado.
Troyanos (backdoor). Son aplicaciones aparentemente inofensivas que facilitan
en la mayora de los casos el acceso remoto a los equipos infectados. Estas aplicaciones se pueden esconder en archivos adjuntos en los mensajes que enviamos
por la red.
I. Ingeniera Social
Es un ataque que afecta al objetivo de confidencialidad de la seguridad informtica.
Consiste en obtener informacin confidencial de una persona u organismo para utilizarla
posteriormente con fines maliciosos. Usualmente se utiliza el correo electrnico o pginas web falsas para llevar a cabo el ataque. Las tcnicas ms conocidas son el phising
y el envo de spam.
Phishing. Es una tcnica de engao al usuario, que intenta adquirir informacin
confidencial suplantando la identidad de otra persona, organizaciones o pginas
web de Internet. El mtodo ms usado consiste un colgar en Internet una pgina
web que es copia idntica de alguna otra. La tcnica consiste en que una vez que
el usuario se encuentre utilizando la pgina copiada, este puede ingresar datos
confidenciales como usuario y contrasea o nmeros de tarjeta, los cuales se
mandan directamente a los creadores de la pgina copiada.
Spam. Conocido como correo basura. Corresponde normalmente al correo de
contenido publicitario que no ha sido solicitado, ocasionando con ello principalmente congestin en la red, insercin de malware y uso de recursos en el sistema.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
De este modo, un firewall puede permitir desde una red local hacia Internet servicios
de web, correo y ftp, pero no a IRC que puede ser innecesario para las labores administrativas.
Lo ms importante de un firewall concierne a su configuracin. Es decir, un firewall
mal configurado puede constituirse como una puerta de ingreso a todo tipo de ataques.
6.6.3.4. Proxy
Un proxy es un dispositivo que acta de intermediario entre el cliente y el servidor
real de una aplicacin, siendo transparente a ambas partes.
z1 1 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Cuando un usuario desea un servicio, lo hace a travs del proxy, este realiza el pedido
al servidor real que a su vez devuelve los resultados al cliente.
z1 1 8 z
Informe. Mide el nivel de riesgo en el negocio, asociado con sus activos de acuerdo a sus polticas de seguridad. Fija una postura de seguridad a travs del tiempo.
Remediacin. Prioriza y repara las vulnerabilidades de acuerdo al riesgo que implican para el negocio.
Conocer cmo las vulnerabilidades pueden comprometer a los activos de una red.
Priorizar y remediar con efectividad las vulnerabilidades de los activos de una red.
z1 1 9 z
L e c c i n
INTRODUCCIN A SISTEMAS
DE BASE DE DATOS
Uno de los principales requerimientos de las aplicaciones informticas es el almacenamiento de los datos en forma permanente de manera que estos puedan ser recuperados posteriormente. En ese sentido, es difcil imaginar que un programa no tenga la
necesidad de almacenar su informacin en un repositorio no temporal y que pueda ser
solicitada cuando se lo requiera.
Este concepto no es nuevo y existe desde que casi nace la informtica, aunque esto
ha crecido gracias a las diversas herramientas (software) libres y propietarias que se
encargan de gestionar los datos, permitiendo su almacenamiento, procesamiento y recuperacin; en ese sentido, nos referimos a los sistemas gestores de base de datos
(SGBD) que realizan estas tareas de forma prctica como eficiente.
Los SGBD se utilizan para gestionar grandes cantidades de datos, los mismos que
deben definir claramente su estructura para su almacenamiento, como los mecanismos
de manipulacin que permitan su recuperacin.
En esta leccin daremos a conocer los fundamentos de los sistemas de base de
datos.
z1 2 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Elaboracin propia.
z1 2 2 z
Otro autor seala: Un sistema de base de datos es una coleccin de datos interrelacionados, almacenados en conjunto, sin redundancias perjudiciales o innecesarias.
Su finalidad es servir a una aplicacin o ms de la mejor manera posible. Los datos se
almacenan de modo que resulten independientes de los programas que los usan. Se
emplean mtodos bien definidos para incluir nuevos datos y para modificar o extraer los
datos almacenados (Martin, 1975, p.19).
Entendiendo esta propuesta, podemos sealar que los sistemas de base de datos
comprenden dos elementos importantes, los archivos o coleccin de datos y los programas que se encargan de gestionar el acceso y modificacin a los datos. En la Figura 7.2,
se muestra la relacin de los programas, los sistemas gestores de base de datos (SGBD)
y la base de datos en el escenario de una institucin educativa.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
El esquema de red: organizacin lgica de la base de datos vista por el administrador de base de datos.
La produccin de varios DBMS que surgieron durante los aos ochenta, entre ellos
DB2 y SQL/DS de IBM y ORACLE.
z1 2 4 z
() una base de datos es un conjunto, coleccin o depsito de datos almacenados en un soporte informtico no voltil. Los datos estn interrelacionados y
estructurados de acuerdo con un modelo capaz de recoger el mximo contenido
semntico (Piattini M. 2007, p.24).
z1 2 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Tabla: Empleado
Nombre Columna
Tipo Dato
Restriccin/Relacin
Cod_empl
Carcter (3)
Nom_empl
Carcter (25)
Solo letras
Dir_emp
Carcter (35)
Letras y nmeros
Tel_empl
Carcter (9)
Solo numero
Sal_empl
Numrico (8,2)
............
............
............
............
............
............
Numrico (2)
Dep_empl
Independencia de datos-programas: representa una caracterstica de las bases de datos a diferencia de los sistemas de archivos. En este ltimo la estructura
de los archivos estaban incluidos o ligados en los programas, ocasionando con ello
que cualquier cambio en su estructura obligara a realizar los cambios en todos los
programas relacionados. Por el contrario, en la base de datos estos cambios de
estructuras no afectan en su mayora a los programas.
Soporte de varias perspectivas de los datos: se debe recordar que muchos
usuarios tienen acceso a la base de datos, ellos extraen los datos necesarios y en
ese sentido se dice que tienen diversas perspectivas o subconjunto de los datos
almacenados; este concepto se conoce como vista, toda vez que estn accediendo a parte de la informacin y no a toda. Esto tambin permite tener una seguridad, toda vez que no accede a toda la informacin, sino a parte de ella.
Control de la concurrencia: los programas especiales encargados de manejar
las bases de datos deben garantizar el control de la concurrencia, es decir, que
varios usuarios puedan acceder a los datos al mismo tiempo, permitiendo su actualizacin sin el perjuicio de prdida de estos. Un ejemplo, si varios vendedores
de productos ofrecen el mismo producto a diversos clientes los programas que
acceden a la base de datos deben garantizar al mismo momento que exista el
stock para garantizar la venta. Estos programas se mueven en un ambiente de
transacciones concurrente.
El concepto de transacciones es importante en un ambiente de base de datos y podemos definirlo como: () un programa en ejecucin o proceso que incluye uno o ms
accesos a la base de datos, como la lectura o actualizacin de los registros de la misma.
Se supone que una transaccin ejecuta un acceso lgicamente correcto a la base de datos si lo ejecut ntegramente sin interferencia de otras transacciones (Ramez Elmasri,
2007, p.13).
z1 2 6 z
Tambin conocido como sistema gestor de base de datos (SGBD) o Database Management Systems (DBMS), es una coleccin de programas que permite a los usuarios
crear o mantener una base de datos. En otras palabras el SGBD es un software especiaz1 2 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
(...) sistema desarrollado que hace posible acceder a datos integrados que atraviesan los lmites operacionales, funcionales u organizacionales de una empresa
(S. Atre, 1980).
z1 2 8 z
z1 2 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
RESUMEN
Las redes de comunicaciones constituyen los mecanismos tecnolgicos sobre los cuales se articula la evolucin de los sistemas informticos a todo nivel, del mismo modo el desarrollo tecnolgico y con l, la aparicin
de tecnologas emergentes, particularmente aquellas relacionadas directamente con la Web, exigen con mayor
celeridad nuevos dispositivos de comunicacin cada vez ms sofisticados e inteligentes, desde mayores anchos
de banda en los medios de transmisin hasta equipamiento con capacidad para filtrar y optimizar el flujo de
informacin en mltiples direcciones.
Por otro lado, es prioritaria la proteccin de los datos que circulan por la red, de ah la importancia de
incorporar mecanismos de seguridad informtica que permitan salvaguardar su integridad, confidencialidad y
disponibilidad. Tal situacin exige maximizar los niveles de proteccin en todos los niveles de las organizaciones,
pero fundamentalmente en el permetro de la red, para ello es necesario la correcta instalacin y distribucin
de firewalls, las cuales asociadas a tcnicas como Proxy, IDS, IPS, NAT complementan y amplan la capacidad
del firewall para optimizar la seguridad en el permetro ante ataques que requieren establecer una conexin
mientras estas se llevan a cabo (ataques intencionados). Sin embargo, la utilizacin de firewalls pierde efectividad de proteccin cuando se implementan sin seguir modelos especficos y polticas de seguridad.
En la leccin 7, referida a los sistemas de base de datos, se hace una revisin de los conceptos sobre base
de datos y los sistemas gestores de base de datos (SGBD). El primero entendido como un repositorio de datos
que representa la estructura de una organizacin; y el segundo relacionado a un software que se encarga de
administrar la base de datos. Adems se establece una relacin entre los sistemas de archivos y los sistemas de
base de datos. Otro aspecto importante en esta leccin est relacionado con la historia de los sistemas de base
de datos, entendindose con ello el origen de los SGBD a travs de sus generaciones. Para finalizar, se exponen
las diversas aplicaciones de los sistemas de base de datos en casi todas las empresas u organizaciones actuales.
z1 3 0 z
Te xt o pa ra come n t a r 1
La clave de la seguridad informtica
Algunos expertos quieren que la era de la contrasea llegue a su fin, pues cada vez
es ms vulnerable para proteger la informacin digital.
Hasta hace poco se crea que la contrasea era la forma ms segura de proteger la
vida digital de las personas. Pero hoy muchos creen que una clave es insuficiente y equivaldra a pretender resguardar a una ciudad de un ejrcito enemigo con un candado.
Lo han dicho gigantes de los computadores como IBM, as como la firma Deloitte, que
en un reciente informe afirm que estaban contados los das de la seguridad basada
exclusivamente en la clave.
Voces expertas como la de Mat Honan, escritor snior de la revista Wired, sealan que
el acceso a la informacin digital personal ya no puede depender de una serie secreta
de diez caracteres. El propio Poul-Henning Kamp, quien invent un popular sistema para
encriptar contraseas llamado MD5Crypt, dijo recientemente que su invento era obsoleto.
Les imploro a todos que migren a algo ms seguro, escribi en su blog. La razn es
que el 90 por ciento de las contraseas generadas por los usuarios son susceptibles de
ser descifradas en segundos.
Y es que segn l, una clave de ocho caracteres hoy puede ser encontrada con un
software que va adivinando rpidamente hasta encontrar la combinacin correcta. La
falta de seguridad se ve reflejada a diario. Entre los casos ms sonados est el robo de la
base de datos de PlayStation en 2011, por lo cual Sony tuvo que invertir 171 millones de
dlares en reconstruir la red y buscar mtodos ms seguros para proteger a sus usuarios.
En 2012 a la red social LinkedIn le hackearon 6 millones de contraseas.
Aunque la manera ms popular de robar cuentas es el phishing, que consiste en ofrecer
el acceso a pginas falsas pero en apariencia reales, hay muchas otras modalidades. Al
propio Honan, un hacker llamado Cosmo le rob su identidad de la forma ms sencilla:
con el servicio de olvid su clave que est disponible en todos los portales. Para responder correctamente las preguntas de seguridad, el hacker se vali de la informacin
que su vctima haba publicado en Internet (el nombre del perro, su fecha de nacimiento,
etc.) para robar su clave.
El ladrn entr a su correo de Gmail y borr cientos de mensajes. Tambin obtuvo
acceso a su cuenta de Apple y desapareci toda la informacin de su computador, tableta y telfono, con lo que Honan perdi su mayor tesoro: la historia fotogrfica de su
hija. Por ltimo se apoder de su cuenta de Twitter, desde donde lanz mensajes racistas
z1 3 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
y homofbicos. Las claves de Apple, Twitter y Gmail eran robustas, de diez caracteres,
alfanumricas, algunas con smbolos, pero las tres conectadas entre s. Por eso, una
vez el hacker entr a una de ellas accedi a todas. Su intencin era demostrar que el
sistema de seguridad en lnea es todo menos seguro.
Desde ese entonces Honan se ha dedicado al tema. Lo que encontr es terrorfico. Es
fcil que cualquiera acceda a nuestras vidas digitales y la debilidad mayor es la contrasea, escribi en un reportaje de portada en la edicin de diciembre de Wired. Tambin
prob que el sistema del hacker es sencillo, pues siguiendo sus indicaciones logr acceder
a otras cuentas. En este caso fue Twitter, pero maana puede ser la cuenta bancaria.
Estos cdigos sirvieron en un momento, pero hoy son obsoletos, pues los dispositivos
digitales estn hiperconectados. Y a pesar de todas las advertencias, los usuarios crean
claves de fcil recordacin por su comodidad. El consultor de seguridad Mark Burnett
realiz un estudio con 10.000 claves y encontr que password (o sea contrasea en
ingls) y 123456 eran las ms usadas. Adems, el 49 por ciento de las personas usan
la misma clave para todos los sitios.
Asimismo, ahora hay ms informacin que proteger, ya que la gente guarda ms
datos en la nube. Algunos creen que esto se resuelve con una clave potente. Jeremiah
Grossman y Paul Kocher divulgaron a The New York Times unas pautas para crearla,
como por ejemplo nunca utilizar una palabra del diccionario sino hacerla basada en
una serie de caracteres digitados al azar, que se debe guardar en un disco duro y nunca
en la computadora (ver recuadro). Pero Honan cree que ni siquiera una clave as podra
salvar al mundo de un hacker.
En Colombia el riesgo es mayor porque no existe la cultura de consultar las cuentas
personales desde un solo computador. La gente usa el de la oficina, la universidad, el
caf internet y no tienen una sesin personalizada en el de la casa, por lo cual sus datos
estn expuestos a ser hackeados fcilmente, dijo a SEMANA Pablo Arrieta, experto en
tecnologas de la informacin. Asegura que muchos proveedores de servicios como Twitter
o Facebook no tienen representacin en Colombia y si alguna cuenta es hackeada no
se sabe a quin pedir auxilio. Las empresas no estn muy preparadas para colaborar y
los usuarios deberan luchar por obtener respuesta inmediata, seala.
Los expertos todava no tienen claro cul ser el siguiente sistema de proteccin. Hay
un montn de tcnicas que funcionan bien a pequea escala, como en una empresa,
pero no hay alternativas para las contraseas a gran escala, dijo a SEMANA Rich Mogull,
experto en seguridad informtica y director de securosis.com.
Segn Honan, ese nuevo sistema debera tener dos componentes clave. El primero
es que sea cmodo, pues si es demasiado dispendioso, no ser viable. De hecho, la
gente se hace un lo al manejar las contraseas, pues se necesita que cada cdigo sea
indescifrable y se requiere uno para cada cuenta. El segundo punto es que habr que
entregar parte de la privacidad, algo que no todos estn dispuestos a hacer. Se parecera
z1 3 2 z
a poner una caja fuerte en su cuarto al cuidado de expertos en seguridad mediante una
cmara. Ellos solo le permitiran abrirla al dueo, pero estaran mirndolo.
Dentro del abanico de posibilidades est la biometra. Marcas como Samsung, Apple
o Sony tienen la tecnologa para reconocer los ojos y la voz en sus televisores e incluso
en los telfonos inteligentes.
Los rasgos de la persona deberan ser los cdigos de identificacin del futuro. Si yo
compro un computador, tableta o telfono lo ideal es que venga personalizado para que
nadie ms pueda usarlo, seal Arrieta.
Algunos ven la respuesta en el sistema de autenticacin de doble factor que emplea
Gmail. Cuando al usuario se le olvida la contrasea la pgina le enva un mensaje de
texto a su telfono mvil con el nuevo cdigo. Aunque este sistema todava se centra en
la clave, Honan cree que es mejor que el sistema actual.
Los bancos tambin han tomado cartas en el asunto. Una primera instancia de seguridad es que el usuario registre la computadora desde la cual hace sus transacciones
bancarias. Cuando alguien intenta ingresar desde otro equipo este le hace cinco preguntas
que solo el dueo sabe responder.
Un sistema reciente es generar claves dinmicas. En este campo el token ha sido la
frmula ms atractiva para empresas, bancos y entidades gubernamentales. Se trata de
un pequeo dispositivo electrnico que le brinda al usuario un nivel extra de seguridad,
pues este lo usa para generar claves aleatorias de seis cifras cada vez que accede a la
pgina. El sistema funciona bien para bancos, pero sera demasiado para proteger un
correo electrnico, dice Gina Pardo, directora de Operacin Bancaria de Asobancaria.
Los ingenieros de sistemas del Departamento de Defensa de Estados Unidos (Darpa)
estn desarrollando otro sistema que identifica al usuario por su forma de digitar el teclado.
A esto lo llaman la huella dactilar cognitiva y aunque no ha salido de los laboratorios de
investigacin, podra ser confiable porque los movimientos del tecleo estn gobernados
por el sistema motor y no por los pensamientos. Fisiolgicamente es improbable que sea
imitado por otra persona, dice Roy Maxion, profesor de Informtica de la Universidad
de Carnegie Mellon, en Estados Unidos.
Lo ideal no es abolir la contrasea sino aadirle otros mtodos de autenticacin
aleatorios. La contrasea sera solo una ficha de un gran rompecabezas que permitira
a los usuarios de la nube tener mayor seguridad.
z1 3 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Siempre
Cambie su clave cada tres meses.
D respuestas falsas a las preguntas de seguridad que le piden al abrir su cuenta y
antelas para recordarlas.
Abra un correo electrnico que le sirva solo para recuperar contraseas y asegrese
de que el nombre de usuario no est ligado a su nombre o gustos personales.
Acepte la autenticacin de dos o ms factores cuando se lo ofrezcan.
z1 3 4 z
Te xto pa ra come n t a r 2
Universo Internet: Ms superficiales
o ms listos?
lcole. Dentro de la serie de postales: France en lan 2000. XIXme sicle. (Atrib. a J.M.Ct, 1901).
Fuente: Wikimedia Commons
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
la cultura que l tanto haba cultivado, tema el viejo sabio, que estaba convencido de
que el desarrollo de la escritura llevara a la poblacin a abandonar por completo su
memoria y a convertirse en olvidadizos, vacos de conocimiento.
El filsofo iba incluso ms all y aseguraba que, como las personas entonces podran
acceder a una gran cantidad de informacin sin necesidad de recibir una instruccin
adecuada, quiz se sentiran errneamente cultas, aunque deca no seran ms que
puros ignorantes que desconoceran la verdadera sabidura.
Scrates no erraba demasiado y aquella nueva tecnologa tuvo los efectos que predijo. Tal y como haba vislumbrado, el conocimiento se comenz a volcar sobre el papel,
de manera que ya no haca falta recordarlo todo. No obstante, no todo fue negativo,
como presupuso el sabio, puesto que la escritura y la lectura, lejos de acabar con la
cultura, contribuyeron a propagar la informacin, a estimular nuevas ideas y a expandir
el conocimiento humano, si no la sabidura.
Argumentos similares a los que Scrates esgrima al respecto de la escritura se repiten desde hace unos aos en nuestra sociedad, aunque ahora en el ojo del huracn se
encuentra Internet. En los ltimos aos, prominentes bilogos, pensadores, psiclogos,
psiquiatras, filsofos, educadores, escritores y tecnlogos han reflexionado en torno a
la cuestin de cmo la Red y las nuevas tecnologas estn modulando nuestro cerebro
y nuestra forma de pensar.
Para muchos, la World Wide Web representa una revolucin cultural sin precedentes,
que permite que en una sola tarde sea posible acceder a ms informacin de la que
estaba almacenada en la clebre biblioteca de Alejandra o que a un solo clic tengamos
a nuestra disposicin ms de un milln de terabytes, la mayora de ellos de acceso gratuito. Estos tecnooptimistas, entre los que se encuentran expertos como Clive Thompson,
consideran que la Red es algo positivo, sumamente beneficioso y enriquecedor para el
ser humano, que, adems, agiliza la mente y entrena a las neuronas.
Sin embargo, para otros, navegar de forma intensiva erosiona nuestra capacidad de
concentracin, de memoria y de pensamiento profundo y creativo. Alegan que acceder
a contenidos en lnea requiere un foco de atencin cambiante y corto que puede ir en
detrimento de la atencin sostenida, esencial, por ejemplo, para el estudio. Aseguran
que Internet est provocando cambios en nuestro cerebro, indelebles, y no precisamente
para bien: aseguran que, en definitiva, nos est haciendo ms tontos.
El efecto Google
Nicholas Carr, un tecnlogo americano y antiguo director de la Harvard Business
Review, fue seguramente quien abri definitivamente la caja de los truenos cuando, en
2008, public un artculo, polmico y provocativo, en la revista The Atlantic, que titul:
Nos hace Google ms estpidos?, al que despus sigui un libro, Superficiales. Qu
est haciendo Internet con nuestras mentes? (Taurus Pensamiento, 2011). En ambos, Carr
escriba: En los ltimos aos tengo un sentimiento incmodo de que algo o alguien
z1 3 6 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Clifford Nass, recientemente fallecido, ha sido otro de los gurs beligerantes contra
la dispersin digital que en su opinin conlleva Internet y las nuevas tecnologas de la
informacin. Este socilogo de la Universidad de Stanford fue de los primeros en establecer una relacin entre la deficiencia de atencin y la multitarea. Para Nass, estar
continuamente expuestos a pantallas y cada vez realizar ms tareas a la vez de todo tipo,
algo que estimula el navegar por Internet, no ayuda a la concentracin ni tampoco a la
capacidad de anlisis. Es ms, merma nuestra empata.
Y al parecer, adems, es capaz de provocar cambios profundos similares a los que
se encuentran en los cerebros de los adictos a las drogas. En una investigacin liderada
por Hao Lei, de la Academia de Ciencias China, y publicada en PlosOne, escanearon el
cerebro de 35 jvenes adictos a Internet y hallaron alteraciones en el cableado neuronal,
as como una disminucin del volumen de sustancia gris y alteraciones en las conexiones
de fibras nerviosas que unan reas del cerebro implicadas en la toma de decisiones, el
autocontrol y las emociones. Gunter Schumann, catedrtico en psiquiatra biolgica del
Kings College de Londres, dio con resultados similares en adictos a los videojuegos. En
ambos casos, esos cambios son similares a los que se han visto en adictos a drogas como
la herona, cocana o marihuana.
Aprendemos ms y ms rpido
No todos los neurocientficos estn de acuerdo con Carr y los expertos que alegan
que Internet nos est haciendo ms tontos. La generacin ms estpida? se pregunta Clive Thompson, periodista especializado en ciencia y tecnologa, y autor del libro
Smarter Than You Think. How Technology is Changing Our Mind (Ms inteligente de lo
que crees. Cmo la tecnologa est cambiando nuestra mente) . Para nada, todo lo
contrario, Internet est haciendo que seamos ms listos, porque nos est ayudando a
aprender ms y ms rpido.
De hecho, cuando la institucin Pew Research Center, dentro del proyecto Pew Internet
& American Life Project, pregunt a su panel de 370 expertos en la Red acerca de esta
cuestin, ocho de cada diez respondieron que Internet, efectivamente, estaba aumentando
la inteligencia humana.
Para Thompson, estamos en un periodo de transicin: estamos pasando de ser pensadores privados a pensadores pblicos, en el sentido de que ahora compartimos nuestros
razonamientos con otros en la red. Y eso tiene efectos positivos y profundos tanto en
nosotros como individuos, en la forma en que se gestan las ideas y los pensamientos,
como en la forma en que generamos ideas socialmente. Ahora la dimensin social es
sumamente importante, considera este experto, para quien nuestra sociedad est de lleno
aprendiendo a adaptarse a Internet. El debate y la lucha en marcha entre detractores y
entusiastas son los mismos que se han producido con todas las revoluciones tecnolgicas,
como la imprenta o el nacimiento de los medios de comunicacin, afirma.
Internet no est cambiando nuestra forma de pensar, rebate el neurocientfico Joshua
Greene, de Harvard, a los crticos con esta tecnologa; nos proporciona un acceso sin
z1 3 8 z
CCCBLAB
Investigacin e innovacin en cultura
Cristina Sez, 2013.
http://blogs.cccb.org/lab/es/article_univers-internet-mes-superficials-o-mes-llestos/
z1 3 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
AUTOEVALUACIN N 3
1. Cul de los siguientes protocolos es la base de Internet y sirve para enlazar
computadoras que utilizan diferentes sistemas operativos?
a) WWW
b) HTTP
c) HTML
d) FTP
e) TCP/IP
2. El nmero de capas del modelo OSI es:
a) 3
b) 4
c) 5
d) 6
e) 7
3. El nmero de capas del modelo TCP/IP es:
a) 3
b) 4
c) 5
d) 6
e) 7
4. Es una tecnologa de red que permite una extensin segura de la red local (LAN)
sobre una red pblica o no controlada como Internet.
a) LAN
b) WAN
c) VPN
d) SMTP
e) Red Pblica
5. Es una red privada dentro de una organizacin que utiliza tecnologa muy similar a la de Internet, la cual permite a sus usuarios buscar, utilizar y compartir
documentos.
a) Intranet
b) Extranet
c) WWW
d) HTTP
e) URL
z1 4 0 z
6. Es la instancia encargada de definir los nombres de los nodos, asignar direcciones y dominios y supervisar el funcionamiento de Internet.
a) INTERNIC
b) ARPANET
c) NCP
d) ICANN
e) POP3
7. Cul de los siguientes protocolos opera en la cuarta capa del modelo TCP/IP?
a) IP
b) TCP
c) UDP
d) FTP
e) ARPANET
8. El servicio de correo electrnico..., el cual proporciona los mecanismos de intercambio de correo y mensajes entre hosts o servidores, usualmente se ejecuta
por defecto en el puerto...
a) SMTP, 25
b) HTTP, 80
c) SSH, 22
d) DNS, 53
e) HTTPS, 443
9. El programa de software que reduce el ancho de banda y mejora los tiempos de
respuesta por el almacenamiento en cach y la reutilizacin de las pginas web
solicita con ms frecuencia se llama:
a) SNORT
b) SQUID
c) URL
d) APACHE
e) IMAP
10. Es una tcnica de engao al usuario, que intenta adquirir informacin confidencial suplantando la identidad de otra persona, organizaciones o pginas
web de Internet.
a) Pishing
b) Virus
c) Worms
d) Backdoor
e) Keyloggers
z1 4 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Respuestas de control
1.e, 2.e, 3.b, 4.c, 5.a, 6.d, 7.d, 8.a, 9.b, 10.a
AUTOEVALUACIN N 4
1. Sealar qu caracterstica no corresponde a bases de datos:
a. Independencia de datos y programas.
b. Soporte bajo de transacciones.
c. Metadatos.
d. Soporte de varias perspectivas de los datos.
e. Control de la concurrencia.
2. Aplicacin de los sistemas de base de datos que permite guardar la informacin de los clientes, productos y compras:
a. Lneas areas
b. Produccin
c. Recursos Humanos
d. Universidades
e. Ventas
3. Respecto a las ventajas de los sistemas gestores de base de datos, qu alternativa es la correcta:
a.
b.
c.
d.
e.
Disminuye la concurrencia.
La accesibilidad es impredecible.
La productividad es incierta.
Mejora los servicios de copias de seguridad y recuperacin ante fallas.
Mejora la duplicidad.
z1 4 2 z
Abraham Silberschatz.
Mario Piattini.
Ramez Elmasri.
Edgar Frank Ted Codd.
Christian Crovetto.
7. En relacin a los participantes de una base de datos, cul de ellos define el siguiente: Encargados de construir e implementar los programas que permitirn
la automatizacin de los procesos de la organizacin y que finalmente sern de
utilidad a los usuarios finales.
a.
b.
c.
d.
e.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
d. Ramez Elmasri.
e. Abraham Silberschatz.
10. Es una ventaja de los sistemas gestores de base de datos que seala: Referido
al uso de las muchas funciones estndares para el programador. Por otro lado,
la disponibilidad de un conjunto de herramientas que simplificarn el desarrollo
de las aplicaciones.
a.
b.
c.
d.
e.
Mejora la seguridad.
Mejora en la integridad de los datos.
Mejora en el aumento de concurrencia.
Mejora de la productividad.
Mejora en la integridad de los datos.
Respuestas de control
1.b, 2.e, 3.d, 4.b, 5.d, 6.d, 7.a, 8.c, 9.b, 10.d
EXPLORACIN ONLINE
http://www.oracle.com/lad/index.html
Pgina oficial de Oracle Latinoamrica, en ella podr encontrar informacin de productos y servicios, asimismo
podr bajar programas relacionados con el gestor de base de datos Oracle.
https://www.microsoft.com/es-es/server-cloud/products/sql-server
Pgina oficial de SQL Server de Microsoft en espaol, en ella podr encontrar informacin de este gestor de
base de datos, asimismo podr bajar programas relacionados con el gestor de base de datos Oracle.
z1 4 4 z
REFERENCIAS BIBLIOGRFICAS
BIBLIOGRAFA COMENTADA
Castaeda J., (2008). Oracle 11g. Primera Edicin. Lima-Per. Editorial A&C.
Para el tema de estructura de la base de datos, puede revisar el captulo 2 de este libro, en l encontraras la estructura
fsica y lgica de la base de datos en Oracle. Adems se hablar del esquema e instancia de una base de datos.
Ramez E. y Navathe (2007) Fundamentos de sistemas de base de datos. Quinta Edicin. Madrid. Editorial Pearson.
Para profundizar ms sobre el tema de tecnologas y aplicaciones emergentes de base de datos, donde encontraras
tecnologas sobre base de datos mviles, base de datos multimedia o sistema de informacin geogrfica (GIS).
Vargas M. (2012). Diseo e implementacin de un Datawarehouse usando SQL Server. Primera Edicin. Lima-Per. Editorial Ritisa
Para el tema de inteligencia de negocios, puede revisar el captulo 1 de este libro, en l encontrara definiciones iniciales
de inteligencia de negocios, datawarehouse, datamart y sus aplicaciones.
z1 4 5 z
c u a r t a
UNIDAD
Introduccin a algoritmos
y lenguajes de programacin
L e c c i n
ALGORITMOS
8.1. Definicin
Un algoritmo es un conjunto finito de instrucciones para realizar una tarea o solucionar un problema, tiene un inicio y un fin. Se puede comparar el concepto de algoritmo
con una receta de cocina. As, pues, los algoritmos habitualmente estn formados por
secuencias de instrucciones que probablemente se repiten (iteran) o que requieren decisiones (comparaciones lgicas) hasta que completan su tarea.
Cuando un algoritmo est asociado con el procesamiento de informacin, los datos
se leen de una fuente o dispositivo de entrada, se procesan y emiten un resultado por
un dispositivo de salida, o bien se almacenan en otro dispositivo para su uso posterior.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
8.3. Caractersticas
Todo algoritmo debe ser:
Preciso: Debe especificar sin ambigedad el orden en que se deben ejecutar
todas las instrucciones.
Definido: Cada vez que se ejecute bajo las mismas condiciones arrojar el mismo resultado. La secuencia de ejecucin deber ser la misma.
Finito: Debe terminar en un nmero finito de pasos, en un tiempo finito y requiriendo una cantidad finita de esfuerzo.
Para dar solucin a un problema pueden construirse varios algoritmos. Para saber cul
es el mejor se debe de tomar en cuenta su simplicidad, elegancia y eficiencia. En la prctica, para evaluar un buen algoritmo se considera el tiempo que requiere su ejecucin,
esto puede ser expresado en trminos del nmero de veces que se ejecuta cada paso.
Diagrama
Descripcin
Terminal: Indica el inicio y fin del diagrama de flujo.
z1 5 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
8.4.3. Pseudocdigo
Es un conjunto de frases escritas en un idioma nativo (espaol, ingls, etc.), instrucciones y algunas palabras clave, que permiten representar la secuencia lgica de las
acciones de un algoritmo.
La ventaja del pseudocdigo es que, en la planificacin de un programa, el programador se concentra en la lgica sin preocuparse de la rigidez sintctica que un lenguaje
de programacin exige.
Inicio
Accin1
Accin2
AccinN
Fin
z1 5 2 z
3.1416
Constante real: pi
Variable real: r, c
Leer (r)
Seccin de datos
2 * pi * r * r
Fin
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Identificador
Validez
Explicacin
Clculo1
Contiene un nmero.
2edad
salario bruto
sueldo_trabajador
Variables
Una variable es un identificador que representa una posicin de memoria cuyo valor
puede variar a lo largo de la ejecucin del programa. Se identifica por un tipo de dato y
un nombre. Por ejemplo:
Constantes
Una constante es aquel elemento que no cambia de valor durante la ejecucin de un
programa. Las constantes pueden tener asociados un nombre o no, si no lo tienen, se
llaman literales. Puede ser:
Carcter: na, p8
z1 5 4 z
Tipos de datos
El tipo de dato define el contenido que tendr una variable o constante. Los datos se
clasifican en diversas categoras, segn el tipo del lenguaje que se usa. Generalmente
podemos encontrar las siguientes categoras:
Enteros
Son nmeros que no contienen componentes decimales o fraccionarios. Pueden ser
positivos o negativos. Permiten realizar operaciones aritmticas.
Reales
Son nmeros que siempre tienen un punto decimal y pueden ser positivos o negativos. Un nmero real consta de un nmero entero y una parte decimal. Permite realizar
operaciones aritmticas.
Carcter
Es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato
de este tipo contiene solo un carcter. Dentro del algoritmo se distingue de las variables
porque son delimitados por apstrofos o comillas simples.
As tenemos:
Caracteres alfabticos (A,B,C, Z, a, b, c z)
Caracteres numricos (0, 1, 2, 9)
Caracteres especiales (+, -, /, ^, ;, <, >, $, ...)
Cadena
Es una sucesin de caracteres que se encuentran delimitados por comillas dobles,
representan informacin textual (palabras, frases, etc.). La longitud de una cadena es el
nmero de caracteres comprendidos entre los separadores o delimitadores, los espacios
en blanco tambin se cuentan. Por ejemplo:
Longitud = 38
Lgicos
Denominados tambin booleano, son aquellos datos que solo pueden tomar uno de
dos valores: verdadero (true) o falso (false).
z1 5 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z1 5 6 z
Operador
aritmtico
Significado
Expresin aritmtica
(a = 13, b = 2)
Resultado
Suma
a+b
15
Resta
ab
11
Multiplicacin
a*b
26
Divisin real
a/b
6.5
Div
Divisin entera
a div b
Mod
a mod b
Exponenciacin
a^2
169
Operadores relacionales
Se utiliza para comparar dos valores, produciendo un resultado lgico (verdadero o
falso). La comparacin se realiza entre valores del mismo tipo de datos (numricos o
cadenas). Estos operadores sirven para expresar las condiciones en los algoritmos.
Los operadores relacionales son:
Operador
relacional
>
>=
<
<=
=
<>
Significado
Expresin relacional
(a = 3, b = 2)
Resultado
Mayor que
a>b
true
a >= b
true
Menor que
a<b
false
a <= b
false
Igual a
a+b=5
true
Distinto de
a <> b
true
z1 5 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Operadores lgicos
Permite establecer comparaciones entre valores lgicos. El resultado de esta comparacin es de tipo lgico o booleano (verdadero o falso).
Los operadores lgicos son:
Variables
X
Operador
y
x and y
x or y
not x
True
true
true
true
false
True
false
false
true
false
False
true
false
true
true
False
false
false
false
true
Exponenciacin
*, /, mod
+, -
Suma y resta.
8.7. Asignacin
Un operador de asignacin altera el valor de una variable sin alterar su tipo. Se representa por una flecha que apunta hacia la izquierda (); este operador copia el valor
del operando o la expresin de la derecha en la variable de la izquierda y aplica las
conversiones de tipo usuales cuando es necesario. El formato general de asignacin es:
Nombre_variable
z1 5 8 z
Expresin
30
189
El valor de la variable a ser 9, es decir, el ltimo valor asignado, ya que los valores
anteriores se han destruido.
Proceso
Entrada
Est formada por la informacin dada al algoritmo o conjunto de instrucciones que
generan los valores con los que se ha de trabajar en caso de que carezca de datos de
entrada.
Proceso
Son los clculos y operaciones necesarias para que, a partir de los datos o instrucciones de entrada, se llegue a los resultados.
Salida
Son las transformaciones que ha sufrido la informacin de entrada a travs del proceso para obtener los resultados finales.
z1 5 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
3.1416
Constante real: pi
Variable real: r, c
Leer (r)
Entrada
Proceso
2*pi*r*r
Salida
Fin
Entrada de datos
Consiste en recibir desde un dispositivo de entrada (por ejemplo, el teclado) un valor
o dato. Se representa por la palabra Leer, la cual est seguida por el nombre de la variable delimitado entre parntesis:
Leer (nombre_variable)
Se utiliza para que un usuario introduzca los datos requeridos por un algoritmo. Cuando se lee ms de una variable es necesario separarlas por comas:
Leer (nombre_variable1, nombre_variable2,...)
Por ejemplo, para leer las variables a, b, c, se tiene:
Leer (a, b, c)
Salida de datos
Consiste en transferir el valor de una variable o un mensaje a un dispositivo de salida
(por ejemplo, la pantalla, impresora). Se representa por la palabra Escribir, la cual est
seguida por el nombre de la variable delimitado entre parntesis:
Escribir (nombre_variable)
Se utiliza para mostrar al usuario los resultados obtenidos. Cuando se escribe ms de
una variable es necesario separarlas por comas:
Los mensajes se escriben entre comillas dobles . Si una variable es escrita entre
comillas, se mostrar el nombre de la variable correspondiente, y si la variable es escrita
sin comillas se mostrar el contenido de la variable.
Por ejemplo, para imprimir el M.C.D. de dos nmeros, se tiene:
Escribir (El M.C.D es , m)
Lectura de datos
suma
nro1 + nro2
Inicio
// Definir variables
// Lectura de datos
// Calcular suma
suma
nro1 + nro2
// Salida de resultados
Fin
z1 6 1 z
Impresin de datos
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Explicacin
Los comentarios son mensajes de texto opcionales que se utilizan para documentar
un programa, hacindolo fcilmente entendibles a los lectores. Empieza con los caracteres // seguido del comentario deseado. En nuestro ejemplo se ha utilizado:
// Definir variables
// Lectura de datos
// Calcular suma
// Salida de resultados
Se definen todas las variables que se van a utilizar en el desarrollo del algoritmo.
Se considera el tipo de dato de las variables y a continuacin la lista de variables
separadas por comas. En nuestro ejemplo:
entero: nro1, nro2, suma
Se utiliza la palabra Leer para introducir el valor de una variable a travs del teclado o algn otro medio. En nuestro ejemplo:
Leer (nro1, nro2)
Se asigna un valor a una variable, a travs del smbolo flecha () que dice que
el valor a la derecha tiene que ser asignado a la variable que est a la izquierda.
En nuestro ejemplo, se suman los nmeros nro1 y nro2 utilizando el operador
+. Luego este resultado es asignado a la variable suma:
suma
nro1 + nro2
Se usa la palabra Escribir para identificar una salida estndar a travs del monitor
o consola. En nuestro ejemplo:
Escribir (La suma de ambos nmeros es: , suma)
De esta forma, se muestra en la pantalla el siguiente texto: La suma de ambos
nmeros es: , en este caso el operador , une el texto La suma de ambos
nmeros es: con el contenido de la variable suma.
Ejemplo 02: Teniendo como datos de entrada el radio y la altura de un cilindro, calcular el rea lateral y el volumen del mismo.
z1 6 2 z
Inicio
//Definir constantes
Const: pi=3.1416
// Definir variables
// Lectura de datos
area
2 * pi * radio * altura
volumen
pi * radio^2 * altura
// Salida de resultados
Escribir (El volumen del cilindro es, volumen)
Fin
Ejemplo 03: Calcular la cantidad de arena que se necesita para pulir una pared conociendo sus medidas (largo y alto). Se sabe que se necesita 0,5 metros cbicos de arena
por cada metro cuadrado de pared.
Inicio
// Definir variables
// Lectura de datos
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
// Proceso de clculo
rea
largo * alto
arena
0.5 * rea
// Salida de resultados
Escribir (Se necesita, arena, metros cbicos de arena)
Fin
Ejemplo 04: Carmen, Juan y Pedro aportan cantidades de dinero para formar un
capital, Carmen y Juan aportan en dlares, mientras que Pedro aporta en soles. Calcular el capital total en soles y el porcentaje del capital que corresponde a cada persona.
Considere que 1 dlar = 2.80 soles.
Inicio
//Definir constantes
Const: Equiv2.80
// Definir variables
// Lectura de datos
//Clculos
aporCa
aporCa* equiv
aporJu
aporJu* equiv
//Salida de resultados
z1 6 4 z
Fin
Ejemplo 05: Calcular la suma de los dgitos de un nmero entero positivo de 3 cifras.
Por ejemplo, sumando las cifras del nmero 257 se tiene:
2 + 5 + 7 = 14
Nota: Para obtener cada cifra del nmero ser necesario realizar divisiones sucesivas
entre 10.
Inicio
// Lectura de datos
Leer (nro)
// Proceso de clculo
unidades
nro
nro Mod 10
nro Div 10
decenas
nro Mod 10
z1 6 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
nro
nro Div 10
centenas
suma
nro Mod 10
// Salida de resultados
Escribir (La suma de los dgitos es, suma)
Fin
Si (expresin_lgica) entonces
Accin(es)
Fin_si
Funcionamiento de la estructura selectiva Si - Fin_si
Cuando la sentencia Si - Fin_si inicia su ejecucin, se suceden los siguientes pasos:
a. Se evala una expresin_lgica, obtenindose un resultado lgico.
b. Si este resultado es verdadero (true), se ejecuta la(s) Accin(es), luego el pseudocdigo proseguir con la siguiente accin que sigue al Fin_si.
c. Si este resultado es falso (false), la ejecucin del pseudocdigo saltar a la accin
que sigue al Fin_si, es decir, no se ejecuta la(s) Accin(es) que se encuentra a
continuacin del Si.
Ejemplo 01: Leer tres notas de un alumno: examen parcial, examen final y promedio
de prcticas, imprimir el promedio final del estudiante y el mensaje aprobado, solo si
el promedio final es mayor o igual que 10.5.
El siguiente cuadro muestra los resultados con datos de prueba:
z1 6 6 z
exPar
exFin
promP
promedio =
(exPar+exFin+promP)/3
mensaje
14
16
12
14.00
aprobado
10
14
15
13.00
aprobado
Inicio
// Definir variables
// Lectura de datos
// Calcula promedio
promedio
Fin_si
Fin
Explicacin
Para resolver el ejemplo planteado se definen las variables realesexPar, exFin, promP
y promedio:
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Con el promedio calculado se evala la expresin lgica (promedio >= 10.5), si esta
condicin es verdadera se imprime el mensaje solicitado:
Si (promedio>=10.5) entonces
Fin_si
Ejemplo 02: Calcular el nuevo sueldo de un trabajador, sabiendo que si su sueldo
actual es inferior a 500 se le aplica un aumento del 15%.
Inicio
// Definir variables
// Lectura de datos
Leer (sueldo)
// Calcula el sueldo
aum
0.15*sueldo
Fin_si
nuevoSueldo
sueldo + aum
Escribir (Nuevo sueldo, nuevoSueldo)
Fin
Ejemplo 03: Calcular el monto final que se paga por un consumo en un restaurante,
sabiendo que los consumos mayores a S/. 100.00 tienen un descuento del 20%.
Inicio
// Lectura de datos
0, montoFinal
z1 6 8 z
Leer (consumo)
// Calcula el descuento
desc
0.20 * consumo
Fin_si
montoFinal
consumo - desc
Escribir (El total a pagar es, montoFinal)
Fin
Ejemplo 04: Calcular el sueldo semanal de un obrero que trabaja por horas, si durante la semana trabaja ms de 40 horas se le paga, por cada hora extra, dos veces la
tarifa normal.
Inicio
entero: horas
// Lectura de datos
Leer (tarifa)
Leer (horas)
extra
Fin_si
sueldo
40 * tarifa +extra
z1 6 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Escribir (El sueldo final es, sueldo)
Fin
Ejemplo 05: Calcular el mayor de 4 nmeros enteros.
Inicio
// Definir variables
// Lectura de datos
// Proceso
mayor
nro1
mayor
nro2
Fin_si
mayor
nro3
Fin_si
mayor
nro4
Fin_si
Escribir (El mayor es, mayor)
Fin
Si (expresin_lgica) entonces
Accin1
Sino
Accin2
Fin_si
Funcionamiento de la estructura selectiva Si Sino - Fin_si
Cuando la sentencia Si Sino - Fin_si inicia su ejecucin, se suceden los siguientes
pasos:
a. Se evala expresin-lgica, obteniendo un resultado lgico.
b. Si este resultado es verdadero, se ejecuta la Accin1 y se va al paso d.
c. Si este resultado es falso, se ejecuta la Accin2 y se va al paso d.
d. La ejecucin del pseudocdigo proseguir con la siguiente sentencia que sigue al
Fin_si
Ejemplo 07: Leer tres notas de un alumno: examen parcial, examen final y promedio
de prcticas, imprima el promedio y el mensaje aprobado en caso de que el promedio
es mayor o igual que 10.5, y si el promedio es menor de 10.5 imprima el promedio y el
mensaje desaprobado.
El siguiente cuadro muestra los resultados con datos de prueba:
exPar
exFin
promP
promedio =
(exPar+ exFin+promP)/3
mensaje
14
16
12
14.00
aprobado
10
08
06
8.0
desaprobado
Inicio
// Definir variables
real: promedio
// Lectura de datos
z1 7 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
// Calcula promedio
promedio
Escribir (aprobado)
sino
Escribir (desaprobado)
Fin_si
Fin
Explicacin
Para resolver el ejemplo planteado se definen las variables enteras exPar, exFin,
promP y real promedio:
real: promedio
z1 7 2 z
sino
Fin_si
Ejemplo 08: Una inmobiliaria ofrece departamentos bajo las siguientes condiciones:
Si los ingresos del comprador son de S/. 5000 o ms, la cuota inicial ser del 15% del
precio del departamento y la diferencia se distribuir en pagos mensuales a pagar en 10
aos. Si los ingresos del comprador son menos de S/. 5000, la cuota inicial ser del 25%
del precio del departamento y la diferencia se distribuir en pagos mensuales a pagar en
15 aos. Se desea conocer el monto de la cuota inicial y el monto mensual.
Inicio
// Definir variables
entero: meses
// Lectura de datos
Leer (precio)
Leer (ingreso)
// Clculos
inicial
0.15 * precio
meses
10 * 12;
Sino
inicial
0.25 * precio
meses
15 * 12;
Fin_si
z1 7 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
pmen
(precio-inicial)/meses
Fin
Ejemplo 09: Leer tres valores tal como a, b, c y calcular el resultado de la siguiente
expresin:
y = (a - b) / c
Donde: c no puede ser cero.
Inicio
// Definir variables
real: a, b, c, y
// Lectura de datos
Leer (a, b, c)
// Calcula expresin
Si (c <> 0 ) entonces
(a - b ) / c
Escribir (y)
Sino
Fin_si
Fin
Ejemplo 10: Una empresa incrementa los sueldos de sus trabajadores en funcin a
su sueldo actual, de esta manera si su sueldo es inferior a S/. 1000 se aplica un aumento del 15%, caso contrario se aplica un aumento del 10%. Mostrar el nuevo sueldo del
trabajador.
z1 7 4 z
Inicio
// Definir variables
// Lectura de datos
Leer (sueldo)
// Calcula sueldo
aum
0.15 * sueldo
sino
aum
0.10 * sueldo
Fin_si
nuevoSueldo
sueldo + aum
Escribir (Nuevo sueldo , nuevoSueldo)
Fin
z1 7 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Sino
Accin3
Fin_si
Fin_si
Funcionamiento de Si anidado: Si Sino - Si...
Cuando la sentencia si mltiple inicia su ejecucin, se suceden los siguientes pasos:
a. Se evala expresin_lgica1, obteniendo un resultado lgico.
b. Si este resultado es verdadero (true), se ejecuta la Accion1 y se va al paso d.
c. Si este resultado es falso, se evala expresin_lgica2, obteniendo un resultado
lgico, si este resultado es verdadero, se ejecuta la Accion2 y se va al paso d, si
este resultado es falso, se ejecuta la Accion3 y se va al paso d.
d. La ejecucin del pseudocdigo proseguir con la siguiente sentencia que sigue al
ltimo Fin_si
Ejemplo 11: Leer un nmero y averiguar si es positivo, negativo o cero.
Variables a utilizar en el pseudocdigo
nro
nmero a ingresar
mensa
mensaje a mostrar
Inicio
// Definir variables
entero: nro
cadena: mensa
// Lectura de datos
Leer (nro)
Si(nro = 0 ) entonces
mensa
Cero
Sino
z1 7 6 z
Si (nro>0) entonces
mensa
Positivo
Sino
mensa
Negativo
Fin_si
Fin_si
Escribir (nro,mensa)
Fin
Explicacin:
Para resolver el ejemplo planteado se define la variable entera nro y la variable cadena mensa:
entero:
cadena:
nro
mensa
Leer (nro)
Si (nro = 0 ) entonces
mensa
Cero
Pero si la expresin lgica (nro = 0) resulta ser falsa, se ejecuta el SINO asociado al
primer SI:
Sino
z1 7 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Este sino est conformado por un SI que evala la expresin lgica (nro > 0), si la
asignacin es verdadera se asigna Positivo a la variable mensa:
Si (nro>0) entonces
mensa
Positivo
Pero si la expresin lgica resulta ser falsa se ejecuta el SINO asociado al segundo SI,
en la cual se asigna Negativo a la variable mensa:
mensa
Negativo
Ejemplo 12: Una compaa de gaseosas est realizando una promocin por la compra de su producto. Dentro de cada chapa viene un nmero que determina el premio
que obtiene un comprador.
Si la chapa tiene un nmero entre 1 y 5, el comprador obtiene como premio el doble
del precio pagado por la gaseosa.
Si la chapa tiene un nmero entre 6 y 8, el comprador obtiene como premio la devolucin del precio pagado por la gaseosa.
Si chapa tiene un nmero entre 9 y 10, el comprador no gana ningn premio.
Escribir un pseudocdigo que muestre los diferentes resultados que se podran obtener al comprar una gaseosa.
Inicio
// Definir variables
entero: nroChapa
// Lectura de datos
premio
2*precio
Sino
premio
precio
Sino
premio
Fin_si
Fin_si
Fin_si
Escribir (Premio: , premio)
Fin
Ejemplo 13: El precio de venta de DVD vara de acuerdo con la cantidad que se
compra:
El vendedor gana por cada CD vendido el 20% del coste. Realizar un pseudocdigo
que calcule el pago total y la ganancia para el vendedor.
Inicio
// Definir variables
entero: cant
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
// Lectura de datos
Leer (cant)
pago
2.50 * cant
Sino
pago
2.20 * cant
Sino
pago
1.90 * cant
Sino
pago
1.50 * cant
Fin_si
Fin_si
Fin_si
ganan
0.20 * pago
Escribir (La ganancia del vendedor es: , ganan)
Fin
B. Estructura selectiva mltiple: En caso sea Fin_caso
Ejecuta una accin dependiendo del resultado del selector. Se presenta como una alternativa de la sentencia Si anidada, ya que en ocasiones resulta ser ms comprensible
y ordenada. Su sintaxis es la siguiente:
En caso sea (selector) hacer
c1: Accin 1
z1 8 0 z
c2: Accin 2
cn: Accin N
Sino
Accion c
Fin_Caso
Donde:
Selector, cuyo valor se compara con cada una de las alternativas (c1, c2, etc.).
c1, c2, etc., son constantes enteras o de tipo carcter compatibles con el selector.
Si es de tipo carcter c1, c2, etc., deben de ir encerradas entre comillas simples,
es decir, c1, c2, etc.
Sino, cuando toma un valor distinto de las alternativas (c1, c2, etc.). El Sino es
opcional, si se omite y no hay coincidencia finaliza la sentencia En caso sea
Fin_caso sin ejecutar nada.
Las sentencias si anidadas pueden aplicarse a cualquier tipo de dato simple, en contraste con la sentencia En caso Fin_caso donde solo puede aplicarse al selector variables: enteras y caracteres.
Funcionamiento de En caso sea Fin_caso
Cuando la sentencia En caso sea Fin_caso inicia su ejecucin, se suceden los siguientes pasos:
a. Se evala el Selector, obtenindose un resultado de tipo entero o carcter.
b. Se compara este resultado con las alternativas (constantes) c1, c2, etc.
c. Si algunas de estas constantes es igual al valor del selector, entonces se ejecuta
la accin correspondiente a esa alternativa y se va al paso e.
d. Si no existe coincidencia con las alternativas, se ejecutar la accin correspondiente al Sino y se va al paso e.
z1 8 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
// Definir variable
entero: da
// Lectura de datos
Leer (da)
1 : Escribir (lunes)
2 : Escribir (martes)
3 : Escribir (mircoles)
4 : Escribir (jueves)
5 : Escribir (viernes)
6 : Escribir (sbado)
7 : Escribir (domingo)
Sino
Fin_Caso
Fin
Explicacin:
Para resolver el ejemplo planteado se define la variable entera da:
entero: da
Se ingresa la variable da
Leer (da)
1 : Escribir (lunes)
2 : Escribir (martes)
3 : Escribir (mircoles)
4 : Escribir (jueves)
5 : Escribir (viernes)
6 : Escribir (sbado)
7 : Escribir (domingo)
Si no coincide con algunos de los valores de la sentencia En caso sea hacer se ejecuta la sentencia Sino, ejecutndose:
Sino
Ejemplo 15: Pseudocdigo que permite ingresar una calificacin expresada con un
carcter (a, b, c o d) y averiguar su equivalencia correspondiente de acuerdo a la siguiente tabla:
Nota
Descripcin
Sobresaliente
Notable
Aprobado
Insuficiente
Otra letra
z1 8 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
// Definir variable
carcter: nota
// Lectura de datos
Leer (nota)
A: Escribir (Sobresaliente)
B: Escribir (Notable)
C: Escribir (Aprobado)
D: Escribir (Insuficiente)
Sino
Fin_caso
Fin
Ejemplo 16: Una compaa incrementa el sueldo actual de sus empleados de acuerdo a su categora como se muestra en el siguiente cuadro:
Categora
Incremento (%)
25
20
15
10
Adems, recibe un aumento especial de 2.5% de su sueldo actual por cada hijo que
tuviese. Asimismo, si el nuevo sueldo excede a S/. 2000 se descuenta el 3% por impuesto de solidaridad. Construir un pseudocdigo que permita calcular el sueldo neto que
recibe un empleado de dicha compaa.
z1 8 4 z
Inicio
entero: cant
carcter: cat
// Lectura de datos
Leer (cat)
Leer (sueldo)
Leer (cant)
A: aum
0.25 * sueldo
B: aum
0.20 * sueldo
C: aum
0.15 * sueldo
D: aum
0.10 * sueldo
Sino
sw
Fin_caso
Si (sw = 0) entonces
sueldo + aum
sueldo
z1 8 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
adic
Fin_si
sueldo
sueldo + adic
desc
0.03 * sueldo
Fin_si
sueldoNeto
sueldo - desc
Fin_si
Fin
En ocasiones, es necesario el uso de una variable que altere el funcionamiento del
algoritmo, cambiando su valor entre 0 y 1 o entre verdadero y falso, a esta variable tambin se le conoce como switch o bandera. Para nuestro ejemplo se ha utilizado la variable sw inicializado en cero; este valor cambia a 1 al entrar al sino del En caso sea, luego
de identificar que se ha ingresado una categora diferente a las existentes; esto permite
que una vez impreso el mensaje de error ya no se realicen los siguientes clculos.
Ejemplo 17: Construir un pseudocdigo que acte como una calculadora, permitiendo realizar las operaciones de suma, resta, multiplicacin y divisin entre dos nmeros
cualquiera.
Inicio
carcter: oper
entero: sw
// Lectura de datos
Leer (n1)
z1 8 6 z
Leer (oper)
Leer (n2)
+: res
n1 + n2
- : res
n1 - n2
*: res
n1 * n2
/ : Si (n2 <>0)
res
n1 / n2
Sino
Escribir (Error)
sw
Fin_si
Sino
sw
Fin_caso
Si (sw = 0) entonces
Fin_si
Fin
z1 8 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Ejemplo 18: Un centro comercial ofrece ventas financiadas por medio de 3 tipos de
tarjetas de crdito como indica a continuacin:
Tipo de Tarjeta
Mximo de Letras
Inters (%)
36
24
12
El cliente solo puede financiar una compra hasta el mximo de letras que se indica
en el cuadro anterior, en caso contrario la venta no debe proceder. Calcular el monto de
cada letra por pagar, as como el monto total.
Inicio
// Definir variables
carcter: tipo
// Lectura de datos
Leer (tipo)
Leer (monto)
Leer (cant)
A: max
36
inte
B: max
0.07 * monto
24
inte
0.06 * monto
z1 8 8 z
C: max
12
inte
0.05 * monto
Sino
sw
Fin_caso
Si (sw = 0) entonces
monto + inte
monto
letra
monto / cant
Sino
Fin_si
Fin_si
Fin
Ejemplo 19: Calcular el consumo de combustible y el total que se invirti en el recorrido
de un automvil. Para esto se debe disear un algoritmo en el que se ingresan los kilometrajes con el que inicia y termina el recorrido, as como la cantidad de galones de combustible con el que se inicia y termina el recorrido. Adems, calcular la cantidad de galones que
consume el auto por cada 100 kilmetros. Los precios por cada galn de combustible son:
Tipo de combustible
Gasolina 97
16.98
Gasolina 95
15.60
Gasolina 89
13.50
Diesel
10.20
z1 8 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
// Definir variables
entero: tipo
// Lectura de datos
Leer (tipo)
1 : precio
16.98
2 : precio
15.60
3 : precio
13.50
4 : precio
10.20
Fin_caso
kilRec
kil2 kil1
totGal
gal2 gal1
total
totGal * precio
c100
z1 9 0 z
Sino
Fin_si
Fin
C. Estructura selectiva mltiple: En caso sea mltiple
La sentencia En caso sea mltiple se presenta de dos formas:
a. Cuando ms de una alternativa debe ejecutar la misma accin; para estos casos
se agrupan todas las alternativas con acciones comunes.
Ejemplo 20: Determinar si un nmero que se encuentre en el rango de 1 a 9 es par
o impar.
Inicio
// Definir variable
entero: nro
// Lectura de datos
Leer (nro)
1: 3: 5: 7: 9: Escribir (impar)
2: 4: 6: 8: Escribir (par)
sino
Fin_Caso
Fin
Ejemplo 21: En un campeonato de tiro al blanco se ha llegado a un acuerdo entre los
participantes para que el puntaje obtenido sea calculado en base al puntaje original (el
z1 9 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
que est entre 0 y 10) alcanzado en el tiro multiplicado por un factor, el cual se muestra
en el siguiente cuadro. Hacer un pseudocdigo que muestre el nuevo puntaje obtenido
por cualquier participante.
Puntaje original
Factor
Entre 1 y 5
Entre 6 y 8
Entre 9 y 10
10
Inicio
// Lectura de datos
Leer (puntaje)
// Calcula puntaje
0: factor
1: 2: 3: 4: 5: factor
6: 7: 8:
factor
9: 10: factor
10
Sino
sw
Fin_Caso
Si (sw = 0) entonces
z1 9 2 z
puntaje + factor
nuevoPuntaje
Fin_si
Fin
Ejemplo 22: Calcular la cantidad de das que tiene un mes, teniendo en cuenta lo
siguiente:
a. El orden del calendario indica que enero es 1, febrero es 2, etc.
b. Enero, marzo, mayo, julio, agosto, octubre y diciembre tienen 31 das.
c. Abril, junio, setiembre y noviembre tienen 30 das.
d. Febrero tiene 28 das o 29 das si el ao bisiesto. Un ao es bisiesto si es mltiplo
de 4 y no de 100 o cuando es mltiplo de 400.
Inicio
// Definir variables
// Lectura de datos
31
4: 6: 9 : das
30
das
29
Sino
28
das
Fin_si
z1 9 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Fin_Caso
Escribir (mes, year, da)
Fin
a. Cuando se presentan selecciones basadas en dos o ms niveles; en estos casos
se utiliza la sentencia En caso sea anidado.
valor anterior
valor actual
cantidad a incrementar
Acumulador o totalizador: Es una variable numrica que se incrementa o decrementa de forma no constante, toma un valor inicial de cero o uno segn sea
el caso. En la siguiente figura, la variable total representa a un acumulador y la
variable parcial es la cantidad en que se incrementar el acumulador en cada
iteracin.
valor actual
valor anterior
cantidad a incrementar
Bucle: Es un mecanismo de programacin que repite un segmento de un programa (una o ms sentencias) un cierto nmero de veces. Los bucles se implementan utilizando las sentencias repetitivas: mientras, repetir y para.
z1 9 4 z
Cuerpo del bucle: Son las sentencias que se ejecutarn repetidamente un cierto
nmero de veces.
Iteracin: Representa cada repeticin del cuerpo de bucle.
// Leer Datos
Leer (nro)
nro1
nro
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
nro Mod 10
dgito
nroinvertido
nro
nroinvertido * 10 + dgito
nro Div 10
Fin_Mientras
Escribir (El nmero invertido de, nro1, es, nroinvertido)
Fin
Explicacin:
Para resolver el ejemplo planteado se definen las variables enteras: nro., nro.1, dgito
y se inicializa en cero la variable nro. Invertido.
Leer (nro)
Y se asigna nro a una nueva variable nro1, para conservar el valor original del nmero
ingresado:
nro1
nro
La sentencia Mientras ejecuta tres sentencias, mientras que la expresin lgica (nro
> 0) es verdadera, en estas sentencias se va extrayendo cada dgito del nmero ingresado:
nro Mod 10
dgito
nroinvertido
nro
nroinvertido * 10 + dgito
nro Div 10
Fin_Mientras
Cuando la expresin lgica (nro > 0) llega a ser falsa, se ejecuta la sentencia escribir
y finaliza el pseudocdigo:
z1 9 6 z
Por ejemplo, si el nmero es 134, entonces el nmero invertido ser 431. Para ir reduciendo cada nmero emplearemos la operacin:
nro
nro Div 10
As tenemos:
134 Div 10 = 13
13 Div 10 = 1
1 Div 10 = 0
Se detiene cuando
es cero
dgito Mod 10
As tenemos:
134 Mod 10 = 4
13 Mod 10 = 3
1 Mod 10 = 1
10 * 0 + 4 = 4
10 * 4 + 3 = 43
10 * 43+ 1 = 431
Inicialmente nroinvertido = 0
La siguiente tabla muestra los resultados de la corrida del algoritmo.
z1 9 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Iteracin
nro.
Valores
de
nro.
Expresin
lgica
nro > 0
Resultado
de la
expresin
lgica
134
134>0
13
3
---
nroinvertido =
10*nroinvertido+ dgito
nro =
nro Div 10
True
13 >0
True
43
1> 0
True
431
0>0
False
13
2 + 5 + 8 + 11 + 14 +
Inicio
entero: n, ter
// Leer Datos
Leer (n)
con
2, con , suma 0
Escribir (ter)
suma
ter
con con + 1
suma + ter
ter + 3
Fin_mientras
Escribir (La suma es: , suma)
Fin
z1 9 8 z
Ejemplo 03: Calcular la suma total y determine cuntos nmeros mltiplos de M hay
en los N primeros nmeros naturales, tal que M <= N.
Por ejemplo:
Si se desea saber cuntos mltiplos de 7 hay en los primeros 80 nmeros naturales.
Se tiene:
Inicio
// Leer Datos
Leer (n)
Leer (m)
con
Escribir (m)
con
suma
con + 1
suma + m
m+7
Fin_mientras
Fin
z1 9 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
entero: n, cuad
// Leer Datos
Leer (n)
con
0, ter 1, con
cuad
ter
con
cuad + ter
ter + 2
con + 1
Fin_mientras
Escribir (El cuadrado de, n, es:, cuad)
Fin
Ejemplo 05: Mostrar la serie y calcular el producto de los n trminos de:
1/12 * 3/22 * 5/32 * 7/42 *
Inicio
entero: n, con
real : num
// Leer Datos
1, den 1, prod 1
z2 0 0 z
Leer (n)
con
prod
prod * (num/(den^2))
num
num + 2
den
den + 1
con
con + 1
Fin_mientras
Escribir (El producto es:, prod)
Fin
Ejemplo 06: Mostrar la serie y calcular la suma de los n trminos de:
1 + 2 + 5 + 10 + 17 + 26 +
Inicio
// Leer Datos
Leer (n)
con
1, suma 0, inc 1
Escribir (ter)
suma
suma + ter
z2 0 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
ter
ter + inc
inc
inc + 2
con
con + 1
Fin_mientras
Escribir (La suma es:, suma)
Fin
Ejemplo 07: Ingresar un nmero entero y calcular:
a)
b)
c)
Recuerde que para extraer los dgitos de un nmero se divide entre 10 hasta que el
nmero se haga cero, de esta manera cada dgito se obtiene mediante la expresin:
dgito dgito Mod 10, y el valor del nmero se va actualizando con la expresin: nro
nro Div 10
Inicio
// Leer Datos
Leer (nro)
0, c 0, cpar 0, cimpar 0
digito
nro Mod 10
suma
suma + dgito
cpar
c+1
cpar + 1
z2 0 2 z
Sino
cimpar
Fin_si
nro
cimpar + 1
nro Div 10
Fin_mientras
Escribir (La cantidad de dgitos impares es:, cimpar)
Fin
Ejemplo 08: Calcular los salarios de un conjunto de n trabajadores, conociendo la tarifa
por hora y las horas trabajadas, as como, la cantidad de trabajadores que reciben un salario
mayor o igual a S/. 700. Considerar una nica tarifa por hora para todos los trabajadores.
Inicio
// Leer Datos
Leer (tar)
Leer (n)
// Calculo
con
Leer (hor)
z2 0 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
hor * tar
salario
conS
conS + 1
Fin_si
con
con + 1
Fin_mientras
S/. 700.00 es:, conS)
Fin
Ejemplo 09: Durante un censo se registran los datos de n personas como: sexo (masculino, femenino), edad y estado civil (soltero, casado, viudo, divorciado). Elaborar un
pseudocdigo que muestre el nmero de jvenes solteras que tienen entre 18 y 30 aos.
Inicio
// Leer Datos
Leer (n)
// Calculo
con
1 , conM 0
Leer (sexo)
Leer (edad)
Leer (estCiv)
conM
Fin_si
con
conM + 1
con + 1
Fin_mientras
Escribir (La cantidad de mujeres solteras entre 18 y 30 aos son:, conM)
Fin
Ejemplo 10: Una organizacin de bienestar familiar registra los pesos de las n personas de un centro poblado, a partir de estos datos, se desea determinar el promedio
de peso de los nios, jvenes, adultos y ancianos que existen en la zona. Considerar la
siguiente tabla de categoras:
Categora
Edad
Nios
0 12
Jvenes
13 29
Adultos
30 59
Ancianos
60 ms
Inicio
// Leer Datos
z2 0 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Leer (n)
// Clculo
con
Leer (edad)
Leer (peso)
sumaN
conN
sumaN + peso
conN + 1
Sino
sumaJ
conJ
sumaJ + peso
conJ + 1
Sino
sumaA
conA
sumaA + peso
conA + 1
Sino
sumaC
conC
sumaC + peso
conC + 1
Fin_si
Fin_si
z2 0 6 z
Fin_si
Fin_mientras
promN
sumaN / conN
promJ
sumaJ/ conJ
promA
sumaA / conA
promC
sumaC / conC
Escribir (El promedio de peso de los ancianos es: , promC)
Fin
Ejemplo 11: Para convertir un nmero en base diferente de 10 a base 10, emplearemos la descomposicin polinmica, se denomina as porque tiene la caracterstica de un
polinomio donde la variable del polinomio viene a estar dado por la base del nmero. Se
pide construir un pseudocdigo para realizar la descomposicin polinmica de un nmero.
La siguiente tabla muestra la descomposicin polinmica:
Numero a convertir y su correspondiente base
Proceso de conversin
(descomposicin polinmica)
Resultado
de la conversin
344(7
179
1304(5
204
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
0 + 4 * 70 = 4
4 + 4 * 71 = 32
32 + 3 * 72 = 179
Inicio
// Leer datos
nro1
0, expo 0
nro
dgito
nro Mod 10
suma
expo
nro
expo +1
nro Div 10
Fin_mientras
Escribir (El nmero, nro1, en base 10 es, suma)
Fin
Ejemplo 12: Convertir un nmero decimal a una base binaria u octal.
En la tabla se muestran los primeros diecisiete nmeros decimales con su respectiva equivalencia binaria y octal.
z2 0 8 z
Decimal
Binario
Octal
0000
0001
0010
0011
0100
0101
0110
Decimal
Binario
Octal
0111
1000
10
1001
11
10
1010
12
11
1011
13
12
1100
14
13
1101
15
14
1110
16
15
1111
17
16
10000
20
17
10001
21
z2 0 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
10(10)=1010(2)
Inicio
cadena: mensa
// Lectura de datos
Leer (nro)
Leer (base)
nro1
0, coeficiente 1, dgito
nro
residuo
coeficiente
nro
10*coeficiente
Fin_mientras
Si (base = 2) entonces
mensa
Binario
z2 1 0 z
Fin_si
Si (base = 8) entonces
mensa
Octal
Fin_si
Escribir (El nmero,nro1,en, mensa, es, nuevonro)
Fin
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
entero: trmino
1, con 1
Repetir
Escribir (trmino)
trmino
con
trmino + 2
con + 1
Hasta_que (con = 10)
Fin
La siguiente tabla muestra los resultados de la corrida del algoritmo.
Iteracin
nmero
Resultados del
cuerpo del bucle
con = 10
Resultado
de la
expresin
lgica
2 = 10
false
3 = 10
false
4 = 10
false
...
...
...
...
...
...
...
...
...
...
...
...
10
19
21
10
10=10
true
con
Escribir
trmino
trmino =
con =
trmino + 2
con + 1
Expresin
lgica
Ejemplo 14: Pseudocdigo que encuentra el menor nmero, de un conjunto de nmeros positivos ingresados. El pseudocdigo termina cuando se ingresa el cero o un
nmero negativo.
Asumimos que el valor inicial del menor nmero es un nmero grande:
menor 99999, para poder iniciar la comparacin con todos los nmeros ingresados.
z2 1 2 z
Inicio
99999
Repetir
Leer (nro)
menor
nro
Fin_si
Fin
Ejemplo 15: Generar una secuencia de nmeros utilizando el siguiente algoritmo:
z2 1 3 z
2 1
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Nmero
7
Proceso
7 es impar, entonces 7 * 3 + 1 = 22
22
22 es par, entonces 22 / 2 = 11
11
34
34 es par, entonces 34 / 2 = 17
17
17 es impar, entonces 17 * 3 + 1 = 52
52
52 es par, entonces 52 / 2 = 26
26
26 es par, entonces 26 / 2 = 13
13
13 es impar, entonces 13 * 3 + 1 = 40
40
40 es par, entonces 40 / 2 = 10
10
10 es par, entonces 10 / 2 = 5
5
16
5 es impar, entonces 5 * 3 + 1 = 16
16 es par, entonces 16 / 2 = 8
8 es par, entonces 8 / 2 = 4
4 es par, entonces 4 / 2 = 2
2 es par, entonces 2 / 2 = 1
1
Observar que la serie comienza a repetir la serie 4 2 1 indefinidamente, el algoritmo
debe de leer el nmero inicial, imprimir el nmero de valores encontrados hasta la aparicin de un valor 1 en la secuencia.
Para los nmeros pares emplearemos la operacin:
nro
nro Div 2
nro
3 * nro + 1
Inicio
// Definir variables
z2 1 4 z
// Leer Datos
Leer (nro)
// Calcula la serie
Repetir
nro Mod 2
residuo
Si (residuo = 0) entonces
nro
nro Div 2
Sino
nro
3 * nro + 1
Fin_si
Escribir (nro)
Hasta_que (nro = 1)
Fin
Ejemplo 16: Calcular el promedio de nmeros positivos y el promedio de nmeros
negativos de un conjunto de nmeros ingresados. El pseudocdigo termina cuando se
ingresa el cero.
Inicio
// Ingreso y clculo
0, suman 0, cp 0, cn 0
Repetir
Leer (nro)
z2 1 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
sumap
cp
sumap + nro
cp + 1
Sino
suman
cn
suman + nro
cn + 1
Fin_si
Fin_si
Hasta_que (nro = 0)
promp
sumap / cp
promn
suman / cn
Escribir (El promedio de los nmeros negativos es, promn)
Fin
Ejemplo 17: Leer n consumos de un restaurante. Si el consumo ingresado excede
los S/. 70.00, se le descontar el 15%. Mostrar el monto de cada consumo realizado y
el total que recauda el restaurante por todos los consumos.
Inicio
entero: n, con
Leer (n)
// Clculo
0
0, total 0
Repetir
z2 1 6 z
Leer (consumo)
desc
0.15 * consumo
Fin_si
consumo
total
con
consumo desc
total + consumo
con +1
Hasta_que (con = n)
Fin
Ejemplo 18: Calcular la compra de N productos de diferentes precios, dicha compra
se realiza hasta que el cliente ya no desea seguir comprando. Mostrar el monto total que
paga el cliente.
Inicio
entero: cant
caracter: resp
// Clculo
Repetir
Leer (precio)
z2 1 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Leer (cant)
subTot
total
Leer (resp)
precio * cant
total + subTot
Hasta_que(resp = N)
Escribir (El total a pagar es, total)
Fin
Ejemplo 19: Calcular el monto total que se paga por una entrada a un evento cultural, los precios varan de acuerdo con el tipo de entrada:
Tipo
Precio (S/.)
Vip
70.00
Platea
50.00
Popular
30.00
Adems el precio tiene un incremento del 12% por impuesto. Validar el ingreso de
datos.
Inicio
// Definir variables
carcter: tipo
// Clculo
Repetir
Leer (tipo)
Fin_si
V: precio
70.00
P: precio
50.00
L: precio
30.00
Fin_segn
inc
precio * 0.12
precio
precio + inc
Escribir (El precio final a pagar es , precio)
Fin
Ejemplo 20: Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco
kilmetros durante 10 das, con el fin de determinar si es apto para competir. Para que
el atleta sea considerado apto debe cumplir, por lo menos, una de las siguientes condiciones:
Inicio
entero: tpo, ct
real: prom
// Clculo
0, suma 0, con 0
Repetir
Leer (tpo)
z2 1 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Fin_si
suma
con
suma + tpo
con + 1
prom
ct + 1
suma / 10
Sino
Fin_si
Fin
Ejemplo 21: Se ingresan los resultados de la evaluacin de un cierto nmero de
alumnos del curso de Programacin; por cada alumno se informa: su asistencia (1 =
presente; 0 = ausente) y su calificacin. A partir de esta informacin se debe calcular:
// Clculo
Repetir
z2 2 0 z
Leer (asis)
Si (asis = 1)
Leer (calf)
suma
suma + calf
Fin_si
1 : cap
cap + 1
0 : caa
caa + 1
Fin_segn
cant
cant + 1
porp
prom
Fin
Ejemplo 22: Pseudocdigo que lee nmeros de forma consecutiva y aleatoria hasta
que se ingrese el nmero 0 (cero). Calcular la suma de todos los nmeros ingresados
antes de que aparezca el primer nmero mayor a 150, as como la suma de todos los
nmeros que entran a continuacin de este, hasta la aparicin del cero.
Mostrar la cantidad de nmeros ingresados (sin contar el cero ni el primer nmero
mayor de 150), en la primera y la segunda suma.
Contemplar la posibilidad de que entre antes el 0 que el primer nmero mayor de
150.
z2 2 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
entero: nro, sw
// Clculo
Repetir
Leer (nro)
con
con + 1
Fin_si
Si (sw = 1) entonces
suma2
suma2 + nro
Fin_si
suma1
Sino
sw = 1
con
suma1 + nro
con - 1
Fin_si
Hasta_que (nro = 0)
Escribir (La segunda suma es, suma2)
Fin
z2 2 2 z
Ejemplo 23: Calcular la suma de los cuadrados y los cubos de los N primeros nmeros naturales.
Inicio
// Leer dato
Leer (n)
z2 2 3 z
0, sumaCubo 0
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Desde (nro
cuad
sumaCuad
cubo
sumaCubo
sumaCuad + cuad
Fin_desde
Escribir(La suma de los cubos es, sumaCubo)
Fin
Explicacin:
Para realizar el ejercicio planteado se definen las variables enteras n, nro, cuad, cubo
y se define e inicializa en cero las variables sumaCuad, sumaCubo:
0, sumaCubo 0
Leer (n)
Desde (nro
cuad
sumaCuad
cubo
sumaCubo
sumaCuad + cuad
Fin_desde
z2 2 4 z
Cuando la expresin lgica (nro<=n) llega a ser falso el bucle termina y se ejecuta la
sentencia escribir y finaliza el pseudocdigo:
entero: n, num
// Leer dato
Leer (n)
Desde (con
1, den 1
suma
num
den
num * -1
den + 2
Fin_desde
pi
suma * 4
Escribir (El valor de PI es , pi)
Fin
Ejemplo 25: Encontrar todos los divisores de un nmero ingresado. Un nmero a es
divisor de otro nmero b, cuando el residuo de la divisin de b entre a es cero, en otras
palabras cuando el residuo es exacto. As, pues, decimos que 5 es divisor de 20, porque
el residuo de 20 Mod 5 es cero.
Por ejemplo, los divisores de 24 son: 1, 2, 3, 4, 6, 8, 12, 24, para hallar estos valores
es necesario dividir al nmero 24 con valores comprendidos entre 1 y 24.
z2 2 5 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Inicio
entero: nro, i
// Leer datos
Leer (nro)
Desde (i
Escribir (i)
Fin_si
Fin_desde
Fin
Ejemplo 26: Calcular el factorial de un nmero entero. El factorial de un nmero n
se representa por n! y su frmula es:
n ! = 1 * 2 * 3 * 4 * * (n-2) * (n-1) * n
1!=1
2!=1*2=2
3!=1*2*3=6
4 ! = 1 * 2 * 3 * 4 = 24
4 ! = 3 ! * 4 = 24
n! =
(n-1)! * n
fact
fact * i
Inicio
// Leer Datos
Leer (nro)
// Calcula el factorial
Desde (i
fact
fact * i
Fin_desde
Escribir (El factorial es: , fact)
Fin
La siguiente tabla muestra los resultados de la corrida del algoritmo para 5!
Resultados
del cuerpo del
bucle
Iteracin
Nro.
i
Expresin
lgica
<=5
Valor de la
expresin
lgica
Incremento
i=i+1
1<= 5
true
2<= 5
true
3 <=5
true
4 <=5
true
24
5<= 5
true
120
6<= 5
false
fact = fact * i
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
2 *1 1 = 1
Si n = 2
2*2 - 1 = 3
Si n = 3
2*3 1 = 5
0+1
1+3
4+5
Inicio
// Leer Datos
Leer (nro)
Desde (i
trmino
Escribir (trmino)
suma
suma + trmino
Fin-desde
Escribir (El nmero al cuadrado es:, suma)
Fin
Ejemplo 28: Determinar si un ao es bisiesto en un rango dado. Un ao es bisiesto
si es mltiplo de 4 pero no mltiplo de 100, excepto los mltiplos de 400.
Como tenemos que hallar los aos bisiestos en un rango, empleamos un bucle repetitivo que permita recorrer los aos determinados en el rango aoinicio y aotermino que
definen el ao de inicio y trmino, respectivamente, de esta manera usamos un contador
z2 2 8 z
// Definir variables
// Leer dato
Si ((a Mod 4 = 0) and (a Mod 100 <>0) or (a Mod 400 = 0)) entonces
Fin_si
Fin_desde
Fin
z2 2 9 z
L e c c i n
LENGUAJE DE PROGRAMACIN
Lenguaje mquina: Es aquel lenguaje cuyas instrucciones estn escritas en cdigo binario (0 o 1) directamente entendible por la computadora, es decir, un
programa escrito en este lenguaje no necesita traducirse para ser comprendido
y ejecutado.
z2 3 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
9.3. Programa
Un programa es una secuencia de instrucciones u rdenes escritas en un lenguaje de
programacin dadas a la computadora para que interprete y ejecute una tarea concreta.
Un programa escrito en un lenguaje de alto nivel no puede ser ejecutado directamente por un ordenador, sino que debe ser traducido a lenguaje mquina, por lo que surgen
los siguientes programas:
Programa fuente: Es un programa escrito en lenguaje de alto nivel que no ha
sido traducido a cdigo mquina.
Programa objeto: Es el programa fuente que ha sido traducido por el compilador a cdigo mquina. An no es directamente ejecutable.
Programa ejecutable: Es un programa que ha sido traducido completamente a
cdigo mquina, ya es directamente ejecutable.
9.4. Compilador
Es un programa encargado de traducir los programas fuentes escrito en un lenguaje
de alto nivel a programas objetos escrito en lenguaje ensamblador o mquina
El proceso de compilacin consta de dos etapas fundamentales: el anlisis y la sntesis.
z2 3 2 z
Cdigo Fuente
Anlisis Lxico
Anlisis Sintctico
Anlisis Semntico
Gestor de errores
Tabla de smbolos
Cdigo Objeto
suma
max
min
0.5
id
igual
id
mas
id
z2 3 3 z
por
num
separador
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Anlisis sintctico: Analiza la estructura de las expresiones en base a gramticas, identificando una expresin matemtica mal formada. Este anlisis se realiza
de forma jerrquica, construyendo rboles de derivacin. Ejemplo:
=
suma
max *
min 0.5
Anlisis semntico: Busca establecer que el cdigo fuente cumpla con la semntica solicitada por el compilador, para esto, verifica el rbol sintctico comprobando que una variable concuerde con el tipo de la expresin asignada y que
las variables estn declaradas antes de ser usadas. Ejemplo:
=
suma
real
max *
real
min 0.5
real
real
En la etapa de sntesis se procede a generar grupos de los componentes que conforman el programa para obtener una salida. Comprende las siguientes fases:
Generacin de cdigo intermedio: generar instrucciones para la mquina virtual genrica a partir del anlisis de las primeras tres fases.
Optimizacin de cdigo: transforma el cdigo intermedio en otro equivalente
que tenga menos lneas de cdigo, sea de menor tamao y tenga un menor tiempo de ejecucin.
Generacin de cdigo objeto: Genera el cdigo objeto que utiliza instrucciones
en cdigo mquina o cdigo ensamblador.
En el proceso de compilacin, tanto las fases de la etapa de anlisis como las fases de
la etapa de sntesis interactan con la tabla de smbolos y el gestor de errores.
z2 3 4 z
9.5. Intrprete
Se encarga de traducir lnea a lnea las sentencias de un programa escrito en lenguaje de alto nivel. La ejecucin de los programas compilados es ms rpida que la de los
interpretados, ya que el intrprete debe traducir mientras est en la fase de ejecucin
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
z2 3 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Texto pa ra come n t a r 1
Nativos digitales y Padres 2.0: La factura digital
de tener pasado en la Red
En esta poca del ao cuando el cole finaliza muchos padres asistimos con orgullo
a las fiestas de fin de curso y otras actividades similares que ponen fin al ao escolar.
Muchos padres, plenamente conscientes del peso que tiene Internet en nuestras vidas y
de las tendencias tecnolgicas que van a condicionar su futuro, vemos con preocupacin
la ligereza y frecuencia con la que los progenitores vuelcan sin control las hazaas de sus
peques con las finalidades vinculadas a la difusin entre sus conocidos. Los ms prudentes
utilizan enlaces a carpetas de servicios de almacenamiento en nube como Dropbox y los
menos los cuelgan en sus canales propios de YouTube totalmente en abierto. Adems,
quienes somos conscientes de la problemtica existente tenemos que sufrir agresiones
virtuales al ver que a pesar de nuestros esfuerzos por evitar este tipo de situaciones, nuestros menores aparecen acompaando a otros en actividades como fiestas de colegio o
celebraciones de cumpleaos.
Aunque este tema lo aborda de forma completa el artculo Festivales de fin de curso: Debe permitirse hacer fotos?, lo ms significativo, como coment Ricard Martnez
hace unas semanas en el III Congreso Nacional de la Asociacin de Profesionales de
Privacidad (APEP), son los comentarios de muchos padres al pie del mismo. En ellos se
mezclan, en muchos casos, el enfado por las medidas a tomar y lo ridcula que les suena
la preocupacin de los autores.
Quiz, lo que muchos padres no son capaces de ver o entender es la importancia o
trascendencia que tienen los hechos que ahora cuelgan en la Red para sus hijos... en
el futuro. En un mundo donde el crecimiento de la tecnologa es brutal, donde la incorporacin de la innovacin tiene cada vez ciclos ms cortos de penetracin, es complejo
poder vaticinar qu importancia pueden tener los datos del hoy en el maana. Aunque
Gemma Galdon, sociloga y participante en el III Congreso APEP, ha colgado un excelente post titulado: La memoria obligatoria, planteando este nuevo escenario como un
elemento que alterar nuestro concepto de libertad, creo necesario como experto en la
materia intentar hacer ver de qu estamos hablando y cules son las cuestiones que nos
preocupan a los profesionales que entendemos de esto y que podemos predecir, por el
anlisis de las tendencias tecnolgicas en curso, cules son las posibles situaciones que
se plantearn en este siglo XXI. Para ello, he credo adecuado usar un relato futurista, al
igual que ya hice en el post El tsunami tecnolgico que no pudimos evitar, en el ao
z2 3 8 z
z2 3 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Cmo iba a saber que todo eso no quedaba en el olvido? No tena muchas visitas
y eran cosas que ponamos para que las vieran en aquellos momentos solo nosotros,
respondi de nuevo el padre.
Pero eran indexables y estaban en la memoria de Internet para siempre, pap. Quedaban fuera de vuestro control. No podas garantizar que solo estuvieran en los sitios en
las que lo subas porque los contenidos una vez son pblicos, ya dejan de poderse limitar.
ramos muy ignorantes, hijo. Ahora nos llamaran analfabetos digitales y en aquellas
pocas de explosin de las redes sociales pareca que si no estabas metiendo tu vida en
Facebook o contando lo que hacas en Twitter, eras un atrasado tecnolgico.
Esta conversacin ficticia, hoy en el ao 2015 no tiene todava mucho sentido, aunque
ya sabemos que los procesos de seleccin de personal se ven influenciados por las redes
sociales. Sin embargo, la memoria eterna y la indexacin continua de la Red obligan a
pensar no en el ahora, sino en lo que podr suceder en el futuro. Dado que no sabemos
los rumbos que pueden mover a las nuevas tecnologas ni cmo los derechos pasarn
a ser regulados, es cuanto menos temerario volcar demasiado en un entorno inestable
que no sabemos qu consecuencias puede acarrear. Como padres, somos garantes de
la educacin de nuestros hijos y debemos preservar su intimidad y dignidad como un
bien preciado dado que la reputacin (online) ya es un valor en alza que cada vez ms
condicionar lo que son o pueden llegar a ser nuestros hijos en el futuro.
Si te parece descabellado o exagerado el relato, plantate slo como se daban prstamos bancarios hace 10 aos. Para poderlo recordar puedes ver series como Cuntame
cmo pas, donde se relata la importancia del director de oficina en algunos de los
momentos ms importantes de algunas familias a la hora de otorgar prstamos para cosas
importantes y cmo se hace ahora ese proceso. El scoring bancario es una realidad, pero
cuando realmente el potencial del big data y las tecnologas cognitivas sean una realidad
cotidiana, de verdad crees que querrs haber colgado tanta informacin en la Red?
Por eso es loable y necesario movimientos y ONG como Padres 2.0 que intentan mitigar
el desconocimiento de los tutores y padres en estas materias, para evitar pagar facturas
como las comentadas. La ignorancia tecnolgica puede ser un elemento discriminador
en el futuro y por eso nos toca a todos hacer ver la cara oculta del uso de los nuevos
servicios que seducen al usuario con sus cantos de sirena, para atraparlos en una tela de
araa de la que es difcil salir pese a existir el derecho al olvido y que nunca sabremos
en qu momento podr acabar devorndonos.
Apuntes de seguridad de la informacin
Blog personal de Javier Cao Avellaneda
LOPD, Reflexiones sobre seguridad 11/07/2015
z2 4 0 z
Te xto pa ra come n t a r 2
CONTROL DE LOS DATOS DEL GENOMA1
Tecnologas y aplicaciones emergentes
de base de datos
La biologa engloba una enorme variedad de informacin. Las ciencias medioambientales nos ofrecen una visin del modo en que las especies viven e interactan en un
mundo repleto de fenmenos naturales.
La gentica ha emergido como un campo ideal para la aplicacin de la tecnologa de la
informacin. En un sentido amplio, puede considerarse como la construccin de modelos
de datos basados en la informacin sobre los genes (considerados como las unidades
fundamentales de la herencia) y la bsqueda de relaciones entre esa informacin. La gentica puede dividirse en tres ramas: mendeliana, molecular y poblacional. La gentica
mendeliana es el estudio de la transmisin de los rasgos entre las distintas generaciones.
La gentica molecular se encarga de analizar la estructura qumica y la funcin de los
genes a nivel molecular. Por ltimo, la gentica poblacional observa el modo en que la
informacin gentica vara entre los distintos grupos de organismos.
La gentica molecular ofrece un aspecto mucho ms detallado de la informacin
gentica al permitir que los investigadores examinen la composicin, la estructura y el
funcionamiento de los genes. Sus orgenes pueden establecerse en dos descubrimientos
importantes. El primero ocurri en 1869 cuando Friedrich Miescher descubri el ncleo
y sus componentes primarios, el ADN (cido desoxorribonucleico). En investigaciones
posteriores se determin que el ADN y otro compuesto relacionado, el ARN (cido ribonucleico), formaban parte de los nucletidos (azcar, fosforo y base que, combinados,
formaban el cido nucleico) enlazados en polmeros largos mediante el azcar y el fosfato.
El segundo descubrimiento fue la demostracin de Oswald Avery, en 1944, de que el ADN
era la sustancia molecular encargada de transportar la informacin gentica. A partir de
entonces, los genes fueron considerados como cadenas de cidos nucleicos alineados en
cromosomas y que ofrecen tres funciones principales: (1) duplicar la informacin gentica
entre las generaciones, (2) proporcionar cianotipos para la creacin de polipptidos y (3)
acumular los cambios que permiten la evolucin. Watson y Crick descubrieron la estructura
1 Ramez E. y Navathe (2007). Fundamentos de sistemas de base de datos. Quinta Edicin. Madrid.
Editorial Pearson. pp 889-893
z2 4 1 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
de doble hlice del ADN en 1953, lo cual mostro una nueva investigacin de la gentica
molecular. El descubrimiento del ADN y de su estructura es considerado como el trabajo
biolgico ms importante de los ltimos 100 aos, y el nuevo campo que se abri puede
ser la frontera cientfica de los prximos 100 aos.
z2 4 2 z
Caracterstica 7, el contexto de los datos aade significado sobre su uso en aplicaciones biolgicas.
Caracterstica 8, la definicin y representacin de consultas complejas es extremadamente importante para los bilogos.
Caracterstica 9, los usuarios de la informacin biolgica necesitan acceder con
frecuencia a los valores antiguos de los datos, particularmente cuando quieren
verificar los resultados anteriores.
z2 4 3 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
AUTOEVALUACIN N 5
1. Leer el sueldo de tres empleados y aplicarles un aumento del 10%, 12% y 15%
respectivamente. Calcular el nuevo sueldo de cada empleado.
2. Dada las siguientes ecuaciones:
a = b + 2c + 3m
c = a + 3b + n
z = m + n + 5a
Disee un algoritmo que determine los valores de m y z conociendo los
valores de a, b, y c.
3. Conociendo el valor de los catetos de un tringulo rectngulo calcular su hipotenusa aplicando el teorema de Pitgoras, calcular adems el permetro y el
rea del tringulo.
4. Una persona tiene 2 recipientes llenos de gasolina cuyas capacidades estn
dadas en galones y pies cbicos, respectivamente. Disee un pseudocdigo que
determine la cantidad total de gasolina en metros cbicos, pies cbicos y yardas cbicas. Considere los siguientes factores de conversin:
1 pie cbico = 0.0283 metros cbicos
1 galn = 3.79 litros
1 metro cbico = 1000 litros
1 yarda cbica = 27 pies cbicos
5. Disee un pseudocdigo que calcule las HH:MM:SS transcurridos entre dos
tiempos. Ambos tiempos vienen dados en el formato HH:MM:SS.
6. Disee un pseudocdigo que lea la hora actual del da HH:MM:SS y determine
cuntas horas, minutos y segundos restan para culminar el da.
7. El sueldo neto de un vendedor se calcula como la suma de un sueldo bsico ms
el 12% del monto total que ha vendido. Disee un pseudocdigo que determine
el sueldo neto de un vendedor sabiendo que hizo tres ventas en el mes.
z2 4 4 z
Segn reglamento la nota mnima aprobatoria es 10.5. Construir un pseudocdigo que permita calcular la nota mnima en la prueba escrita (Pe) que un
determinado alumno debe tener para aprobar el curso.
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
x 2
x / 6
=
f(
x)
x
x 3 + 5
si
si
si
si
( x Mod 4 ) = 0
( x Mod 4 ) = 1
( x Mod 4 ) = 2
( x Mod 4 ) = 3
17. Escriba un programa que lea tres letras y compruebe si son iguales. Por
ejemplo:
Si la entrada fuese B B B, la salida debera ser hay tres letras iguales a B.
Si la entrada fuese B C B, la salida debera ser hay dos letras iguales a B.
Si la entrada fuese B C D, la salida debera ser no hay letras iguales.
z2 4 6 z
0,
si
x=0
x =
x,
si
x > 0
-x,
si
x < 0
Por ejemplo:
De -7 su valor absoluto es: -(-7) = 7 (cuando es negativo se cambia de
signo).
De 7 su valor absoluto es: (7) = 7 (cuando es positivo nos da el mismo
nmero).
19. Escribir un programa para leer dos nmeros a, b y obtenga el valor numrico
de la funcin.
2a + b,
si
a2 - b2 < 0
f (x)
a2 - 2b,
si
a2 - b2 = 0
a + b,
si
a2 - b2 > 0
Otoo
Invierno
Primavera
z2 4 7 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
22. Una papelera ha puesto en oferta la venta al por mayor (en cientos) de papel
bond de acuerdo a los siguientes criterios:
Para los primeros 5 cientos, se hace un descuento del 10% por cada ciento.
Para los cientos de exceso sobre 5, se hace un descuento del 15% por cada
ciento.
23. Ingresar cuatro valores por el teclado a, b, c, d. Se desea redondear a la centena ms prxima y visualizar la salida. Por ejemplo:
a = 2, b = 3, c = 6 y d = 2 entonces n = 2362 el resultado redondeado ser
2400.
Si n = 2342 el resultado redondeado ser 2300
Si n = 2962 el resultado redondeado ser 3000
24. Pseudocdigo que lea tres nmeros y diga si la suma de los dos primeros nmeros es igual al tercer nmero.
25. Una empresa de bienes races ofrece casas de inters social bajo las siguientes condiciones: si el ingreso mensual del comprador es menos de S/. 2250 la
cuota inicial ser igual al 15% del costo de la casa y el resto se distribuir en
120 cuotas mensuales. Si el ingreso mensual del comprador es mayor o igual
a S/. 2250 la cuota inicial ser igual al 30% del coste de la casa y el resto se
distribuir en 75 cuotas mensuales. Disee un algoritmo que permita determinar cunto debe pagar un comprador por concepto de cuota inicial y cunto por
cada cuota mensual.
26. En una escuela la colegiatura de los alumnos se determina segn el nmero de
materias que cursan. El coste de todas las materias es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente:
si el promedio obtenido por un alumno en el ltimo periodo es mayor o igual
que 15, se le har un descuento del 30% sobre la colegiatura y no se le cobrar
impuesto; si el promedio obtenido es menor que 15 deber pagar la colegiatura
completa, la cual incluye el 10% de impuesto. Obtener cunto debe pagar un
alumno.
27. Una persona desea iniciar un negocio, para lo cual piensa verificar cunto dinero le prestar el banco por hipotecar su casa. Tiene una cuenta bancaria, pero
no quiere disponer de ella a menos que el monto por hipotecar su casa sea muy
pequeo. Si el monto de la hipoteca es menor que $30,000 entonces invertir
el 50% de la inversin total y un socio invertir el otro 50%. Si el monto de la
z2 4 8 z
Producto
Terreno (%)
Papa
50
Zanahoria
30
Camote
20
Terreno (%)
Papa
60
Zanahoria
15
Camote
25
Descripcin
Porcentaje (%)
Domstico
35.00
1.5
Industrial
80.00
2.5
Comercial
100.00
z2 4 9 z
F U N D A M E N T O S D E C I E N C I A S D E L A C O M P U TA C I N
Adems se dispone del cobro de un impuesto especial que est dado por los
porcentajes mencionados en el cuadro anterior, as como el cobro por arbitrios
municipales:
Alumbrado pblico
4.5%
Limpieza pblica
10%
Parques y jardines
2.5%
31. Calcular el coste del servicio de mudanza, de acuerdo con la distancia entre el
punto de partida y de llegada, el tipo de carga y al nmero de viajes ida y vuelta.
Para calcular el coste se debe tener en cuenta:
a) Si la distancia por cada viaje es mayor o igual a 5 km, se cobrar S/. 5.00 por
kilmetro, de lo contrario se cobrar el monto bsico que ser igual a S/. 25.00.
b) La carga puede ser frgil o no frgil. Solo si la carga es frgil al monto calculado
anteriormente se le aumentar 20%.
c) El monto resultante de acuerdo con la distancia y al tipo de carga se multiplicar por el nmero de viajes.
32. Una empresa calcula las bonificaciones de sus empleados teniendo en cuenta
lo siguiente: si el sueldo del empleado es menor a S/.750, recibe una bonificacin del 15% del sueldo, si el sueldo est entre S/. 750 y S/. 1200, recibe
una bonificacin del 10% y si el sueldo es superior a los S/. 1200, recibe una
bonificacin del 7%.
z2 5 0 z
BIBLIOGRAFA
Connolly, Thomas and Begg, Carolyn (2008). Database Solutions. 5ta. Ed. Espaa. Addison Wesley.
Date, J. (1995).
Bases de datos -desde Chen hasta Codd con Oracle. Espaa. Alfaomega.
Kroenke, D. (2003).
Finkelstein, C. (1992).
Booch, G., Rumbaugh, J. y Jacobson, I. (1999). El lenguaje unificado de modelado. Madrid: Addison Wesley.
z2 5 1 z