Vous êtes sur la page 1sur 332

FACULTAD DE INGENIERAS Y ARQUITECTURA

EscuelaProfesionaldeIngenieraIndustrial



Mg.GladysH.GarcaVilcapoma
Ing.JessicadelRocoCaldernTvara

CicloIII



DireccinUniversitariadeEducacinaDistancia

FundamentosdeComputacine
InformticaAlgoritmos













UniversidadAlasPeruanas
DireccinUniversitariadeEducacinaDistancia(DUED)
CalleLosLirios144,SanIsidro.LimaPer
Telf.(511)4221808
http://dued.uap.edu.pe
dued@uap.edu.pe

ImpresoenlostalleresgrficosdelaUniversidadAlasPeruanas
Av.SanFelipe1109,JessMara.LimaPer
Telf.(511)2660195

Derechosreservados.Noestpermitidalareproduccintotaloparcialdelaobraporcualquier
mediooprocedimiento,comprendidoslareprografa,eltratamientoinformticoyelectrnico
sinlaautorizacindelaUniversidadAlasPeruanas.

2008


5
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos







1. Presentacin de la gua didctica.

2. Presentacin del equipo docente.

3. Introduccin a la asignatura.

4. Objetivos

5. Requisitos

6. Medios

7. Contenidos.

8. Fuentes de informacin.

9. Actividades

10. Evaluacin

11. Orientaciones para el estudio de la asignatura

12. Orientaciones para las tutoras




















ndice
Escuela Profesional de Ingeniera Industrial

6







Estimado participante, reciba un cordial salud o al iniciar la asignatur a Fundamentos
de Computacin e Informtica - Algoritmos, en la modalidad de educacin a distancia.
Estamos seguros de que la experiencia ser positiva para usted y para nosotros.

Propsito
El propsito de esta Gua didctica es orientar al participante durante todo el proceso
de aprendizaje, de una manera sencilla y prctica, permitindole alcanzar los objetivos
de la asignatura.

Utilidad
La Gua didctica brinda a usted la informacin sobre los aspectos rela cionados a la
asignatura, como:

Conocer el contenido y las principales caractersticas de la asignatura.
Familiarizarse con el aula virtual y las herramientas dispo nibles para un mejor
aprendizaje.
Afianzar su autonoma para estud iar, reduciendo el tiempo de consulta en las
tutoras.



Esperamos que aproveche al mximo estos meses descubr iendo los fundamentos de
la computacin e informtica, y adquiriendo todas las competencias precisas en este
campo, que permitan complementar su formacin y mejorar su proyeccin profesional.

El actor principal en este proceso de aprendizaje es usted
mismo. La gua es una fuente primaria de con sulta cuya
lectura y comprensin es muy importante.
i
1. Presentacin de la Gua didctica

7
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos






La Universidad Alas P eruanas tiene el agrad o de prese ntar a los d ocentes-tutores,
quienes han elaborado el presente material didctico, de acuerdo con las
caractersticas de esta modalidad educativa: la Magste r Gladys Hortencia Garca
Vilcapoma, y la Ing. Jessica Caldern Tvara.

Los docentes-tutores son las pe rsonas con quienes u sted estar en consta nte
comunicacin durante su proceso de aprendizaje. La informacin profesional de cada
docente-tutor se detalla a continuacin:

- Magster Gladys Hortencia Garca Vilcapoma es do cente de esta casa de
estudios, ingeniera Qumica graduada en la Universidad de Ingeniera.
Egresada de la Maestra en Ingeniera de Sistemas en la Universidad Nacional
de Ingeniera.
Grado de Maestra en Docencia Universitaria en la Universidad Nacional
Federico Villarreal, con el tema Estrategias didcticas con tecnologas de
informacin y comuni cacin en el proceso de enseanza aprendizaje de
Algoritmos
Diplomado en educacin abierta y a distancia . UAP - Universidad de
Educacin a Distancia UNED, 2003.
Estudios de especializacin en:
Desarrollo de aplicaciones Windows.NET.
Tecnologas de informacin aplicadas a la educaci n: herramientas de
produccin multimedia y presentaciones. Elabo racin de materiales educativos.
CEPS-UNI. 2006.
Gestin de la calidad universitaria. Universidad Nacional Mayor de San Marcos.
Anlisis y diseo de sistemas. UML RUP
Diseo de sitios de negocios con PHP y MySQL

2. Presentacin del equipo docente
Escuela Profesional de Ingeniera Industrial

8
Experiencia:
La Magster Garca cue nta con 22 aos de experiencia en la docencia a nivel
universitario, en los cursos de matemticas, informtica y ms de 14 aos en la
enseanza de Algoritmos y Estructura de dat os, Lenguajes de progr amacin
(Pascal, C++, Visual Basic .Net, C#) e Informtica aplicada a diversas reas
(educacin, nutricin, derecho y sistemas).
Es adems:
Integrante del grupo asesor de investigacin y evaluacin de UNIFE
Coordinadora del rea de Computacin de la UNIFE.
Publicaciones:
1. Manual de Programacin C++ Programacin Orientado a Objetos. Ao
2000, como resultado de una investigacin sobre la implementacin de
la TOO en la Facultad de Ingeniera de la UNIFE.
2. Manual de Algoritmos C++ estructurado. Ao 2004.
3. Manual de Lenguaje de Programacin I. (C++ estructurado) en la
Universidad Sedes Sa pientiae, para la especialidad de Educacin e n
informtica.
4. Manual de Algoritmos y estructura de Datos (C++ orienta do a Objetos)
en la Universidad Sedes Sapientiae, para la especialidad de Educacin
en Informtica.
5. Guas de Laboratorio: Integrante del equip o (3) que desarroll las
Separatas - Guas 1 11 en el curso de Funda mentos de Computacin
Lenguaje de programacin Visual Basic .Net
6. Publicaciones en las revistas Concensus y Sistmica de la UNIFE.

- Ingeniero Jessica Caldern Tvara
Es docente de esta casa de estudios, Ingenier o de Computacin y Informtica
graduada en la Universidad Antenor Orrego.
Diplomado en educacin abierta y a distancia . UAP - Universidad de
Educacin a Distancia UNED, 2003.

9
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos
Estudios de especializacin en:
Redes CISCO.
Anlisis y diseo de sistemas. UML RUP
Diseo de sitios web.
Experiencia:
La Ingeniero Caldern cuenta con 8 aos de experiencia en la docencia a nivel
universitario, en los cu rsos de inf ormtica, Algoritmos y Estructura de datos,
Lenguajes de programacin (Visual Basic .Net, C#).
Experiencia profesional en redes y soporte tcnico (hardware y software):
Es adems:
Coordinadora de la Escuela Acadmico Profesional de Ingenieras de Sistemas e
Informtica de la Universidad Alas Peruanas.


Los docentes-tutores resolvern las interrogantes que usted tenga de la asignatura.

Puede comunicarse con ellos por correo electrnico o telfono:

Mg. Gladys Hortensia Garca Vilcapoma
Correo electrnico: g_garcia@mail.uap.edu.pe
Telfono 014711462 Discado Directo Internacional (511)

Ing. Jessica Caldern Tvara
Correo electrnico: j_calderon_ta@uap.edu.pe
Telfono: (1) 471-1462


Escuela Profesional de Ingeniera Industrial

10







La asignatura Fundamentos de Computacin e Informtica - Algoritmos forma parte
del conjunto de cursos dirigido a lo s estudiantes del primer ciclo de estudios de l a
carrera de Ingeniera de Sistemas e Informti ca, as como del tercer ciclo de la
carrera de Ingeniera Industrial y carreras afines.

La asignatura ha sido diseada para proporcionar al participante una visin general de
los aspectos bsicos ms importantes en su formacin como ingeniero, asimismo lo
inicia en las tcnicas bsicas de la programacin.


La asignatura comprende seis un idades didcticas, a tr avs de las cuale s se
desarrollar el contenido de la asignatura.

Las dos pr imeras unidades desarrollan los conceptos bsicos d el hardware y
software. La primera unidad resalta la importancia de entender y comprender cmo
funciona un computador y sus perifricos. En la segunda unidad se muestra la
relacin del software con el hardware, y la aplicacin de los diferentes tipos de
software, haciendo nfasis en los lenguajes de programacin y los virus informticos.

La tercera unidad revisa la importancia de lo s sistemas y tecnologas d e informacin
en la empresa, permitiendo conocer el funcionamiento de un rea de sistemas y cmo
se relaciona con las otras reas. Asimismo, se describe el rol del ingeniero de
sistemas como la persona respo nsable de analizar y diagnosticar los diferen tes
procesos, y proponer alternativas de mejora o innovacin utilizando los sistemas y
tecnologas de informacin.

Las ltimas tres unidades tratan sobre conceptos bsicos de algoritmos, un aspe cto
fundamental en la formacin del ingeniero de sistemas, que le permitir desarrollar su
capacidad de anlisis y lgica: en la cuarta unidad se da una intr oduccin a los
algoritmos, su represe ntacin en diagramas de flujo y pseudocd igo, se define
programa como la imp lementacin de los algoritmos, se presenta la platafor ma
3. Introduccin a la asignatura

11
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos
Microsoft.NET, el lenguaje C# y sus caracter sticas bsicas, y los line amientos para
resolver un problema haciendo u so de la computadora. Adems de conocer el
lenguaje de programacin vigente en el mercado, en este caso el C#, que por ser un
lenguaje orientado a objetos, posee los principios de dicho tipo de programacin.

En la quint a unidad, se ingresa a l entorno de programacin visual St udio .NET, en
modo consola, y se presentan lo s elementos bsico s para empezar a programar
mediante instrucciones secuenciales sencillas, usando operadores aritmticos y
funciones y propiedades de la clase Math.

En la sexta unidad, se desarrollan las instrucciones de control de f lujo selectivo y
repetitivo, terminando con una se rie de prob lemas resueltos que consideran las
instrucciones secuenciales, selectivas y repetitivas. Asimismo se propone una serie de
problemas.

Las seis unidades con sus respe ctivos contenidos estn distribuidas en las o cho
semanas de duracin d e curso. Cada unidad se encuentra dosificada por semanas,
permitiendo que los o bjetivos y contenidos puedan asimilarse gradualmente. Se
recomienda al participante dedicar un tiempo mnimo de ocho horas a la semana, para
revisar y profundizar los contenidos.
Escuela Profesional de Ingeniera Industrial

12



A continuacin se muestra el objetivo general y los objetivos especf icos por cada
unidad didctica. Adems, la semana de estudio de cada unidad didctica.

Objetivos generales:
Conocer y comprender cmo funciona un sistema de computacin (hardware y
software) y un sistema de informacin haciendo uso de tecnologas.
Adquirir los conocimien tos bsicos y las destr ezas necesarias para desarrollar
problemas haciendo u so de una computadora, plante ando los algoritmos
adecuados e implementando dichos algoritmos en un lenguaje de programacin
orientado a objetos (C# - modo consola Visual Studio 2005).

Objetivos por unidad didctica:
UNIDAD
DIDCTICA
OBJETIVOS
SEMANA DE
ESTUDIO
PRIMERA
Entender y comp render por q u se utiliza u n
ordenador.
1
SEGUNDA
Comprender la utilizaci n y aplicaci n de los
tipos de software.
1
TERCERA
Conocer el funcionamiento del rea de sistemas
y conceptos bsicos de si stemas y tecnologas
de informacin.
2
CUARTA
Diferenciar algoritmos de programas.
Conocer el entorno .NET y la teora sobre POO.
3 y 4
QUINTA
Aprender a desarrollar algoritmos bsicos
secuenciales, entenderlos en di agramas de
flujos y repre sentarlos en pse udocdigos e
implementarlos en C#.
5 , 6 ,7 y 8
4. Objetivos

13
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos
SEXTA
Utilizar un lenguaje de programacin orientado a
objetos para la codifica cin de los al goritmos
usando estructuras de control selectivas y
repetitivas -C#.
9, 10, 11 y
12
Escuela Profesional de Ingeniera Industrial

14







Con relacin al plan de estudios
El participante no requiere de ningn curso co mo prerrequisito para emprender esta
asignatura.

Con relacin al aspecto acadmico
El participante debe poseer habilidades de razonamiento lgico-matemtico.
Conocimiento y prctica sobre temas relacionados con operadores matemticos y
sistemas de bases de numeracin.





















5. Requisitos

15
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~







A continuacin se mencionan aquellos medios que se utiliza r en el desarrollo de
la asignatura.

Impresos

La Gua didctica
Es el do cumento orientador de la asignatura, su lectura es
obligatoria porque en ella se sealan todos los criterios a tener
en cuenta durante el desarrollo d e la asignatura. No ol vide
leerla con detenimiento.

Las unidades didcticas
Vienen a ser los contenidos de la asignatura y son exigidos por
el plan de estudios. S u lectura y comprensin es obligat oria
para lograr el xito acadmico. Las unidade s didcticas las
encuentra en el presente texto.


Campo virtual:
Es el ambiente electrnico de aprendizaje y colaboracin, desarrollado como apoyo al
proceso de aprendizaje, contiene la informacin del material elaborado y las
herramientas necesarias para complementar el estudio.

Para acceder al ca mpus virtual, abra u n navegador y digite la direccin
http://dued.uap.edu.pe, ver una pgina similar a la que se muestra a continuacin, en
la cual ingresar su usuario y clave proporcionados por la Universidad.


6. Medios didcticos
Gua de estudio
Fundamentos de
computacin e
informtica y
algoritmos
Universidad
Alas Peruanas
Gua de estudio
Fundamentos de
computacin e
informtica y
algoritmos
Universidad
Alas Peruanas
-
Escuela Profesional de Ingeniera Industrial

16


Luego de ingresar con su usuario, tendr acceso a las siguientes he rramientas de
colaboracin y apoyo:
Foro
En este espacio, el docente plantea o aclara los requerimientos bsicos de las
actividades a desarrollaren cuanto a la actividad por la web. Al mismo tiempo,
ser el esp acio donde el docente le plantear interrogantes para reforzar los
conocimientos adquiridos, as co mo tambin los participantes te ndrn la
oportunidad de desarr ollar trabajos colabor ativos exigidos en la presente
asignatura.
Si usted desea plantear alguna pregunta a la docente, podr hacerlo tambin a
travs de este medio.

17
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos




Ayudas
En este espacio, los t utores colocarn archivos compri midos que refuercen,
aclaren o desarrollen temas referentes a cada semana de estudio.
No olvide que la le ctura de est os archivos es ind ispensable para lograr lo s
objetivos de la asignatura.




El procedimiento de acceso y adecuada comunicacin,
a travs de la sala de conversacin, se encuentra detallado
en el apartado 12 la presente gua didctica, titulado
Orientaciones para las tutoras .
Para acceder al foro, deber ingresar al curso desde el
campus virtual y luego a foro .
Para acceder a la sala de conversacin, deber ingresar al
curso desde el campus virtual y la encontrar con el
nombre sala de conversacin .
Para acceder a ayudas, deber ing resar al curso desde el
campus virtual y encontrar con el nombre ayuda.
Escuela Profesional de Ingeniera Industrial

18
Para acceder a los enlaces interesantes, deber ingresar al
curso desde el campus virtual y encontrar los enlaces
interesantes .
Enlaces interesantes (links)
En este espacio, lo s docentes colocarn por cada semana de estud io pginas
web, que tengan relacin con los temas tratados.

C
o
r
r
e
o electrnico
Es el medi o de comu nicacin que le permiti r plantear sus interrogantes o
consultas acadmicas a los docentes de la presente asignatura.
Si usted tiene algn inconveniente con sus notas, trtelo a travs de este medio ;
la Universidad le ha proporcionad o un correo electrnico que vien e a ser:
cdigo@mail.uap.edu.pe, donde cdigo corresponde al de su matrcula,
ejemplo: 2008145862@mail.uap.edu.pe. Debe solicit ar esa clave en la
Coordinacin de su Uni dad Descentralizada, luego efectuar el pago de matrcula
y primera cuota.


Trabajo acadmico
Es el espacio en el aula virtual de donde podr descargar el trabajo acadmico,
que necesita desarrollar y entregar en el plazo que f igure en el calendario d e
evaluacin. No olvide descargarla para la pueda elaborar.
Para acceder al correo y enviar o recibir emails, ingrese al
campo virtual y elija correo electrnico, tambin a
http://server.mail.uap.edu.pe/exchange, o a la pgina
web http://dued.uap.edu.pe, donde encontrar un vnculo
de acceso al correo electrnico.

19
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos
Modelo de examen
Es el espacio desde el cual usted podr descargar un model o de examen, a fin de
que se pre parare adecuadamente para su evaluacin. El modelo de examen ,
como bien dice su no mbre, es u n ejemplo d e la forma en que se efectuar el
examen real.






















Escuela Profesional de Ingeniera Industrial

20




En el sig uiente cuadro, se pre sentan los cont enidos a desarrollar en cada un idad
didctica del curso.




UNIDAD
DIDCTICA
CONTENIDOS
SEMANA
ESTUDIO
PRIMERA
Ordenador: organizacin y funcionamiento. 1
Almacenamiento de Datos y Programas en
el ordenador
1
SEGUNDA
El Software. Definicin - Tipos. 1
Virus informticos 2
TERCERA
La empresa digital emergente. 2
Sistemas de Informacin. Internet-negocios. 2
Tecnologa de informacin para la empresa
digital.
2
CUARTA
Introduccin: Algoritmos y programas 3
MICROSOFT .NET C# - POO 4
QUINTA
Creacin de programas en C# 5, 6
Instrucciones Secuenciales. 7 ,8
SEXTA
Instrucciones de control de Flujo:
Alternativas o Selectivas: if - switch
9, 10
SEXTA
Instrucciones de Control de flujo: Repetitivas 11
Instrucciones de Control de flujo: Repetitivas 12

EXAMEN FINAL
12

EXAMEN SUSTITUTORIO
18
7. Contenidos

21
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos



Las fuentes de informacin comprenden bibliografa bsica, bibliografa complementaria
y enlaces a Internet.

Bibliografa bsica

Son los materiales de consulta de uso obliga torio. Su le ctura y co mprensin son
indispensables durante el de sarrollo de la a signatura. Constituyen las unidad es
didcticas del curso desarrolladas en este texto.

Bibliografa complementaria
Son materiales de consulta cuya lectura no es obligatoria, pero s recomendable para
complementar el aprendizaje de la asignatura.
ALLEN, Mark
Estructura de datos y algoritmos.
Editorial Limusa
CAIRO, Osvaldo
Metodologa de la programacin.
Computec
GARCA VILCAPOMA, Gladys H.
Manual de algoritmos y programacin C++.
Inicial (2004)
JOYANES, Luis
Fundamentos de programacin, algoritmos y estructura de datos.
Editorial Mc Graw Hill
LAUDON, Kenneth
Sistemas de informacin gerencial.
Editorial Pearson 8. edicin Mxico
LIPSCHUTS, Seymor
Estructura de datos.
Editorial Mc Graw Hill - Mxico
8. Fuentes de informacin
Escuela Profesional de Ingeniera Industrial

22
LPEZ, Romn
Programacin estructurada. Un enfoque algortmico.
Computec

Enlaces de Internet
Son materiales e informacin que se en cuentran en Inter net, generalmente de u so
pblico. Las referencias a estos enlaces las encuentra en el campus virtual.




























23
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos



Para afianzar sus con ocimientos, se tienen que desarrollar y presentar segn el
cronograma las actividades obligatorias; se dispone asimismo de actividades que no
se presentan como son las actividades sugeridas.

a. Actividad obligatoria

Su cumplimiento en cu anto al desarrollo adecuado y entrega oportuna es de
carcter obligatorio, es decir, segn lo programado en el a ula virtual; usted debe
desarrollar el trabajo asignado bajo este rubro teniendo en cuenta la fecha lmite
para la presentacin, pudiendo antes del plazo consultar con la docente.

Desde aula virtual, acceda a travs de Materiales de l curso a Actividad
obligatoria, donde encontrar, la actividad que usted tendr que desarrollar y los
detalles necesarios para realizarla.

Recuerde que la actividad obligat oria no la encontrar en el presente texto ,
nicamente en su aula virtual.










9. Actividades
Escuela Profesional de Ingeniera Industrial

24
La actividad obligatoria se evala con una e scala de 0 a 20, siendo la nota
aprobatoria 11. Recuerde que toda copia de Internet tendr una calificacin de 0.


b. Actividades sugeridas y autoevaluaciones

Las actividades sugeridas y autoe valuaciones las encont rar en cada unidad
didctica. El solucionario de cada autoevaluacin est a l final de la unidad
didctica correspondiente.

En este caso, no hay entrega de trabajos aplicativos, pero estamos seguros de
que los ejercicio s propuestos para resolver afianzarn su aprendizaje y lo
ayudarn a conseguir el xito que busca.























25
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos




Para lograr los objet ivos de la a signatura, es necesario definir lo s criterios de
evaluacin durante su desarrollo.

Exmenes
Son las evaluaciones e scritas de la presente asignatura, que se calif ican en escala
vigesimal y se realizarn en las siguientes fechas:









El examen sustitutorio reemplaza la nota del examen parcial o examen final. Usted
podr acceder al examen sustitutor io si no ha sido evaluado en el examen parcial o
examen final, en caso se encuentre desaprobado en uno de ellos, o desee mejorar su
promedio.

Recuerde: El examen sustitutorio reemplaza solamente uno de los dos exmenes. Los
exmenes se rendirn en forma presencial en cada unidad descentralizada de
educacin a distancia.

Sobre el foro: Se sugiere su participacin en el foro semanalmente. No olvide que el
foro se encuentra en su aula virtual.

Sobre la sala de conferencia: El uso e interaccin a travs de la sala de conferencia,
que usted tendr habilitada en el aula virtual del curso, lo sealar el docente con
precisin en el aula virtual. Es obligatoria la asistencia a las sesione s que el docent e
indique. Recuerde que debe tener preparados sus audfonos o parlantes y micrfono.
EXMENES
SEMANA DE
ESTUDIOS
EXAMEN PARCIAL Semana 4
EXAMEN FINAL Semana 8
EXAMEN
SUSTITUTORIO
Semana 18
10. Evaluacin
Escuela Profesional de Ingeniera Industrial

26





Estimado participante, para que usted pu eda lograr los ob jetivos de est a
asignatura, considere lo siguiente:
UNIDAD
DIDCTICA
OBJETIVOS ORIENTACIONES
TIEMPO
SUGERIDO
PRIMERA
Entender y
comprender por qu
se utiliza un
ordenador.
Visita a sitios web (sites) de
empresas de hardware y
revistas especializadas, a
travs de enlaces (links)
proporcionados por el
docente.
12 horas
SEGUNDA
Comprender la
utilizacin y
aplicacin de los
tipos de software.
Demos de acceso remoto
para esquematizar ataques
de virus o programas dainos
12 horas
TERCERA
Conocer el
funcionamiento del
rea de sistemas y
conceptos bsicos
de sistemas y
tecnologas de
informacin en los
negocios.
Valorar la importancia de los
sistemas y tecnologas de
informacin en las
organizaciones.
12 horas
CUARTA

Diferenciar
algoritmos de
programas.
Conocer el entorno
.NET y la teora de
la POO
Ejemplos dados por el asesor
en diapositivas
Visitas a Web.

24 horas
QUINTA

Aprender a
desarrollar
algoritmos bsicos,
entenderlos en
diagramas de flujos,
representarlos en
pseudocdigos e
implementarlos en
C#.
Ejemplos dados por el
asesor.
Problemas resueltos y
propuestos en este manual.
Visitas a sitios Web
24 horas
SEXTA
Utilizar un lenguaje
de programacin
orientado a objetos
para la codificacin
de los algoritmos -
C#
Ejemplos dados por el
asesor.
Problemas resueltos y
propuestos en este manual.
Visitas a sitios Web.
24 horas
11. Orientaciones para el estudio de la asignatura

27
Gua didctica Fundamentos de Computacin e Informtica - Algoritmos




Tutoras telemticas

Es el espacio virtual donde los docentes resolvern sus inquietudes y profundizarn
los conocimientos que usted necesita adquirir en la presente asignatura.

La comunicacin con los docentes se realizar a travs de la sala de conversacin en
los horarios definidos en el campus virtual.

Antes de comunicarse con su docente, usted debe preparar:
- Las preguntas de los temas que considere de difcil comprensin.
- Comentarios que usted necesita realizar para profundizar sobre algn tema del
curso.

Recuerde que la tutora telemtica es para fines estrictamente acadmicos. Si u sted
necesita que los docente le aclaren el puntaje obtenido en algunas de sus
calificaciones, utilice el correo electrnico.

Se le recue rda que debe tener presente esta s consideraciones cuando acuda a la
tutora telemtica:

1. Haga primero el intento de solucionar sus inquietudes estu diando con seriedad,
consultando la bibliogr afa pertinente e intercambiando opiniones con sus
compaeros, etc. Si despus de ello per siste su d uda, haga preguntas
especficas y no del te ma en gen eral. De lo contrario, indicara que no est
haciendo su mejor esfuerzo para aprender.

2. Formule sus preguntas de forma concreta y precisa. Est o ayudar a que lo s
docentes estn en mejores cond iciones para atenderlo y evitar confusiones
innecesarias.

12. Orientaciones para las tutoras
Escuela Profesional de Ingeniera Industrial

28
3. No haga preguntas rebuscadas o que no sean pertinentes al tema. El tiempo es
un recurso valioso para todos.

4. Las indicaciones sobre las evaluaciones estn dadas en las respectivas unidades
didcticas, por lo que se le sugier e que no haga preguntas referente s a si las
evaluaciones son fcile s o no; qu pasar si usted no aprueba, etc. Estamos
para apoyarlo, pero solicite la ayuda en forma necesaria, clara y oportuna.

5. Respete el horario establecido para la tutora. Si usted estudia a ltimo minuto, lo
ms probable es que no podamo s atender sus requerimientos de la misma
forma. Por eso, se le sugiere elaborar y cu mplir un horario de actividades con la
finalidad de que esto lo ayude a organizarse en su estudio, prcticas y
evaluaciones.


xitos!

































PARTE 1




PRIMERA UNIDAD
DIDCTICA

Sistema de computacin:
El ordenador organizacin y funcionamiento











Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

5






PRIMERA PARTE
UNIDAD 1: Sistema de computacin El ord enador organizacin y
funcionamiento
1. Concepto de ordenador.

2. Organizacin de los componentes de un sistema de ordenador:
2.1 La Unidad Central de Proceso (CPU),
2.2 La placa principal,
2.3 Los buses,
2.4 La memoria principal.

3. Funcionamiento de la CPU:
3.1 La unidad de control,
3.2 La unidad aritmtica lgica y
3.3 Registros.

4. Perifricos.
4.1 Definicin.
4.2 Funciones y cla sificacin: a) Perifricos de ent rada, b)
Perifricos de salida, c) Perifricos de almacenamiento y d)
Perifricos de comunicacin.

5. Concepto de pro grama almacenado, ejecucin de las
instrucciones almacenadas.
5.1 Concepto de programa almacenado
5.2 Ejecucin de las instrucciones almacenadas.

6. Representacin de la informacin en el ordenador. Sistemas de
numeracin binaria, octal y hexadecimal. Operaciones y
Conversiones.







Esquema de contenidos
Escuela Profesional de Ingeniera Industrial

6






Objetivo general

Entender y comprender por qu se utiliza un ordenador.


Unidad
didctica
Objetivos especficos Tiempo
de
estudio






Primera
Conocer la divisin fsica de la computadora.
Diferenciar la memoria RAM y ROM.
Identificar los diversos tipos de perif ricos: de entrada,
de salida, de almacenamiento y de comunicacin.
Comprender el funcionamiento de la CPU (UC, UAL, y
registros).
Comprender los sistemas de numeracin matemticos.
Transformacin de un sistema de numeracin a otro y
viceversa.
Conocer las princip ales operaciones aritmticas
binarias.
Conocer los sistemas d e numeracin intermedios y su
conversin entre ellos.


12 horas





















Objetivos
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

7








Estimado alumno:

El objetivo general d e esta a signatura, en su primer a parte, se centra e n el
conocimiento de la herr amienta bsica que es el ordenador, a fin de q ue se realice la
organizacin y manipulacin de d atos electrnicamente almacenados. Adems de
conocer y entender al ordenador, sus caract ersticas, los disposit ivos de entrada:
teclado, escner, mouse (ratn), etc. y dispositivos de salid a: monitor, impresoras, etc.
se debe valorar la relacin que existe con el software, siendo este una herramienta
importante en el desarrollo de etapas para el tratamiento informtico de un problema.

Siguiendo con otros puntos importantes, no podemos dejar de nombrar, saber y
entender acerca de los sistemas de informacin y del rol de l ingeniero de sistemas e
informtica en una organizacin o empresa, como responsable de la planifica cin,
diseo, desarrollo e implementacin de sistem as de infor macin mecanizados, para
satisfacer los diferentes niveles de requer imientos de infor macin de los gerentes y
personal operativo de las empresas, aplicando la te cnologa en el dise o y
optimizacin sus pro cesos de pro duccin, administrativos, contables y econmico-
financieros.

Los contenidos incluidos y desarrollados ms adelante en esta primera parte de la
asignatura corresponden a los siguientes temas: sistema de computacin el
ordenador, el software y el ingeniero de sistemas, sistemas de informacin y
tecnologas de informacin.
Introduccin
Escuela Profesional de Ingeniera Industrial

8


































S
i
s
t
e
m
a


d
e

c
o
m
p
u
t
a
c
i

n
Ordenador
Concepto
Organizacin de los
componentes de un
sistema de ordenador
Unidad Central de
Proceso (CPU).
Placa principal
Buses
La Memoria principal
Funcionamiento CPU
Unidad de control
Unidad aritmtica
Lgica
Registros
Perifricos
Perifricos de
entrada (INPUT)
Perifricos de
salida (OUTPUT)
Perifricos de
almacenamiento
Perifricos de
comunicaciones
Programa almacenado,
ejecucin de instrucciones
almacenadas.
Representacin de
informacin en el
ordenador
Sistema de numeracin
binaria
Sistema de numeracin
octal
Sistema de numeracin
hexadecimal
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

9



UNIDAD 1
SISTEMA DE COMPUTACIN EL ORDENADOR ORGANIZACIN Y
FUNCIONAMIENTO

1. CONCEPTO DE ORDENADOR

Un ordenador es un dispositivo electrnico compuesto bsicamente de un procesador,
una memoria y los dispositivos de entrada/salida (E/S).

As tambin, se define como un conjunto de mquinas electrnica s especializadas
(hardware) dependientes de un pr ograma comn (software), que p ermiten realizar
complejas operaciones matemticas y lgicas.

El mapa conceptual muestra, en forma bsica, cmo funciona el flujo de los datos en
un ordenador, para lu ego convertirse en informacin til para el u suario. Podemos
notar que los datos comnmente fluyen segn esta secuencia:















Figura 1: Enfoque conceptual del ordenador
Contenidos
Escuela Profesional de Ingeniera Industrial

10
Figura 2:
El microprocesador
2. ORGANIZACIN DE LOS COMPONEN TES DE UN SISTEMA DE
ORDENADOR
2.1 La Unidad Central de Proceso (CPU)

Denominamos CPU (siglas de Ce ntral Processing Unit) o
Unidad Central de Proceso (UCP) a aquella p arte donde se
ejecutan las instrucciones de los p rogramas y se controla el
funcionamiento de los distintos componentes del ordenador.
Se encuentra integrada en un chip denomin ado
microprocesador.

Es el cereb ro de todo ordenador y es un microprocesador con una alta escala d e
integracin, es decir, que aloja millones de transistores e n su interior. Todos estos
transistores forman u na serie de circuitos lgicos q ue permite ejecutar una
determinada variedad de instrucciones bsicas.

Esta unidad constituye lo que podemos llamar la parte principal de u n ordenador y
haciendo una analoga con un ser humano, constituye el cerebro de donde se controla
todo el funcionamiento de todos los dispositivos de ent rada y salida que estn
conectados. Est compuesta por: la unidad de control, la unidad aritmtica - lgica y
registros.

La potencia de procesamiento y velocidad de t rabajo interno para las CPU se mi de
principalmente en cantidad de instrucciones ejecutadas en una unidad de tiempo:
MIPS = millones de i nstrucciones por seg undo; esta velocidad guarda estrecha
relacin con la cantidad de bits qu e pueda procesar simu ltneamente, as tenemos
CPU de 8, 16, 32 y 64 bits.







Figura 3: El transistor
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

11
2.2 La placa principal Tarjeta madre (MainBoard)

Es la t arjeta de circuit os impresos que sirve como medio de conexin entre el
microprocesador, las ranuras para conectar parte o toda la RAM del sistema, la ROM y
las ranuras especiales (slots) que permiten la conexin de tarjet as adaptadoras
adicionales. Estas t arjetas de expansin suelen realizar funciones de contro l de
perifricos tales como monitores, impresoras, unidades de disco, etc.



Se disea bsicamente para realizar tareas especficas vitales para el funcionamiento
de la computadora, como por ejempl o las de: conexin fsica, administracin, control y
distribucin de energa elctrica, comunicacin de datos, control y monitoreo.

Para que la placa base cumpla con su cometido, lleva instalado un software mu y
bsico denominado BIOS.





Figura 4: Placa principal
S
Siglas de "Basic Input/Output System". Es el programa que utiliza el
procesador del ordenador para arrancar el sistema operativo una vez que lo
hemos encendido. La BIOS tambin se encarga de gestionar el flujo de datos
entre el sistema operativo y los distintos dispositivos del ordenador, como el
disco duro, la tarjeta grfica, el teclado, el ratn o la impresora.
BIOS
Escuela Profesional de Ingeniera Industrial

12
2.3 Los buses
Son un conjunto de co nductores elctricos en forma de pistas metlicas impresa s
sobre la placa base del computador, por donde circulan la s seales que corresponden
a los datos binarios del lenguaje mquina con que opera el microprocesador.


Bus es una palabra inglesa que significa "transporte"; aplicada a la informtica,
se relaciona con la idea de las transferencias internas de datos que se dan en
un sistema computacional en funcionamiento.









Hay tres clases de buses: bus de datos, bus de direcciones y bus de control

Bus de datos: mueve los datos entre los dispositivos del hardware: de entrada
como el te clado, el escner, el ratn (mou se), etc.; de salida como la
impresora, el monitor y de almacenamiento como el disco duro, el diskette o l a
memoria-flash.

Este tipo de bus se caracteriza porque a travs de l, los datos pueden fluir en
cualquiera de los dos sentidos.







Figura 5: El BUS en el ordenador
Figura 6: BUS de datos
CPU Memoria
principal
Perifrico
1
Perifrico
N

Bus de datos
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

13
Bus de direcciones: es un medio de comunicacin unidireccional, debido a
que los dat os fluyen en un nico sentido, de la CPU a la memoria u otros
dispositivos. Es un bus totalmente independie nte al bus de datos d onde se
establece la direccin de memoria del dato en trnsito.


Este tipo de bus se caracteriza porque la informacin que fluye a travs de l
es en una sola direccin. Por ejemplo, la CPU usa un bus de direcciones que
es unidireccional, la CPU puede mandar direcciones de memoria hacia la
memoria, pero la memoria no puede mandar datos a travs de este bus.











Bus de control: este bus transporta seales del estado de las oper aciones
efectuadas por la CPU con las de ms unidades. El mtodo utilizado por el
ordenador para sincronizar las distintas operaciones es por medio de un reloj
interno que posee y facilita la sincronizacin evitando la colisin de
operaciones.









CPU Memoria
principal
Perifrico
1
Perifrico
N

Bus de direcciones
Figura 7: BUS de direccin
CPU Memoria
principal
Perifrico
entrada
Perifrico
salida
Bus de control
Teclado, mouse,
CD-ROM.
Monitor, impresora,
altavoces.
Figura 8: BUS de control
Escuela Profesional de Ingeniera Industrial

14
2.4 La memoria principal
Son circuitos integrados capaces de almacenar informacin digital, a los que tiene
acceso el microprocesador del equipo de computacin. Poseen una menor capacid ad
de almacenamiento que la memoria secundaria, pero una velocidad millones de
veces superior. En los ordenadores son utilizados dos tipos de estos dispositivos:

Memorias ROM (Read Only Memory- Memoria de solo lectura ), que
almacenan cdigos de programa grabados en f brica, a veces protegidos
por derechos de autor. El circuito integrado donde se almacena el BIOS del
ordenador es una memoria ROM. Entre los tipos de ROM tenemos:

o PROM o ROM: es aquella en donde es programable una sola vez a
travs de un dispositivo especial, un programador PROM. La
programacin se realiza aplicando pulsos de altos voltajes que n o
se encuentran durante operaciones normales (12 a 21 voltios).
o EPROM (Erasable PROM) o RPROM (Reprogramable ROM): su
contenido puede ser borrado mediante rayos ult ravioleta, para, acto
seguido, regrabarlas.
o EAROM (Electrically Alterable ROM) o EEROM (Electricaly
Erasable ROM), son la fron tera entre la RAM y la ROM, su
contenido puede ser regrabado elctricamente, se diferencian de las
RAM de que no son voltiles.








Memorias RAM (Random Access Memory - Memoria de acceso
aleatorio), almacena datos que pue den ser escritos y borrados atendie ndo
a los proce sos de co mputacin. "Aleatorio" indica que sus localidades
pueden ser accedidas directamente, dando r apidez a los procesos; a
Figura 9: Memoria ROM
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

15
diferencia de las memorias se cuenciales que para llegar a una posicin,
hay que pasar antes por las posiciones previas.
























3. FUNCIONAMIENTO DE LA C PU: UNIDAD DE CONTROL, UNIDAD
ARITMTICA LGICA Y REGISTROS

3.1 Unidad de control
La unidad de control es el cerebro del microprocesador. Es la encargada de activar o
desactivar los diversos componentes del microprocesador, en funcin de la instruccin
que el microprocesador est ejecut ando y en f uncin tambin de la etapa de dicha
instruccin que se est ejecutando.
Figura 10: Memoria RAM
La memoria secundaria es un conjunto de dispositivos perifricos para el
almacenamiento masivo de datos de un ordenador, con mayor capacidad que
la memoria principal, pero ms lenta que esta. El disquete, el disco duro o
disco fijo, las unidades pticas, las unidades de memoria flash y los discos zip,
pertenecen a esta categora.
Aqu pueden ver la instalacin de una memoria en su respectiva ranura
ubicada en la placa principal, las palanquitas blandas de los extremos suben y
hacen un pequeo clic.
Escuela Profesional de Ingeniera Industrial

16
Es la unida d que contr ola y coma nda todas las operacio nes o requ erimientos de
trabajo que se le hacen a la co mputadora u ordenador por medio del programa
almacenado llamado sistema operativo. Para la ejecucin de sus funciones consta de
los siguientes elementos:

Registro de contador de programas (CP): denominado tambin Registro
de Control de Secuencia (RCS), contiene permanentemente la direccin
de memoria de la prxima instruccin a ejecutar.





Registro de instrucciones (RI): contiene la instru ccin que se est
ejecutando en cada momento. Esta instru ccin llevar consigo el cdigo
de operacin (CO), accin que se trata y, en su caso, lo s operandos o las
direcciones de memoria de los mismos.
Decodificador (D): se encarga de extraer y analizar el cdigo de operacin
de la instruccin en curso (que est en el RI) y dar las seales necesarias
al resto de los elementos para su ejecucin por medio del generador de
seales.
Reloj (R): proporciona una sucesin de impulsos elctricos a intervalos
constantes (frecuencia constante), que marcan los instantes en que han de
comenzar los distintos pasos de que consta cada instruccin.
Generador de seales o secuenciador (S): en este dispositivo se generan
rdenes muy element ales (micrordenes) que, sincron izadas por los
impulsos del reloj, hacen que se vaya ejecutando poco a poco la instruccin
que est cargada en el RI.

Si la instruccin que se est ejecutando en un instante determinado es
de salto o de ruptura de secuencia, el RCS tomar la direccin de la
instruccin que se tenga que ejecutar a continuacin; esta direccin la
extraer de la propia instruccin en curso.
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

17












3.2 Unidad Aritmtica Lgica
Unidad Aritmtico-Lgica (UAL) o ALU (Arithmetic and logical unit).
Fsicamente, ALU es parte de la altame nte integrada lgica-electrnica del
microprocesador principal de cualquier computadora.

Esta unidad es la enca rgada de la ejecucin de las instr ucciones de operaciones
aritmticas y lgicas contenidas en el programa almacenado que se est ejecutando.

Las operaciones aritmticas son ejecutadas bsicamente sumando cuando se trata de
operaciones de suma, multiplicacin, potenciacin; y restando cuando se trata de
operaciones de resta, divisin y raz cuadrada o raz a la n.

Hay ordenadores que contienen un chip adicional denominado coprocesador
matemtico, el cual p or hardware tienen la s funciones aritmticas anteriormen te
mencionadas, con lo que se co nsigue mayor rapidez en la e jecucin de las
operaciones aritmticas. Las operaciones lgicas las realiza el ordenador comparando
dos dgitos, y segn el resultad o de la comparacin, se dirige a ejecutar un
determinado camino lgico del programa. Pa ra realizar su funcin, consta de los
siguientes elementos:
Banco de registros (BR): est constituido por 8, 16 o 32 r egistros de tipo
general que sirven p ara situar datos antes de cada operacin, para
Figura 11: Unidad de control
Escuela Profesional de Ingeniera Industrial

18
almacenar datos inter medios en las opera ciones y para operaciones
internas del procesador.
Circuitos operadores (CIROP): compuesto de uno o varios circu itos
electrnicos que realizan operaciones elementales aritmticas y lgicas.
Registro de resultado (RR): se trata de un registro especial, en el que se
depositan los resultados que producen los circuitos operadores.
Sealizadores de estado (SE): registro en los que se deja constancia de
algunas condiciones que se dieron en la ltima operacin realizada.















3.3 Registros
Un registro es una memoria de alta velocidad y poca capacidad, integrada en el
microprocesador, que permite guardar y acceder a valores muy usados, generalmente
en operaciones matemticas.

Entre los tipos de registros tenemos:

Los registros de datos, son usados para guardar nmeros enteros. En
algunos ordenadores antiguos, e xista un nico registr o donde se
guardaba toda la informacin, llamado acumulador.

Figura 12: Unidad Aritmtica Lgica
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

19
Los registros de memoria, son usados para guardar exclusivamente
direcciones de memoria. Eran muy usados en la arquitectura Harvard,
ya que muchas veces las direcciones tenan un tamao de palabra
distinto que los datos.

Los registros de propsito general (en ingls GPR o General
Purpose Registers), pueden guardar tanto datos como direcciones. Son
fundamentales en la arquitectura von Neumann. La mayor p arte de las
computadoras modernas usan GPR.







El trmino proviene de la com putadora Harvard Mark I, que almacenaba las
instrucciones en cintas perforadas y los datos en interruptores.




















Memoria
de

datos

CPU



Memoria de

instrucciones
Bus de
direcciones
Bus de
datos
Bus de
datos
Bus de
direcciones
Figura 13: Representacin arquitectura Harvard
El trmino Arquitectura Harvard hace referencia a las arquitecturas de
computadoras que utilizaban dispositivos de almacenamiento fsicamente
separados para las instrucciones y para los datos (en oposicin a la
Arquitectura von Neumann).
La arquitectura von Neumann se refiere a las arquitecturas de computadoras
que utilizan el mismo dispositivo de almacenamiento tanto para las
instrucciones como para los datos.
Escuela Profesional de Ingeniera Industrial

20




































Si viramos a la computadora como una pequea oficina, la CPU sera la persona
encargada de llevar a cabo las tareas, el disco duro sera algo as como un librero donde
almacenamos los programas que podemos utilizar y la memoria RAM fungira como un
pizarrn.
Por ejemplo, si vamos a elaborar una hoja de clculo, el procesador tomara el libro
Excel del librero y lo pondra en la memoria RAM mientras ste es utilizado.
Entre ms grande sea mi pizarrn, o lo que es lo mismo, mi memoria RAM, mayor
cantidad de libros podr tener abiertos al mismo tiempo el procesador para ejecutar las
tareas.
Figura 15: Cmo funciona la CPU

Memoria
principal


Datos
+
instrucciones

CPU
Bus de
direcciones
Bus de
datos
Figura 14: Representacin arquitectura von Neumann
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

21
4. PERIFRICOS, FUNCIONES Y CLASIFICACIN: PERIFRICOS DE
ENTRADA, DE SALIDA, DE ALMACENAMIENTO Y DE COMUNICACIN

4.1 Perifricos
Un perifrico es un dispositivo de soporte fsico a un or denador, que le permite
interactuar con el exterior por med io de la entrada, salida y el almacenamiento de
datos as como la co municacin entre orde nadores. El trmino se aplica a los
dispositivos que no forman parte i ndispensable de una computadora (como lo so n
CPU y memoria) y que son, en cierta forma, opcionales.

4.2 Funciones y clasificacin
Los dispositivos perifricos pueden dividirse en cuatro categoras principales:

Almacenamiento: su funcin principal es asegurar la permanencia de la
informacin producida y/o manejada por el ordenador despus de que esta
ha sido apagada.
o Grabadora de CD
o Grabadora de DVD
o Lector de CD
o Lector de DVD
o Disco duro
o Memoria USB

Entrada: ingresan datos al ordenador para su tratamiento por parte d e la
CPU. Son la interfaz por medio de la cual el ser humano introduce
informacin al mismo.
o Cmara web (webcam)
o Escner
o Ratn
o Micrfono
o Escner de cdigo de barras
o Joystick
o Lpiz ptico
o Pantalla tctil
Escuela Profesional de Ingeniera Industrial

22

Salida: se encargan de transmitir los dat os procesados por el CP U de
vuelta al usuario que est utilizando la computadora por diferentes medios.
o Monitor
o Impresora
o Parlantes
o Tarjeta de sonido

Comunicacin: su funcin es servir de canal entre una o ms
computadoras o entre la computadora y un dispositivo perifrico externo.
o Fax-Mdem
o Tarjeta de red
o Controladores de puertos (seriales, paralelos, etc.)













5. Concepto de programa almacen ado, ejecucin de las instrucciones
almacenadas

5.1 Programa almacenado
Los primeros ordenadores no eran caracterizados precisamente por su flexibilidad, ya
que los programas destinados a ser ejecutad os en dichos aparatos t endan a estar
insertos en sus unidades de control como una parte de la mquina en s.
Figura 16: El ordenador y sus dispositivos de entrada y salida
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

23
Un avance significativo frente a esta falta de plasticidad se dio cuando las unidades de
control fueron diseadas de forma tal que pod an recablearse de manera apropiada,
frente al programa que se deseaba ejecutar.

Sin embargo, el gran salto tom i mpulso cuando se pens en que un programa, al
igual que los datos, poda ser codificado y alma cenado en la memoria principal. As, si
la unidad de control es diseada para extraer el programa de la memoria, descodificar
sus instrucciones y ejecutarlas, basta slo con modificar apropiadamente el contenido
de la memoria para tener otro programa, sin necesidad de cablear la unidad de control
ni mucho menos cambiarla.

Para aplicar este concepto de programa-almacenado, que es prcticamente el
estndar hoy en da, se requiere que la mquina en cuestin re conozca ciertas
palabras de bits que representan ciertas in strucciones. Se necesita u n lenguaje de
mquina, entendido como un vocabulario al que llamaremos algoritmos.

Los programas almacenados dieron a las computadoras una flexibilida d y
confiabilidad tremendas, hacindolas ms rpidas y menos sujetas a errores que los
programas mecnicos. Una computadora con capacidad d e programa almacenado
podra ser utilizada para varias a plicaciones cargando y ejecutando el progra ma
apropiado. Hasta este punto, los programas y datos podran ser in gresados en la
computadora solo co n la notacin binaria, que es el nico cdigo que las
computadoras entienden.

El siguiente desarrollo importante en el diseo de las computadoras fueron los
programas intrpretes, que pe rmitan a las person as comunicarse con las
computadoras utilizando medios distintos a los nmeros binarios.



En 1952, Grace Murray Koper, una oficial de la Marina de EE.UU., desarroll el
primer compilador, un programa que puede traducir enunciados parecidos al
ingls en un cdigo binario comprensible para la mquina, llamado COBOL
(COmmon Business-Oriented Languaje).
Escuela Profesional de Ingeniera Industrial

24

El concepto de programa almacenado en la memoria fue ideado por J ohn
von Neumann en 1946.

El lenguaje de mquina:
Es la manera cmo se comunica el orden ador con sus distintos dispositivos
conectados, as tambin de cmo ef ecta el procesamiento interno de los datos. Esta
comunicacin se basa en el sistema numrico interno con que trabaja, siendo ste el
sistema binario o sistema de base 2, para ello es indisp ensable saber y entender lo
siguiente:

Arquitectura de mquina:
Nuestro ordenador tendr 16 registros de propsito general, numerados de
0 a F (en h exadecimal). Cada registro tiene un tamao de 1 byte (8 bits).
Para identificar los registros se asig na a cada uno un nico patrn de bits
de tamao cuatro qu e representa su nmero. As, el registro 0 es
identificado por 0000 (0 en hexadecimal) y el 12 p or 1100 (C e n
hexadecimal).

Existen 256 celdas de memoria, cada una de tamao de 1 byte, qu e se
identifican, en el caso de los registros, entre 00 y FF (en hexadecimal).

Lenguaje de mquina:
Cada instruccin del ordenador tiene un tamao de 2 bytes. Los primeros 4
bits corresponden al up-code (que especifica la op eracin a ser
desempeada) y los ltimos 12 b its a los op erandos (que dan det alles
adicionales pertinentes a la operacin).

5.2 Ejecucin de programas
Un computador sigue un programa almac enado en memoria, copiando las
instrucciones desde sta hacia la unidad de control a medida que sea necesario. Una
vez ah, cada instru ccin es descodificada y obedecida. El ord en en que son
acarreadas las instrucciones a la u nidad de control es en el que estn almacenadas
(salvo se pase por una instruccin JUMP).

Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

25
Dentro de la unidad d e control e xisten dos registros de propsito especfico: el
contador de programa (Program Counter [PC]), que contiene la direccin d e la
siguiente instruccin a ser ejecutada, y el registro de instru ccin (Instruction Register
[IR]), que alberga a la instruccin que est siendo ejecutada.

La unidad de control desarrolla su trabajo continuamente repitiendo un algoritmo
conocido como ciclo de mquina, el cual contiene tres pasos: alca nce o acarreo,
decodificacin y ejecucin (fetch, decode y execute).

Durante la etapa fetch, la unidad de control solicita que la memoria pri ncipal la provea
de la siguiente instruccin a ser e jecutada. La unidad de control conoce dnde est
ubicada la siguiente instruccin porque su dir eccin est almacenada en la PC. La
unidad de control emplaza la instr uccin recibida desde memoria en su IR y luego
incrementa la PC pa ra que el contador contenga la direccin de la siguiente
instruccin.

Con la instruccin ya en el IR, la unidad de co ntrol entra en la etapa decode en donde
disecta el campo de los operandos en forma apropiada, de acuerdo a lo indicado en el
up-code. Finalmente, la unidad d e control e ntra en la etapa execute en donde se
activan los circuitos apropiados para desarrollar la tarea e ncomendada. Y as un a y
otra vez, hasta que se complete el programa implementado.


6. REPRESENTACIN DE LA INFORMACIN EN EL ORDENADOR. SISTEMAS
DE NUMERACIN BINARIA, OCTAL Y HEXADECIMAL

Antes de empezar a explicar el sistem a de numeracin binaria, explicaremos
primeramente qu es un sistema de numeracin, cmo se construyen nmeros y cmo
se realizan operaciones bsicas en un sistema de numeracin de base 10.

Sistema de numeracin:
Es un conjunto de smbolos que permiten construir todos
los nmeros vlidos en el sistema.
Escuela Profesional de Ingeniera Industrial

26
El nmero de smbolos permitidos en un sistema de numeracin se conoce como base
del sistema de numeracin. Si un sistema de n umeracin tiene base b significa q ue
disponemos de b smbolos difere ntes para escribir los nmeros y que b unida des
forman una unidad de orden superior. Podemo s entender esto con un ejemplo en el
siguiente sistema de numeracin:

Sistema de numeracin decimal:
En el sist ema decimal los smbolos vlidos para construir nmeros son
{0;1;2;3;4;5;6;7;8;9}, por lo tanto la base (nmero de smb olos vlidos en el sistema)
es 10.

Si contamos desde 0, incrementando una unidad cada vez, al llegar a 9 unidades
hemos agotado los smbolos disponibles y si queremos seguir contando no
disponemos de un nuevo smbolo para representar la cantidad que hemos contado.
Por tanto, aadimos una nueva col umna a la i zquierda del nmero, reutilizamos los
smbolos de que disponemos y decimos que tenemos una unidad de segundo orden
(decena), ponemos a cero las unid ades y seguimos contando. Siendo el conteo el
siguiente:

0+1=1, 1+1=2, 2+1=3,, 7+1=8, 8+1=9, ahora en el siguiente sumando:












Luego:

9 1 + = 1 0
Aadimos una columna a la izquierda del nmero y
reutilizamos los smbolos que disponemos, diciendo
que tenemos una unidad de 2do. orden (decena).
Ponemos a cero las unidades y
seguimos contando.
Se agotan todos los smbolos disponibles,
entonces:
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

27
De igual forma, cuando contamos hasta 99, h emos agotado los smbolos dispon ibles
para las dos columnas; por tanto si contamos una unidad ms, debemos poner a cero
la columna de la derecha y sumar 1 a la de la izquierda (decenas). Pero la columna de
la izquierda ya ha agot ado los smbolos dispo nibles, as que la pone mos a cero, y
sumamos 1 a la siguiente columna (centen a). Como resultado no s queda q ue
99+1=100.

Luego de haber explicado la constr uccin de nmeros en el sistema de numeracin
decimal, pasamos a la explicacin del sistema de numeracin binaria.

Sistema de numeracin binaria:
En matemtica el sistema binario es un sistema de numeracin en el que los nmeros
se representan utilizando las cifras cero y uno ('0' y '1').

Los ordenadores trabajan internamente con d os niveles de voltaje, por lo que su
sistema de numeracin natural es el sistema binario (encendido '1', apagado '0').

El sistema binario moderno fue documentado en su totalidad por Leibniz en el sigl o
XVII en su artculo "Explication de l'Arithmtique Binaire". Leibniz us el 0 y el 1, al
igual que el sistema de numeracin binario actual.

En 1854, el matemtico britnico George Boole public un artculo que marc un antes
y un despus, detallando un sistema de lgica que terminara denominndose lgebra
de Boole. Dicho sistema jug un papel fundamental en el desarrollo del sistema binario
actual, particularmente en el desarrollo de circuitos electrnicos.

Operaciones con nmeros binarios

Suma de nmeros binarios:

1 0 0 1 1 0 1 0 1 +
1 1 0 1 0 1 0 1
------------------------
1 0 0 0 0 0 1 0 1 0

Escuela Profesional de Ingeniera Industrial

28
Operamos como en el sistema decimal: comenzamos a su mar desde la derecha, en
nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 y "llevamos" 1 (Esto es lo que se
llama el arrastre, carry en ingls). Se suma este 1 a la siguiente columna: 1 + 0 + 0 =
1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).

Resta de nmeros binarios:
El algoritmo de la re sta, en binario , es el mismo que en el sistema decimal. P ero
conviene repasar la operacin de restar en decimal para comprende r la operacin
binaria, que es ms sencilla. Lo s trminos que intervienen en la resta se llaman
minuendo, sustraendo y diferencia.

Las restas bsicas 0-0, 1-0 y 1-1 son evidentes:
0 0 = 0
1 0 = 1
1 1 = 0

La resta de 0 1, cmo la resuelvo? Igual que en el sistema decimal, tomando una
unidad prestada de la posicin siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a
decir en decimal, 2 1 = 1. Esa unidad prestada debe devolverse, sumndola, a la
posicin siguiente.

A continuacin otro ejemplo para que practiquen:

1 0 0 0 1 - 1 1 0 1 1 0 0 1 -
0 1 0 1 0 1 0 1 0 1 0 1 1
------------- --------------------
0 0 1 1 1 0 0 1 0 1 1 1 0

Conversin entre binarios y decimales
Binarios a decimales
Dado un nmero N, bin ario, para expresarlo en el sistem a decimal se debe escr ibir
cada nmero que lo compone (bit, acrnimo de Binary Digit, "dgito binario"),
multiplicado por la base del sistema (base = 2), elevado a la posicin que ocupa.

Ejemplo:
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

29

11001
2
= 25
10
<=>1 * 2^4 + 1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0

Decimales a binarios
Para empezar con la conversin, primero: di vidir el n mero decimal entre 2 cuyo
resultado entero se vuelve a di vidir entre 2 y as sucesivamente. Una vez llegados al 1
indivisible se cuentan el ltimo cociente, es de cir, el uno final (todo nmero binario
excepto el 0 empieza por uno ), seguido de los r esiduos de las d ivisiones
subsiguientes. Del m s reciente h asta el primero que result. Este nmero ser el
binario que buscamos. A continuacin se puede ver un ejemplo con el nmero decimal
100 pasado a binario.


100 |_2
0 50 |_2
0 25 |_2 --> 100
10
=> 1100100
2

1 12 |_2
0 6 |_2
0 3 |_2
1 1
Sistema de numeracin octal:
El sistema numrico en base 8 se llama octal y utiliza los dgitos 0 a 7. Los nmeros
octales pueden construirse a partir de nmeros binarios ag rupando cada tres dgitos
consecutivos de estos ltimos (de derecha a izquierda) y obteniendo su valor decimal.

Por ejemplo, el nmero binario p ara 74 (en decimal) es 1001010 (en binario) , lo
agruparamos como 1 001 010. De modo que el nmero decimal 74 en octal es 112.
En Informtica, a veces se utiliza la numeracin octal en vez de la hexadecimal. Tien e
la ventaja de que no requiere utilizar otros smbolos diferentes de los dgitos.

Sistema hexadecimal
El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeracin
posicional de base 16. Su uso actual est muy vinculado a la informtica y ciencias de
la computacin. Esto se debe a que un dgi to hexadecimal representa cuatro dgitos
binarios (4 bits = 1 nibble); por ta nto, dos d gitos hexadecimales representan ocho
Escuela Profesional de Ingeniera Industrial

30
dgitos binarios (8 bits = 1 byte, que como es sabido es la unidad bsica de
almacenamiento de informacin).

Dado que nuestro sistema usual de numeracin es de base decimal, y por ello solo
disponemos de diez dgitos, se ado pt la convencin de usar las seis primeras letras
del alfabeto latino para suplir los dgitos que nos faltan: A = 10, B = 11, C = 12, D = 13,
E = 14 y F = 15. Como en cualquier siste ma de numeracin posicional, el valor
numrico de cada dgit o es altera do dependiendo de su posicin e n la cadena de
dgitos, quedando multiplicado por una cierta potencia de la base del sistema, que en
este caso es 16.
Por ejemplo:
3E0,A(16) = 3*16^2 + E* 16^1 + 0*16 ^0 + A* 16^-1 = 3256 + 1416 + 01 + 100,06 25 =
992,625.
Tabla de conversin entre decimal, binario, hexadecimal y octal
Decimal Binario Hexadecimal Octal
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 8 10
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

31
9 1001 9 11
10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17





















Escuela Profesional de Ingeniera Industrial

32
Ejercicios Propuestos y Resueltos

A continuacin se mue stran los siguientes e jercicios que sern desarrollados en el
sistema de numeracin binaria:

Suma en binario.

a. 1 1 1 + b. 1 0 1 + c. 1 0 0 + d. 1 0 + e. 1 1 +
1 0_ 1 0 1 1 1 0 1 0
1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1


f. 1 1 1 0 + g. 1 0 1 0 + h. 1 0 1 1 + i. 1 0 1 0 1 0 +
1 1 1 1 1 1 0 1 1 1 1 1
1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1


j. 1 1 1 1 + 1 1 1 + 1 0 1 = ???
k. 1 1 0 0 1 + 1 1 1 1 +1 1 1 + 1 1 = ???
l. 1 1 1 1 1 + 1 0 1 1 + 1 1 1 + 1 0 = ???
m. 1 1 1 1 1 1 + 1 1 1 + 1 1 0 + 1 1 = ???
n. 1 0 1 0 1 0 + 1 1 0 + 1 1 1 + 1 0 0 + 1 1 + 1 0 = ???
o. 1 0 0 1 1 1 + 1 1 1 + 1 0 1 + 1 1 0 + 1 1 + 1 0 + 1 = ???
p. 1 1 0 1 0 0 + 1 1 1 0 + 1 0 0 + 1 0 1 + 1 1 0 + 1 1 + 1 0 = ???


Resta en binario.

a. 1 1 0 1 - b. 1 1 1 - c. 1 1 0 0 1 - d. 1 0 1 0 -
1 0 1 1 0 1 0 1 1 1
1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1


e. 1 1 0 0 1 0 = ???
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

33
f. 1 1 1 0 0 1 1 0 1 0 = ???
g. 1 1 0 0 1 0 - 1 0 1 1 1 = ???
h. 1 1 1 1 = ???
i. 1 1 1 - 1 1 = ???
j. 1 1 0 0 1 1 1 = ???
k. 1 0 0 0 1 1 1 1 = ???
l. 1 1 1 0 0 0 1 1 1 1 = ???

Producto en binario

a. 1 1 1 * b. 1 0 1 0 * c. 1 1 0 0 *
1 0 1 1 1 0
0 0 0 1 0 1 0 0 0 0 0
1 1 1 1 0 1 0 1 1 0 0
1 1 1 0 1 1 1 1 0 1 1 0 0 0


d. 1 0 1 * e. 1 1 1 * f. 1 1 1 1 *
1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1
1 0 0 1 1 1 1 0 0 0 0
1 1 0 1 1 1 0 1 0 1 1 1 1 1
1 0 0 1 0 1 1



g. 1 0 1 0 * 1 0 0 = ???
h. 1 1 * 1 1 = ???
i. 1 0 0 0 1 * 1 1 = ???
j. 1 0 1 0 1 1 * 1 0 0 = ???
k. 1 1 1 * 1 1 * 1 0 = ???
l. 1 1 1 0 0 0 1 * 1 1 1 = ???
m. 1 1 1 1 1 * 1 0 1 1 * 1 0 = ???
n. 1 1 1 1 * 1 0 1 * 1 1 1 = ???
Escuela Profesional de Ingeniera Industrial

34
Conversiones entre sistemas.
De binario a decimal.

a. 1 1 1 0 1
2
= 1 * 2 ^
4
+ 1 * 2 ^
3
+ 1 * 2 ^
2
+ 0 * 2 ^
1
+ 1 * 2 ^
0
= 29
b. 1 0 1
2
= 1 * 2 ^
2
+ 0 * 2 ^
1
+ 1 * 2 ^
0
= 5
c. 1 1 1 0 1 0 1
2
= 1 * 2 ^
6
+ 1 * 2 ^
5
+ 1 * 2 ^
4
+ 0 * 2 ^
3
+ 1 * 2 ^
2
+ 0 * 2 ^
1
+
1 * 2 ^
0
= 117
d. 1 0 0 1 1 0 1
2
= 1 * 2 ^
6
+ 0 * 2 ^
5
+ 0 * 2 ^
4
+ 1 * 2 ^
3
+ 1 * 2 ^
2
+ 0 * 2 ^
1
+
1 * 2 ^
0
= 77
e. 1 1 1
2
= 1 * 2 ^
2
+ 1 * 2 ^
1
+ 1 * 2 ^
0
= 7

f. 1 1 0 1 1 0
2
= ???
g. 1 1 0 0 1 1 1
2
= ???
h. 1 0 1 1
2
= ???
i. 1 0 1 0 1 0 1 1
2
= ???
j. 1 1 1
2
= ???
k. 1 0 1 1
2
= ???
l. 1 0 0 1 1
2
= ???
m. 1 1 0 0
2
= ???


De decimal a binario.

a. 2 4 2
0 12 2
0 6 2 24
10
= 1 1 0 0 0
2

0 3 2
1 1

b. 1 8 2
0 9 2
1 4 2 18
10
= 1 0 0 1 0
2

0 2 2
0 1
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

35
c. 1 9 = ???
d. 9 7 = ???
e. 1 8 = ???
f. 5 4 = ???
g. 7 8 = ???
h. 4 5 = ???
i. 1 6 = ???
j. 4 = ???
k. 5 4 = ???
l. 5 7 = ???

De binario a hexadecimal
El mtodo consiste en conformar grupos de 4 bits hacia la izquierda y hacia la
derecha del punto que indica las fraccione s, hasta cubrir la tota lidad del
nmero binario. Enseguida se convierte cada grupo de nmero binario de 4 bits
a su equivalente hexadecimal.

a. 10011101010
2
= 0 1 0 0 1 1 1 0 1 0 1 0 = 4EA
16

4 E A

b. 11011001101
2
= 0 1 1 0 1 1 0 0 1 1 0 1 = 6CD
16

6 C D

c. 1110011
2
= 0 1 1 1 0 0 1 1 = 73
16

7 3

d. 10010
2
= ???
e. 111001
2
= ???
f. 1001110
2
= ???
g. 101111
2
= ???
h. 1100001
2
= ???
i. 11000
2
= ???
j. 10011
2
= ???
k. 11111111
2
= ???
Escuela Profesional de Ingeniera Industrial

36
De binario a octal
El mtodo consiste en hacer grup os de 3 b its hacia la izquierda y hacia la
derecha del punto que indica las fraccione s, hasta cubrir la tota lidad del
nmero binario. Enseguida se convierte cada grupo de nmero binario de 3 bits
a su equivalente octal.

a. 01010101
2
= 001 010 101 = 125
8

1 2 5

b. 111001
2
= 111 001 = 71
8

7 1

c. 1100001
2
= 001 100 001 = 141
8

1 4 1

d. 110110 = ???
e. 10010 = ???
f. 10000 = ???
g. 1011111 = ???
h. 1001110 = ???
i. 110110 = ???
j. 1100111 = ???
k. 1110101 = ???











Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

37




En esta primera parte de la asignatura, ce ntramos nuestro conocimiento en la
herramienta bsica que es el ordenador, permitiendo que se realice la organizacin y
manipulacin de datos electrnicamente almacenados.

Asimismo, conoceremos la divisin f sica del ordenador e identificar y comprender sus
distintos dispositivos de entrada: teclado, mouse, escner , etc., de salida: monitor,
impresora, etc., y de comunicaciones: fax-mdem, tarjetas de red, etc.

Adems conoceremos y diferenciadremos la memoria RAM de la memoria ROM, sus
tipos y la funcionalidad de estos dentro del ordenador. Importante tambin es en esta
unidad comprender el funcionamiento del CPU, identifica ndo a la unidad de con trol,
unidad aritmtica-lgica y registros, explicando qu funcin cumplen para un cor recto
funcionamiento del ordenador.

Punto importante adems es cono cer el leng uaje con q ue trabaja internamente el
ordenador, siendo este el sistema de numeraci n binario, resaltando previamente: el
concepto y comprensin de los sistemas de numeracin matemtic os. Es en este
punto donde el estudiante aprender lo siguie nte: realizar operaciones en cualquier
sistema de numeracin, siendo los ms importantes el sistema de numeracin binario,
al ser este el sistema con que se comunica el ordenador con sus distintos dispositivos
que se encuentran a l conectado s; as tambin, aprenderemos a transformar de un
sistema de numeracin a otro y viceversa.

Siendo este la sntesis a la primera unidad, deseamos que usted, estimado alumno,
comprenda los conocimientos mostrados en esta primera parte para el xito de su
formacin como profesional, estando los do centes encargados del curso para
responder y aclarar toda interrogante que a usted se le presente.



Resumen
Escuela Profesional de Ingeniera Industrial

38




Actividad 1
Material de lectura sobre la clasificacin y generacin de las computadoras
u ordenadores

1. Primera generacin
Comprende el periodo entre los aos 1949 al 1958, en los cuales lo s
ordenadores, es decir, su Unidad Central de Proceso (CPU) era hecha en
base a elementos denominados tubos de vaco, y el dispositivo de memoria
principal del CPU estaba en ncleos magnticos.
2. Segunda generacin
Comprende el periodo de los aos 1959 al 1964, en los cuales su Unidad
Central de Proceso (CPU) era constituido en base a elementos
denominados transistores y el dispositivo de memoria principal del CPU
continu basndose en ncleos magnticos.
3. Tercera generacin
Comprende el periodo de los aos 1965 al 1970, en los cuales su Unidad
Central de Proceso (CPU) era construida en base a eleme ntos
denominados circuitos integrados, obtenindose en esta generacin dos
avances en la integracin de los circuitos, llamados:

Integracin en pequea escala (SSI = Small Scale Integration)
Integracin en gran escala (LSI = Large Scale Integration)

El dispositivo de la memoria principal del CPU se b as en ncleos
magnticos, aqu empez la era de los chips, elaborados en placa s de
silicio.
4. Cuarta generacin
Comprende el periodo de los aos 1 971 al 1986, aproximadamente, en los
cuales su Unidad Central de Proceso (CPU) est constr uida en ba se a
elementos denominados circuitos int egrados en gran escala (VLSI = Ve ry
Large Integration Scale). El dispo sitivo de memoria princip al del CPU se
Actividades sugeridas
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

39
basa exclusivamente en los chips, hablan do al re specto de los
microprocesadores.

La evolucin presentada hasta aq u, resalta solo algunos aspecto s y no
incluye todos los avances en detalle que han acontecido durante e sta
evolucin del ordenador.

Podemos concluir que la historia de esta asombrosa evolucin no termina
aqu y se espera que contina con la llamada: quinta genera cin,
basndose entre otr as cosas, en inteligencia artif icial, donde los
ordenadores exhibirn caractersticas similares al ser humano.

Notas:
Para consultas al tema, coordinar con su tutor del curso, a s como a l as
siguientes web site:

http://infytel.bc.inter.edu/colivares/Computer_Evolution.htm
http://www.ilustrados.com/publicaciones/EpyppFlpkVuQfpUbWT.php
http://www.monografias.com/trabajos12/histcomp/histcomp.shtml







Escuela Profesional de Ingeniera Industrial

40



1. Conjuntos de mquinas especializadas dependientes de un programa comn
en la realizacin de operaciones complejas:
a. Sistema operativo ( )
b. Ordenador ( )
c. Lenguaje de programacin ( )

2. Controla el funcionamiento de los distinto s componentes del ordenador,
encontrndose integrada en un chip denominado microprocesador:
a. Memoria RAM ( )
b. El software ( )
c. Unidad Central de Proceso ( )

3. Son los en cargados de leer los datos ingresados a la unidad ce ntral de
proceso:
a. Dispositivos de Entrada INPUT ( )
b. Diskettes ( )
c. Teclado ( )

4. Es aquel BUS que se caracteriza por que los datos fluyen en una sola direccin
desde la CPU hacia la me moria, pero la memoria no puede mandar datos a
travs de este bus:
a. Bus de Datos ( )
b. Bus de Direccin ( )
c. Bus de Control ( )
5. Es el circuito integrado donde se almacena el BIOS del ordenador, siendo este
una:
a. Memoria ROM ( )
b. Memoria RAM ( )
c. Unidad Central de Procesamiento ( )


Autoevaluacin
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

41
6. Una diferencia importante que podemos encontrar entre una memoria principal
y una secundaria es:
a. Su capacidad de almacenamiento y velocidad de procesamiento ( )
b. Su velocidad de procesamiento ( )
c. N.A. ( )

7. La unidad de control, para la ejecucin de sus funciones, consta de un conjunto
de elementos, siendo uno de ellos:
a. Registro de control de secuencias ( )
b. Circuitos de operadores ( )
c. Registros de datos ( )

8. Esta unidad es la e ncargada de la e jecucin de las instrucciones de
operaciones aritmticas y lgicas contenidas en el programa almacenado que
se est ejecutando:
a. Registros ( )
b. Unidad aritmtica lgica ( )
c. Memoria principal ( )

9. Hace referencia a l as arquitecturas de computadoras que utilizaban
dispositivos de almacenamiento fsicamente separados para las instrucciones y
para los datos:
a. Arquitectura de von Neumann ( )
b. Arquitectura de Harvard ( )
c. N.A. ( )

10. Es un dispositivo de soporte fsico a un ordenador, que le permite interactuar
con el exterior por medio de la entrada, salida y el almacenamiento de datos:
a. Disco duro ( )
b. Perifrico ( )
c. Diskettes ( )



Escuela Profesional de Ingeniera Industrial

42

11. Nombrar 2 ejemplos de perifricos de entrada, salida y almacenamiento:
a. De entrada: _________________________________________
b. De salida: _________________________________________
c. De almacenamiento: ________________________________________

12. El concepto de programa almacenado en la memoria fue ideado por:
a. John Von neumann ( )
b. Grace Murray Koper ( )
c. N.A. ( )

13. Dado los siguientes n meros en el sistema binario, 1111001 + 11101 el
resultado es:
a. 11010110 ( )
b. 10010110 ( )
c. 10010001 ( )

14. El resultado para la siguiente operacin en sistema binario, 11100011 11110,
es:
a. 11100101 ( )
b. 11000001 ( )
c. 11000101 ( )

15. Dado los siguientes n meros en sistema b inario, 111000111 * 1101, el
resultado es:
a. 1011100011011 ( )
b. 1001100011001 ( )
c. 1000011100100 ( )






Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

43



La solucin a las preguntas de la autoevaluacin son las siguientes:

1. b
2. c
3. a
4. b
5. a
6. b
7. a
8. b
9. b
10. b
11. De entrada: telado, escaner. De salida: impresora, monitor. De
almacenamiento: disco duro, Cds.
12. a
13. b
14. c
15. a
Solucionario de la autoevaluacin
Escuela Profesional de Ingeniera Industrial

44




Palabras Significados
AGP
Puerto avanzado para grficos. Es un tipo de slot dedicado
exclusivamente a tarjetas grficas de prestaciones iguales o superiores al
PCI, dependiendo de la versin del AGP.
Almacenamiento
Espacio fsico. La accin de colocar datos en algn dispositivo
Binario
Sistema de nume racin en el que todas las canti dades se re presentan
utilizando como base el nmero dos, con lo que di sponemos de las cifras:
cero y uno ('0' y '1').
Bios
Es el sistema bsico de entrada/salida Basic Input-Output System (BIOS),
es un cdigo de interfaz que localiza y carga el si stema operativo en la
RAM.
Cd-Rom
Disco capaz de almacenar texto, sonido e imgenes.
Es uno de los principales soportes de la revolucin multimedia.
Comunicacin
Transferencia de informacin comprendida de una a otra persona o de un
ordenador a otro ordenador.
Proceso por el cual se m uestran unos resultados y son con ocidos por
otras personas, permitiendo compartir e intercamb iar ideas y opinion es
con el objeto de mejorar l a ejecucin de una actividad que sea juzgada y
evaluada.
Conector
Elemento que permite fijar distintas piezas unidas a ranuras de la placa
principal.
DIMM
Dual In-line Memory Module, son mdulos de memoria RAM. Se trata de
un pequeo circuito impreso que contiene chips de memoria y se conecta
directamente en ranuras de la placa base.
Discos
Es un di spositivo de almacenamiento primario para computadoras al que
se accede directamente para guardar o recu perar documentos. Pueden
ser magnticos (discos rgidos, flexibles) u pticos (CD-ROM).
EAROM o
EEROM
Electronically Alterable Read-Only Memory o Ele ctricaly Erasable Read-
Only Memory.
Son la frontera entre la RAM y la ROM, su contenido puede ser regrabado
elctricamente, se diferencian de las RAM de que no son voltiles.
Entrada
Datos que se deben procesar por medio de un sistema de computacin
Glosario
Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

45
EPROM
EPROM son las siglas de Erasable Programmable Read-Only Memory
(ROM borrable programable), es un tipo de chi p de memoria ROM
inventado por el ingeniero Dov Frohman que retiene los datos cuando la
fuente de energa se apaga. En otras palabras, es no voltil.
Hardware
Se denomina hardware o soporte fsico al conjunto de elemento s
materiales que componen un ordenador.
En dicho co njunto se in cluyen los d ispositivos electrnicos, circuitos,
cables, tarjetas, armarios o caja s, perifricos de todo tipo y otros
elementos fsicos.
Hexadecimal
Sistema de numeracin en base 16. Se emplean las cifras del 0 al 9 y las
letras de la A a la F (A=10, B=11, C=12, D=13, E=14, F=15),
IDE
Sigla de Int egrated Drive Electronics, que de nota la inte rfaz estndar
usada para conectar fundamentalmente unidades de disco y CD-ROM a
un ordenador
Instrucciones
Una instruccin consiste de uno o varios bytes almacenados en la
memoria de programa.
ISA
Tipo de arquitectura estndar de placas base, con ranuras de ampliacin
de 8 y 16 bits (Industry Standard Architectecture).
Lector
Un dispositivo que usa una cmara para rastrear y digitalizar una imagen
que se puede almacenar en un disco y manejar en una computadora
Lenguaje
Es la capacidad del ser humano para comunicarse mediante un sistema
de signos, as tambin el ordenador.
Memoria
Dispositivo capaz de almacenar informacin.
MIPS
MIPS es el acr nimo de " millones de intrucciones por segundo". Es una
forma de medir la potencia de los procesadores
MODEM
(Modulador/demodulador): Perifrico que permite a l ordenador usar las
lneas telefnicas para enviar y recibir informacin
Octal
Sistema de numeracin en base 8. Se emplean las cifras del 0 al 7
Paralelo
En la transmisin de datos, paralelo significa que todos los bits que forman
un carcter se pueden enviar simultneamente por canales elctricos
paralelos.
PCI
Tipo de arquitectura estndar de placas base, con ranuras de ampliacin de
32 64 bits, usada en los equipos con procesador Pentium y superiores.
Perifrico
Un perifrico es un dispositivo hardware de un ordenador que potencia la
capacidad de este y permite la entrada y/o salida de datos.
Pines
Cada uno de los conectores elctricos de muchos elementos hardware,
como las "patitas" de muchos microprocesadores
Escuela Profesional de Ingeniera Industrial

46
Programas
En Informtica, los PROGRAMAS son algoritmos escritos en un lenguaje
que el ordenador entiende.
PROM
Es una memoria ROM programable.
Ps/2
Es un tipo de conector para mouse y/o teclados.
Puerto
En computacin, un puerto es una forma genrica de denominar a una
interfaz por la cual dife rentes tipos de datos pueden ser enviados y
recibidos.
RAM
Sigla de Random Access Memory (Memoria de acceso directo). La RAM
se usa para mantener los programas mientras se estn ejecutando, y los
datos mientras se los procesa.
Ranura
Conector fsico de una placa madre en el que puede insertarse una tarjeta
de ampliacin, mdulos SIMM, DIMM, o una tarjeta de procesador.
Reloj
Proporciona una sucesin de imp ulsos elctricos (llamados ciclos) a
intervalos constantes que marcan l os instantes en que han de comenzar
los distintos pasos de que consta una instruccin.
ROM
Es una memoria de semi conductor no destructible, es decir, qu e no se
puede escribir sobre ella, y que con serva intacta la info rmacin
almacenada, incluso en el caso de interrupcin de corriente
Salida
Lneas o di spositivos empleados para obtener o vi sualizar la inf ormacin
en el exterior.
Seales
Las seales son eventos que se hacen llegar a un proceso en ejecucin
para su tratamiento por este. Las seales las podemos mandar nosotros u
otros programas a otros programas.
Serial
Mtodo para transmitir datos secuencialmente, es decir, bit por bit.
Socket
Es una especificacin fsica y electrnica para la familia de procesadores.
Software
Equipo lgico de ordenador, formado por aplicaciones y programas
UAL
Parte de la CPU (UPC en espao l) o proce sador encargada del
procesamiento real de los datos. En esta se realizan las operaciones
bsicas (suma, resta, divisn, mult iplicacin), el manejo lgico y genera
resultados.
USB
El bus de serie universal (USB, de su s siglas en ingls Universal Serial
Bus) provee un estndar de bus serie para conectar dispositivos a u na
computadora (usualmente a una PC).
Zcalo
Es un slot. Espacios o ranuras en la placa mad re donde se insertan
diferentes componentes, como los zcal os de memoria o del
microprocesador.

Primera unidad Fundamentos de Computacin e Informtica - Algoritmos

47



DIRECCIONES ELECTRNICAS

1. Referencias de computacin:
http://www.monografias.com/trabajos/refercomp/refercomp.shtml

2. Bases de la Teleinformtica:
http://www.monografias.com/trabajos4/teleinf/teleinf.shtml

3. Redes de computadoras:
http://www.monografias.com/trabajos5/redes/redes.shtml

4. Redes y comunicaciones:
http://www.monografias.com/trabajos3/redycomun/redycomun.shtml

5. Internet:
http://www.monografias.com/trabajos5/rnet/rnet.shtml

6. Temas de computacin: hardware y software.
http://www.sandrex.net/












Bibliografa



















SEGUNDA UNIDAD
DIDCTICA

Sistema de computacin
El software













Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




51






PRIMERA PARTE
UNIDAD 2: Sistema de Computacin - El software
1. Definicin de software.

2. Tipos de software:
2.1 Software de sistemas
2.2 Software de aplicacin: aplicaciones ofimticas, base de datos,
software educativos y software mdicos.
2.3 Software de edicin y diseo grfico: software de edicin de
imgenes, de edicin de videos, de edicion de audio.
2.4 Software de ofimtica. Principales programas: Word, access,
PowerPoint y Excel (Foro)

3. El software y la resolucin de problemas.
3.1 Tratamiento informtico de un problema: definicin de las
necesidades. Anlisis del sistema. Diseo del sistema.
Elaboracin del programa. Implementacin y mantenimiento.

4. Los virus Informticos.
4.1 Clasificacin.
4.2 Virus ms comunes.
4.3 Formas de infeccin.
4.4 Antivirus y problemtica (Foro)

5. Lenguajes de programacin
5.1 Clasificacin de los lenguajes de programacin.
5.2 Paradigmas: lenguajes de programacin. Imperativas, funcional,
lgica.
5.3 Lenguaje de programacin orientado a objetos.








Esquema de contenidos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




52






Objetivo general

Comprender la utilizacin y aplicacin de los tipos de software



Unidad
didctica
Objetivos especficos Tiempo
de
estudio



Segunda
Conocer los virus ms comunes y su problemtica.
Conocer las formas de infeccin.
Conocer las formas de prevencin, deteccin, y
eliminacin.
Conocer los diversos lenguajes de programacin.

12 horas




























Objetivos
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




53





Estimado alumno:

El objetivo general de esta asignatura en su segunda parte se centra en el
conocimiento de la herramienta bsica que es el software, permitiendo que el usuario
organice y manipule los datos que electrnicamente han sido almacenados en el
ordenador. Adems de conocer, entender los tipos de software y las soluciones que
brinda en la solucin a la problemtica dentro de una empresa, es una herramienta
importante en el desarrollo de etapas para el tratamiento informtico, basados en el
anlisis, diseo y desarrollo de sistemas de informacin.

Siguiendo con otros puntos importantes, no podemos dejar de nombrar, saber y
entender acerca de los virus informticos, siendo estos los responsables muchas
veces de la alteracin de los datos almacenados en el ordenador; as tambin, los
antivirus que son una forma de prevenir y eliminar los virus informticos que han
ingresado al ordenador.

Los contenidos incluidos y desarrollados ms adelante en esta unidad corresponden a
los siguientes temas: el software: definicin, tipos de software, el software en la
resolucin de problemas, los virus informticos y los lenguajes de programacin.






Introduccin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




54

































Software
Definicin
Tipos de
software
Software de sistemas
El software y la
resolucin de
problemas
Software de aplicacin
Software de edicin y diseo
grfico
Software de ofimtica
Anlisis del sistema
Diseo del sistema
Anlisis de la programacin
Elaboracin del programa
Implementacin y
mantenimiento
Virus
informticos
Clasificacin
Virus ms comunes
Formas de infeccin
Antivirus
Problemtica
Lenguajes de
programacin
Clasificacin
Paradigmas
Lenguajes orientados
A
S
i
s
t
e
m
a


d
e

c
o
m
p
u
t
a
c
i

n
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




55



UNIDAD 2

SISTEMA DE COMPUTACIN EL SOFTWARE

1. DEFINICIN DE SOFTWARE

Es un conjunto de instrucciones u rdenes generadas por el ser humano (llamado
programador) que le indica al computador cmo debe utilizar sus unidades o
dispositivos de entrada, de salida y de proceso para producir la informacin que el ser
humano solicita o desea.

Se denomina tambin software a todos los componentes intangibles de un ordenador
o computadora, es decir, es aquel soporte lgico o conjunto de programas y
procedimientos necesarios para hacer factible la ejecucin de una tarea especfica, en
contraposicin con los componentes fsicos del sistema (hardware).

Tambin comprende todo tipo de programas, utilidades, aplicaciones, sistemas
operativos, drivers que hacen posible que el usuario pueda trabajar con el ordenador y
sus dems dispositivos.












Figura 1: El software
Contenidos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




56
2. TIPOS DE SOFTWARE

2.1 Software de sistemas
Es el programa de bajo nivel que interacta con la
computadora a un nivel bsico, como, por ejemplo, el
sistema operativo.







El software de sistema permite tambin el correcto funcionamiento del hardware,
siendo su objetivo aislar tanto como sea posible al programador de las aplicaciones de
los detalles del computador que est usando, as tenemos: las caractersticas fsicas
de la memoria, dispositivos de comunicaciones, impresoras, pantallas, teclados, etc.
Entre los software de sistemas podemos nombrar:

Sistema operativo
Controladores de dispositivo
Herramientas de diagnstico

Sistema operativo
Un sistema operativo (SO) es un conjunto de programas destinados a permitir
la comunicacin del usuario con un ordenador y gestiona sus recursos de
manera eficiente. Comienza a trabajar cuando se enciende el ordenador y
gestiona el hardware de la mquina desde los niveles ms bsicos.






Figura 2: El sistema operativo Windows
Un sistema operativo (OS) es un tipo de
software de sistema que se encuentra en
todas las computadoras personales,
permitiendo la comunicacin del usuario con
un ordenador.
Sistema operativo: es el que controla el movimiento de la
informacin en el sistema, trabaja directamente con la unidad de
control del hardware, indicando al computador qu dispositivos de
entrada, salida tiene conectados y operativos para ser usados por l,
cuando realice la ejecucin de un programa.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




57












Los sistemas operativos simplifican el manejo de la computadora,
desempeando una serie de funciones bsicas esenciales para la gestin del
ordenador. Entre las ms destacables, podemos nombrar las siguientes:

Gestionar los recursos del ordenador: como gestor de recursos
administra: la CPU, dispositivos de entrada, de salida y la memoria.

Brindar una interfaz de usuario: es una capa compleja entre el hardware
y el usuario, concebible como una mquina virtual, facilita al usuario o
programadores las herramientas e interfaces adecuadas para realizar sus
tareas informticas.

Caractersticas del sistema operativo

Administracin de tareas
Permite que el sistema operativo pueda ejecutar uno o varios procesos
aparte del propio sistema operativo en un momento dado, de manera que el
usuario perciba que todos funcionen correctamente y a la vez.
Administracin de usuarios
Permite que el sistema operativo pueda ejecutar por uno o varios usuarios
en simultneo sus programas, accediendo a la vez a los recursos del
ordenador.
Figura 3: El nuevo sistema operativo
Windows Vista
El sistema operativo es el software ms importante que se ejecuta
en la computadora, porque es el programa de control principal que
determina qu har la computadora y cmo lo har.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




58
Manejo de recursos
Permite que el usuario utilice no solo los recursos de un ordenador (CPU,
memoria, perifricos, etc.), sino tambin los recursos de ms de un
ordenador al mismo tiempo.

Estimado estudiante, como usted ha ledo el tema de software de sistema, ha
podido identificar como el primer tipo de software de sistema al sistema
operativo, pues bien, el sistema operativo es un elemento importante para
establecer una adecuada comunicacin entre el usuario y el ordenador. Sin
embargo, otro tipo de software de sistema e importante tambin, son los
controladores que se define a continuacin.

Controladores de dispositivos

Un controlador de dispositivo (llamado normalmente controlador o, en ingls,
driver) es un programa informtico que permite al sistema operativo interactuar
con un perifrico, proporcionando una interfaz posiblemente estandarizada para
usarlo.







Tipos de controladores

En la actualidad existen tantos controladores como tipos de perifricos y es
frecuente encontrar ms de un controlador posible para el mismo dispositivo,
cada uno ofreciendo un nivel distinto de funcionalidades.





Es como un manual de instrucciones que le indica cmo debe
controlar y comunicarse con un dispositivo en particular. Por tanto, es
una pieza esencial, sin la cual no se podra usar el hardware.
Aparte de los controladores oficiales (normalmente disponibles en la
pgina web del fabricante), se pueden encontrar tambin los
proporcionados por el sistema operativo, o tambin versiones no
oficiales hechas por terceros.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




59
Creacin de controladores

Normalmente son los fabricantes del hardware quienes escriben o desarrollan
sus controladores, ya que conocen mejor el funcionamiento interno de cada
aparato o dispositivo del ordenador.
































Figura 4: Administrador de dispositivos
Pero tambin se encuentran controladores libres, por ejemplo, en
los sistemas operativos libres. En este caso, los creadores no son
de la empresa fabricante, aunque a veces hay una cooperacin con
ellos, cosa que facilita el desarrollo. Si no la hay, el procedimiento
necesita de ingeniera inversa y otros mtodos difciles o con
riesgos legales.
El objetivo de la ingeniera inversa es obtener informacin tcnica a
partir de un producto accesible al pblico, con el fin de determinar de
qu est hecho, qu lo hace funcionar y cmo fue fabricado.
Ingeniera inversa
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




60
Estimado estudiante, usted ha podido analizar y verificar la relacin existente e
importante entre el controlador de dispositivos y el sistema operativo, permitiendo as
que ste (S.O.) interacte con los dispositivos de entrada (INPUT), salida (OUTPUT),
etc. Sin embargo, otro elemento importante es la herramienta de diagnstico, que
seguidamente se define.

Herramientas de diagnstico:
Son herramientas de soporte tcnico en el sistema operativo para prestar el
apoyo necesario al hardware. Estas herramientas, ofrecen una solucin para
comprobar, solucionar problemas y controlar el hardware del sistema, los
servidores y las estaciones de trabajo (ordenadores), incluidos CPU, memoria,
tarjetas de interfase y otros dispositivos.























Figura 5: Herramienta de diagnstico
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




61
Estimado estudiante, usted ha podido identificar la importancia del software de
herramienta de diagnstico en el ordenador, para verificar el correcto funcionamiento
del equipo de hardware instalado. Asimismo, se va a definir otro tipo de software
importante, siendo ste el de aplicacin.

2.2 Software de aplicacin

Es aquel software que permite a los usuarios llevar a cabo una o varias tareas ms
especficas, en cualquier campo de actividad susceptible de ser automatizada o
asistida, con especial nfasis en los negocios.

Estas aplicaciones son programas con los cuales el usuario final interacta, es decir,
son aquellos programas que permiten la interaccin entre el usuario y la computadora.
Esta comunicacin se lleva a cabo cuando el usuario elige entre las diferentes
opciones o realiza actividades que le ofrece el programa.

Entre los software de aplicacin tenemos:

Aplicaciones ofimticas
Base de datos
Software educativos
Software mdicos




Adems, el software de aplicacin se divide en muchos tipos, entre los cuales se
pueden nombrar:
De procesadores de texto: Microsoft Word.
De hoja electrnica de clculo: Microsoft Excel.
De manejo de base de datos: MySQL, Microsoft Access, Visual FoxPro, etc.
Comunicacin de datos: Internet Explorer, Netscape Navigator, MSN
Messenger, Yahoo! Messenger, ICQ, etc.
Multimedia: Windows Media Player, Winamp, RealPlayer, QuickTime, etc.
Figura 6: Software de aplicacin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




62
De presentaciones: Microsoft Power Point, Corel Presentations, Windows
Movie Maker, etc.
De diseo: Corel Draw, Corel PHOTO-PAINT, Adobe Photoshop, Microsoft
Photo Editor, Microsoft Paint, AutoCAD, etc.
De correo electrnico: Outlook Express, etc.
De compresin de archivos: WinZip, etc.
Aplicaciones ofimticas

Conjunto de tcnicas informticas utilizadas para facilitar los trabajos de oficina
en el campo de la produccin, almacenamiento y memorizacin de textos.




Estimado estudiante, usted ha podido leer la definicin del software de
aplicaciones ofimticas y analizar la importancia que tiene para el usuario en la
ejecucin de tareas propias de oficina, como: procesadores de texto, clculos
financieros etc. Continuando con las definiciones de software de aplicacin, se
va a definir la base de datos, siendo sta tambin una aplicacin importante.

Base de datos

Es un conjunto interrelacionado de archivos electrnicamente almacenados,
que constituyen toda la informacin que se dispone, relativa a un determinado
tema, sobre el cual, utilizando un lenguaje manejador de base de datos, se
puede hacer consultas u obtener informes.

En la actualidad, los fabricantes de base de datos y de los lenguajes
manejadores de base de datos (SMBD), continuamente estn desarrollndolas
a fin de mejorarlas y hacerlas ms amigables para facilitar su manejo por los
diferentes niveles de usuarios con el fin de que puedan disponer de una gama
ms amplia de posibilidades para satisfacer sus necesidades de tratamiento de
la informacin contenida en ellas.

Estas se suelen dar a la informtica aplicada a la oficina: proceso de
textos, hojas de clculo, etc.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




63
La creacin o llenado de la estructura de la base de datos as como el manejo de
los mismos se tiene siempre que realizar con un software o lenguaje
especializado, denominado sistema manejador de base de datos.

Sistema manejador de base de datos (SMBD)

Es aquel software que controla la organizacin, creacin, almacenamiento,
recuperacin, seguridad e integridad de los datos en una base de datos. Este
software acepta solicitudes de los programas de aplicacin e instruye al sistema
operativo para que transfiera los datos apropiados solicitados.

Los SMBD pueden trabajar con lenguajes de programacin tradicionales como:
Cobol, C, etc., o tambin pueden incluir su propio lenguaje para el desarrollo de
programas de aplicaciones, as tenemos: Visual FoxPro, Power Builder, etc.

Caractersticas de un sistema manejador de base de datos
Seguridad de datos: la informacin almacenada en una base de datos
puede llegar a tener un gran valor. Los SMBD deben garantizar que esta
informacin se encuentra asegurada frente a usuarios malintencionados,
que intenten leer informacin privilegiada, frente a atacantes que deseen
manipular o destruir la informacin, o simplemente ante la torpeza de algn
usuario autorizado pero despistado.

Normalmente, los SMBD disponen de un complejo sistema de permisos a
usuarios y grupos de usuarios, que permiten otorgar diversas categoras de
permisos.

Integridad de datos : se trata de adoptar las medidas necesarias para
garantizar la validez de los datos almacenados. Es decir, se trata de
proteger los datos ante fallos de hardware, datos introducidos por usuarios
descuidados o cualquier otra circunstancia capaz de corromper la
informacin almacenada. La integridad es, en sntesis, proteger los datos
para evitar cambios no autorizados.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




64
Control de concurrencia: en la mayora de los casos, lo ms frecuente es
que sean muchas las personas que acceden a una base de datos, bien
para recuperar informacin, bien para almacenarla. Y es tambin frecuente
que dichos accesos se realicen de forma simultnea, as pues, un SMBD
debe controlar este acceso concurrente a la informacin, que podra derivar
en inconsistencias.

Respaldo y concurrencias: los SMBD deben proporcionar una forma
eficiente de realizar copias de seguridad de la informacin
almacenada en ellos y de restaurar a partir de estas copias los datos
que se hayan podido perder.
Redundancia de dato s: un buen diseo de una base de datos
lograr evitar la aparicin de datos repetidos o redundantes.








Principales modelos de base de datos
Bases de datos jerrquicas: estas son bases de datos que, como su
nombre indica, almacenan informacin en una estructura jerrquica. En
este modelo, los datos se organizan en una forma similar a un rbol (visto
al revs), en donde un nodo padre de informacin puede tener varios hijos.
El nodo que no tiene padres es llamado raz, y a los nodos que no tienen
hijos se los conoce como hojas.





En conclusin, dichas relaciones son hijo-padre, pero no padre-hijo.
Figura 7: Sistema manejador de base de datos SQL
Este modelo facilita relaciones padre-hijo; es decir, relaciones
1:N (de uno a varios) del modelo relacional. Pero a diferencia
de este ltimo, las relaciones son unidireccionales.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




65
Por ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con
el registro de su departamento (nodo padre), pero no al contrario.










Base de datos de red: este es un modelo ligeramente distinto del
jerrquico; su diferencia fundamental es la modificacin del concepto de
nodo: se permite que un mismo nodo tenga varios padres (posibilidad no
permitida en el modelo jerrquico).










Base de datos relacional: este es el modelo ms utilizado en la actualidad
para modelar problemas reales y administrar datos dinmicamente. Su idea
fundamental es el uso de "relaciones".

Estas relaciones se pueden clasificar como: simple y compuesta. Una
relacin simple es la unin que se realiza mediante un campo de la tabla, y
una relacin compuesta es la que se realiza con ms de un campo de la
tabla.
Ra z
Padr e 1 Padr e 2 Padr e 3
Hi j o 1 Hi j o 2
Figura 8: Base de datos jerrquica
Nodo 1 Nodo 2 Nodo 3
Nodo 6 Nodo 5 Nodo 4
Figura 9: Base de datos de red
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




66

Segn lo dicho anteriormente, el concepto entidad relacin es la forma
como se visualiza y accede a los datos, presentndose los siguientes
casos:

Relacin de uno a uno: una instancia de entidad A se relaciona con una y
solamente una instancia de la entidad B.
Relacin de uno a muchos: cada instancia de la entidad A se relaciona
con varias instancias de la entidad B.
Relacin de muchos a muchos: cualquier instancia de la entidad A se
relaciona con cualquier instancia de la entidad B.













El tipo de cardinalidad se representa mediante una etiqueta en el exterior
de la relacin, siendo estas as: 1:1, 1:N, N:M. Otra forma de
representacin de la cardinalidad es situando un smbolo cerca de la lnea
que conecta una entidad con una relacin: 0, si la entidad no est
obligada a participar de la relacin. 1 si la entidad est obligada a
participar de la relacin y adems cada instancia solamente participa una
vez. N, M o * , si la entidad no est obligada a participar en la
relacin y cada instancia puede participar cualquier nmero de veces.
Ejemplos:

Una entidad es cualquier "objeto" discreto sobre el que se
tiene informacin. Se representa mediante un rectngulo
o "caja" etiquetada en su interior mediante un nombre.
Ejemplos de entidades habituales en los sistemas de
informacin son: factura, persona, empleado, etc. Cada
ejemplar de una entidad se denomina instancia. Por
ejemplo, Francisco y Luisa pueden ser dos instancias
distintas de la entidad "persona". Las instancias no se
representan en el diagrama.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




67
a. Un hombre (entidad) contrae matrimonio (relacin) con una mujer y slo
una. Es una relacin de 1:1.
b. Una factura (entidad) se emite (relacin) a una persona (entidad) y solo
una, pero una persona puede tener varias facturas emitidas a su nombre.
Es una relacin 1:N.
c. Un cliente (entidad) puede comprar (relacin) varios artculos (entidad) y
varios artculos puede ser comprado por varios clientes. Es una relacin
N:M.

El lenguaje ms habitual para construir las consultas a bases de datos
relacionales es SQL, Structured Query Language o Lenguaje Estructurado
de Consultas, un estndar implementado por los principales motores o
sistemas de gestin de bases de datos relacionales.





















Esta organizacin ofrece la mayor flexibilidad ya que los datos
se almacenan en tablas diferentes, conformadas asimismo por
filas y columnas.
Una tabla se denomina archivo. En una tabla las filas
contienen los registros. Las columnas representan los campos.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




68




























Estimado estudiante, usted ha podido leer la definicin del software de aplicaciones
orientadas a la base de datos, pudiendo analizar la importancia que tiene para el
usuario en la creacin de base de datos para el almacenamiento de datos importantes
para un organizacin, permitiendo as, hacer las consultas pertinentes y tomar
adecuadas decisiones. Continuando con las definiciones de software de aplicacin, se
va a definir al software educativo, siendo este tambin una aplicacin importante.
Figura 10: Trminos empleados en base de datos
relacional
Base de datos
Archivos
(Tablas)
Registros
Figura 11: Representacin de base de datos
relacional
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




69

Software educativo
El software educacional o educativo es aquel cuya finalidad primordial es,
dependiendo el punto de vista: la enseanza o el aprendizaje. Abarca desde
programas para el nivel preescolar, que tienen un gran componente ldico
(orientado literalmente a los juegos de ingenio), a programas de mecanografa y
aplicaciones para aprender lenguas extranjeras.

As como existen profundas diferencias entre las filosofas pedaggicas, tambin
existe una amplia gama de enfoques para la creacin de software educativo
atendiendo a los diferentes tipos de interaccin que puede existir entre los
actores del proceso de enseanza - aprendizaje: educador, aprendiz,
conocimiento, computador.

En el pasado mucha gente, profesores incluidos, consideraba que el software
educativo eran los juegos llamativos y programas para practicar ejercicios
repetitivos que funcionaban en las PC. Mientras que estos programas similares a
PC-Tutor pueden ser adecuados para algunos estudiantes hemos encontrado
que el papel de la computadora en la sala de clase est cambiando. Hoy en da,
los estudiantes que tienen suficientes habilidades tcnicas usan las PC de la
misma manera que los adultos las utilizan en sus lugares de trabajo y en la
universidad.

Entre los software tipos de aprendizaje tenemos: el Logo, el Clic y los Applets.

El Logo: es uno de los pocos lenguajes de programacin con instrucciones
en espaol. Logo es un lenguaje de alto nivel en parte funcional, en parte
estructurado, de muy fcil aprendizaje (por lo cual, generalmente es el
lenguaje de programacin preferido para trabajar con nios y jvenes).
El Clic: est formado por un conjunto de aplicaciones de software libre que
permiten crear diversos tipos de actividades educativas multimedia.
Applets: es un programa informtico basado en el lenguaje de
programacin Java. Es muy til para la creacin de efectos en una pgina
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




70
web, as por ejemplo: minijuegos, creacin de grficas en funcin a
frmulas matemticas, etc.












Estimado estudiante, usted ha podido leer la definicin del software de aplicaciones
educativas, es probable que haya usted escuchado, sin embargo, la importancia que
tiene este software para el usuario en la enseanza de alumnos en etapa, por ejemplo:
preescolar, primaria, secundaria, etc. Continuando con las definiciones de software de
aplicacin, se va a definir al software mdico, siendo este tambin una aplicacin
importante.

1. Software mdico
El software de gestin mdica est orientado a resolver los circuitos
administrativos del hospital - pblico o privado, registrando todos los datos en
tiempo real y atendiendo a la problemtica propia de una institucin. Dado que
las entradas al hospital son normalmente tres: hospitalizacin, admisin de
pacientes ambulatorios y guardia, es fundamental realizar la captura de datos a
partir de estos puestos.

El fin de este tipo de software es la optimizacin de procesos administrativos y
clnicos, mediante un sencillo uso, que aplica lo ltimo en adelantos tecnolgicos.

Estos modelos de software presentan algunas caractersticas similares en
muchas de ellas y permite:
Figura 14: Ejemplo de un Applets aplicado en la
enseanza de las matemticas
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




71

Permite trabajar con agendas ordenadas por especialidad, a la vez que se
confeccionan los registros estadsticos propios de la institucin mdica. Si
estos registros no existen, se generan directamente en la concurrencia.
Adems, tienen herramientas en la que el sistema permite optimizar el
proceso de asignacin de cama si hay alguna hospitalizacin de pacientes.
Y se cuenta con el censo diario debidamente confeccionado, brindando
informacin real y consistente a quienes la soliciten.
Realizan la facturacin a los pacientes afiliados a la institucin mdica
segn se maneje algn tipo de plan, en la que los pacientes o personas
componen un grupo familiar, inclusive diferenciando los precios de acuerdo
a la edad o alguna caracterstica de los socios.
Emite los reintegros, verificando el importe a abonar por cada prestacin, y
permite realizar el pago por caja o en cuenta corriente del paciente o
familiar.

Son stas algunas caractersticas que en la actualidad podemos ver en estos tipos de
software de aplicaciones orientados a la medicina.
















Figura 15: Ejemplo de un software de aplicacin
orientado a la medicina
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




72
Estimado estudiante, usted ha podido leer la definicin del software de aplicaciones
mdicas, siendo adems este el ltimo tipo de software definido; adems pudo
analizar la importancia que tiene para el usuario en la administracin de procesos
internos de hospitales pblicos o privados.

2.3 Software de edicin y diseo grfico

La edicin es un proceso por el cual se divulga una obra cualquiera en cualquier
medio. En la actividad editorial posee dos acepciones o significados: la primera
consiste en el procesamiento del material a publicar previo a la publicacin y la
segunda en el proceso por el cual se crean los originales en la imprenta o tipografa, y
consta de la composicin o elaboracin del texto por diversos medios (desde
galeradas a procesadores de texto) y luego el proceso fsico de confeccin del libro.







Hablar de software de edicin en la actualidad es mencionar por ejemplo los
siguientes:


Software de edicin de imgenes: es aquel software encargado de editar
imgenes digitales aportando ms de lo que el usuario pueda esperar. Estas
herramientas mantienen un entorno de diseo unificado que en muchos casos
pueden combinar con otras herramientas de edicin, as tenemos por ejemplo:
el Adobe Creative Suite, etc.





Galeradas: es tipografa y composicin tipogrfica a la antigua, es la bandeja en
la que colocaban en columnas ordenadas, los tipos de plomo, segn se iban
componiendo las lneas de texto.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




73















Software de edicin de video s: este tipo de software son tiles para
profesionales que editan y crean archivos de videos personalizados y compactos
de manera fcil y profesional. Este software tienen opciones de creacin de
pelculas muy tiles, como: pasar una secuencia de la cmara al DVD en pasos
sencillos o soltar en la lnea de escenas donde puede reorganizar los clips
fcilmente y aadir transiciones con la facilidad de la opcin de arrastrar y soltar.
Adems en la actualidad los archivos creados con este tipo de software pueden
guardarse en distintos formatos siendo estos compatibles con las distintas
plataformas que existen en el mercado.










Figura 16: Ejemplo de un Software de Edicin de Imgenes
Figura 17: Ejemplo de un software de edicin de
video
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




74

Software de edicin de audio: este software permite al usuario hacer y editar
voz y otras grabaciones de audio. Usted, alumno, puede cortar, copiar y pegar
partes de grabaciones y si lo requiere, adicionar efectos como eco,
amplificacin y reduccin de ruido, dependiendo del software que est
utilizando, as por nombrar por ejemplo tenemos: WavePad, Sound Forge,
etc.










El disear requiere principalmente consideraciones funcionales y estticas. Esto
necesita de numerosas fases de investigacin, anlisis, modelado, ajustes y
adaptaciones previas a la produccin definitiva del objeto. Adems comprende multitud
de disciplinas y oficios dependiendo del objeto a disear y de la participacin en el
proceso de una o varias personas.

El acto intuitivo de disear podra llamarse creatividad como acto de creacin o
innovacin si el objeto no existe o es una modificacin de lo existente, inspiracin
abstraccin, sntesis, ordenacin y transformacin.

Es la integracin de requisitos tcnicos, sociales y econmicos, necesidades
biolgicas, con efectos psicolgicos y materiales, forma, color, volumen y espacio,
todo ello pensado e interrelacionado con el medio ambiente que rodea a la humanidad.
De esto ltimo se puede desprender la alta responsabilidad tica del diseo y los
diseadores a nivel mundial.

El proceso de disear, suele implicar las siguientes fases:
Figura 18: Ejemplo de un software de edicin de audio o sonido
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




75
Observar y analizar: el medio en el cual se desenvuelve el ser humano,
descubriendo alguna necesidad.
Planear y proyectar: proponiendo un modo de atender esta necesidad, por
medio de planos y maquetas, tratando de descubrir la posibilidad y viabilidad
de la(s) solucin(es).
Construir y ejecutar: llevando a la vida real la idea inicial, por medio de
materiales y procesos productivos.
Estos tres actos se van haciendo uno tras otro y a veces continuamente.
Algunos tericos del diseo no ven una jerarquizacin tan clara, ya que estos
actos aparecen una y otra vez en el proceso de diseo.

Hoy por hoy y debido al mejoramiento del trabajo del diseador (gracias a
mejores procesos de produccin y recursos informticos), podemos destacar
otro acto fundamental en el proceso:
Evaluar: ya que es necesario saber cundo el diseo est finalizado.
Disear como acto cultural implica conocer criterios de diseo como: presentacin,
produccin, significacin, socializacin, costos, mercadeo, entre otros. Estos criterios
son innumerables, pero son contables a medida que el encargo aparece y se define.
El diseo grfico es una forma de comunicacin visual. Se basa en la innovacin y
creacin de imgenes para plasmar grficamente ideas o conceptos. Puede aplicarse
a muchos medios de comunicacin, ya sean impresos, digitales, audiovisuales, u
otros.




El diseo grfico se ha transformado enormemente por causa de los ordenadores, a
partir de 1984, aproximadamente, con la aparicin de los primeros sistemas de
autoedicin, los ordenadores personales sustituyeron de forma paulatina a todos los
procedimientos tcnicos de naturaleza analgica, por sistemas digitales.

El diseo grfico no comienza a identificarse como tal hasta finales del siglo XIX,
pero lo encontramos latente en las pinturas rupestres del Paleoltico.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




76
Esta innovacin tecnolgica tuvo como primera consecuencia una tendencia hacia la
experimentacin grfica y un cierto olvido de los principios comunicativos que estaban
en la base del diseo.


2.4 Principales software de diseo

A continuacin haremos una explicacin de:

Adobe PhotoShop: este programa emula las tcnicas desarrolladas en
laboratorios fotogrficos para el procesamiento de imgenes. Adobe Photoshop
se aplica en las reas de diseo grfico, arte digital, entre otras.

Photoshop, en sus primeras versiones trabajaba en un espacio bitmap
formado por una sola capa, donde se podan aplicar toda una serie de efectos,
textos, marcas y tratamientos. En cierto modo tena mucho parecido con las
tradicionales ampliadoras. En la actualidad lo hace con mltiples capas.







A medida que ha evolucionado, el software ha incluido diversas mejoras
fundamentales, como la incorporacin de un espacio de trabajo multicapa,
inclusin de elementos vectoriales, tratamiento extensivo de tipografas, control
y retoque de color, efectos creativos, posibilidad de incorporar plugins,
exportacin para web entre otros.





Un mapa de bits, o bitmap, es la representacin binaria en la cual un bit
o conjunto de bits corresponde a alguna parte de un objeto como una
imagen o fuente. Por ejemplo, en sistemas monocromticos, un bit en el
mapa de bits representa un pxel en pantalla.
Multicapa es un sistema usado por Photoshop y muchos otros programas
de diseo, que permite la edicin de imgenes usando mltiples capas,
permitiendo transparencias, previsualizaciones, etc.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




77

Photoshop se convirti, casi desde sus inicios en el estndar mundial en
retoque fotogrfico, pero tambin se usa extensivamente en multitud de
disciplinas del campo del diseo y fotografa, como diseo web, composicin
de imgenes bitmap, estilismo digital, fotocomposicin y bsicamente en
cualquier actividad que requiera el tratamiento de imgenes digitales.











Flash: software de Macromedia para crear pequeas animaciones vectoriales
reproducidas en la web. El navegador de un usuario necesita el plug-in Flash
Player para interpretar las animaciones Flash.

Utiliza grficos vectoriales, sonido, cdigo de programa, flujo de vdeo y audio.
Los archivos de Flash, que tienen generalmente la extensin de archivo SWF,
pueden aparecer en una pgina web para ser vista en un navegador o pueden
ser reproducidos independientemente por un reproductor Flash.









Figura 19: PhotoShop
Figura 20: Entorno de desarrollo Flash
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




78

Dreamweaver: es un editor WYSIWYG de pginas web. Es el programa ms
utilizado en el sector del diseo y la programacin web, por sus
funcionalidades, u integracin con otras herramientas como Macromedia Flash.
Su principal competidor es Microsoft Frontpage. Tiene soporte tanto para
edicin de imgenes como para animacin a travs de su integracin con otras
herramientas.




















AutoCad: es un programa de diseo asistido por ordenador para dibujo en 2D
y 3D. Actualmente es desarrollado y comercializado por la empresa Autodesk.

Al igual que otros programas, AutoCAD gestiona una base de datos de
entidades geomtricas (puntos, lneas, arcos, etc.) con la que se puede operar
a travs de una pantalla grfica en la que se muestran estas, el llamado editor
de dibujo. La interaccin del usuario se realiza a travs de comandos, de
WYSIWYG es un acrnimo de What You See Is What You Get (en ingls,
"lo que ves es lo que obtienes"). Se aplica a los procesadores de texto y
otros editores de texto con formato (como los editores de HTML) que
permiten escribir un documento viendo directamente el resultado final,
frecuentemente el resultado impreso.
Figura 21: Entorno de desarrollo DreamWeaver
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




79
edicin o dibujo, desde la lnea de rdenes, a la que el programa est
fundamentalmente orientado. Las versiones modernas del programa permiten
la introduccin de stas mediante una interfaz grfica de usuario o en ingls
GUI, que automatiza el proceso.










Estimado estudiante, usted ha podido leer la definicin del software de edicin y
diseo de imgenes y pudo analizar la importancia que tiene para el usuario en la
creacin o edicin de imgenes, fotos, videos, etc., mejorando la calidad del trabajo
del usuario.

2.5 Software de ofimtica

Nombre que se suele dar a la informtica aplicada a la oficina: proceso de textos,
hojas de clculo, etc.

Adems, es el equipamiento que se utiliza para generar, almacenar, procesar o
comunicar informacin en un entorno de oficina. Esta informacin se puede generar,
copiar y transmitir de forma manual o electrnica.

El rpido crecimiento del sector servicios dentro de la economa, iniciado a mediados
de la dcada del 70, cre un nuevo mercado de equipos de oficina de tecnologa
avanzada. La creciente incorporacin de microchips y microcircuitos a los equipos ha
difuminado la frontera entre el ordenador o computadora y el resto de la maquinaria.
Todas las mquinas de oficina modernas (mquinas de escribir, dictfonos,
Figura 22: Programa AutoCad
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




80
fotocopiadoras, equipos telefnicos y calculadoras, entre otras) contienen un
microprocesador.

Preparacin de documentos
Los documentos de oficina son, generalmente, registros producidos mecnica o
electrnicamente (por ejemplo, cartas, hojas de clculo, informes y facturas). Se
realizan en equipos tales como mquinas de escribir, procesadores de texto y
computadoras y se pueden guardar en papel o en soporte electrnico.

Mquinas de escribir
La mquina de escribir manual, que se empez a utilizar en 1870, ha
desaparecido prcticamente de la oficina moderna, siendo sustituida por la
mquina elctrica o electrnica, el procesador de textos especfico y los
programas de tratamiento de textos para computadoras.

La mquina de escribir elctrica utiliza caracteres metlicos moldeados
individualmente o una bola giratoria con caracteres en relieve que golpean
sobre una hoja de papel a travs de una cinta tintada, produciendo el
estampado del caracter sobre el papel. Muchas mquinas de escribir tienen
un segmento de cinta independiente que elimina la impresin del papel y
permite as al usuario borrar texto.

Procesadores de textos
A principios de la dcada del 80 aparecieron los procesadores de textos, es
decir, computadoras diseadas exclusivamente para el tratamiento de textos.

Los procesadores de textos especficos, al igual que el software de tratamiento
de textos de los ordenadores personales, presentan muchas funciones de
edicin que facilitan el manejo del texto, como la capacidad de insertar texto en
cualquier punto de un documento, de borrar, de cortar y pegar texto (mover
bloques de texto a otro punto) y de buscar y sustituir partes del mismo. Estas
funciones permiten al usuario realizar mltiples cambios en un documento sin
necesidad de tener que reescribirlo.

Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




81
Adems, el software de tratamiento de textos incorpora una funcin de
composicin de tipos de letra y otra de diseo de pgina que permite al usuario
trazar electrnicamente la pgina que va a imprimir, dando paso a la actividad de
oficina conocida como autoedicin.

Entre los ms destacados de estos software en Ofimtica est:

Microsoft Office: ha evolucionado de una suite de programas de escritorio a un
sistema integrado de programas, servidores, servicios y soluciones diseados
para atender las necesidades empresariales.







Programas principales

Microsoft Word: es un procesador de texto creado por Microsoft, y
actualmente integrado en la suite ofimtica Microsoft Office.

La primera versin de Word sali para MS-DOS a finales de 1983. No tuvo
mucho xito y las ventas fueron muy inferiores a los de productos de la
competencia como WordPerfect.

Aunque MS-DOS no era un sistema grfico, Word para DOS fue el primer
procesador de textos para PC que mostraba negritas y cursivas
directamente en pantalla mientras se estaba editando el texto. Otros
procesadores de texto para DOS, como WordStar y WordPerfect, utilizaban
pantallas de texto plano con cdigos de marcado en pantalla o, como
mucho, colores alternativos.

La primera versin de Word para Windows apareci en 1989, con un costo
de 500 dlares en EE.UU. Con la aparicin de Windows 3.0 al ao
Figura 23: Logo Microsoft Office
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




82
siguiente, las ventas empezaron a aumentar, ya que Word 1.0 funcionaba
mucho mejor con Windows 3.0 que con las versiones anteriores. El fracaso
de WordPerfect a la hora de crear una versin para Windows result ser
fatal. Pero no fue hasta la versin 2.0 que Microsoft Word empez a
convertirse en el lder del mercado para PC.

Microsoft Excel: se lanz en 1982 como un programa de hoja de clculo
llamado Multiplan, muy popular en sistemas de CP/M, pero que en sistemas
con MS-DOS perdi renombre con respecto al Lotus 1-2-3.

Esta situacin promovi el desarrollo de una nueva hoja de clculo. La
primera versin de Excel fue introducida en 1985. (Ni Excel ni su
predecesor Multiplan fueron las primeras aplicaciones de hoja de clculo.
Segn varios artculos, la primera hoja de clculo se llamaba VisiCalc
creada por Dan Bricklin, introduciendo filas y columnas.)

Funciones incorporadas

Algunas de las funciones que trae incorporado el programa son:
Funciones lgicas: que nos permiten "preguntar" sobre el valor de
otras y actuar segn la respuesta obtenida.
Funciones estadsticas: permiten realizar clculos estadsticos como
desviacin estndar y funciones de probabilidades.
Funciones matemticas: tales como promedio, coseno, seno,
mnimo, mximo, etc.
Funciones financieras: permiten el clculo de intereses.
Funciones de fecha y hora: para el manejo de diferencia de hora y
tiempo, como das, meses y aos.



Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




83









Microsoft PowerPoint: es un popular programa de presentacin
desarrollado para sistemas operativos Microsoft Windows y Mac
OS. Ampliamente usado en distintos campos como en la enseanza,
negocios, etc. Segn las cifras de Microsoft Corporation, cerca de 30
millones de presentaciones son realizadas con PowerPoint cada da.
Forma parte de la suite Microsoft Office.

Es un programa diseado para hacer presentaciones prcticas con
texto esquematizado, fcil de entender, animaciones de texto e
imgenes, imgenes prediseadas o importadas desde imgenes de
la computadora. Se le pueden aplicar distintos diseos de fuente,
plantilla y animacin. Este tipo de presentaciones suele ser muy
llamativo y mucho ms prctico que los de Microsoft Word.

De todas las funciones para las que es til un sistema informtico, son
quiz las relacionadas con las imgenes las que llaman ms la
atencin: desde los sencillos programas de dibujo que aparecieron
con las primeras tarjetas grficas, hasta los modernos y sofisticados
programas de diseo grfico y CAD (Diseo Asistido por Ordenador),
Figura 24: Hoja de clculo Excel
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




84
pasando por los sistemas de tratamiento de imgenes, tanto estticas
como en movimiento.














Microsoft Access: es un sistema de gestin de bases de datos
creado y modificado por Microsoft (DBMS) para uso personal o de
pequeas organizaciones. Es un componente de la suite Microsoft
Office aunque no se incluye en el paquete bsico. Para bases de
datos de gran calibre (en cuanto a volumen de datos o de usuarios)
es recomendable usar otros sistemas como Microsoft SQL Server,
MySQL, Postgres u Oracle.
Su principal funcin es ser una potente base de datos, capaz de
trabajar en s misma o bien con conexin hacia otros lenguajes de
programacin, tales como Visual Basic 6.0 o Visual Basic .NET.
Pueden realizarse consultas directas a las tablas contenidas
mediante instrucciones SQL. Internamente trae consigo el lenguaje
Visual Basic for Application (VBA) el cual es similar en forma a VB6.

Estimado estudiante, usted ha podido leer la definicin del software de ofimtica y
probablemente haberlo escuchado, sin embargo ahora, pudo adems analizar la
importancia que tiene para el usuario en la ejecucin de tareas propias en una oficina,
como: procesadores de texto, clculos financieros, presentaciones, etc. Continuando
Figura 25: Vista normal de diapositiva
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




85
con las definiciones de software, se va a definir al software y como interviene en la
resolucin de problemas.

3, EL SOFTWARE Y LA RESOLUCIN DE PROBLEMAS

3.1 Tratamiento informtico de un problema

Definicin de necesidades

Es la etapa de planeacin y diagnstico, con la cual se inicia el desarrollo del sistema,
y sus actividades se presentan a continuacin:

a. Causas que justifiquen la automatizacin de los sistemas:
Informacin de baja calidad
Sistemas que manejan grandes volmenes de datos
Mejorar el servicio a clientes

b. Diagnstico de la situacin actual:
Determinar el objetivo
Determinar el alcance
Definir la interrelacin del sistema

c. Estudio de viabilidad:
Es el documento que contiene un conjunto de evaluaciones e
investigaciones que servirn de base para evaluar la conveniencia de
sistematizar o no sistematizar.
Normalmente el estudio de viabilidad es desarrollado por analistas de
Sistemas, apoyados por un grupo de decisin formado por altos ejecutivos
de la empresa.
El contenido normalmente debe contener los puntos siguientes: objetivo del
sistema, situacin actual del sistema, situacin propuesta, plan de
implementacin, recomendaciones. El contenido esencial debe sostenerse
en estudios de costo-beneficio.

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




86
d. Plan de implementacin

Es el plan que debe elaborarse y que servir de gua para el desarrollo de todo el
proyecto, para apoyarse en el control y administracin del proyecto, se
recomienda utilizar herramientas como el software Microsoft Project. Los
elementos que debe considerar son:
El tiempo presupuestado de cada etapa y total, as como los tiempos de
utilizacin de recursos.
Recursos financieros, humanos, tecnolgicos, materiales.
Instalaciones: requerimientos de local, aire acondicionado, piso falso,
energa elctrica, etc.
Proveedores: investigar y evaluar propuestas y escoger la mejor.
Recursos humanos: considerar la estrategia para contar con los
especialistas necesarios, como operadores, programadores, analistas,
lderes de proyecto, etc.

Anlisis de Sistemas

Es el proceso que se ejecuta para recopilar e interpretar hechos y diagnosticar
problemas, con el fin de mejorar los sistemas de informacin, las tcnicas utilizadas
ms comunes son:

a. Entrevistas: es una conversacin entre el entrevistador y el entrevistado con el
fin de que el entrevistador recopile informacin necesaria para el desarrollo del
proyecto.
b. Cuestionarios: es la tcnica que permite recopilar informacin escrita, necesaria
para el desarrollo del proyecto
c. Revisin de documentos: esta tcnica permite recopilar informacin valiosa a
travs de la revisin de manuales de sistemas, de procedimientos, de polticas,
de organizacin, instructivos operativos, catlogos, etc.
d. Observacin: es la tcnica aplicada para recopilar informacin, que consiste en
la presencia fsica del analista con el fin de observar como se realizan los
procesos.

Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




87
Diseo de sistemas

Es la fase enfocada a disear todos los componentes que intervienen en el nuevo
sistema y que deben cumplir con los principales requerimientos requeridos por los
usuarios.
Identificar soluciones tecnolgicas para cada una de las funciones del sistema.
Asignar recursos materiales para cada una de las funciones.
Proponer (identificar y seleccionar) subcontratas.
Establecer mtodos de validacin del diseo.
Ajustar las especificaciones del producto.
El proceso del diseo tiene seis puntos principales:

a. Diagrama del flujo del sistema
Es la representacin grfica que muestra la secuencia en la cual las entradas,
procesos, archivos y salidas se combinan para ejecutar los procesos requeridos
por el sistema para lograr sus objetivos.

Al conjunto de elementos representados se le llama diagrama de flujo del
sistema, y se utiliza una simbologa aceptada internacionalmente basados en
smbolos que son imgenes o figuras que representan un concepto por alguna
semejanza o correspondencia que el entendimiento percibe entre el concepto y
la imagen.

El diagrama de flujo del sistema debe mostrar
con toda claridad sus componentes
interrelacionados, es decir, las entradas,
procesos, archivos y salidas conectados con
lneas y flechas mostrando el sentido del flujo
de las operaciones. Con los componentes ya
identificados, se procede a disear cada uno
empezando con las salidas que son las que
contienen los resultados a obtener por el
sistema.
Figura 26: Ejemplo de diagrama de flujo
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




88
b. Diseo de salidas del sistema

La finalidad de todo sistema de informacin es la obtencin de resultados, los
cuales se obtienen en diferentes medios. Una salida significa un conjunto de
datos en forma ordenada y significativa.

El objetivo de un sistema de informacin son los resultados
Sin resultados no hay sistema
Los resultados son las salidas
Las salidas guan a todos los componentes del sistema









c. Diseo de entradas del sistema

Es la etapa en la cual se especifica la forma en la cual los datos entran al
sistema para su procesamiento. Asegura la confiabilidad del sistema, si se
alimentan datos de calidad, la informacin en salida ser igualmente de calidad.

d. Objetivos del diseo de entrada

Controlar la cantidad de entrada de datos
Evitar la demora o cuellos de botella
Evitar errores
Evitar los pasos extra
Mantener sencillo el proceso


Figura 27: Salida de un conjunto de datos
Figura 28: Entrada de datos recolectados
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




89
f. Diseo de los archivos del sistema

Un archivo es una coleccin de datos relacionados en forma lgica cuyos
elementos son:
Caracter o byte. Configuracin mnima de la informacin
Campo o dato. Elemento indivisible de la informacin, es el insumo o
materia prima, puede ser numrico, alfabtico, alfanumrico, carcter
especial.
Registro. Conjunto de datos homogneos a una transaccin
Estructura de los archivos
Secuencial. Para llegar a un registro hay que procesar todos los anteriores.
Directa. Se llega directamente al registro deseado
Indexada. Se accesa el registro deseado a travs de un ndice.

Tipos de archivos:
Maestro. Contiene datos fijos sobre alguna entidad, ejemplo: catlogo de
cuentas, empleados, etc.
De transacciones. Contiene datos temporales, de movimientos, sirven para
actualizar archivos maestros, ejemplo: registros de ventas de productos,
etc.
Tablas. Contienen datos de referencia.

Bases de datos
Es un conjunto de archivos relacionados
en forma lgica y cuya estructura puede
ser:
Jerrquica
Relacional
Red.





Figura 29: Archivo de sistema Tabla clientes
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




90
Diseo de los procedimientos de proceso
Cuando se ha definido el contenido de las salidas, debemos definir con toda
precisin los pasos de procedimiento necesarios para obtener la informacin que
estar contenida en las salidas, definir las formulas o algoritmos necesarios en
los clculos.
Ejemplo:
Salario bruto = salario regular + salario extra
Salario regular = sueldo diario x das a pagar
Salario extra = horas extras trabajadas x tasa hora extra

Diseo de los controles del sistema
Para asegurarse el proceso correcto de las transacciones se utilizan mtodos de
validacin como cifras de control, dgito verificador, datos de prueba, etc. lo que
permite efectuar:
Verificacin de las transacciones:
Validacin de transacciones
Prueba de frecuencia
Prueba de llenado completo

Verificacin de los datos de la transaccin
Pruebas de limite o rango
Prueba de combinacin
Procesamiento duplicado

Modificacin de los datos de la transaccin
Correccin automtica
Dgitos de verificacin

Elaboracin del sistema

Es la accin de dar las instrucciones o procedimientos necesarios para obtener
un determinado trabajo en un equipo de cmputo, en un lenguaje que las
computadoras entienden.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




91
1. Diagrama de bloque del programa: es la representacin grfica de los
pasos de procedimiento a seguir para lograr un resultado determinado.
2. Codificacin: es la conversin de los procedimientos grficos a
instrucciones escritas en un lenguaje fuente que el ser humano entiende.
3. Programa fuente: grupo de instrucciones sobre un proceso especfico,
escritas en un lenguaje entendible al ser humano.
4. Compilacin: es la traduccin efectuada por la misma computadora para
convertir un lenguaje fuente a lenguaje objeto que est escrito en sistema
binario que es el lenguaje que la computadora entiende.
5. Programa objeto: grupo de instrucciones sobre un proceso especfico,
escritas en sistema binario, que es el que las computadoras entienden.
6. Procedimientos de c orreccin: son las acciones que es necesario
ejecutar para corregir los errores de un programa, identificndose las
siguientes: prueba de escritorio, errores de sintaxis, errores de lgica,
prueba del programa, etc.
7. Lenguajes ms usuales: COBOL, FORTRAN, BASIC, VISUAL BASIC,
PASCAL, C, C++, POWER BUILDER, etc.










Implementacin del sistema

Es la etapa en la cual se implementan todas acciones necesarias para que el nuevo
sistema trabaje adecuadamente usualmente son las siguientes y consisten en:
Formularios: es la preparacin anticipada de todos los diseos de papelera que
sern utilizados, como: Formas continuas, Diseos estndar, diseos especiales,
materiales de impresoras, disquetes, etc.
Figura 30: Lenguajes de programacin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




92
Conversin de archiv os: conversin de los archivos manuales o en medios
magnticos anteriores, al nuevo formato que se va a utilizar, considerando la
captura y validacin de datos contenidos.
Estrategias de conversin de sistemas: decidir la estrategia de conversin del
sistema anterior al nuevo sistema, es decir, definir cundo se liberar el sistema
anterior y cundo arrancar el nuevo, qu personal se har cargo, etc.
Prueba en paralelo: procesar el sistema anterior y el nuevo durante un tiempo
determinado, con el fin de detectar posibles errores y corregirlos, adems de
capacitar al personal que operar el nuevo sistema.
Aceptacin del siste ma: es la aceptacin por parte del usuario del nuevo
sistema, a partir de este momento, la responsabilidad en cuanto a la operacin
del sistema ser del usuario.
Formalizacin de convenios: es la formalizacin de convenios entre el usuario
y sistemas acerca de los aspectos que sea necesario especificar claramente y
pueden ser: cmo entregar la documentacin fuente a sistemas, cmo se
programarn los procesos, qu prioridad se dar a los procesos, cmo recibir el
rea de sistemas los documentos fuente, el tiempo de respuesta de sistemas, los
procedimientos de correccin, etc.
Puesta en marcha d el sistema: preparacin de la documentacin que se
entregar al usuario, como los manuales del sistema, de usuario y de operacin,
cubrir la capacitacin necesaria, etc.

Mantenimiento del sistema

Es la ltima etapa del ciclo de vida de los sistemas, consiste en realizar todas las
acciones necesarias a fin de mantener el sistema trabajando adecuadamente,
respetando los niveles de calidad establecidos.

Esta etapa tiene dos aspectoa, la primera es tendiente a eliminar las deficiencias del
desarrollo, normales si se considera que ningn sistema es perfecto, estas deficiencias
o inestabilidades se van presentando durante la operacin del sistema y deben
eliminarse, con un enfoque de mejoramiento, la segunda es por modificaciones al
sistema debido a:

Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




93
Nuevas disposiciones fiscales: normalmente es una de las causas que
ocasiona ms modificaciones a los sistemas, ya que incluye modificaciones al
I.G.V., etc.
Nuevos requerimientos de informacin: por necesidades de los usuarios para
contar con informacin que les apoye en su productividad, mejoramiento de
procedimientos, ms control, etc.
Cambios en la empresa: por crecimiento, fusin, cambio de giro, etc.
Se deben considerar los costos ocasionados por el mantenimiento y saber en
qu momento resulta conveniente reemplazar al sistema por otro ms
evolucionado y que se adapte a las necesidades actuales requeridas.

4. LOS VIRUS INFORMTICOS

Son programas pequeos hechos por programadores con conocimientos bien
avanzados de programacin, que se introducen en los archivos de programas y sector
de arranque (rea donde todos los diskettes, discos duros contienen el programa que
carga el sistema operativo; a esta rea tambin se le llama como rea de booteo).

















Un virus informtico es un programa de computadora, tal y como podra ser un
procesador de textos, una hoja de clculo o un juego. Obviamente ah termina
todo su parecido con estos tpicos programas que casi todo el mundo tiene
instalados en sus computadoras.
Un virus informtico ocupa una cantidad mnima de espacio en disco ( el tamao
es vital para poder pasar desapercibido ), se ejecuta sin conocimiento del usuario
y se dedica a autoreplicarse, es decir, hace copias de s mismo e infecta archivos,
tablas de particin o sectores de arranque de los discos duros y disquetes para
poder expandirse lo ms rpidamente posible.
Figura 31: Consecuencia de un virus informtico en el
ordenador
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




94
4.1 Clasificacin de los virus

Segn el lugar donde se alojen estos virus, pueden ser:

Virus de sector de arranque: son los ms frecuentes de todos los tipos de
virus. Se introducen al ordenador al momento de arrancar (booteo) la
computadora con un diskette que tenga un sector de arranque infectado (con
virus).
Virus de archivo: generalmente se infiltran en los archivos ejecutables o con
extensin *.exe y *.com. Estos virus cuando estn bien escritos se duplican y
realizan sus misiones sin interferir con el programa anfitrin y sin relevarse o
mostrarse activos, guardando en todo momento un comportamiento de perfil
bajo.
Algunos de los ms peligrosos simplemente se duplican hasta que llegue una
fecha determinada, como, por ejemplo, los martes 13, fecha en la que se
empiezan a destruir los archivos (borrarlos).

Los virus de archivo son fciles de encontrar, pero el dao que ocasionan en las
aplicaciones es frecuentemente muy extenso, quedando como nica forma de
borrarlos o quitarlos, el borrado de los archivos infectados y reinstalar la
aplicacin.

Virus polimrficos: estos virus en su replicacin producen una rutina de
encriptacin completamente variable, tanto en la frmula como en la forma del
algoritmo. Con polimorfismos fuertes se requiere de emulacin, patrones
mltiples y otras tcnicas antivirus avanzadas.

Cambian de personalidad para frustrar a sus rastreadores que buscan las
cadenas de cdigo especficas del virus, llamadas firmas.

Virus macro: son una nueva familia de virus que infectan documentos y hojas de
clculo. Fueron reportados a partir de julio de 1995, cambiando el concepto de
aquella poca, de que los virus tan solo podan infectar o propagarse a travs de
archivos ejecutables con extensiones .EXE o .COM
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




95
Hoy en da basta con abrir un documento o una hoja de clculo infectados para
que un sistema limpio de virus sea tambin infectado.
Los macrovirus tienen tres caractersticas bsicas:
1. Infectan documentos de MS-Word, hojas de clculo de MS-Excel y
archivos de bases de datos en MS-Access.
2. Poseen la capacidad de infectar y autocopiarse, en un mismo sistema, a
otros sistemas o en unidades de red a las cuales estn conectadas.
3. Haciendo uso de las funciones de la interfaz de las libreras MAPI
(Messaging Application Programming Interface), desde el sistema infectado
se enva a todos los buzones de la libreta de direcciones de MS Outlook y
Outlook Express.
A pesar de que los macro virus son escritos en los lenguajes macro de MS-
Word o MS-Excel y por consiguiente deberan infectar nicamente a
documentos y hojas de clculo, es posible desarrollar macrovirus que ejecuten
llamadas al sistema operativo, dando rdenes de borrar archivos o hasta de
reformatear al disco duro.
Tal es el caso del macro virus MDMA que borra archivos especficos de
Windows 95/98, haciendo uso de la macro AutoClose, o el FORMAT.C que
dentro de la macro AutoOpen ordena formatear al disco duro.
4.2 Virus ms comunes

Existe una relacin de virus denominados LISTA NEGRA siendo los ms comunes
los siguientes:

Concept: este macro virus, descubierto en 1995 emplea cinco macros para
infectar y esparcirse. Los macros son llamados AAAZAO, AAAZFS, AutoOpen,
FileSaveAs y PayLoad. Todos ellos son fcilmente visibles desde la opcin
Tools del men Macro.



Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




96







Despus de la infeccin, el virus verificar la presencia del Payload de este
macrovirus, inmediatamente despus constatar la presencia del macro
llamado "FileSaveAs". Si cualquiera de estos es hallado, el virus abortar la
infeccin, de lo contrario el proceso de infeccin se activar.
Wazzu: empez a difundirse en 1996. Este virus infecta documentos de MS-
Word a travs de la macro AutoOpen. Cada vez que un documento es abierto,
Wazzu activar esta macro, la cual infectar la plantilla global de MS-Word, el
archivo Normal.dot.
Una vez infectada la plantilla, la macro "PayLoad" ser ejecutada y proceder a
infectar a todos los documentos que sean abiertos o ledos.
Dark avenger: apareci en el ao de 1988 y fue perfeccionado en 1989 y
despus de esparcirse en Europa, lleg rpidamente a la Universidad de
California en Davis. Por su peligrosidad mereci la atencin de cientficos y
estudiosos de diferentes partes del mundo, quienes le dedicaron artculos en
importantes revistas y existen varios libros sobre este virus y sus variantes.
Dark Avenger infecta archivos COM, EXE y OVL's incluyendo el
COMMAND.COM. Su infeccin es sumamente rpida, la hace cada vez que se
abre o lee un archivo e inmediatamente afecta a todos los otros archivos
asociados, como por ejemplo los de un mismo programa dentro de un mismo
directorio. Posteriormente, cada vez que se invoque a cualquier otro ejecutable
infectado, como el COMMAND.COM, por ejemplo, esparcir sus micro cdigos
mutantes.
Laroux: fue el primer macrovirus reportado en circulacin para MS-Excel e
infecta los archivos con extensin .XLS
La palabra "payload" en ingls significa contador, pagador, pago de
carga, etc. En trminos de virus informticos, payload son el o los
efectos nocivos o hasta irreparables, que ocasionan cualquier especie
viral a los sistemas de los equipos que infectan, sean estos servidores,
estaciones de red o computadoras domsticas.
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




97
Est escrito en Visual Basic para Aplicaciones y fue reportado por primera vez en
julio de 1996 en frica y Alaska. El macro virus Laroux est compuesto de dos
macros llamadas Auto_Open y Check_Files.
One Half
Format C
AntiCmos

4.3 Formas de infeccin
Existen dos grandes grupos de contaminaciones, los virus donde el usuario en un
momento dado ejecuta o acepta de forma inadvertida la instalacin del virus o los
gusanos donde el programa malicioso acta replicndose a travs de las redes.
En cualquiera de los dos casos, el sistema operativo infectado comienza a sufrir una
serie de comportamientos anmalos o no previstos. Dichos comportamientos pueden
dar la traza del problema y permitir la deteccin del mismo.
Dentro de las contaminaciones ms frecuentes por interaccin del usuario estn las
siguientes:
Mensajes que ejecutan automticamente programas (como el programa de
correo que abre directamente un archivo adjunto).
Mensajes como ejecute este programa y gane un premio.
Entrada de informacin en discos de otros usuarios infectados.
Instalacin de software pirata o de baja calidad.









Figura 32: Infeccin de un virus al instalar software
pirata
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




98
4.4 Antivirus
Siguiendo la misma definicin de los virus, son programas desarrollados por
programadores que tienen el propsito de detectar los virus, eliminarlos y prevenir la
entrada de virus a la computadora.























Problemtica (foro)
Dentro de los problemas que podemos encontrar cuando el ordenador es infectado por
un virus, tenemos los siguientes:
El sistema operativo o un programa toma mucho tiempo en cargar sin razn
aparente.
Los antivirus son programas cuya funcin es detectar y eliminar virus informticos
y otros programas maliciosos.
Un antivirus tiene un componente que se carga en memoria y permanece en ella
para verificar todos los archivos abiertos, creados, modificados y ejecutados en
tiempo real. Es muy comn que tengan componentes que revisen los adjuntos de
los correos electrnicos salientes y entrantes.
Figura 33: Ejemplo de un software antivirus
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




99
El tamao del programa cambia sin razn aparente.
El disco duro se queda sin espacio o reporta falta de espacio sin que esto sea
necesariamente as.
Operaciones de procesamiento ms lentas.
Los programas comienzan a acceder por momentos a las disqueteras o al disco
rgido.
Disminucin no justificada del espacio disponible en el disco rgido y de la
memoria RAM disponible, en forma constante o repentina.
Aparicin de programas residentes en memoria, desconocidos.
En general los problemas que han sido nombrados nos dan como resultado que
tengamos que reinstalar nuevamente el Sistema Operativo o algn programa que haya
sido afectado por el virus.
Estimado estudiante, usted ha podido leer la definicin del virus informtico y pudo
analizar la problemtica que implica u ocasiona al usuario con la eliminacin o
alteracin de la informacin que se encuentra almacenada en el ordenador. As
tambin, a continuacin se va a definir al lenguaje de programacin que va a ser el
encargado de establecer una comunicacin importante entre el usuario y el ordenador
para un tratamiento adecuado de datos almacenados en el ordenador.


5. LENGUAJES DE PROGRAMACIN
Un lenguaje de programacin es una tcnica estndar de comunicacin que permite
expresar las instrucciones (algoritmos) que han de ser ejecutadas en una
computadora. Consiste en un conjunto de reglas sintcticas y semnticas que
definen un lenguaje informtico.


Un lenguaje de programacin permite a un programador especificar de manera
precisa: sobre qu datos una computadora debe operar, cmo deben ser estos
La sintaxis estudia las formas en que se combinan las palabras.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




100
almacenados y transmitidos y qu acciones debe tomar bajo una variada gama de
circunstancias.
Algunos de estos lenguajes de programacin que podemos nombrar son los
siguientes:


Asp
C++
C#
Cobol
Lingo
Prolog
Java


5.1 Clasificacin de los lenguajes de programacin

Tradicionalmente los lenguajes de programacin se clasifican atendiendo a varios
factores:
Segn su nivel:
Lenguajes de bajo nivel (ensambladores, cercanos a la mquina)
Lenguajes de alto nivel (cercanos al hombre)
Segn la relacin traduccin ejecucin
Compiladores
Intrpretes
Segn su campo de aplicacin
Aplicaciones cientficas: predominan los algoritmos de clculo numrico y
matrices.
Aplicaciones de procesamiento de datos: sobresalen las tareas a la
creacin, mantenimiento, consulta y listado de datos.
Figura 34: Ejemplo de lenguajes de programacin
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




101
Aplicaciones de inteligencia artificial: constituidas por programas que
emulan un comportamiento inteligente. Ejemplo: juegos de ajedrez,
robtica, sistemas expertos, etc.

5.2 Paradigmas de lenguajes de programacin

A continuacin haremos una breve explicacin de los paradigmas en los lenguajes de
programacin y as tener una idea de estos tipos de lenguajes.

Lenguaje imperativo
Estos lenguajes son aquellos en el que el control del programa pasa siempre a
la siguiente lnea del programa salvo que se le ordene lo contrario.

El programador aqu tiene o debe de marcar en el programa, mediante el
nmero de lnea o mediante una etiqueta, el flujo de la ejecucin de las
instrucciones.

Entre los lenguajes imperativos podemos nombrar a los siguientes: Basic,
Pascal, C, etc.
Lenguaje funcional
Son aquellos lenguajes donde el flujo del programa viene marcado por las
necesidades que aparecen al evaluar una funcin.

El programador solo tiene que indicar el orden de la evaluacin de las
funciones, pero no es necesaria la preocupacin de referir su posicin fsica
dentro del programa. En los lenguajes funcionales, el control de tipo secuencial
ha sido sustituido por cuatro pasos de evaluacin, similares a los que se
utilizan cuando se requiere resolver una funcin matemtica y son:

Anlisis de la funcin a evaluar.
Bsqueda de la primera subfuncin
Evaluacin de la subfuncin
Retorno a la funcin anterior o valor final de la evaluacin si se
encuentra en la primera funcin.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




102

Como lenguaje representativo podemos nombrar al: LISP.

Lenguaje lgico o declarativo
Son aquellos a los cuales solo hay que indicarle al programa el objetivo que se
quiere demostrar, especificando en el programa sobre qu debe demostrarlo y
las reglas que puede utilizar, es decir, se especifica el qu pero no el cmo.

Para que el lenguaje sea capaz de afrontar este problema es indispensable
que incorpore un motor de inferencias que controle el proceso de
demostracin.

Podemos nombrar como lenguajes declarativos o lgicos a los siguientes:
prolog, Ops, etc.

5.3 Lenguaje de programacin orientado a objetos LPOO

Estos lenguajes estn formados por objetos que son a la vez los procedimientos
(tambin llamados mtodos, procedimientos locales, que pueden ser algoritmos) y los
datos.

La estructura del programa en objetos es la base fundamental de su modularidad. Las
acciones que realiza el programa son realmente mensajes que se envan a los objetos.

Debido a este proceso generativo de los objetos, estos estn estructurados
jerrquicamente en clases y subclases. Por ejemplo: la clase pino hereda las
propiedades de su antecesor que puede ser rbol.

Los objetos tienen una serie de propiedades que los caracterizan y que se les llama
atributos.




Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




103




En esta segunda parte de la asignatura, nuestro conocimiento se centra en la
importancia del software dentro del ordenador. Debido a que este le indica al
computador cmo debe utilizar sus unidades o dispositivos de entrada, salida y de
proceso para producir la informacin que el ser humano solicita o desea para una
adecuada toma de decisiones.

As tambin, poder conocer los tipos de software que hay en la actualidad, como por
ejemplo: software de sistemas, de aplicacin, de edicin y diseo, y de ofimtica.

Adems vamos a comprender cmo el empleo de software har que se resuelvan una
serie de problemas, empezando con la definicin de necesidades, siendo estas: la
planeacin y diagnstico del problema, seguido del anlisis, diseo, elaboracin,
implementacin y mantenimiento del sistema.

Un punto importante de esta unidad es adems, definir y comprender qu son los virus
informticos, cul es su clasificacin, qu virus son los ms comunes, y cules son las
formas de infeccin y los daos que causan al infectar el ordenador. Ante esto es
importante comprender que existen los antivirus encargados de la eliminacin dentro
del ordenador de estos virus, que en algunos casos causan un dao irreversible en el
computador, ocasionando que el usuario tenga que instalar nuevamente el sistema
operativo o el programa afectado o infectado.

Siendo esta una sntesis a la segunda unidad, deseamos que usted, estimado alumno,
comprenda los conocimientos mostrados en esta parte de la asignatura para el xito
de su formacin como profesional, estando los docentes encargados del curso para
responder y aclarar toda interrogante que a usted se le presente.




Resumen
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




104





Actividad 2
Material de investigacin y lectura sobre la clasificacin del software

1. Generacin de los lenguajes de programacin

Lenguajes de primera generacin
Son considerados como de bajo nivel, aparecieron con las primeras
computadoras y son llamados lenguajes mquina.
Lenguajes de segunda generacin
Son los lenguajes ensambladores altamente independientes del
ordenador.
Lenguajes de tercera generacin
Son relativamente independientes del hardware de la computadora.
Esto significa que el mismo programa puede utilizarse en varias
computadoras diferentes de distintos fabricantes
Lenguajes de cuarta generacin
Algunas caractersticas incluyen capacidades de consulta y base de
datos, de creacin de cdigos y capacidades grficas. As tenemos:
Visual Basic, power builder, etc.
Lenguajes de quinta generacin
Programacin basada en conocimiento. Mtodo para el desarrollo
de programas de computacin en el que se le ordena ala
computadora realizar un propsito en vez de instruirla para hacerlo.

2. Programas de aplicaciones desarrollados a la medida
Son los programas o sistemas desarrollados por programadores propios o
contratados. Son trabajos realizados conjuntamente entre la empresa y sus
programadores.


Actividades sugeridas
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




105


3. Programas de aplic acin Predesarrollados o tam bin llamados
enlatados
Son programas o sistemas desarrollados con miras a cubrir todas las
posibilidades que se pueden presentar en una determinada aplicacin en
una empresa.

4. Herramientas CASE (Computer Arded Software Engineering) para el
desarrollo de software
Son softwares que son utilizados en alguna o en todas las fases del
desarrollo de un sistema de informacin, incluyendo las fases de: anlisis,
diseo y desarrollo propiamente dicho.

Notas:
Para consultas al tema, coordinar con su tutor del curso, as como a los
siguientes web site:

http://www.monografias.com/trabajos26/lenguajes-
programacion/lenguajes-programacion.shtml
http://es.wikipedia.org/wiki/Generaciones_de_lenguajes_de_progra
maci%C3%B3n
http://www.infor.uva.es/~jvegas/cursos/prog/tema1.html






Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




106




1. Es el programa de bajo nivel que interacta con la computadora a un nivel
bsico:
a. Sistema operativo ( )
b. Software ( )
c. Software de sistema ( )

2. Son los que controlan el movimiento de la informacin en el sistema, trabajan
directamente con la unidad de control del hardware:
a. Sistema operativo ( )
b. El software ( )
c. Unidad Central de Proceso ( )

3. Una de las caractersticas del sistema operativo es:
a. Administrador de tareas ( )
b. Administrador de usuarios ( )
c. Ambas son correctas ( )

4. Es un programa informtico que permite al sistema operativo interactuar con un
dispositivo:
a. Controlador de dispositivos ( )
b. Sistema operativo ( )
c. Ninguna de las anteriores ( )

5. Son aplicaciones en donde permiten la interaccin entre el usuario y la
computadora:
a. Software de sistemas ( )
b. Software de aplicaciones ( )
c. Ninguna de las Anteriores ( )


Autoevaluacin
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




107

6. Qu es una base de datos?
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

7. Es un modelo de base de datos donde su idea fundamental es el empleo de
relaciones:
a. Base de datos jerrquica ( )
b. Base de datos relacional ( )
c. Base de datos de red ( )

8. Que paradigma de base de datos orientada a objetos nos dice la propiedad
que permite ocultar la informacin al resto de los objetos?:
a. Herencia ( )
b. Encapsulamiento ( )
c. Ninguna de las anteriores ( )

9. Es aquel software de Macromedia que permite la creacin de pequeas
animaciones vectoriales reproducidas en el web:
a. Dreamweaver ( )
b. Flash ( )
c. Ambas son correctas ( )

10. En qu programa principal del Office podemos encontrar una serie de
funciones incorporadas, tales como por ejemplo, matemticas, estadsticas,
lgicas?:
a. Microsoft Word ( )
b. Microsoft PowerPoint ( )
c. Microsoft Excel ( )




Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




108

11. Es el proceso que se ejecuta para recopilar e interpretar hechos y diagnosticar
problemas, con el fin de mejorar los sistemas de informacin:
a. Anlisis de sistema ( )
b. Diseo de sistema ( )
c. Elaboracin de sistema ( )
12. Grupo de instrucciones sobre un proceso especfico, escritas en un lenguaje
entendible al ser humano:
a. Programa fuente ( )
b. Programa objeto ( )
c. N.A. ( )






Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




109



La solucin a las preguntas de la autoevaluacin son las siguientes:

1. a
2. a
3. c
4. a
5. b
6. Es un conjunto interrelacionados de archivos electrnicamente almacenados y
que constituyen toda la informacin que se dispone sobre un tema
determinado.
7. b
8. b
9. b
10. c
11. a
12. a















Solucionario de la autoevaluacin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




110




Palabras Significados
Aplicaciones
En informtica, las aplicaciones son los programas con los cuales el
usuario final interacta, es decir, son aquellos programas que permiten la
interaccin entre el usuario y la computadora.
Applets
Programa informtico basado en lenguaje de programacin Java. No se
usa muy a menudo, pero puede ser muy til al poder insertarse en pginas
web mediante cdigo HTML, creando muchos tipos de efectos, como, por
ejemplo, minijuegos.
Archivo
Un archivo o fichero informtico es una entidad lgica compuesta por una
secuencia finita de bytes, almacenada en un sistema de archivos ubicada
en la memoria secundaria de un ordenador.
Automatizado
Sistema de produccin en el que se usan mquinas en lugar de mano de
obra.
Base de datos
Conjunto de registros ordenados y clasificados para su posterior consulta,
actualizacin o cualquier tarea de mantenimiento mediante aplicaciones
especficas.
Byte
Se describe como la unidad bsica de almacenamiento de informacin,
generalmente equivalente a ocho bits, pero el tamao del byte depende
del cdigo de informacin en el que se defina.
Campo
En informtica un campo es un espacio de almacenamiento para un dato
particular.
CP/M
Es un sistema operativo desarrollado por Gary Kildall para el
microprocesador 8080/85 de Intel y el Z80 de Zilog. Se trata del sistema
operativo ms popular entre las computadoras personales en los aos
1970.
Discreto
Tiene significados diferentes dependiendo del contexto en que se
encuentre: En el contexto informtico, Discreto se refiere a la forma
particular de codificacin que toma un smbolo o un paquete de
informacin. Por ejemplo, el valor discreto en binario para el carcter
ASCII A, es 01000001.

Driver
Pequeo programa cuya funcin es controlar el funcionamiento de un
dispositivo del ordenador bajo un determinado sistema operativo.
Glosario
Segunda Unidad Fundamentos de Computacin e Informtica - Algoritmos




111
Entidad
Una entidad es todo aquello que exhibe: existencia no necesariamente
material o animada, autonoma y diferenciacin.
Gestin
Proceso que desarrolla actividades productivas con el fin de generar
rendimientos de los factores que en l intervienen. Diligencia que conduce
al logro de un negocio o satisfaccin de un deseo.
Informtica
La Informtica o Computacin es la ciencia del tratamiento automtico de
la informacin mediante un computador (llamado tambin ordenador o
computadora).
Integridad
La habilidad de determinar que la informacin recibida es la misma que la
informacin enviada.
Interfaz
Una interfaz es la parte de un programa informtico que permite a ste
comunicarse con el usuario o con otras aplicaciones permitiendo el flujo de
informacin.
Mtodos
Es estar asociado con un objeto o clase en particular, puede acceder y
modificar los datos privados del objeto correspondiente de forma tal que
sea consistente con el comportamiento deseado para el mismo.
Programador
Un programador es una persona que se dedica a la programacin o que
escribe programas. Tambin puede decirse que es la persona que traduce
algoritmos a un lenguaje que pueda entender una computadora.
Software
Es la parte lgica del ordenador, esto es, el conjunto de programas que
puede ejecutar el hardware para la realizacin de las tareas de
computacin a las que se destina. Es el conjunto de instrucciones que
permite la utilizacin del equipo.
Usuario
Sujeto o proceso autorizado para acceder a datos o recursos.
Virtual
Esta palabra se suele usar para referirse a algo que no existe realmente,
sino solo dentro del ordenador.










Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica




112



DIRECCIONES ELECTRNICAS

1. Virus informticos:
http://es.wikipedia.org/wiki/Virus_inform%C3%A1tico#Clasificaci.C3.B3n

2. Historia de virus informticos:
http://www.perantivirus.com/sosvirus/general/histovir.htm

3. Virus polimrficos:
http://www.perantivirus.com/sosvirus/general/polimorf.htm

4. Software:
http://es.wikipedia.org/wiki/Software

5. Antivirus:
http://es.wikipedia.org/wiki/Antivirus















Bibliografa







TERCERA UNIDAD
DIDCTICA

Sistemas de informacin y tecnologas de
informacin
















Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

115





Primera parte
UNIDAD 3: Sistemas de informacin y tecnologas de informacin
1. La empresa digital emergente.

2. Los sistemas de informacin.
2.1 Definicin de Sistemas de informacin.
2.2 Actividades bsicas
2.3 Tipos y usos de los sistemas de informacin.

2.4 La revolucin de redes e internet: Negocios en lnea. Comercio
electrnico.

2.5 Tecnologa de informacin para la empresa digital.

2.6 El rol del ingeniero de sistemas (Foro)








Conocer el funcionamiento del rea de sistemas y conceptos bsicos de sistemas y
tecnologas de informacin.

Unidad
didctica
Objetivos especficos Tiempo
de
estudio






Tercera



Comprender la importancia de los sistemas de
informacin en las organizaciones ante el cambiante
entorno de negocios actual
Definir en qu consisten los sistemas de informacin y
sus funciones.
Identificar el nuevo rol de los sistemas de informacin
en las organizaciones.
Conocer las nuevas opciones de diseo de la
organizacin.
Conocer la importancia multidisciplinaria del ingeniero
de sistemas.

12 horas

Esquema de contenidos
Objetivos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

116




Estimado alumno:
El objetivo general de esta asignatura en su tercera parte se centra en el conocimiento
de los sistemas de informacin, permitiendo actualmente ser el soporte de
comunicacin que necesitan las empresas para realizar transacciones y administrar
negocios a escala global, tales como: comunicacin con distribuidores y proveedores,
operar las 24 horas, coordinar equipos de trabajo, satisfacer necesidades locales e
internacionales de informacin. Adems los sistemas de informacin son los
encargados de capturar, almacenar, procesar datos para su pronta distribucin y toma
de decisiones.

Tambin siguiendo con otros puntos importantes no podemos dejar de nombrar, saber
y entender acerca del concepto de la empresa digital, tecnologas de informacin y del
rol del ingeniero de Sistemas e Informtica en una organizacin o empresa, siendo el
responsable de la planificacin, diseo, desarrollo e implementacin de sistemas de
informacin mecanizados, para satisfacer los diferentes niveles de requerimientos de
informacin de los gerentes y personal operativo de las empresas, aplicando la
tecnologa de punta en el diseo y rendimiento de procesos de produccin
administrativos, contables y econmicos financieros de una empresa.

Los contenidos incluidos y desarrollados ms adelante en esta tercera parte de la
asignatura corresponden a los siguientes temas: sistema de Informacin, la empresa
digital, comercio electrnico, tecnologa de informacin y el rol del ingeniero de
Sistemas.


Introduccin
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

117



































Los
sistemas de
informacin
y
tecnologas
de
Informacin
La empresa digital
emergente
Los sistemas de
informacin
La revolucin de redes
e internet
Tecnologa de
informacin para la
empresa digital.
Negocios en lnea
Comercio
electrnico
El rol del ingeniero de
Sistemas
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

118


UNIDAD 3

SISTEMAS DE INFORMACIN Y TECNOLOGAS DE INFORMACIN

1. LA EMPRESA DIGITAL EMERGENTE
Durante las ltimas dcadas, cuatro cambios importantes han alterado el entorno de
los negocios. Estos cambios son:
1. El surgimiento de la economa global.
2. La transformacin de las economas industriales.
3. La transformacin de las empresas comerciales.
4. El surgimiento de la empresa digital.

Estos cambios proponen nuevos retos y desafos para las empresas de hoy en da.

1.1 El surgimiento de la economa global
El xito de las empresas actuales y futuras est relacionado con su capacidad de
operar a escala global. Existe un porcentaje creciente de economas que depende de
las exportaciones e importaciones.

Asimismo, las empresas estn distribuyendo sus actividades primordiales de negocio,
como por ejemplo el diseo y manufactura de productos, soporte a usuarios (help
desk), etc. Estas actividades estn comenzando a realizarse en otros lugares o pases
donde el trabajo se puede realizar con una mayor rentabilidad.









Actualmente, los sistemas de informacin proporcionan el soporte de
comunicacin que necesitan las empresas para realizar transacciones y
administrar negocios a escala global, tales como:
- comunicacin con distribuidores y proveedores
- operar las 24 horas
- coordinar equipos de trabajo globales
- satisfacer necesidades locales e internacionales de informacin.
i
Contenidos
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

119
Administracin y control en un
mercado global.
Competencias en mercados
mundiales.
Grupo de trabajos globales.
Sistemas de entrega globales.
Administracin y control en un
mercado global.
Competencias en mercados
mundiales.
Grupo de trabajos globales.
Sistemas de entrega globales.


El reto principal del negocio es lograr respuestas de sistemas de informacin eficientes
y eficaces.
En tanto que tambin se presentan amenazas a las empresas comerciales internas,
debido a la comunicacin global, los consumidores pueden comprar ahora en un
mercado mundial obteniendo todo tipo de informacin sobre los productos (modelos,
precios, tamaos, etc.) Adems, esta informacin se encuentra disponible las 24 horas
y todos los das del ao.













1.2 Transformacin de las economas industriales
Los pases como Estados Unidos, Japn, Alemania, entre otros, estn transformando
sus economas industriales en economas de servicio, las cuales se basan en el
conocimiento y la informacin . Mientras tanto, los pases en desarrollo todava
siguen con procesos de manufactura.

El conocimiento y la informacin se estn convirtiendo en pieza fundamental para el
desarrollo de nuevos servicios y productos.





En una economa basada en el conocimiento y la informacin, la
tecnologa y los sistemas de informacin cumplen un rol
fundamental.
i
Figura 1: El surgimiento de la economa global
Ej.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

120
Podemos mencionar productos tipo tarjetas de crdito, o sistemas de reservas de
vuelos, los cuales se apoyan en las nuevas tecnologas de la informacin.

Estas tecnologas constituyen una fuerte inversin para las empresas, y se han
convertido en activos crticos y estratgicos.

1.3 Transformacin de las empresas comerciales

Se ha dado una transformacin en la forma de organizar y administrar las empresas
comerciales.

La empresa comercial tradicional tiene una estructura jerrquica y centralizada,
adems se apoyan en procedimientos fijos y estandarizados. El nuevo estilo de
empresa comercial es menos jerrquico, descentralizado y flexible.





















Figura 2: Transformacin de las empresas comerciales
ANTES:
-Jerarquica
- Central izada
AHORA:
-Menos jerarquica
- Descentral izada
- Jerrquica
- Centralizada
- Menos jerrquica
- Descentralizada
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

121
Automatizar la
relacin entre
proveedores y
empresa.
Optimizar la
planeacin de
productos y
servicios.
Cadena de
Abastecimiento
Rel aciones con el
cl iente
Sistemas
empresarial es
Administracin del
conocimiento
Desarroll o de
relaciones
integradas con
l os clientes.
Sistemas de
informacin
integrados a
nivel
empresarial .
Coordinacin
de l os procesos
internos claves.
Crear, captar,
almacenar y
distribuir
conocimiento y
experiencia
enl a empresa.
1.4 El surgimiento de la empresa digital

El uso intensivo de la tecnologa de la informacin en las empresas comerciales desde
mediados de la dcada de los 90 ha creado las condiciones para un nuevo fenmeno
en la sociedad industrial: la empresa totalmente digital.







Las empresas digitales se distinguen de las tradicionales por su casi total dependencia
de tecnologas de informacin en los aspectos de administracin y organizacin. La
tecnologa de informacin no es simplemente un til instrumento o herramienta de
apoyo, sino ms bien es la parte medular de la empresa.

Las empresas digitales perciben y responden a sus entornos con mucha mayor
prontitud que las empresas tradicionales, logrando tener ms flexibilidad para
sobrevivir en tiempos cambiantes.

Hay cuatro sistemas principales que ayudan a definir a la empresa digital, como se
aprecia en la figura 3:












Una empresa digital es aquella en la que casi todas las relaciones de
negocio con los clientes, proveedores y empleados se realizan y controlan
digitalmente.
i
Figura 3: La empresa digital
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

122
2. LOS SISTEMAS DE INFORMACIN

2.1 Definicin

Un sistema de informacin es un conjunto de elementos que interactan entre s con el
fin de apoyar las actividades de una empresa o negocio.
El equipo computacional: el hardware necesario para que el sistema de
informacin pueda operar.
El recurso humano que interacta con el sistema de informacin, el cual est
formado por las personas que utilizan el sistema.

2.2 Actividades Bsicas

Un sistema de informacin realiza tres actividades bsicas: entrada, procesamiento y
salida de informacin.

Entrada de informacin: es el proceso mediante el cual el sistema de informacin
toma los datos que requiere para procesar la informacin. Las entradas pueden ser
manuales o automticas.

Las manuales son aquellas que se proporcionan en forma directa por el usuario,
mientras que las automticas son datos o informacin que provienen o son tomados
de otros sistemas o mdulos. Esto ltimo se denomina interfases automticas.

Las unidades tpicas de entrada de datos a las computadoras son las terminales, las
cintas magnticas, las unidades de diskete, los cdigos de barras, los escneres, la
voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras.

Procesamiento de informacin : es la capacidad del sistema de informacin para
efectuar clculos de acuerdo con una secuencia de operaciones preestablecida. Estos
clculos pueden efectuarse con datos introducidos recientemente en el sistema o bien
con datos que estn almacenados. Esta caracterstica de los sistemas permite la
transformacin de datos fuente en informacin que puede ser utilizada para la toma de
decisiones.

Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

123
Datos general es
(nombre,
direccin, etc.)
Pol ticas de
crditos, pagos,
l mites, etc.
Pagos, descuentos
ALMACENAMIENTO
PROCESO
Movimientos de mes (pagos,
descuentos).
Catl ogos de cl ientes.
Facturas.
Reporte de pagos.
Estados de
cuenta.
Reporte de
descuentos.
ENTRADAS SALIDAS
Cl cul o de pagos.
Cl cul o de intereses.
Cl cul o de sal dos.
En una empresa, el gerente puede generar una proyeccin financiera
(procesamiento de informacin) a partir de los datos que contienen un balance
general.

Salida de informacin: la salida es la capacidad de un sistema de informacin para
sacar la informacin procesada o bien datos de entrada al exterior. Las unidades
tpicas de salida son las impresoras, terminales, disketes, cintas magnticas, la voz,
los graficadores y los plotters, entre otros. Es importante aclarar que la salida de un
sistema de informacin puede constituir la entrada a otro sistema de informacin o
mdulo. En este caso, tambin existe una interfase automtica de salida.

El sistema de control de clientes tiene una interfase automtica de salida con el
sistema de contabilidad, ya que genera las plizas contables de los movimientos
procesales de los clientes.

A continuacin se muestran las diferentes actividades que puede realizar un sistema
de informacin de control de clientes:


















Ej.
Ej.
Figura 4: Sistema de informacin de control de clientes
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

124
2.3 Tipos y usos de los sistemas de informacin

Dado que hay intereses, especialidades y niveles en una organizacin, existen
diferentes tipos de sistemas. Un nico sistema no puede proporcionar toda la
informacin que una empresa necesita.
























En la figura 5, la organizacin se divide en niveles estratgico, administrativo, del
conocimiento y operativo, y luego se divide en reas funcionales como: ventas y
marketing, manufactura, finanzas, contabilidad y recursos humanos.

Los sistemas de informacin se crean para dar servicio a diferentes intereses de la
organizacin.
AREAS
FUNCIONALES
Ventas y
marketing
Manufactura Finanzas Contabilidad Recursos
Humanos
Nivel
estratgico
Nivel
administrativo
Nivel del
conocimiento
Nivel
operativo
TIPOS DE SISTEMA DE INFORMACIN GRUPOS A LOS QUE SIRVEN
Directores
Gerentes de
nivel medio
Trabajadores del
Conocimiento y de datos
Gerentes
operativos
AREAS
FUNCIONALES
Ventas y
marketing
Manufactura Finanzas Contabilidad Recursos
Humanos
Nivel
estratgico
Nivel
administrativo
Nivel del
conocimiento
Nivel
operativo
TIPOS DE SISTEMA DE INFORMACIN GRUPOS A LOS QUE SIRVEN
Directores
Gerentes de
nivel medio
Trabajadores del
Conocimiento y de datos
Gerentes
operativos
Figura 5: Los sistemas de informacin
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

125

Diferentes tipos de sistemas
Como se pudo apreciar en la figura 5, existen cuatro principales tipos de sistemas de
informacin.

Los sistemas a nivel operativo apoyan a los gerentes operativos en el seguimiento de
las actividades elementales de la organizacin como ventas, ingresos, depsitos,
planillas, etc.






Los sistemas a nivel de conocimiento, apoyan a los trabajadores a integrar el nuevo
conocimiento en los negocios, a travs de estaciones de trabajo y sistemas de oficina.

Los sistemas a nivel administrativo sirven a las actividades de supervisin, control,
toma de decisiones y administrativas de los gerentes de nivel medio. Proporciona
informes peridicos ms que informacin instantnea de operaciones.






Los sistemas a nivel estratgico, ayudan a los directores a enfrentar y resolver
aspectos estratgicos y tendencias a largo plazo, tanto en la empresa como en el
entorno externo.






El objetivo principal de los sistemas a este nivel es responder a las
preguntas de rutina como: Cuntas partes hay en el inventario?, Qu
pas con el pago del seor Gutirrez?
i
La pregunta principal que plantean estos sistemas es: Van bien las cosas?
i
Las preguntas en este nivel son: Cules sern los niveles de empleo
dentro de 3 aos? Cules son las tendencias de los costos de la
industria? Qu productos debemos elaborar en 5 aos?
i
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

126
Sistemas a nivel estratgico
Sistema de apoyo a
ejecutivos (ESS)
Tendencia de
ventas a cinco aos
Plan operativo a
cinco aos
Pronstico de
presupuesto para
cinco aos
Planeacin de
utilidades
Planeacin de
personal
Sistemas a nivel administrativo
Sistema de
informacin
gerencial (MIS)
Administracin de
ventas
Control de
inventarios
Elaboracin de
presupuesto anual
Anlisis de
inversin de capital
Anlisis de
reubicacin
Sistema de apoyo a
l a toma de
decisiones (DSS)
Anlisis de la
regin de ventas
Programacin de la
produccin
Anlisis de costos
Analsis de costos
de contratos
Sistemas a nivel conocimiento
Sistemas de oficina Calendarios elect.
Sistemas a nivel operativo
Seguimiento de
pedidos
Control de
mquinas
Negociacin de
valores
Nmina Compensaciones
Procesamiento de
pedidos
Programacin de
planta
Administracin de
efectivo
Cuentas por pagar
Capacitacin y
desarrollo
Sistemsa de
procesamiento de
transacciones
(TPS)
Estaciones de trabajo para ingenieria, para grficos, para gerentes.
Procesamiento de texto Digitalizacin de documentos
Sistema de trabajo
de conocimiento
(KWS)
Seis tipos principales de sistemas

Cada nivel organizacional cuenta con tipos especficos de sistemas de informacin:
Sistemas a nivel estratgico:
1. Sistemas de apoyo a ejecutivos (ESS)

Sistemas a nivel administrativo:
2. Sistemas de informacin gerencial (MIS)
3. Sistemas de apoyo a la toma de decisiones (DSS)

Sistemas a nivel del conocimiento
4. Sistemas de trabajo del conocimiento (KWS)
5. Sistemas de oficina.

Sistemas a nivel operativo
6. Sistemas de procesamiento de transacciones (TPS)

Es preciso mencionar que, a su vez, los sistemas de cada nivel se especializan en
apoyar a cada una de las reas funcionales.
















Figura 6: Seis tipos de sistemas de informacin
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

127

En la figura 6 se observan ejemplos de TPS, sistemas de oficina, KWS, DSS, MIS y
ESS, y se muestra el nivel de la organizacin.

2.4 La revolucin de redes e Internet

Durante los ltimos aos nos hemos maravillado con los inmensos progresos que
hemos tenido tanto en el hardware como en el software informtico, lo que usualmente
visualizamos como cambios dramticos en las caractersticas de las computadoras de
escritorio, y como mejoras impresionantes en el software comercial.

A mediados de 1994, estaban en el tope de su popularidad las microcomputadoras de
escritorio Pentium de 90 MHz, cuyo costo para equipos de marca estaba en el orden
de los 3500 dlares. En la actualidad, apenas 5 aos ms tarde, las revistas tcnicas
se encuentran promocionando el innovador equipo de escritorio Pentium III de 500
MHz, aproximadamente ocho veces ms rpido que el Pentium de 90 MHz (6 veces
ms rpido por el incremento de velocidad del reloj del procesador de 90 a 500 MHz, y
33% ms rpido por la mejora en la arquitectura interna del procesador), a un costo
para equipos de marca en el orden de 3300 dlares.

Desde luego que la velocidad pura no ha sido el nico cambio en los
microprocesadores, pues se han producido mejoras particularmente en el rea de
multimedia, lo que en trminos generales representa un extra. Adems se debe
reconocer que equipos con mltiples procesadores en paralelo pueden proporcionar
una mayor capacidad de computacin, pero su excesivo costo los aleja del escritorio.

En resumen, en la actualidad se pueden conseguir equipos de computacin 8 veces
ms poderosos que hace cinco aos (con algunas caractersticas extras), por
aproximadamente el mismo costo que en 1994. Si comparamos este progreso con los
cambios producidos en la industria automotriz, es equivalente a haber pasado del
automovil de vapor (40 Km/h) de fines del siglo XIX a los vehculos de Frmula 1 (300
Km/h) de fines del siglo XX, es decir, se ha producido una evolucin fantstica (no una
revolucin como se explicar a continuacin) en apenas 5 aos.

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

128
La gran revolucin de las comunicaciones informticas ya se produjo en estos ltimos
cinco aos, y en un futuro prximo no se prevn cambios tan dramticos; pero lo que
s se espera es que la tecnologa evolucione.


Historia de Internet

Definicin:
Podemos definir a Internet como una "red de redes", es decir, una red que no solo
interconecta computadoras, sino que interconecta redes de computadoras entre s.
Una red de computadoras es un conjunto de mquinas que se comunican a travs de
algn medio (cable coaxial, fibra ptica, radiofrecuencia, lneas telefnicas, etc.) con el
objeto de compartir recursos.

De esta manera, Internet sirve de enlace entre redes ms pequeas y permite ampliar
su cobertura al hacerlas parte de una "red global". Esta red global tiene la
caracterstica de que utiliza un lenguaje comn que garantiza la intercomunicacin de
los diferentes participantes; este lenguaje comn o protocolo (un protocolo es el
lenguaje que utilizan las computadoras al compartir recursos) se conoce como TCP/IP.
As pues, Internet es la "red de redes" que utiliza TCP/IP como su protocolo de
comunicacin.

Inicios:
En los aos 60 los EE.UU. estaba buscando una forma de mantener las
comunicaciones vitales del pas en el posible caso de una guerra nuclear. Este hecho
marc profundamente su evolucin, ya que an ahora los rasgos fundamentales del
proyecto se hallan presentes en lo que hoy conocemos como Internet

Fue en Inglaterra donde se experiment primero con estos conceptos; y as en 1968,
el Laboratorio Nacional de Fsica de la Gran Bretaa estableci la primera red
experimental. Al ao siguiente, el Pentgono de los EE.UU. decidi financiar su propio
proyecto, y en 1969 se establece la primera red en la Universidad de California (UCLA)
y poco despus aparecen tres redes adicionales. Naca as ARPANET (Advanced
Research Projects Agency NETwork), antecedente de la actual Internet.

Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

129
Mediante ARPANET, cientficos e investigadores pudieron compartir recursos
informticos en forma remota; este era una gran ayuda ya que hay que recordar que
en los aos 70 el tiempo de procesamiento por computadora era un recurso realmente
escaso. ARPANET en s misma tambin creci y ya para 1972 agrupaba a 37 redes.

El protocolo utilizado en ese entonces por las mquinas conectadas a ARPANET se
llamaba NCP (Network Control Protocol o Protocolo de Control de Red), pero con el
tiempo dio paso a un protocolo ms sofisticado: TCP/IP, que de hecho est formado
no por uno, sino por varios protocolos, siendo los ms importantes el protocolo TCP
(Transmission Control Protocol o Protocolo de Control de Transmisin) y el protocolo
IP (Internet Protocol o Protocolo de Internet). TCP convierte los mensajes en paquetes
en la maquina emisora, y los reensambla en la mquina destino para obtener el
mensaje original, mientras que IP es el encargado de encontrar la ruta al destino.

En 1984, la Fundacin Nacional para la Ciencia (National Science Foundation) inicia
una nueva "red de redes" vinculando en una primera etapa a los centros de
supercmputo en los EE.UU. (6 grandes centros de procesamiento de datos
distribuidos en el territorio de los EE.UU.) a travs de nuevas y ms rpidas
conexiones. Esta red se le conoci como NSFNET y adopt tambin como protocolo
de comunicacin a TCP/IP.

Eventualmente, a NSFNET empezaron a conectarse no solamente centros de
supercmputo, sino tambin instituciones educativas con redes ms pequeas. El
crecimiento exponencial que experiment NSFNET, as como el incremento continuo
de su capacidad de transmisin de datos, determin que la mayora de los miembros
de ARPANET terminaran conectndose a esta nueva red y en 1989, ARPANET se
declara disuelta.

En 1989, Mxico tuvo su primera conexin a Internet a travs del Instituto Tecnolgico
de Estudios Superiores de Monterrey, el cual utiliz una lnea privada analgica de 4
hilos para conectarse a la Universidad de Texas a una velocidad de 9600 bits por
segundo.

Algo similar suceda en otros pases por lo que se determin que era necesaria una
divisin en categoras de las computadoras conectadas. Las redes fuera de los
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

130
EE.UU., aunque tambin algunas dentro de ese pas, escogieron identificarse por su
localizacin geogrfica, mientras que los dems integrantes de NSFNET se agruparon
bajo seis categoras bsicas o dominios : "gov", "mil", "edu", "com", "org" y "net". Los
prefijos gov, mil y edu, se reservaron para instituciones de gobierno, instituciones de
carcter militar e instituciones educativas respectivamente.

El sufijo "com" empez a ser utilizado por instituciones comerciales que comenzaron a
conectarse a Internet en forma exponencial, seguidos de cerca por instituciones de
carcter no lucrativo, las cuales utilizaron el sufijo "org". Por lo que respecta al sufijo
"net", este se utiliz en un principio para las computadoras que servan de enlace entre
las diferentes subredes (compuertas o gateways) . En 1988 se agreg el sufijo "int"
para instituciones internacionales derivadas de tratados entre gobiernos.

En realidad, Internet es una gigantesca red pblica, en donde las decisiones sobre
protocolos, arquitectura de la red, etc. se toman en forma conjunta por expertos y
miembros de la industria provenientes de todo el mundo, que se agrupan en
organismos abiertos. Ejemplos de lo anterior son el IETF (Internet Engeneering Task
Force) que se encarga del desarrollo de protocolos, el IANA (Internet Assigned
Number Authority) que se encarg en sus orgenes del otorgamiento de las
direcciones electrnicas y de los nombres de dominio, etc.

Los nicos procedimientos centralizados en Internet son el otorgamiento de las
direcciones electrnicas o direcciones IP (nmeros de 32 bits que identifican a cada
mquina conectada a la red, ejemplo: 200.36.174.66 ) y la asignacin de nombres de
dominio (contraparte en lenguaje ordinario de las direcciones IP, ejemplo:
albanet.com.mx), ya que cada mquina y cada red deben tener estos elementos en
forma individual y nica para evitar confusiones en la entrega y envo de la
informacin.

Inicialmente, la informacin que correlacionaba los nombres de dominio con las
direcciones IP se llevaba en un simple archivo; sin embargo con el crecimiento que
tuvo Internet, diversos organismos tuvieron que crearse para organizar este sistema.
As, por ejemplo, naci el Internic en los EE.UU., para administrar los dominios "com",
"net", "org", etc; as como otros organismos a nivel de cada pas o regin, para
administrar los dominios geogrficos ("eu" para EE.UU., "mx" para Mxico, "ca" para
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

131
Canad, etc.). En el caso particular de Mxico, el Instituto Tecnolgico de Estudios
Superiores de Monterrey se ha hecho cargo desde 1989 de administrar el dominio
"mx" a travs de un organismo conocido como el "NIC Mxico".

Para enero de 1999 se estimaba que haban cerca de 43.2 millones de computadoras
conectadas a Internet en todo el mundo (desde grandes servidores, hasta
computadoras personales), de estas cerca de 100 mil localizadas en Mxico. En
relacin a los dominios registrados, haba cerca de 8 millones a nivel global y cerca de
13,000 en Mxico (en Mxico el 85% de los dominios eran comerciales).

Por lo que respecta al nmero de usuarios, las cifras son an ms difciles de
establecer, ya que por cada cuenta de acceso a Internet hay mltiples usuarios. Nua
Internet Survey ubica la cifra mundial en 200 millones.

En relacin a los acontecimientos en Internet, podemos destacar dos eventos
importantes.
a. Cambios en la asignacin de direcciones IP y nombres de dominio
Las pocas actividades ms o menos centralizadas de Internet, normalmente
recayeron en organismos que de una u otra manera reciban subsidio por parte
del gobierno de los EE.UU. y ejercan una labor un tanto monoplica sobre la
actividad en cuestin. Esto est en proceso de cambio y se contempla la
creacin de organismos financiados por la propia comunidad Internet, e incluso
es posible que surja una competencia en la actividad de asignacin de
dominios (varias "empresas" que ofrecern el servicio) asociada con nuevos
nombres de dominios: "firm" para empresas, "shop" para tiendas en lnea,
"web" para proveedores de contenido, etc.
b. Siguiente generacin de Internet
Se trata de una iniciativa del gobierno de los EE.UU. para establecer una red
100 veces ms rpida que la actual Internet y que permita el desarrollo de
nuevas aplicaciones que consuman mucho ancho de banda. Actualmente ya
hay en operacin una red experimental, pero nicamente est abierta a
organismos del gobierno de ese pas (NASA, NSF, etc.) e instituciones
educativas.


Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

132
Negocios en lnea

e-Business
Es una "interaccin con los socios de negocio, donde la interaccin es permitida por
tecnologa de informacin". Tambin se le define como un sistema de informacin o
aplicacin a la cual se le delegan procesos de negocios.

El uso tanto de tecnologa como de nuevas estrategias de negocios para realizar
negocios en lnea. El negocio en lnea provee un canal de ventas, marketing, e
informacin on-line. (Negocio en lnea).
Se define al eBusiness como cualquier actividad empresarial que se efecta a travs
de Internet, no solo de compra y venta, sino tambin dando servicio a los clientes y/o
colaborando con socios comerciales.
Desde el punto de vista del negocio, eBusiness (negocio electrnico) es el proceso
que estn utilizando las empresas para hacer negocios usando redes (Internet).
Ocurre cuando se conectan los sistemas informticos de una compaa a sus clientes,
empleados, distribuidores o proveedores, y todos se entrelazan a travs de la Internet,
Intranet o Extranet.
Las tres definiciones anteriores muestran que resulta difcil dar una definicin
completamente apropiada para el e-Business. "Definiciones incompletas, solo para
bienes (produccin, promocin, venta y distribucin de productos a travs de redes de
telecomunicaciones), solo para servicios (intercambio de informacin a travs de
transacciones electrnicas) o solo desde el punto de vista empresarial (uso de las
tecnologas de la informacin para realizar negocios entre compradores, vendedores y
socios con el fin de mejorar el servicio al cliente, reducir costos y finalmente, aumentar
el valor de los accionistas) nos conducen a dar una definicin ms integradora y
general tal y como la siguiente:
e-Business es la aplicacin de las tecnologas de la informacin para facilitar la
compraventa de productos, servicios e informacin a travs de redes pblicas basadas
en estndares de comunicaciones. Tiene que existir en uno de los extremos de la
relacin comercial un programa de ordenador y en el otro extremo o bien otro
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

133
programa de ordenador, o una persona utilizando un ordenador o una persona con los
medios necesarios para acceder a la red".
El paradigma del e-Business comprende la combinacin del Internet con los sistemas
de informacin tradicionales de una organizacin (Web + tecnologa de informacin) y
permite potenciar los procesos vitales de negocios que constituyen la base y esencia
de una empresa. Las aplicaciones basadas en los conceptos de e-Business se
caracterizan por ser interactivas, con alta intensidad de transacciones, y porque
permiten un relanzamiento de los negocios hacia nuevos mercados.
El e-Business utiliza el web tanto como un medio, como un elemento de marketing
para el comercio.
La diferencia fundamental entre el web y cualquier otro medio electrnico (fax,
telfono, etc.) es que va ms all de facilitar la comunicacin, pues permite la
interaccin entre los usuarios, compradores y vendedores en un entorno que no es fijo,
ni es fsico siquiera, sino que es creado por la confluencia de redes estndares,
navegadores web, software, contenidos y personas. Por ello, las barreras fsicas de
tiempo y distancia existentes entre los proveedores y sus clientes se ven reducidas al
mnimo.
Sin estas barreras, el comprador y el vendedor se enfrentan el uno con el otro
directamente a travs de una conexin electrnica. No hay que desplazarse a la tienda
fsica, no hay vendedor, no hay que rellenar datos y no hay una cajera a la salida. En
lugar de todo eso hay un sitio web. Por tanto, e-Business representa un cambio en la
forma de interactuar entre el comprador y el vendedor.
Para el comprador, significa que los costos de buscar o cambiar de proveedor son
mnimos. Para el vendedor, el riesgo de no atraer la atencin del comprador y perderlo
es muy elevado. En este nuevo entorno, la mayor parte de la responsabilidad de
decidir cmo se hace una operacin de compraventa se ha traspasado de los
vendedores a los compradores.


Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

134


























Comercio electrnico - e-Commerce

e-Commerce es el paso ms reciente de la evolucin de las transacciones de negocio.
Substituye (o aumenta) el intercambio del dinero o de las mercancas por el
intercambio de la informacin de la computadora a la computadora.

e-Commerce comprende la compra, venta, marketing, y servicios para productos o
servicios por medio de redes de computadoras. Se puede ver como aplicaciones
e-business aplicadas a las transacciones comerciales.
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

135
"El comercio electrnico (eCommerce) es, bsicamente, el uso de medios
electrnicos, para realizar la totalidad de actividades involucradas en la gestin de
negocios: ofrecer y demandar productos y/o servicios, buscar socios y tecnologas,
hacer las negociaciones con su contraparte, seleccionar el transporte y los seguros
que ms le convengan, realizar los trmites bancarios, pagar, cobrar, comunicarse con
los vendedores de su empresa, recoger los pedidos; es decir, todas aquellas
operaciones que requiere el comercio".

El comercio electrnico, a travs de Internet, implica la utilizacin de esta red como
medio para facilitar el intercambio de bienes y servicios. La forma ms avanzada es
aquella en la que un cliente: visualiza, selecciona y formaliza la adquisicin de
productos o servicios cuya descripcin est disponible en un servidor conectado a
Internet. Las empresas pueden colocar el catlogo completo de sus productos o
servicios en Internet, y dar acceso abierto a sus potenciales clientes a una enorme
vidriera virtual, as como tambin, renovar estos productos, dialogar con sus clientes y
por lo tanto ajustarse a sus necesidades.

La utilizacin de la red Internet como un canal comercial debe obedecer a un
planteamiento estratgico y de negocios de la organizacin. Para algunas empresas
ser el medio prioritario de desarrollo de su actividad. Para otras ser un canal
complementario. Es un canal en el que la tecnologa tiene un papel importante pero no
puede ser esta la que condicione de forma exclusiva las decisiones a tomar.

En la actualidad, existe una gran cantidad de empresas que se dedican a esta
actividad, quizs el caso ms conocido sea el de "Amazon.com" el cual es un sitio web
que inicialmente se dise para la venta y distribucin de libros a travs de la World
Wide Web y en donde actualmente un usuario cualquiera puede adquirir artculos de
casi cualquier tipo, los mismos que llegan a vuelta de correo, prcticamente a
cualquier lugar del mundo, despus de la respectiva confirmacin de la venta.

El comercio electrnico, o el e-Commerce, es un trmino muy amplio. El e-Commerce
se da entre el negocio y los consumidores y tambin entre un negocio y otro, para el
intercambio de datos electrnicos (EDI).

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

136
EDI es un formato para las redes privadas del excedente de la informacin del negocio
de cambio. Fue creado para automatizar y para apresurar el intercambio de la
informacin entre las compaas que hacen regularmente negocios juntas.

Despus de ver las definiciones podemos notar que existen diferencias entre ambos
trminos, el comercio electrnico forma parte del negocio en lnea, y no comprende
todo el e-Business. Es por esto que no podemos decir que el e-Business es igual al e-
Commerce, sino que el e-Commerce es un componente ms del e-Business.

En el siguiente grafico podemos apreciar lo dicho anteriormente. Tambin podemos
apreciar otros elementos que componen el e-Business:

1. e-Commerce:
Dentro del comercio electrnico tenemos varias acciones que podemos realizar como
son: la transferencia electrnica de fondos, manejo de la cadena de produccin, el e-
Marketing (marketing orientado a Internet), y el procesamiento de transacciones en
lnea. Estos son algunos de los elementos que pueden estar comprendidos dentro del
e-Commerce, no es necesario implementar todos ellos para hablar de e-Commerce.
Quizs el tipo de comercio electrnico (e-Commerce) ms difundido es el carrito de
compras, es en el cual el cliente selecciona los productos que quiere comprar, ingresa
sus datos, y enva el pedido. El pago puede ser tanto por los medios tradicionales, o
directamente puede ser realizado en lnea (el cliente ingresa su nmero de tarjeta de
crdito, se verifican sus datos, y se debita automticamente el importe de la operacin
de su cuenta).
Este tipo de e-Commerce, considero que es a la fecha el ms popular y que gran
nmero de empresas en la red lo manejan.

2. Comunicacin y colaboracin empresarial
Esta parte del e-Business se ocupa de mejorar los procesos de comunicacin para
lograr una mejor integracin de los sistemas y eficiencia. A su vez podemos enumerar
algunas de las funciones que pueden ser incorporadas en esta parte: e-mail, mail de
voz, foros de discusin, sistemas de Chat, video conferencias, y sistemas de
colaboracin.
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

137
Sistemas internos de negocio

Es una de las partes menos visibles del e-Business, pero no por ello la menos
importante. Dependiendo de la escala de nuestro negocio, debemos tener una
estructura de informacin que nos de soporte para poder tomar decisiones y realizar
las acciones necesarias. Debemos poder delegar en los sistemas informticos la
mayor cantidad de procesos posibles, para poder dedicarnos verdaderamente a
nuestro negocio, y no perder tiempo en procesos que no hacen al negocio.

Dentro de los sistemas internos de negocio podemos enumerar algunos de ellos:

CRM - Customer Relationship Management (Manejo de las Relaciones con el Cliente).
ERP - Enterprise Resource Planning (Planeamiento de los Recursos de la Empresa),
sistemas para el manejo del conocimiento, sistemas para el manejo de la
documentacin, control de procesos, etc.
SCM- Supply Chain Management (Gerencia de la Cadena de Suministro).
E-procurement es la automatizacin de procesos internos y externos relacionados
con el requerimiento, compra, suministro, pago y control de productos utilizando el
Internet como medio principal en la comunicacin cliente-proveedor. Es una tecnologa
relacionada con la administracin de la cadena de suministros (Supply Chain
Management), y entre sus principales caractersticas puedo mencionar la utilizacin de
informacin de requerimientos, inventarios, material en trnsito, entre otros,
desplegados a travs de una pgina de Internet. El flujo de informacin se realiza en
tiempo real, y permite conocer los datos al instante de producirse algn cambio en las
variables.
Otra de las ventajas es el acceso desde cualquier punto en donde exista servicio de
Internet sin importar las distancias geogrficas, o estar fuera de las instalaciones de la
empresa. Adems cuenta con acceso restringido al personal que previamente ha sido
autorizado por cliente y proveedor para intercambiar informacin; esto es muy
importante para mantener la proteccin a la informacin estratgica del negocio y
cumple con los parmetros establecidos en las relaciones negocio a negocio (B2B).

Podemos apreciar que el mundo del e-Business es mu y amplio e incorpora
procesos de varias reas de una organizacin. Es por esto que su implementacin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

138
dentro de una organizacin debe ser correctamente planeada e implementada de
manera tal que tenga el menor impacto negativo en los empleados.
Las implementaciones deben ser realizadas por etapas, y debe permitir la integracin
con los dems sistemas.

La diferencia entre e-Business y e-Commerce, es absolutamente artificial, pero
diversos trminos llevan diversos significados.
Usualmente los trminos e-Commerce y e-Business se utilizan como sinnimos, sin
embargo son diferentes y es importante que las empresas conozcan estas diferencias:
El e-Commerce cubre los procesos por los cuales se llega a los consumidores,
proveedores y socios de negocio, incluyendo actividades como ventas, marketing,
toma de rdenes de pedido, entrega, servicios al consumidor, y administracin de
lealtad del consumidor.

El e-Business incluye al e-Commerce, pero tambin cubre procesos internos
como produccin, administracin de inventario, desarrollo de productos,
administracin de riesgo, finanzas, desarrollo de estrategias, administracin del
conocimiento y recursos humanos.

La estrategia de e-Commerce es ms estrecha, est ms orientada a las ventas y es
ms simple que otras iniciativas:
Sirve para analizar como usar Internet para mejorar reas como ventas, marketing,
compras y objetivos de servicio al consumidor.

Puede hacer foco en las ventas y las rdenes tomadas sobre Internet, y puede
servir para realizar mediciones acerca del crecimiento o decrecimiento de la curva
de ganancias.

Las estrategias de e -Business tienen un alcance mayor, son ms desafiantes,
ofrecen ms recompensas y probablemente requieren de fuertes cambios
estructurales dentro de la organizacin:
Implican el rediseo total de los negocios, cambiando y revisando todos los
procesos en la compaa para capturar las eficiencias que pueden proveer el uso
de la tecnologa en redes.
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

139
Las estrategias de e-Business incluyen oportunidades de obtener ganancias, pero
el foco principal est en los costos y la eficiencia en las operaciones.
Las estrategias de e-Business implican una cuarta categora de integracin: a
travs de la empresa, con una integracin funcional profunda entre nuevas
aplicaciones y procesos de negocios rediseados, y horizontalmente a travs de
una integracin mayor de aplicaciones ERP o CRM. (Trminos ya descritos
anteriormente).
El empleo de un sistema de eBusiness proporciona notables ventajas tanto para
la empresa como para el consumidor, las mismas que son adicionales a aquellas
que se consiguen en los negocios normales (sin acceso web) y que se constituyen
en el verdadero valor agregado del e-Business

En el siguiente grfico se muestra la evolucin de las empresas en el mundo digital,
que en sus inicios fue tan solo el manejo del e-mail, y como estas prcticas de envo y
recepcin de datos e informacin ha venido evolucionando a pasos agigantados, hasta
poner en una posicin un tanto difcil a las empresas con una administracin
tradicional; en la que sus ejecutivo y directivos debern evolucionar de igual manera
en su forma de administrar el negocio, y crear nuevas redes de contacto, de acuerdo a
las exigencias de los clientes, proveedores, accionistas, colaboradores, etc.

Ventajas del e-Business para la compaa.
Cuando una compaa emprende una estrategia de eBusiness adquiere las
siguientes ventajas:
Expansin de pblico: ahora la tienda (empresa), puede llegar a todo el territorio
nacional e incluso alcanzar el pblico internacional.
Expansin de horario: la tienda permanece abierta 24 horas al da, 7 das a la
semana, 365 das al ao, sin necesidad de personal adicional o pago de horas
extraordinarias.
Menores precios: los menores costos permiten ofrecen precios ms bajos, que
son a la vez una condicin necesaria en el agresivo mercado en lnea, donde la
competencia incluye, en buena parte de los casos, al mundo entero.
Capital e i nventario mnimo: el costo de establecer una tienda en lnea es
reducido comparado con el costo de abrir un nuevo establecimiento o intentar
llegar por otros medios al pblico que la tienda virtual puede alcanzar.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

140
Proceso de rdenes gil y automatizado: por definicin, las rdenes son
recibidas, procesadas y almacenadas por un sistema computarizado que puede
producir reportes detallados y compartir sus informaciones con los sistemas
existentes de ventas, inventario, despachos y contabilidad.
Menores costos de servicio y atencin: pueden automatizarse buena parte de
los servicios de atencin al cliente, como registro de usuarios, recepcin de
reclamaciones, sugerencias, solicitudes de servicio, consultas, etc.
Medicin de visitas y efectividad de campaas: podemos saber
especficamente cuntas personas visitan nuestra tienda, cules departamentos
son los ms visitados, de qu pas nos visitan, a cules horas y si vienen de otra
pgina o siguiendo un anuncio en particular.
Capacidad de llega r a pbli co especializado: la construccin de un
departamento o seccin especializada en nuestra tienda general tiene un costo
reducido una vez establecida la tienda. Y si nuestra tienda va dirigida a un pblico
especializado, podemos llegar a un nmero mayor del mismo al expandir los
horizontes geogrficos.
Reduccin de costos de transporte, almacenamiento y distribucin: como no
necesitamos inventario para mostrar, podemos reducir los montos y volmenes de
las rdenes de compra, incluso despachando los productos directamente desde la
fbrica o desde el mayorista sin tener que realizar pedidos por adelantado y
almacenarlos o desplegarlos en nuestros escaparates.
Registro e identificacin del clie nte: al vender, podemos solicitar informaciones
adicionales del cliente para registrarlas en una base de datos que podemos usar
para seguimiento, mejor servicio y soporte, promociones relacionadas a su perfil,
telemercadeo, etc.
Mayor y ms directa comunicacin con el c onsumidor: conociendo el perfil y
los datos relevantes de cada cliente, podemos contactarle con la frecuencia que
apruebe para hacerle llegar ofertas de su inters, premios, etc. y recibir respuesta
directa de cada uno de ellos a travs de la red.

Ventajas para el consumidor
Para el consumidor comn, la interaccin con negocios que cuentan con un e-
Business, le proporciona los siguientes beneficios:
Ms opciones para comparar y escoger: cada da son ms las tiendas en lnea
ofreciendo una gama cada vez ms amplia de productos y servicios, y como las
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

141
tiendas en lnea exhiben un catlogo y no un ejemplar fsico del producto, estn en
capacidad de mostrar la lnea completa de productos y todos los modelos o
variantes para que el cliente pueda escoger.
Menos tiempo para buscar y comparar: el consumidor puede consultar
simultneamente los precios y modelos ofrecidos por varias tiendas y est en
mayor libertad de escoger los que mejor se ajusten a su presupuesto y
necesidades.
Menores precios: la competencia entre las tiendas en lnea es agresiva, fuerte, y
despiadada, con mrgenes de beneficios bastante bajos y en algunos casos
prcticamente inexistentes (las compaas de Internet aplican ste tipo de
estrategias con el fin de construir una base amplia y consistente de clientes), lo
cual se traduce en precios bajos y por ende muy accesibles para el consumidor.
Libertad de horario y geogrfica: el cliente puede comprar a cualquier hora,
cualquier da, desde su casa, desde un cafenet, o desde su lugar de trabajo.
Tambin puede realizar compras desde la casa de un amigo o familiar o consultar
las compras con otra persona a distancia mientras intercambia opiniones por ICQ,
MSN (o cualquier otro software de mensajera instantnea), sistemas de chat,
correo electrnico, fax o telfono. Al mismo tiempo, Internet hace posible tambin
adquirir productos extranjeros localizados en cualquier tienda, en cualquier parte
del mundo. Es decir que el consumidor no se encuentra limitado solamente a las
tiendas locales y a los productos importados por estas en su pas de residencia.
Cero filas y cero con gestionamiento de trfico: obviando las molestias que
puede causar un acceso lento a Internet o una conexin difcil, el cliente est libre
del trfico vehicular y de las grandes colas en los establecimientos de consumo,
adems cuenta con la comodidad de su hogar y la libertad para realizar otras
tareas mientras realiza sus compras.

El e-Business es la nueva forma de comercio en Internet, sin fronteras, con un nuevo
planteamiento de los modelos empresariales, clientes globales, nuevos sistemas de
pago y estrategias innovadoras. Si una empresa quiere estar presente y de forma
rentable, en los nuevos mercados es necesario que sus profesionales conozcan las
tcnicas necesarias para implementar la tecnologa requerida.

Por otra parte el e-Commerce: es el tipo de transaccin econmica -compra y venta-
que se realiza a travs de sistemas electrnicos. Una empresa, comnmente presente
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

142
en la red, vende productos o servicios a travs de Internet. All llega el comprador que
suele pagar con tarjeta de crdito un producto que en un plazo acordado recibir en la
puerta de su casa. Los productos que ms se venden por medio de las redes
electrnicas son CD-ROOM, msica, libros y programas informticos, aunque la lista
de opciones de compra es casi infinita.

El "e-Commerce" es la parte del proceso que se limita a la comercializacin de
productos y servicios por web. El e-Commerce consiste en el uso de internet,
comunicaciones digitales o aplicaciones de las tecnologas de la informacin para
comprar o vender.

Sin embargo en el e-Business se involucra a la organizacin por completo, no
solamente al e-Commerce (procesos de compra y venta) para optimizar toda su
cadena de valor, valindose para ello del uso de internet como el principal medio de
comunicacin.

2.5 Tecnologa de informacin para la empresa digital

Durante muchos aos solo las grandes compaas usaban sistemas patentados para
integrar informacin proveniente de sus sistemas internos y enlazarse con sus
clientes y socios comerciales.
Estos sistemas eran costosos y eran basados en estndares de tecnologa muy
especializada.
Internet ha llegado a ser en muy poco tiempo la infraestructura de eleccin para el
comercio electrnico porque ofrece a los negocios maneras ms fciles de enlazarse
con otros negocios e individuos a un costo verdaderamente bajo.

Los socios comerciales se pueden comunicar entre si, eliminando intermediarios y
procedimientos ineficientes que requieren varias etapas para realizarse.

Los sitios Web estn disponibles a los clientes las 24 horas.

Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

143
Algunos productos basados en la informacin como software, msica o video, pueden
ser distribuidos va Internet de manera digital.

Los proveedores de otros productos o servicios pueden usar Internet para difundir
informacin como precio, opciones, disponibilidad y tiempo de entrega.

Internet puede remplazar a los canales de distribucin existentes o extenderlos,
creando puntos de venta para atraer y dar servicio a clientes que de otra manera no
favorecera a la compaa.

El manejo electrnico de las transacciones puede reducir los costos y el tiempo de
entrega de algunos bienes

La tecnologa de Internet est proporcionando la infraestructura para operar todo el
negocio porque su tecnologa y estndares se pueden aprovechar para lograr que la
informacin fluya libremente de una parte a otra de la organizacin.

La tecnologa de Internet proporciona una alternativa de costo ms bajo y fcil de usar
para la coordinacin de actividades que redes costosas.

Los gerentes pueden usar el correo electrnico y otras caractersticas de
comunicacin de Internet para vigilar un gran nmero de empleados, administrar
muchas tareas y proyectos y coordinar el trabajo de mltiples equipos por diferentes
partes del mundo.

Los estndares de Internet se pueden aprovechar para enlazar sistemas distintos,
como seguimiento de pedidos y logstica, que antes no se podan comunicar entre s.

Internet tambin reduce otros costos de agencia como coordinar actividades de la
empresa con proveedores y socios de negocios.

La conectividad y estndares universales de bajo costo proporcionados por la
tecnologa de Internet constituyen la fuerza que impulsa la explosin de los negocios
en lnea y el surgimiento de la empresa digital.

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

144


Reduccin de costos
El verificar tu estado bancario de forma tradicional te cuesta alrededor de 1 dlar,
en Internet el costo es de menos de 15 centavos de dlar.

El enviar un folleto publicitario por correo te cuesta de 10 a 45 dlares, enviarlo
por Internet el costo es de menos de 25 centavos de dlar.

Responder preguntas a un cliente de forma tradicional cuesta de 1 a 45 dlares,
va Internet, por correo electrnico de 1 a 5 dlares, como autoservicio en la Web
de 10 a 20 centavos de dlar.

Nuevos modelos de negocios y propuestas de valor
Como se ha visto, Internet ha introducido cambios importantes en la forma en que las
empresas operan sus negocios.

Ha producido una cada dramtica en el costo del desarrollo, envo y almacenamiento
de la informacin.

Millones de personas pueden intercambiar inmensas cantidades de informacin en
forma directa, instantnea y gratuita.

Anteriormente, un consumidor para comparar precios tena que visitar diferentes
tiendas, comprar peridicos y otras actividades, hoy encuentra en la Web las
diferentes ofertas de las empresas con slo buscar en Internet y comprar directamente
a los proveedores si as lo desean.

Un modelo de negocios describe la manera en que la empresa produce, distribuye y
vende un producto o servicio, muestra la forma en que les da valor a los clientes y
cmo crea riqueza.

Caso AMAZON.COM
Vasto catlogo con 3 millones de ttulos, tablas de contenidos, repasos e
informacin extra.
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

145

Precios competitivos, ya que no tena grandes costos de operacin (renta,
empleados, almacenamiento, etc.)

2.6 El rol del ingeniero de sistemas

El ingeniero de sistemas es un profesional de slida formacin analtica, caracterstica
que le facilita la interpretacin y resolucin de problemas mediante el empleo de
metodologas o sistemas y tecnologas de procesamiento de informacin.

La capacidad adquirida le ayuda a afrontar con solvencia el planeamiento, desarrollo,
direccin y control de los sistemas de informacin. Posee conocimientos que le
permiten administrar los recursos humanos, fsicos y de aplicacin que intervienen en
el desarrollo de proyectos de sistemas de informacin.

Adems, adquiere capacidades que lo habilitan para el desempeo de funciones
gerenciales, para abordar proyectos de investigacin y desarrollo, as como para una
eficiente transmisin de conocimientos.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

146




En esta tercera parte de la asignatura, nuestro conocimiento se centra en la
importancia que son hoy en da los sistemas de informacin dentro de una empresa.

As tambin, poder conocer y entender los negocios en lnea y el comercio electrnico,
siendo estos la evolucin de las transacciones de negocios, reemplazando el
intercambio de dinero o mercancas por el intercambio de informacin de un ordenador
a otro ordenador.

El e-Business es una interaccin con los socios de negocios, donde dicha interaccin
es sostenida o permitida por tecnologas de informacin.

e-business, es tambin, una actividad empresarial que se realiza va Internet, no solo
de venta y compra, sino dando servicios a los clientes o socios comerciales.

Un punto importante de esta unidad es, adems, el rol del ingeniero de Sistemas,
siendo el ingeniero de Sistemas e Informtica un profesional con slida formacin
analtica, facilitando as la interpretacin y resolucin de problemas, teniendo a su
alcance el empleo de metodologas o sistemas y tecnologas de procesamiento de
informacin.

El ingeniero de Sistemas e Informtica, adquiere y posee las capacidades que lo
habilitan para el desempeo en funciones gerenciales, abordando proyectos de
investigacin y desarrollo.










Resumen
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

147




Lea el siguiente material sobre la Planificacin de los Sistemas de Informacin
(PSI)

El Plan de Sistemas de Informacin tiene como objetivo la obtencin de un marco de
referencia para el desarrollo de sistemas de informacin que respondan a los objetivos
estratgicos de la organizacin. Este marco de referencia consta de:

- Una descripcin de la situacin actual, que constituir el punto de partida del Plan
de Sistemas de Informacin. Dicha descripcin incluir un anlisis tcnico de
puntos fuertes y riesgos, as como el anlisis de servicio a los objetivos de la
organizacin.
- Un conjunto de modelos que constituya la arquitectura de informacin.
- Una propuesta de proyectos a desarrollar en los prximos aos, as como la
prioridad de realizacin de cada proyecto.
- Una propuesta de calendario para la ejecucin de dichos proyectos.
- La evaluacin de los recursos necesarios para los proyectos a desarrollar en el
prximo ao, con el objetivo de tenerlos en cuenta en los presupuestos. Para el
resto de proyectos, bastar con una estimacin de alto nivel.
- Un plan de seguimiento y cumplimiento de todo lo propuesto mediante unos
mecanismos de evaluacin adecuados.

Dentro de la planificacin de sistemas de informacin encontramos los siguientes
puntos importantes y que sern temas de investigacin para la presente actividad
sugerida:

Inicio del Plan de Sistemas de Informacin
Definicin y organizacin del Plan de Sistemas de Informacin
Estudio de la informacin relevante
Identificacin de requisitos
Estudio de los sistemas de informacin actuales.
Actividad sugerida
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

148



1. Durante las ltimas dcadas, cuatro cambios importantes han alterado el
entorno de los negocios. Estos cambios son::
a. ______________________________________________
b. ______________________________________________
c. ______________________________________________
d. ______________________________________________

2. Las empresas digitales se distinguen de las ________________ por su casi
total dependencia de _______________ de informacin en los aspectos de
________________ y organizacin:
a. tradicionales tecnologas administracin ( )
b. modernas sistemas - negociacin ( )
c. tradicionales tecnologas - negociacin ( )

3. Hay cuatro sistemas principales que ayudan a definir a la empresa digital,
siendo uno de ellos:
a. La cadena de abastecimiento ( )
b. La cadena de distribucin ( )
c. La cadena de valor ( )

4. Es un conjunto de elementos que interactan entre s con el fin de apoyar las
actividades de una empresa o negocio:
a. Tecnologas de informacin ( )
b. Sistemas de informacin ( )
c. La cadena de abastecimiento ( )

5. La organizacin se divide en niveles estratgico y reas funcionales, nombre
por ejemplo un nivel estratgico y un rea funcional:
______________________ y ___________________________.
a. Conocimiento - operativo ( )
b. Finanzas - contabilidad ( )
c. Operativo - finanzas ( )
Autoevaluacin
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

149


6. Cada nivel organizacional cuenta con sistemas de informacin especficos,
siendo para los Sistemas a nivel administrativo el: __________________ y
_______________
a. Sistema de informacin gerencial sistema de apoyo a ejecutivo ( )
b. Sistema de apoyo a toma de decisiones sistema de apoyo a
ejecutivos ( )
c. Sistema de informacin gerencial sistema de apoyo a toma de
decisiones ( )

7. Es un conjunto de mquinas que se comunican a travs de algn medio (cable
coaxial, fibra ptica, radiofrecuencia, lneas telefnicas, etc.) con el objeto de
compartir recursos, nos referimos a:
a. Las telecomunicaciones ( )
b. Internet ( )
c. Las redes LAN ( )

8. Se define a ________________ como cualquier actividad empresarial que se
efecta a travs de _______________, no solo de compra y venta, sino
tambin dando servicio a los clientes y/o colaborando con socios comerciales:
a. Internet - empresas ( )
b. Empresas comercio ( )
c. E-business - Internet ( )
d. Comercio empresas ( )

9. El ________________ comprende la compra, venta, marketing, y servicios
para productos o servicios por medio de ________ de ___________________.
a. E-business interconexin - ordenadores ( )
b. E-commerce redes - telecomunicaciones ( )
c. E-commerce redes - ordenadores ( )



Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

150
10. El ___________________ es un profesional de slida formacin analtica,
caracterstica que le facilita la interpretacin y resolucin de problemas
mediante el empleo de metodologas o sistemas y tecnologas de
procesamiento de informacin:
a. Rol del ingeniero de Sistemas ( )
b. Ingeniero de Sistemas ( )
c. N.A. ( )
Tercera Unidad Fundamentos de Computacin e Informtica - Algoritmos

151



La solucin a las preguntas de la autoevaluacin son las siguientes:

1. El surgimiento de la economa global, la transformacin de las economas
industriales, la transformacin de las empresas comerciales, El surgimiento de
la empresa digital.
2. a
3. a
4. b
5. c
6. c
7. b
8. c
9. c
10. b

















Solucionario de la autoevaluacin
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

152



DIRECCIONES ELECTRNICAS

1. Referencias de Computacin:
http://www.monografias.com/trabajos/refercomp/refercomp.shtml

2. Bases de la Teleinformtica:
http://www.monografias.com/trabajos4/teleinf/teleinf.shtml

3. Redes de computadoras:
http://www.monografias.com/trabajos5/redes/redes.shtml

4. Redes y comunicaciones:
http://www.monografias.com/trabajos3/redycomun/redycomun.shtml

5. Internet:
http://www.monografias.com/trabajos5/rnet/rnet.shtml

6. Temas de Computacin: hardware y software.
http://www.sandrex.net/

Bibliografa






PARTE 2




CUARTA UNIDAD
DIDCTICA


Algoritmos y programas.
Microsoft .net - C#
Programacin orientada a objetos



Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

155


Segunda parte
Unidad 4: Introducc in a Alg oritmos y programas. Microsoft .NET. C#.
Programacin Orientada a Objetos
Introduccin a Algoritmos y programas.
1. Definicin de algoritmos.
2. Programas Implementacin de Algoritmos
3. Formas de representacin de algoritmos:
3.1 Diagramas de flujo (o flujogramas)
3.2 Pseudocdigos.
4. Variables y constantes.
4.1 Definicin de variable
4.2 Tipos de datos: entero, real, carcter y lgico
4.3 Variables - vida de la variable: declaracin, inicializacin y
utilizacin.
4.4 Constantes.
4.5 Salida de informacin.
5. Diseo de algoritmos en pseudocdigo.
6. El Enfoque algortmico en la solucin de problemas: anlisis del
problema, diseo del algoritmo, codificacin o implementacin,
compilacin, ejecucin y verificacin, depuracin y mantenimiento.

Microsoft .NET. C#.

1. Microsoft .NET.
1.1 Caractersticas de .NET Framework.

Esquema de contenidos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

156
2. El lenguaje C#.
2.1 Caractersticas de C#
3. Programacin orientada a objetos como base de C#:
encapsulamiento, herencia y polimorfismo
3.1 Objetos.
3.2 Clases.
3.3 Caractersticas ms importantes de la Programacin orientada a
Objetos. a) Abstraccin, b)encapsulamiento, c)mensaje,
d)ocultamiento, e) herencia y f) polimorfismo.






































Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

157





Objetivo general

Aprender a desarrollar algoritmos y representarlos en diagramas de flujo y
pseudocdigos, utilizando un lenguaje de programacin orientado a objetos para la
codificacin de los algoritmos ( C#)

Unidad
didctica
Objetivos especficos Tiempo
de
estudio











Cuarta

Quinta

Sexta




Conocer y utilizar diversas formas de representar los
algoritmos.
Conocer adecuadamente los elementos de un
programa.
Reconocer y utilizar algoritmos pseudocdigos como
herramienta para el bosquejo de solucin de un
problema.
Comprender y entender cada una de las fases de
desarrollo de un programa.
Comprender los conceptos de tipos de datos, variables,
instrucciones de entrada, salida y asignacin.
Comprender el uso de expresiones y operaciones
aritmticas as como funciones predefinidas o estndar.
Aprender a resolver utilizando pseudocdigos y su
codificacin en un lenguaje de programacin de alto
nivel.
Entender y utilizar las estructuras de control
secuenciales, de decisin y de repeticin en la solucin
de problemas.
Conocer y comprender la labor de un programador,
desde el anlisis del problema, (planteamiento del
problema), pasando por el diseo del procedimiento de
solucin, codificacin en un lenguaje de programacin,
pruebas con un amplio conjunto de datos de entrada
que permita la verificacin de los resultados,
documentacin (que permita que cualquier
programador sea capaz de entenderlo), hasta el
mantenimiento.

Utilizar el lenguaje de programacin C# para desarrollar
los algoritmos bsicos haciendo uso de las estructuras
de control bsicas.

48 horas


Objetivos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

158






Estimado alumno:

El objetivo general de esta asignatura en su cuarta parte se centra esencialmente en el
conocimiento de los algoritmos para resolver un problema informtico y su
implementacin en C#. Los algoritmos sern representados en diagramas de flujo
para el entendimiento de cada una de las estructuras de control, pero los problemas
sern resueltos usando pseudocdigos, paralelamente a su codificacin en el lenguaje
de programacin C# modo consola de Visual Studio 2005.

Los temas de algoritmos, se inician definiendo y diferenciando los algoritmos de los
programas, las variables de las constantes, los tipos de datos y se plantea un diseo
bsico de algoritmos en pseudocdigo.

Luego, se da una visin genrica de .NET y las caractersticas de .NET Framework,
as como el lenguaje C# y sus caractersticas esenciales.

Se da el soporte bsico del paradigma de la programacin orientada a objetos
definiendo y mostrando ejemplos de las caractersticas ms importantes de la
programacin orientada a objetos, como objetos, clases, propiedades y mtodos,
abstraccin, encapsulacin, mensajes y ocultamiento de la informacin, herencia y
polimorfismo.

INTRODUCCIN
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

159























Introduccin:
ALGORITMOS
Y
PROGRAMAS
1. DEFINICIN DE
ALGORITMOS
3.1 Comentarios
3.2 El Enfoque algortmico en la
solucin de problemas
3. PROGRAMACIN
ORIENTADA A OBJETOS
1.1 Implementacin de algoritmos
Programas
1.2 Formas de representacin:
a) Diagramas de Flujo
b) Pseudocdigo
2. VARIABLES Y
CONSTANTES

2.1 Definicin de Variables
2.2 Tipos de datos
2.3 Variables-vida de la variable
2.4 Constantes
2.5 Salida de Informacin
1. MICROSOFT .NET
3.1 Objetos
3.2 Clases
3.3 Los mtodos
3.4 Caractersticas ms importantes
de la Programacin orientada a
Objetos:
a) Abstraccin
b) Encapsulamiento
c) Ocultamiento
d) Mensaje
e) Herencia y
f) Polimorfismo
3. DISEO DE ALGORITMOS
EN PSEUDOCDIGO
MICROSOFT.NET
C#
POO
1.1 Caractersticas del .Net
Framework
2. LENGUAJE C# 1.1 Caractersticas de C#
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

160



UNIDAD 4

Introduccin: ALGORITMOS Y PROGRAMAS

1. DEFINICIN DE ALGORITMO

Conjunto finito de instrucciones (pasos, ordenes, operaciones) ordenados de
manera lgica, y que conducen a la solucin de un problema planteado.

Las caractersticas que debe tener un algoritmo son las siguientes: a) finito, es decir la
secuencia de pasos debe tener un fin; b) confiable, es decir un mismo conjunto de
datos de partida o entrada debe llegar a un mismo conjunto de resultados; c) puede
tener cero o mas entradas, pero por lo menos una salida

En la vida diaria nos encontramos con algoritmos instructivos como los manuales de
usuario para usar una computadora, o una lavadora (muestran las instrucciones para
usar un equipo); las instrucciones que recibe un alumno de parte de su profesor para
desarrollar un trabajo; algoritmos matemticos para hallar el MCD de dos nmeros
o algoritmos como la criba de eratstenes, para generar nmeros primos; algoritmos
en la industria, como optimizacin de los dimetros de las tuberas de una red de
distribucin de agua mediante la aplicacin y simulacin de un algoritmo.
2. PROGRAMAS IMPLEMENTACIN DE ALGORITMOS
En programacin, los algoritmos se implementan con cdigos de lenguajes de
programacin. En este curso usaremos el lenguaje de Programacin C# para
implementar nuestros algoritmos
Pueden existir varios algoritmos para resolver un mismo problema de forma ms o
menos eficiente. Los algoritmos ya definidos matemticamente y que son eficientes,
Contenidos
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

161
como los algoritmos de bsqueda o el algoritmo de Dijkstra, suelen ser tomados por
otros programadores para utilizarlos dentro de sus propios cdigos.

En general un algoritmo es una secuencia de instrucciones u rdenes con el
objetivo de dar solucin a un problema y escrito en un lenguaje cercano al de los seres
humanos, generalmente matemtico; mientras que un programa es una secuencia de
instrucciones u rdenes con el objetivo de dar solucin a un problema, escrito en un
lenguaje cercano al de las computadoras, llamado lenguaje de programacin.

Nosotros en este curso incidiremos en los algoritmos representados en
pseudocdigo y los programas codificados en el lenguaje de programacin C#.

3. FORMAS DE REPRESENTACIN DE LOS ALGORITMOS

Los algoritmos pueden representase de varias maneras, pero en este manual solo
presentaremos dos de ellas:

3.1 Diagrama de flujo (o flujogramas)

Los diagramas de flujo son diagramas que emplean smbolos grficos para
representar los pasos o etapas de un proceso.

Es la forma ms tradicional para especificar los detalles algortmicos de un proceso.
Se utilizan en programacin, economa y procesos industriales.

Con el objetivo de hacerlos ms comprensibles a todas las personas, los smbolos se
someten a una normalizacin; es decir, se hicieron smbolos casi universales, ya que
en un principio cada usuario podra tener sus propios smbolos para representar sus
procesos en forma de diagrama de flujo. Esto trajo como consecuencia que solo aquel
que conoca sus smbolos, los poda interpretar.

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

162
Un ejemplo de diagrama de flujo.
Diagrama de flujo












Principales smbolos
Estandarizados segn ISO 5807. No es indispensable usar un tipo especial de
smbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados
por lo que es adecuado conocerlos y utilizarlos.

SMBOLOS USADOS EN LOS DIAGRAMAS DE FLUJO

Flechas: Indica el sentido y trayectoria del proceso de
informacin o tarea.

Proceso: Representa un proceso determinado. Usado para
asignar valores a las variables en operaciones matemticas.

Inicio/Fin: Marca el inicio y fin de un algoritmo.

Entrada/Salida: Permite ingresar datos (leer) y visualizar la
informacin que resulta de un proceso.

Condicional: Representa una condicin. Normalmente, el flujo
de informacin entra por arriba y sale por un lado si la
condicin se cumple, o por el lado opuesto si la condicin no se
cumple. De esta manera, el proceso tiene dos caminos
posibles.
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

163

Conector: Representa un punto de conexin entre procesos.
Se utiliza cuando es necesario dividir un diagrama de flujo en
varias partes, por ejemplo, por razones de espacio o
simplicidad.

Existen, adems, una variedad de formas especiales para denotar las entradas, las
salidas, los almacenamientos, etc.

Reglas
De acuerdo al estndar ISO, los smbolos deben de tener ciertas caractersticas:
Existe siempre un camino que permite llegar a una solucin.
Existe un nico inicio del proceso.
Existe un nico punto de fin para el proceso de flujo, salvo del rombo que indica
una comparacin con dos caminos posibles.
Evite diagramas infinitos, es decir, que tienen entradas pero no salidas.
Evite smbolos de generacin espontnea que tienen salidas sin tener entradas,
porque son generalmente incorrectas.
Tenga cuidado con los flujos y procesos no etiquetados. Esto suele ser un indicio
de falta de esmero, pero puede esconder un error an ms grave: a veces el
analista no etiqueta un flujo o un proceso porque simplemente no se le ocurre
algn nombre razonable.

3.2 Pseudocdigo
Un pseudocdigo es una serie de normas lxicas y gramaticales parecidas a la
mayora de los lenguajes de programacin, pero sin llegar a la rigidez de sintaxis de
estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con
mayor agilidad que en cualquier lenguaje de programacin, con la misma validez
semntica; normalmente, se utiliza en las fases de anlisis o diseo de software, o en
el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniera
de software.

Reglas:
El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje
comn, instrucciones de programacin y palabras clave que definen las estructuras
bsicas. Su objetivo es permitir que el programador se centre en los aspectos lgicos
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

164
de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin
convencionales. Las similitudes con la mayora de los lenguajes informticos lo hacen
fcilmente convertible.

No siendo el pseudocdigo un lenguaje formal, varan de un programador a
otro, es decir, no hay una estructura semntica ni arquitectura estndar. Es
una herramienta gil para el estudio y diseo de aplicaciones, veamos un
ejemplo:

si calificacin 11 entonces
Escribir ALUMNO APROBADO
sino
Escribir ALUMNO REPROBADO;
finsi


4. VARIABLES Y CONSTANTES

4.1 Definicin de Variables
Los datos se almacenan en celdas de memoria en el computador, disponibles para
ser usados cuando se requiera. El identificador o nombre asociados a un dato, se le
llama variable, y su valor puede cambiar durante la ejecucin de un programa. Toda
variable pertenece a un tipo de dato concreto.
Los nombres o Identificadores de variables deben reunir ciertas caractersticas:
Deben ser nombres significativos, que nos recuerde lo que almacenan.
Cada variable debe tener un nombre nico.
Estos nombres pueden combinar letras, nmeros y caracteres de subrayado.

En la declaracin de una variable se indica el tipo al que pertenece. As tendremos
variables enteras, reales, carcter, cadenas, lgicas o booleanas, etc.


Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

165
4.2 Tipos de datos
El tipo de un dato, es el conjunto de valores que puede tomar una variable durante la
ejecucin del programa. El tipo de dato le indica al compilador del lenguaje de
programacin tres cosas:
El rango de valores que puede tomar la variable.
El nmero de bytes que ocupa en la memoria del computador.
Las operaciones que puede realizar.

Cada lenguaje de programacin tiene sus propios tipos de datos, algunos de estos son
comunes a todos, entre los tipos de datos comunes estn:
Como programaremos en C#, haremos un paralelo en la declaracin de variables
usando pseudocdigos y el lenguaje de programacin C#.
TIPOS DE DATOS - RANGO DE VALORES - BYTES
Pseudocdigo Cdigo C#
Tipo Tipo Alias
Rango de valores Bytes
Byte byte 0 a 255 1
Int16 short -32,768 a 32,767 2
Int32 int -2,147,483,648 a 2,147,483,647 4
Entero
Int64 long 0 a 18,446,744,073,709,551,615 8
Single float
1.5* 10^-45 a 3.4* 10^38
(precisin de 7 dgitos)
4
Double double
5.0*10^-324 a 1.7* 10^308
(precisin de 15 dgitos)
8 Real
Decimal decimal
1.0* 10^-28 a 7.9* 10^28
(precisin de 28 dgitos)
16
Caracter char
Caracteres
unicode
0 a 65,535 2
Cadena o
Texto
String string el permitido por la memoria variable
Lgico Boolean bool Verdadero(true), Falso(false) 4
Objeto Object object Cualquier objeto variable
FechaHora DateTime

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

166
El tipo entero (Int) .- Al declarar una variable de tipo entero, se est creando una
variable numrica que puede tomar valores positivos o negativos, y sin parte decimal.
Este tipo de variables, puede utilizarse en asignaciones, comparaciones, expresiones
aritmticas, etc. Entre ellos:
Para Controlar un bucle.
Como contador, incrementando su valor cuando sucede algo.
Para realizar operaciones enteras, es decir, sin parte decimal.
Ejemplos:
CanAlumnosA Cantidad de alumnos aprobados.
NroFila Nmero de Fila de un Teatro, que vara de 1 a 20.
CanCompMal Cantidad de Computadoras Malogradas.
NroIntentos Numero de intentos.

El tipo real (double).- Al declarar un tipo de dato real, se crea una variable numrica
que puede tomar valores positivos y negativos con decimales es el que se
corresponde con los nmeros reales. Este es un tipo importante para los clculos
estadsticos, ya que se caracterizan por tratar con valores decimales.
Ejemplos:
rea rea de una figura geomtrica
Peso, Talla Peso o talla de atletas
PromPonderado Promedio Ponderado de un alumno universitario.

El tipo lgico (Boolean).- Al declarar una variable de tipo de dato lgico, solo permite
disponer de dos posibles valores: verdadero o falso (true o false en C#). Nos sirven
para mantener el estado de un objeto mediante dos valores:
si/no - verdadero/falso - funciona/no funciona - on/off
Ejemplos:
EstadoComputadora buen estado o mal estado.
Llueve si o no
MercaderiaRecogida verdadero o false
Lavadora funciona o no funciona
Computadora Encendida o no
TenenciaParaguas Si o no

Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

167
Los tipos caracter y cadena (char y string).- El tipo carcter (char) permite
almacenar valores que representen una letra(a, z), un smbolo (+, *, @ ), o un
dgito (0..9). Es decir, slo se podr almacenar un caracter; sin embargo, con las
cadenas de caracteres (string) se puede almacenar en una sola variable ms de un
caracter.
Ejemplos:
Nombre variable cadena para almacenar el nombre de una persona.
DNI variable cadena para almacenar el DNI de un ciudadano.
Direccin variable cadena de caracteres, con datos nmeros letras y smbolos.
Ejemplo: Av. Julio C. Tello 118
EstCiv variable para almacenar el estado civil S o C o V o D
Sexo variable que almacena el sexo de una persona F o M
OperArit variables para almacenar una operacin aritmtica + o - o * o /

4.3 Variables - vida de la variable.
Se distinguen tres partes fundamentales en la vida de una variable: a) la declaracin,
b) la iniciacin y c) la utilizacin.
a. Declaracin de variables
Esta es la primera fase en la vida de cualquier variable. La forma de declarar variables
es muy sencilla. Aqu haremos un paralelo en la declaracin de variables usando
pseudocdigos y el lenguaje de programacin C#.

DECLARACION DE VARIABLES
Pseudocdigo Cdigo C#
Entero i,j,k
int i,j,k;
long i,j,k;
Real x,y
double x,y;
float x,y;
Caracter Sexo, EstCiv char Sexo, EstCiv;
Cadena Nombre, Direccion string Nombre, Direccion;
Logico Hombre bool Hombre;

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

168
Sintaxis: Tipo_de_dato Lista_de_variables
En C# las instrucciones de declaracin de variables terminan en punto y coma.
Las variables reales tienen punto decimal, mientras las enteras no.
La lista_de_variables va separada por comas en ambos casos.
Las variables deben ser inicializadas, es decir darles un valor inicial de acuerdo al tipo
de dato que almacenan.

b. Inicializacin de variables
Es darle un valor inicial a una variable. Esto se hace para evitar posibles errores en
tiempo de ejecucin, pues una variable tiene un valor indeterminado despus de
declararla.
Existen dos maneras de otorgar valores iniciales a las variables:
Asignacin. Mediante una sentencia de asignacin.
Lectura o entrada de Datos. Mediante un procedimiento de entrada de datos.

Veamos estos ejemplos que renen los dos casos, tanto en pseudocdigo como en C#
INICIALIZACION DE VARIABLES
Pseudocdigo Cdigo C# Explicacin:
Sentencia de Asignacin:
X = 10 X = 10;
A la variable X se le asigna el valor de 10
Saludo=Hola Saludo =Hola;
A la variable Saludo se le asigna el valor
de Hola.
OperA=+ OperA = +;
A la variable OperA se le asigna el valor
de +
Procedimiento de entrada de datos:
Leer Nombre Nombre=(Console.ReadLine());
Se ingresa por teclado una cadena de
caracteres (string) y se asigna a la
variable Nombre.
OBSERVACION: Los datos ingresados por teclado, a travs de Console.ReadLine() son por defecto
Cadena de Caracteres(texto o string).
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

169
c. Utilizacin de variables
Una vez declarada e iniciada una variable, es el momento de utilizarla. Aqu
presentamos una serie de posibilidades:
Para incrementar su valor:
x = x + 3 (se ejecuta primero el lado derecho, el resultado se
asigna a la variable del lado izquierdo; de modo que si x tenia el valor inicial de 10,
despus de ejecutarse la instruccin x tendr el valor de 13)
Para controlar un bucle:
Para x =1 hasta 10 (esto se vera en estructuras de control repetitivas)
Para chequear una condicin:
Si x <10
Como parte de una expresin:
n = (Max - Min) / X
Escribir X
Leer X

4.4 Constantes.
A diferencia de las variables, las constantes no pueden cambiar de valor durante la
ejecucin de un programa. Despus de recibir un valor, este no puede ser alterado.
Ejemplos:
CONSTANTES
Pseudocdigo Cdigo C#
Significado
constante real Precio = 9.50 const double Precio = 9.50;
constante entera NA = 25 const int NA = 25;
constante cadena pre = "Sr" const string pre = "Srta.";
constante caracter Letra = 'A' const char Letra = 'A';
constante booleana entregado = true const bool entregado = true;
Los valores de estas
constantes no pueden
ser alterados, despus
de recibir un valor.

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

170
4.5 Salida de informacin.

Como parte de los resultados de un problema, las variables o constantes ya
procesadas, se muestran
MOSTRAR Variables o constantes
Pseudocdigo Cdigo C#
Escribir x Console.WriteLine(El valor de x = {0} ,x)
Escribe mensaje Console.WriteLine(Soy {0} , tengo {1} aos,Nombre,edad);

Muestra la cadena de caracteres que esta entre comillas dobles, reemplazando los
ndices {0} {1} por las variables respectivas que estn a la derecha. En el ejemplos
sern remplazados por el nombre y la edad de la persona.

5. DISEO DEL ALGORITMO EN PSEUDOCDIGO
La estructura general de un algoritmo en forma de pseudocdigo es la
siguiente:
ALGORITMO PSEUDOCDIGO
Entrada: Listado de variables de entrada
Salida: Listado de variables de salida
Inicio
Declaracin de variables y constantes de entrada, variables de salida y variables de trabajo con
sus tipos
Comentario: 1. xxxxx
Cuerpo del algoritmo
Leer x
..
Escribir x
Fin

Las variables de trabajo son todas aquellas variables que se necesitan en un
programa, pero que no son ni de entrada ni de salida.
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

171
Ejemplo: En un problema se pide hacer el algoritmo para calcular y mostrar el
permetro de un triangulo rectngulo, si se ingresan por teclado sus catetos.
Variables de entrada: catetos A y B (se ingresan por teclado)
Variables de Salida: permetro P (se calcula y escribe o muestra en pantalla)
Variable de trabajo: hipotenusa C (se calcula para poder hallar P)

Comentarios
Los comentarios tienen como finalidad ayudar a comprender el cdigo fuente y estn
destinados, a los programadores.
COMENTARIOS
Pseudocdigo Cdigo C#
Comentario 1. Calcular el area // 1. Calcular el area De 1 sola lnea.
/* 1. Calcular el area usando esta
formula: area=base*altura */
De formato libre.
Los comentarios No tienen efecto sobre el cdigo ejecutable ya que su contenido es
ignorado por el compilador (no se procesa). La sintaxis de los comentarios en C# es
idntica a la de C++ y se distinguen dos tipos de comentarios:
Comentarios de lnea. Estn precedidos de la construccin // y su efecto (mbito)
termina en la lnea en la que est inmerso.
Comentarios de formato libre. Estn delimitados por las construcciones /* y */ y pueden
extenderse por varias lneas.


6. EL ENFOQUE ALGORTMICO EN LA SOLUCIN DE PROBLEMAS

Para resolver problemas estructurados utilizando una computadora es necesario
utilizar un mtodo, que nos gue paso a paso e la solucin del problema. El mtodo
que proponemos es el siguiente:

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

172
1. Anlisis del problema , se parte del ENUNCIADO claro del problema a
resolver. En esta etapa, se especifica exactamente lo que debe hacer el
programa y el resultado deseado. Se precisa tener bien claro las entradas y
salidas. Se debe responder a estas interrogantes:
Cual es la salida deseada (tipo y cantidad).
Que entradas se requieren (tipo y cantidad)
Que mtodo utilizar para producir la salida deseada.
Da respuesta a QUE HACE EL PROGRAMA?
2. Diseo del algoritmo . Uno de los mtodos mas conocidos es divide y
vencers, que se basa en descomponer un problema complejo en
subproblemas cada vez ms pequeos, con una solo punto de entrada y un
solo punto de salida.
Verificar si se ha considerado solucin a todas las formas en que se presente el
problema. A esto se llama Prueba de escritorio
Da respuesta a COMO SE HACE EL PROGRAMA.?
3. Codificacin o implementacin . El algoritmo se codifica en la sintaxis del
lenguaje elegido (C++, C#, Basic, etc) y se obtiene el programa. Colocar
comentarios en los programas.
Objetivo EL PROGRAMA (Cdigo del algoritmo)
Es conveniente darle un nombre al programa
4. Compilacin, ejecucin y verificacin. En las dos primeras fases se traduce
y ejecuta el programa (a esto se llama Corrida del Programa) y en la fase de
verificacin se eliminan los errores de las etapas anteriores. Los errores
pueden ser de sintaxis o lgicos.
Objetivo PROGRAMA SIN ERRORES.
5. Depuracin y mantenimiento. El programa se actualiza y modifica cuando
sea necesario.
Objetivo PROGRAMA ACTUALIZADO.


Ejemplo:
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

173

ENUNCIADO del problema: Calcular el promedio final de un alumno (PromF), si se
ingresan por teclado sus notas promedio parciales en 3 rubros (promedio de
trabajos PT, promedio de prcticas PP y promedio de exmenes PE). Para calcular
el promedio debe tener en cuenta que el promedio de practicas y trabajos tiene
peso 3 y el promedio de exmenes peso 4.

Paso 1: Anlisis del problema
Salida Deseada: Mostrar el promedio final (PromF) de un alumno determinado.
Entradas Requeridas: Las notas promedio parciales en los 3 rubros (PT, PP y PE).
Mtodo a utilizar: Las 3 notas promedio parciales se ingresaran por teclado, se
almacenaran en las variables PT, PP y PE. Luego se realizaran el clculo del
promedio final usando esta formula:
PromF = (PT*3 + PP*3 + PE*4)/10
El resultado se almacenar en una variable PromF, para luego ser mostrada en
pantalla.

Paso2: Diseo del algoritmo en el mtodo principal
Nombre_Proyecto: Proy_PromedioFinal

Algoritmo: Proy_PromedioFinal
ENTRADA: PT, PP , PE
SALIDA: Prom.
Inicio
Real PT,PP,PE
Real PromF
Leer PT,PP,PE
PromF= (PT * 3 + PP * 2 + PE * 4 ) / 10
Escribir PromF
Fin

Se identifica un error, hay un factor que esta errado debe ser as:
PromF = (PT*3+PP*3+PE*4)/10
Se corrige el error y se pasa a la siguiente etapa.
Probarlo con:
PT = 12
PP = 10
PE = 15
Debe salir PromF = 12,6
Pero al evaluar resulta 11.6
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

174

Paso3: Codificacin o implementacin

Programa : Proy_PromedioFinal
namespace Proy_PromedioFinal
{
class Program
{
static void Main(string[] args)
{
float PT,PP,PE;
float PromF;
// 1. Leer PT,PP,PE
Console.Write("Ing. Promedio de Trabajos: ");
PT = float.Parse(Console.ReadLine());
Console.Write("Ing. Promedio de Practicas: ");
PP = float.Parse(Console.ReadLine());
Console.Write("Ing. Promedio de Examenes: ");
PE = float.Parse(Console.ReadLine());
// 2. Calcular el PromF
PromF = (PT * 3 + PP * 3 + PE * 4) / 10
// 3. Escribir PromF
Console.WriteLine("Promedio Final = {0} ", PromF);
Console.ReadLine();
}
}
}
Programa codificado en el lenguaje de programacin C#

Hay un
Error de sintaxis,
falta ; al final de la
sentencia
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

175
Paso 4: Compilacin, ejecucin y verificacin.
Al momento de la ejecucin del programa, se producir un error, que ser emitido as:






Una ventana indicando la existencia de errores, y en la seccin de Lista de errores, se
indica el error o grupo de errores. Este es un error de sintaxis.
Se debe corregir, colocando el punto y coma (;) esperado.

Paso 5. Depuracin y mantenimiento
Podra pedirse modificar el programa por que en la institucin educativa ahora se
tienen dos sistemas de evaluacin 1 (promedio simple) y 2 (como el que tenamos en
este problema).















Se esperaba ;
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

176
EJEMPLOS DE ALGORITMOS UTILZANDO PSEUDOCDIGO:

Problema 1 : Ingrese un nmero entero, luego smele 2 unidades y visualcelo.

ALGORITMO Ejemplo1
VARIABLES
ENTERO A
INICIO
LEER( A )
A A + 2
ESCRIBIR( A )
FIN

Problema 2 : Ingrese 2 nmeros enteros y luego calcule y visualice la suma,
diferencia y producto de los 2 nmeros ingresados.

ALGORITMO Ejemplo2
VARIABLES
ENTERO A, B, Suma, Resta, Producto
INICIO
LEER( A, B )
Suma A + B
Resta A B
Producto A * B
ESCRIBIR(LA SUMA ES:, Suma)
ESCRIBIR( Suma, Resta, Producto)
FIN

Problema 3 : Ingresar un nmero entero y luego calcular y visualizar su 5%.
ALGORITMO Ejemplo3
VARIABLES
ENTERO N
REAL Porcentaje
INICIO
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

177
LEER( N )
Porcentaje N * (5 / 100)
ESCRIBIR( Porcentaje )
FIN

Problema 4 : Ingrese el precio y la cantidad comprada de un producto, luego
calcule y visualice el total a pagar por la compra realizada.
ALGORITMO Ejemplo4
VARIABLES
ENTERO Cantidad
REAL Precio, Total
INICIO
LEER( Cantidad, Precio )
Total Cantidad * Precio
ESCRIBIR( Total )
FIN

Problema 5 : Un tienda comercial ofrece a sus clientes un descuento del 3% del
total de venta, calcular el total a pagar por una compra.
ALGORITMO Ejemplo5
VARIABLES
REAL Vcompra, Descuento, Total
INICIO
LEER(Vcompra)
Descuento Vcompra * 0.03
Total Vcompra Descuento
ESCRIBIR( Total )
FIN

Problema 6 : Una empresa decide otorgar una bonificacin del 5% del haber
bsico por cada hijo a todos sus trabajadores. Calcule el total a pagar a un
trabajador.


Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

178
ALGORITMO Ejemplo6
VARIABLES
ENTERO NroHijos
REAL Hbasico, Bonificacion, Total
INICIO
LEER(Hbasico, NroHijos)
Bonificacion (Hbasico * 0.05) * NroHijos
Total Hbasico + Bonificacion
ESCRIBIR( Total )
FIN

Problema 7 : En la ltima guerra del golfo persico, se determino que de un
pelotn N soldados, el 60% murieron, determinar cuantos soldados
sobrevivieron.
ALGORITMO ejemplo7
VARIABLES
ENTERO Nsoldados, N_Sobrevive, N_Muertos
INICIO
LEER( Nsoldados )
N_Muertos Nsoldados * 0.6
N_Sobrevive Nsoldados N_Muertos
ESCRIBIR( N_Sobrevive )
FIN











Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

179
MICROSOFT .NET - C# - POO

1. MICROSOFT .NET

.NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de
software con nfasis en transparencia de redes, con independencia de plataforma y
que permita un rpido desarrollo de aplicaciones.
.NET puede considerarse una competencia a la plataforma Java de Sun Microsystems.
Con esta plataforma Microsoft incursiona de lleno en el campo de los Servicios Web y
establece el XML como norma en el transporte de informacin en sus productos.

1.1 Caractersticas del .Net Framework (o marco de trabajo)

El "framework" constituye la base de la plataforma .NET, y denota la infraestructura
sobre la cual se renen un conjunto de lenguajes, herramientas y servicios, que
simplifican el desarrollo de aplicaciones en entorno de ejecucin distribuido.

Bajo el nombre .NET Framework se encuentran reunidas una serie de normas
impulsadas por varias compaas adems de Microsoft (como Hewlett-Packard , Intel,
IBM, Fujitsu Software, Plum Hall, la Universidad de Monash e ISE), entre las cuales se
encuentran:
La norma que define las reglas que debe seguir un lenguaje de programacin para
ser considerado compatible con el marco de trabajo .NET (ECMA-335, ISO/IEC
23271).
Esta norma garantiza que todos los lenguajes desarrollados para la plataforma
ofrezcan al programador un conjunto mnimo de funcionalidad, y compatibilidad
con todos los dems lenguajes de la plataforma.
La norma que define el lenguaje C# (ECMA-334, ISO/IEC 23270). Este es el
lenguaje insignia del marco de trabajo .NET, y pretende reunir las ventajas de
lenguajes como C/C++ y Visual Basic en un solo lenguaje.
La norma que define el conjunto de funciones que debe implementar la librera de
clases base (BCL por sus siglas en ingls) (incluido en ECMA-335, ISO/IEC
23271).
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

180
Tal vez el ms importante de los componentes de la plataforma, esta norma define
un conjunto funcional mnimo que debe implementarse para que el marco de
trabajo sea soportado por un sistema operativo. Aunque Microsoft implement
esta norma para su sistema operativo Windows, la publicacin de la norma abre la
posibilidad de que sea implementada para cualquier otro sistema operativo
existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma
independientemente del sistema operativo para el cual haya sido implementada.
El proyecto Mono emprendido por Ximian pretende realizar la implementacin de
la norma para varios sistemas operativos adicionales bajo el marco del software
libre o cdigo abierto.

Los principales componentes del marco de trabajo son:
El conjunto de lenguajes de programacin.
La biblioteca de clases base o BCL.
El entorno comn de ejecucin para lenguajes o CLR por sus siglas en ingls.
Debido a la publicacin de la norma para la infraestructura comn de lenguajes (CLI
por sus siglas en ingls), el desarrollo de lenguajes se facilita, por lo que el marco de
trabajo .NET soporta ya ms de 20 lenguajes de programacin y es posible desarrollar
cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de
ellos, lo que elimina las diferencias que existan entre lo que era posible hacer con uno
u otro lenguaje.
Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual
Basic, Turbo Delphi for .NET C++, J#, Perl, Python, Fortran y Cobol.NET.











Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

181
2. EL LENGUAJE C#

C# (ledo en ingls C Sharp y en espaol C Almohadilla) es el nuevo lenguaje de
propsito general diseado por Microsoft para su plataforma .NET. Sus principales
creadores son Scott Wiltamuth y Anders Hejlsberg, este ltimo tambin conocido por
haber sido el diseador del lenguaje Turbo Pascal y la herramienta RAD Delphi.

Aunque es posible escribir cdigo para la plataforma .NET en muchos otros lenguajes,
C# es el nico que ha sido diseado especficamente para ser utilizado en ella, por lo
que programarla usando C# es mucho ms sencillo e intuitivo que hacerlo con los
otros lenguajes, ya que C# carece de elementos heredados innecesarios en .NET. Por
esta razn, se suele decir que C# es el lenguaje nativo de .NET.

La sintaxis y estructuracin de C# es muy parecida a la de C++ o Java, puesto que la
intencin de Microsoft es facilitar la migracin de cdigos escritos en estos lenguajes a
C#, y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo, su
sencillez y el alto nivel de productividad son comparables con los de Visual Basic.

2.1 Caractersticas de C#

Con la idea de que los programadores ms experimentados puedan obtener una visin
general del lenguaje, a continuacin se recoge de manera resumida las principales
caractersticas de C# Alguna de las caractersticas aqu sealadas no son
exactamente propias del lenguaje sino de la plataforma .NET en general, y si aqu se
comentan es porque tienen una repercusin directa en el lenguaje:
Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son
innecesarios en .NET. Por ejemplo:

El cdigo escrito en C# es autocontenido, es decir no necesita de ficheros
adicionales al propio fuente, tales como ficheros de cabecera o ficheros IDL.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

182
El tamao de los tipos de datos bsicos es fijo e independiente del
compilador, sistema operativo o mquina para quienes se compile lo que
facilita la portabilidad del cdigo.
No se incluyen elementos poco tiles de lenguajes como C++, tales como
macros, herencia mltiple o la necesidad de un operador diferente del punto
(.), y acceder a miembros de espacios de nombres (::)

Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de los aos
ha ido demostrndose son muy tiles para el desarrollo de aplicaciones, y que en otros
lenguajes como Java o C++ hay que simular, como un tipo bsico decimal que permita
realizar operaciones de alta precisin con reales de 128 bits (muy til en el mundo
financiero); la inclusin de una instruccin foreach que permita recorrer colecciones
con facilidad y es ampliable a tipos definidos por el usuario, la inclusin de un tipo
bsico string para cadenas o la distincin de un tipo bool especfico para representar
valores lgicos.

Orientacin a objetos: como todo lenguaje de programacin de propsito general
actual, C# es un lenguaje orientado a objetos, aunque eso es ms bien una
caracterstica del CTS que de C#. Una diferencia de este enfoque orientado a objetos
respecto al de otros lenguajes como C++ es que el de C# es ms puro en tanto que no
admiten ni funciones ni variables globales sino que todo el cdigo y datos han de
definirse dentro de definiciones de tipos de datos, lo que reduce problemas por
conflictos de nombres y facilita la legibilidad del cdigo.

Orientacin a componentes: la propia sintaxis de C# incluye elementos propios del
diseo de componentes que otros lenguajes tienen que simular mediante
construcciones ms o menos complejas. Es decir, la sintaxis de C# permite definir
cmodamente propiedades (similares a campos de acceso controlado), eventos
(asociacin controlada de funciones de respuesta a notificaciones) o atributos
(informacin sobre un tipo o sus miembros).

Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

183
Gestin automtica de memoria: como ya se coment, todo lenguaje de .NET tiene
a su disposicin el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de
que no es necesario incluir instrucciones de destruccin de objetos. Sin embargo,
dado que la destruccin de los objetos a travs del recolector de basura es
indeterminista, y solo se realiza cuando este se active ya sea por falta de memoria,
finalizacin de la aplicacin o solicitud explcita en el fuente-, C# tambin proporciona
un mecanismo de liberacin de recursos determinista a travs de la instruccin using.

Seguridad de tipos: C# incluye mecanismos que permiten asegurar que los accesos
a tipos de datos siempre se realicen correctamente, lo que permite evita que se
produzcan errores difciles de detectar por acceso a memoria no perteneciente a
ningn objeto, y es especialmente necesario en un entorno gestionado por un
recolector de basura. Para ello, se toman medidas del tipo:
Solo se admiten conversiones entre tipos compatibles. Esto es, entre un tipo y
antecesores suyos, entre tipos para los que explcitamente se haya definido un
operador de conversin, y entre un tipo y un tipo hijo suyo del que un objeto del
primero almacenase una referencia del segundo (downcasting). Obviamente, lo
ltimo solo puede comprobarlo en tiempo de ejecucin el CLR y no el
compilador, por lo que en realidad el CLR y el compilador colaboran para
asegurar la correccin de las conversiones.
No se pueden usar variables no inicializadas. El compilador da a los campos un
valor por defecto consistente en ponerlos a cero, y controla mediante anlisis
del flujo de control de la fuente que no se lea ninguna variable local, sin que se
le haya asignado previamente algn valor.
Se comprueba que todo acceso a los elementos de una tabla se realice con
ndices que se encuentren dentro del rango de la misma.
Se puede controlar la produccin de desbordamientos en operaciones
aritmticas, informndose de ello con una excepcin cuando ocurra. Sin
embargo, para conseguirse un mayor rendimiento en la aritmtica estas
comprobaciones no se hacen por defecto al operar con variables, sino solo con
constantes (se pueden detectar en tiempo de compilacin).
A diferencia de Java, C# incluye delegados, que son similares a los punteros a
funciones de C++, pero siguen un enfoque orientado a objetos, pueden
almacenar referencias a varios mtodos simultneamente.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

184

Pueden definirse mtodos que admitan un nmero indefinido de parmetros de
un cierto tipo, y a diferencia lenguajes como C/C++, en C# siempre se
comprueba que los valores que se les pasen en cada llamada sean de los tipos
apropiados.

Instrucciones seguras: para evitar errores muy comunes, en C# se han impuesto
una serie de restricciones en el uso de las instrucciones de control ms comunes. Por
ejemplo, la guarda de toda condicin ha de ser una expresin condicional y no
aritmtica, con lo que se evitan errores por confusin del operador de igualdad (==)
con el de asignacin (=); y todo caso de un switch ha de terminar en un break o goto
que indique cul es la siguiente accin a realizar, lo que evita la ejecucin accidental
de casos y facilita su reordenacin.

Sistema de tipos unificado: En C# todos los tipos de datos que se definan siempre
derivarn, aunque sea de manera implcita, de una clase base comn llamada
System.Object, por lo que dispondrn de todos los miembros definidos en esta clase
(es decir, sern objetos).

Eficiente: en principio, en C# todo el cdigo incluye numerosas restricciones para
asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de
Java, en C# es posible saltarse dichas restricciones manipulando objetos a travs de
punteros. Para ello basta marcar regiones de cdigo como inseguras (modificador
unsafe) y podrn usarse en ellas punteros de forma similar a cmo se hace en C++, lo
que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad
procesamiento muy grandes.

Compatible: para facilitar la migracin de programadores, C# no solo mantiene una
sintaxis muy similar a C, C++ o Java que permite incluir directamente en cdigo escrito
en C# fragmentos de cdigo escrito en estos lenguajes, sino que el CLR tambin
ofrece, a travs de los llamados Platform Invocation Services (PInvoke), la posibilidad
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

185
de acceder a cdigo nativo escrito como funciones sueltas no orientadas a objetos
tales como las DLLs de la API Win32.
3. PROGRAMACIN ORIENTADA A OBJETOS

C# soporta todas las caractersticas propias del paradigma de programacin
orientada a objetos: encapsulacin, herencia y polimorfismo. Para entender el
paradigma orientado a objetos debemos conocer estos conceptos:
3.1 Objetos
Entender qu es un objeto es la clave para entender cualquier lenguaje orientado a
objetos.
Objeto es cualquier cosa real o abstracta que posee atributos (caractersticas o
variables) y un conjunto de mtodos (u operaciones) que manipulan esos atributos.
Ejemplo: supongamos que usted posee un auto que se encuentra estacionado en su
cochera, con estas caractersticas: Ford Mustang, de color rojo y
con una velocidad de recorrido de mximo 250 km/h y que tiene
300 km de recorrido.

Si pasamos del mundo real al mundo informtico, diremos que posee un objeto
automvil con los siguientes valores de sus atributos:
Marca: Ford; Modelo: Mustang; Color: Rojo; VelocidadMax = 250 km/h; y
Recorrido de 300 km; velocidad = 0 km/h

El conjunto de valores de los atributos de un objeto en un determinado
momento representa el estado del objeto.
Los mtodos implementan el comportamiento de los objetos, manipulando las
caractersticas del objeto. As el objeto automvil en mencin, puede acelerar(),
frenar(), etc. La accin de un mtodo puede alterar el estado de un objeto. De modo
que si acta el mtodo acelerar(), la velocidad puede cambiar a 100 km/h, modificando
el estado del automvil.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

186
3.2 Clases.
Es una plantilla genrica para un conjunto de objetos de caractersticas similares.
Representa la abstraccin de las caractersticas ms importantes de un conjunto de
objetos.
En el mundo real existen muchos automviles que poseen una marca, modelo, color,
una velocidad mxima, tienen un recorrido y una velocidad
determinada (caractersticas que todos los objetos similares tiene)
As en el ejemplo se tendra la clase Auto

Los objetos que tengan los mismos atributos y comportamiento
se agrupan en clases.

Una clase es una abstraccin que describe (propiedades y comportamiento)
relevantes para una aplicacin determinada.

Ejemplo: Usted ha ingresado a una librera. Identifique los objetos y las clases en esa
Librera que permita manejar su sistema de ventas:
Pedro que paga factura
Mara que emite factura
Computadora Pentium IV
Gino que paga boleta
Jos que emite una boleta
Libro Fundamentos de Programacin de Luis Joyanes.
Cuaderno Rayado A4 marca Atlas, de 100 hojas

Solucin:
Identificacin de Objetos y clases:
Jos y Mara que emiten factura o boleta, agrupados forman la clase Empleado.
Pedro y Gino que pagan la factura o boleta, agrupados en la clase Cliente.
Libro y Cuaderno que se vende en la librera, agrupados forman la clase Producto.

Ejemplo: La clase celular tiene marca, modelo y color como caractersticas y los
mtodos llamar(), Recibir().

Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

187


Clase Celular
Cadena Marca
Cadena Modelo
Cadena Color
Logico Cargado
Llamar()
Recibir()
Cargar()

Plantilla (un modelo o prototipo) que define
las variables y mtodos comunes a todos los
objetos de cierta clase

ObjetoC1
Marca NOKIA
Modelo 3220
Color Negro
Cargado true
Llamar()
Recibir()
Cargar()
ObjetoC2
Marca MOTOROLA
Modelo W510
Color Rojo
Cargado false
Llamar()
Recibir()
Cargar()

















3.3 Caractersticas ms importantes de la Programacin orientada a Objetos
a) La abstraccin
Consiste en captar las caractersticas esenciales de los objetos, as como su
comportamiento de acuerdo a los requerimientos del problema. Las clases se crean
por abstraccin de las caractersticas y mtodos ms importantes que tiene un
conjunto de objetos de caractersticas similares.
Ejemplo: un conjunto de alumnos ingresantes a una universidad tendrn estas
caractersticas: Nombre, Apellido, Cdigo, Colegio_Procedencia, Categora,
Puntaje_Ingreso y los mtodos Codificar(), Categorizar(), Mostrar() los datos del
alumno.
Ejemplo: un conjunto de productos que se venden en una bodega tendran estas
caractersticas: Codigo, descripcin, precio_unitario, marca, unidades_en_almacen y
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

188
los mtodos: Codificar(), Valorizar() precio del producto, Mostrar() los datos del
producto
Objetos



Cdigo Descripcin Marca Precio Cantidad
P001 Aceite de Oliva 1 L Olivar 5.4 250
P002 Tarro Leche evaporada Gloria 2.1 1050
P005 Margarina 250 g Laive 4.2 90
P007 Harina blanca 1 kg Blanca Flor 3.5 50
Class Producto
Codigo
Descripcin
Marca
Precio
Cantidad
ListarItem()
ActualizarInventario()
ModificarPrecio()

b) Encapsulamiento.
Es la unin en la clase de las caractersticas o atributos (variables) y los mtodos que
manipulan a dichas variables. En el ejemplo anterior, en la clase se han unido los
datos y mtodos constituyendo la clase.

Class Producto

Cdigo
Descripcin
Marca
Precio
Cantidad
ListarItem()
ActualizarInventario()
ModificarPrecio()
c) Mensaje
Un sistema de Objetos trabaja en conjunto. Esto se logra mediante el envo de
mensajes entre ellos. Un objeto enva a otro un mensaje para realizar una operacin,
y el objeto receptor ejecutar la operacin (mtodo).
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

189

El objeto control remoto, enva un mensaje al objeto televisor para que este se
encienda (el objeto televisor tiene el mtodo de encendido() )
El objeto Alumno hace una pregunta al profesor (mensaje) y el objeto Profesor
responde a este mensaje (tiene el mtodo de Responder() )
d) Ocultamiento.
Es la capacidad de ocultamiento del estado (los valores de las caractersticas) de un
objeto, de manera que slo se puede cambiar mediante los mtodos u operaciones
definidas para ese objeto.

En el Ejemplo del auto, slo el mtodo Acelerar()
puede modificar el valor del atributo o caracterstica velocidad de: 0 a ms.
En el ejemplo del celular, slo el mtodo Cargar() puede modificar el valor del atributo
o caracterstica Cargado de: false a true.
Solo el mtodo ModificarPrecio() puede dar alterar el precio de cualquier objeto de la
clase Producto.
Ejemplo: El usuario de una computadora, no esta autorizado a cambiar las
caractersticas de un chip.
Ejemplo: Una persona puede enviar un mensaje pulsando un interruptor (evento) para
que un foco cualquiera, se encienda (el objeto foco de la Clase Foco tiene el mtodo
de encendido() ).


Televisor
Enva mensaje de
encendido
Control Remoto
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

190
e) Herencia.
La herencia bsicamente consiste en que una clase (llamada superclase o clase
padre) puede heredar sus atributos y mtodos a varias clases (llamadas subclases o
clases hijas).
Aquello significa que una subclase, aparte de los atributos y mtodos propios, tiene
incorporados los atributos y mtodos heredados de la superclase. De esta manera se
crea una jerarqua de herencia.
Ejemplo.
La clase Empleado (Clase Padre) tiene atributos nombre, DNI, Sueldo y el mtodo
Mostrar().
La clase Docente (clase hija) tiene los atributos Especialidad, CargaLectiva. Esta clase
puede heredar los atributos nombre, DNI y Sueldo y el mtodo Mostrar().
Ejemplo: supongamos que estamos analizando una empresa que vende celulares
nuevos y tambin repara celulares malogrados. En este caso podramos tener esta
jerarqua de clases:



Celular
Marca
Modelo
Color
Llamar()
Recibir()



Celular_Nuevo
Precio
FechaIngreso

Celular_ParaReparacion
Motivo
Dueo






Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

191
Ejemplo:
Clase Base: Servicio
Clases heredadas: Servico_llamada, Servicio_Impresion, Servicio_Alquiler_Auto.

Servicio
CostoUni
CostoTotal
Cliente
Establece_CostoUni()
ListaDatos()


Servico_llamada
TMinutos
Tarifa_Min
TipoLlamada (Nacional,
Extranjero)


Servicio_Impresion
Nro_Hojas
TarHora



Servicio_Alquiler_Auto
Km_Recorrido
Tipo_Auto
Tar_km




f) Polimorfismo.

Es la propiedad que tiene los mtodos de poseer un mismo nombre aunque con
diferente implementacin, a travs de la jerarqua de clases.
Ejemplo. La clase Empleado (Clase Padre) tiene atributos nombre, DNI, Sueldo y el
mtodo Mostrar(). La clase Docente (clase hija) tiene los atributos Especialidad,
CargaLectiva y el mtodo Calcular_Sueldo(); la clase Docente (clase hija), pero puede
heredar los atributos nombre, DNI y Sueldo y el mtodo Mostrar(). Otra clase
NoDocente (clase hija) tiene los atributos Cargo y el mtodo Calcular_Sueldo()
Ambas mtodos , a pesar de ser de nombres iguales, se implementan de manera
diferente ( con formulas diferentes).

Ejemplo A partir del ejemplo de Servicios. Si se pide calcular el costo por un servicio.
Para calcular el costo, de cada servicio, se usa un conjunto de instrucciones
diferentes, pero puede tener el mismo nombre, por ejemplo CalculaCosto()
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

192


Servicio
CostoUni
CostoTotal
Cliente
Establece_CostoUni()
ListaDatos()
CalculaCosto()


Servicio_llamada
TMinutos
Tarifa_Min
TipoLlamada (Nacional,
Extranjero)
CalculaCosto()

Servicio_Impresion
Nro_Hojas
Tar_Hoja

CalculaCosto()

Servicio_Alquiler_Auto
Km_Recorrido
Tipo_Auto
Tar_km
CalculaCosto()


Ejemplo: En el siguiente ejemplo CalArea() es un mtodo que a pesar de tener el
mismo nombre en las clases Tringulo y Rectngulo se implementan con una frmula
diferente en cada una.


Figura_Geomtrica
Real Base, Altura, Area
Entero Nro_Lados
CalArea()





Tringulo

CalArea()
Su implementacin:
Area = Base*Altura/2

Rectngulo

CalArea()
Su implementacin:
Area = Base*Altura

En lo referente a la encapsulacin, los tpicos modificadores son: public, private y
protected.
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

193

Respecto a la herencia -a diferencia de C++ y al igual que Java- C# solo admite
herencia simple de clases.
Por otro lado y a diferencia de Java, en C# se ha optado por hacer que todos los
mtodos sean por defecto sellados y que los redefinibles hayan de marcarse con el
modificador virtual (como en C++), lo que permite evitar errores derivados de
redefiniciones accidentales.



Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

194





En esta cuarta parte de la asignatura, nuestro conocimiento se ha centrado en la
importancia de los algoritmos, permitiendo la implementacin de cdigos en el
lenguaje de programacin C# , para la solucin de problemas.

Dentro de los algoritmos se ha visto las formas de representacin, Diagramas de Flujo
y pseudocdigo. En un algoritmo, hemos visto e identificado las variables y/o
constantes, la vida de las variables: creacin, inicializacin y utilizacin, los tipos de
datos asociados a los valores que pueden tomar las variables y constantes. Se
concluye con el diseo de los algoritmos.

.Net, como ustedes bien saben y han ledo en pginas anteriores, es un proyecto de
Microsoft para crear una nueva plataforma de desarrollo de software. Y es aqu donde
hemos identificado al C#, siendo este un lenguaje de propsito general diseado por
Microsoft para su plataforma. .Net, su sintaxis y estructura es parecida al C++ o Java,
debido a que la intencin de Microsoft es facilitar la migracin de cdigos escritos en
estos lenguajes a C#.

Luego hemos iniciado los conocimientos bsicos de la programacin Orientada a
Objetos, se ha definido clase, objetos y mtodos. Asimismo se han identificado las
caractersticas bsicas de la POO.
RESUMEN
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

195





LA SOLUCIN DE ALGORITMOS DE LA VIDA DIARIA: DIAGRAMA DE FLUJO
PSEUDOCDIGO

a) A continuacin, elabore los siguientes algoritmos que resuelven problemas
de la vida diaria, resolverlos empleando diagrama de flujo, pseudocdigo
1. Para usar una lavadora (instrucciones que vienen en la mquina).
2. Para usar un VHS.
3. Para hacer recetas de cocina (pasos de la receta).
4. Para llamar por celular.

b) A continuacin, elabore los siguientes algoritmos que resuelven problemas
de la vida diaria, resolverlos empleando diagrama de flujo y pseudocdigo.
1. Un cliente hace un pedido a una fbrica. La fabrica examina en su banco
de datos si el cliente esta activo (no es moroso con sus deudas)
entonces se acepta el pedido, en caso contrario se rechaza.
2. Un cliente llaga a una entidad bancaria para realizar un deposito, el
cajero le pide el nmero de la cuenta y el dinero a depositar, verifica la
existencia de la cuenta, si la cuenta es valida se hace el deposito (al
saldo le aumenta el dinero recibido) de lo contrario devuelve el dinero.
3. En la taquilla de una sala de cine, se pide la identificacin de los
usuarios, se verifica si es mayor de edad (mayores 17 aos) si es as se
cobra el valor de la entrada y se deja pasar, en caso contrario no se deja
entrar.





Actividad Sugerida
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

196

c) Realizar estos algoritmos:
1. Un retiro de dinero por parte de un cliente en una entidad bancaria
2. Crear un algoritmo que describa los pasos necesarios par ir a la
universidad a clase de 7 a.m. tenga en cuenta que si llega 10 minutos
tarde no puede entrar al saln de clase y si al llegar no trae el carnet no
puede entrar a la universidad.
d) Disear algoritmos que resuelvan los posibles problemas que se presentan
para:
1. Ir al cine
2. Reparar un pinchazo de una bicicleta.
3. Hacer una llamada a un compaero.




Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

197




1. Son un conjunto de pasos con un orden lgico para la solucin de un problema
o la ejecucin de alguna tarea, nos referimos a:
a. Un sistema. ( )
b. El algoritmo. ( )
c. El diagrama de flujo. ( )

2. El _______________ describe un algoritmo utilizando una mezcla de frases en
lenguaje comn, instrucciones de programacin y palabras clave que definen
las estructuras bsicas:
a. Diagrama de flujo. ( )
b. Pseudocdigo. ( )
c. Variables. ( )

3. Defina usted qu es una variable:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

4. Los principales componentes del marco de trabajo o framework son:
a. _______________________________________
b. _______________________________________
c. _______________________________________

5. Nombre 3 caractersticas del lenguaje C#:
a. _________________________________________________
b. _________________________________________________
c. _________________________________________________


AUTOEVALUACIN
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

198

6. Defina usted que es Microsoft .NET
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

7. D 4 ejemplos de objetos indicando sus atributos y mtodos
Cuarta Unidad Fundamentos de Computacin e Informtica - Algoritmos

199




La solucin a las preguntas de la autoevaluacin son las siguientes:

1. b
2. b
3. Una variable es un nombre asociado a un elemento de datos que est situado
en posiciones contiguas de la memoria principal, y su valor puede cambiar
durante la ejecucin de un programa.
4. El conjunto de lenguajes de programacin - La biblioteca de clases base o
BCL. El entorno comn de ejecucin para lenguajes o CLR por sus siglas en
ingls.
5. Por ejemplo: sencillez, moderno y orientado a objetos.
6. .NET es un proyecto de Microsoft para crear una nueva plataforma de
desarrollo de software con nfasis en transparencia de redes, con
independencia de plataforma y que permita un rpido desarrollo de
aplicaciones.
7. Ejemplos de objetos y sus mtodos:
Objeto: Foco
Atributos: forma, color, brillantez, luminiscencia, material, tipo (incandescente,
algeno)
Mtodos: brillar()
Objeto: Personaje de un juego
Atributos: comportamiento, tamao, numero de cuadros, sonidos,
personalidad , vidas, poderes
Mtodos: saltar(), correr(), caminar(), morir(), herir(), hablar()
Objeto: Cuaderno
Atributos: material, tipo de encuadernacin, color, cartula, tipo de hoja,
marca
Mtodos: abrir(), cerrar(), arrancar_hoja().
Objeto: Automvil.
Atributos: marca, modelo, kilometraje, consumo de gasolina, color, numero de
ruedas
Mtodos: acelerar(), frenar(), abrir puerta(), cerrar_puerta(), arrancar(),
apagar()

SOLUCIONARIO DE LA AUTOEVALUACIN











QUINTA UNIDAD



Creacin de programas en C#



















Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

203








Estimado alumno:

El objetivo general de esta asignatura en su quinta unidad se centra en el
conocimiento del entorno de C#, sus partes Explorador de soluciones, lista de errores,
etc., la forma correcta de hacer las grabaciones de las aplicaciones y esencialmente la
solucin de problemas que usen instrucciones secuenciales, donde se incluyen
operadores aritmticos, % y datos y mtodos de la clase Math.

En esta unidad usted se familiarizara con la sintaxis del lenguaje C#, para las
instrucciones de declaracin, de entrada de datos, de proceso y de salida de
informacin, asimismo se ampliaran los conocimientos aprendidos en la unidad
anterior.

Se desarrollaran aplicaciones que integren los conocimientos de las diversas reas
como aritmtica (porcentajes, tasas, relaciones), algebra (solucin de ecuaciones),
geometra (figuras geomtricas del plano y espacio), trigonometra (funciones
trigonometricas), fsica (conversin de unidades, formulas bsicas de movimiento),
qumica (unidades), temas comerciales, etc.

INTRODUCCIN
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

204



















CREACIN DE
PROGRAMAS
EN C#
1. ESPACIOS DE NOMBRES
3.1 Palabras reservadas
3.2 Identificadores
3.3 Operadores:
a)Operadores Aritmticos -
Operaciones Aritmticas
b)Operadores Lgicos -
Operaciones lgicas
c)Operadores Relacionales
d)Operadores de Asignacin
e)Operador de concatenacin de
cadenas.
2. APLICACIONES DE CONSOLA
3. ALGORITMOS Y
ELEMENTOS BSICOS DEL
LENGUAJE DE
PROGRAMACIN
a) Instrucciones para la Salida de
Informacin.
b) Instrucciones para Entrada de Datos.
c) Instrucciones de asignacin
Clculos.
d) Campos y mtodos de la clase Math.
4. INSTRUCCIONES
SECUENCIALES
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

205


Antes de crear programas en C# identifiquemos algunas caractersticas del entorno y
del lenguaje C#.
1. Espacios de nombres (namespaces)
Los espacios de nombres es un modo sencillo y muy eficaz de tener todas las clases
perfectamente organizadas, tanto las que proporciona el .NET Framework como las
que podamos escribir nosotros. El mas usado por nosotros ser System.

2. Aplicaciones de consola.
Las aplicaciones de consola no poseen una interfaz grfica, no tienen botones o
ventanas, poseen una interfaz basada en texto. Para desplegar texto usaremos el
mtodo WriteLine() que esta en el namespace System

3. Pasos para la creacin de un Programa en C#
Paso 1: En el botn Inicio de la barra de tareas.
Seleccione Programas Microsoft Visual Studio 2005, y elija el icono

Paso 2: En la pagina de Inicio de Microsoft Visual Studio.





CREACIN DE PROGRAMAS
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

206
En el Men Archivo, seleccionar Nuevo Proyecto
Paso 3: En la ventana Nuevo proyecto.
En la seccin Tipos de Proyecto - Otros Lenguajes, seleccione Visual C#.
En la seccin Plantillas, seleccione Aplicacin de Consola

Seleccione el Nombre por defecto ConsoleApplication1, para ser reemplazado por
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

207
uno ms adecuado, con el que se identificara la aplicacin, ejemplo HolaMundo
(clsico ejemplo de inicio). Aparece una ventana como muestra la figura anterior. Alli
puede apreciarse El explorador de soluciones y la ventana Lista de errores en la
seccin inferior.

En la lnea donde se muestra el cursor estamos listos para empezar a codificar el
programa.
Luego debemos guardar toda la aplicacin, haciendo clic en los disquetes, aparece
una ventana as, donde hay que seleccionar el lugar donde se guardara la aplicacin.

Donde puede renombrar el proyecto. Hacer clic en guardar.
La seccin de directivas using
Muestra los espacios de nombres que la aplicacin utilizar con frecuencia y evita que
el programador tenga que especificar un nombre completo cada vez que se utiliza un
mtodo contenido dentro.
DIRECTIVA using System; // en la seccin de directivas
Sin using System; Con using System
System.Console.WriteLine(Hola Mundo!); Console.WriteLine(Hola Mundo!);

Paso 4: Se graba todo, haciendo clic en el icono de los disquetes o Menu Archivo,
seleccionar Guardar Todo, surge la ventana GuardarProyecto, que permite darle
nombre al proyecto, a la solucin y su ubicacin.
Este tpico programa de iniciacin, lo nico que hace al compilarse con CTRL - F5, es
mostrar por pantalla el mensaje: Hola Mundo!
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

208
En las tablas que siguen se mostrara los algoritmos en forma de: Diagramas de Flujo o
pseudocdigo y el cdigo en el lenguaje de Programacin C#.
Ejemplo1: Mostrar en pantalla el saludo Hola Mundo!
Pseudocdigo Cdigo - C#
Entrada:
Salida: Mensaje Hola Mundo!

Inicio

Escribir Hola Mundo!

Fin
using System;
namespace HolaMundo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("!Hola Mundo!");
}
}
}
Dentro de la class Program se encuentra el mtodo Main()
La partcula void que antecede al mtodo Main(), significa que no se devuelve nada.
Por su parte, los parntesis colocados tras el nombre del mtodo Main () indican
cules son los parmetros que este toma, y el que estn vacos ( ) significa que el
mtodo no toma ninguno. Los parmetros de un mtodo permiten modificar el
resultado de su ejecucin en funcin de los valores que se les d en cada llamada. La
palabra static, que antecede a la declaracin del tipo de valor devuelto, es un
modificador del significado de la declaracin de mtodo, que indica que el mtodo
est asociado a la clase dentro de la que se define y no a los objetos que se creen
a partir de ella.
Main() es lo que se denomina el punto de entrada de la aplicacin, es decir es el
mtodo por el que comenzar su ejecucin. Necesita del modificador static para evitar
que para llamarlo haya que crear algn objeto de la clase donde se haya definido.
Finalmente, la instruccin con el cdigo a ejecutar, lo que se hace es invocar la
ejecucin del mtodo WriteLine() de la clase Console, definida en el espacio de
nombres System pasndole como parmetro la cadena de texto con el contenido.
Hola Mundo! Ntese que las cadenas de textos son secuencias de caracteres
delimitadas por comillas dobles, aunque dichas comillas no forman parte de la cadena.
El mtodo WriteLine ( ) se usar muy a menudo en los prximos temas, por lo que es
conveniente sealar ahora que una forma de llamarlo, consiste en pasarle un nmero
indefinido de otros parmetros de cualquier tipo e incluir en el primero subcadenas de
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

209
la forma {i}. Por ejemplo, la siguiente instruccin mostrara Tengo 25 aos por pantalla
si x valiese 25:


Es importante resaltar que C# es sensible a las maysculas, los que significa
que, no es lo mismo escribir Console que COnsole o CONSOLE, y si se
hace de alguna de las dos ltimas formas el compilador producir un error
debido a que en el espacio de nombres System no existe ninguna clase con
dichos nombres.

4. Algoritmos y elementos bsicos del lenguaje de programacin
Los principios bsicos a tener en cuenta en el desarrollo de programas en C# son:
Todo el cdigo escrito en C# puede ser tratado como un objeto.
La sintaxis de C# es bastante semejante a la de C++ y Java.
El lenguaje es orientado a objetos y adems orientado a componentes.
Se utiliza un modelo de definicin en la declaracin, una unidad de C#
contiene todas las declaraciones y definiciones necesarias para implementar
la clase o clases relacionadas.

4.1 Palabras reservadas
A la serie de restricciones para dar nombres vlidos a los identificadores en C#, falta
una: los siguientes nombres no son vlidos como identificadores ya que tienen un
significado especial en C#:
PALABRAS RESERVADAS EN C#
abstract, as, base,
bool, break, byte, case,
catch, char, checked, class, const, continue,
decimal, default, delegate, do, double,
else, enum, event, explicit, extern,
false, finally, fixed, float, for, foreach,
goto,
if, implicit, in, int, interface, internal, is,
lock, long,
namespace, new, null,
object, operator, out, override,
params, private,protected, public,
readonly, ref, return,
sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch,
this, throw, true, try, typeof,
uint, ulong, unchecked, unsafe, ushort, using,

virtual, void, while
Console.WriteLine("Tengo {0} aos", x);
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

210
4.2 Identificadores
Al igual que en cualquier lenguaje de programacin, en C# un identificador es un
nombre con el que se identifica algn elemento del cdigo, ya sea una clase, una
variable, un mtodo, etc. Este nombre pude formarse de una secuencia de cualquier
nmero de caracteres alfanumricos - incluidas vocales acentuadas y ees - tales que
el primero de ellos no sea un nmero. Por ejemplo: caa, C3P0, , etc; pero no lo
seran 3com, 127, etc.
No se recomienda, pero C# permite incluir dentro de un identificador
caracteres especiales tales como smbolos de diresis, subrayados, etc.
siempre y cuando estos no tengan un significado especial dentro del
lenguaje. Ejemplo, _barco_, ck y AB; pero no C# (# indica inicio de directiva
de preprocesado) o a!b (! indica operacin lgica not).

4.3 Operadores
Un operador en C# es un smbolo formado por uno o ms caracteres que permite
realizar una determinada operacin entre uno o ms datos y produce un resultado.
A continuacin, se describen cules son los operadores incluidos en el lenguaje
clasificados segn el tipo de operaciones que permiten realizar, aunque hay que tener
en cuenta que C# permite la redefinicin del significado de la mayora de los
operadores, segn el tipo de dato sobre el que se apliquen.

a) Operadores Aritmticos - Operaciones Aritmticas
Los operadores aritmticos incluidos en C# son los tpicos de suma (+), resta (-),
producto (*), divisin (/) y mdulo (%). Tambin se incluyen operadores de menos
unario () y ms unario (+).
OPERADORES ARITMTICOS
Pseudocdigo Cdigo - C# Significado - Ejemplo:
+ - * / + - * /
Suma, resta, multiplicacin y
divisin. Ejm: A + B
Resto de A / B %
Modulo, resto de la divisin
entera. Ejm: A % B
- + - +
Menos unario y mas unario.
Ejm: -X
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

211

b) Operadores Lgicos - Operaciones lgicas
Se incluyen operadores que permiten realizar las operaciones lgicas tpicas: and
(&& y &), or (|| y |), not (!).

OPERADORES LGICOS
Pseudocdigo Cdigo - C# Significado - Ejemplo:
Y ( and ) && & Ejem: x && y
O ( or ) || | Ejem: x || y
No ( not ) ! Ejem: ! x

Los operadores && y || se diferencian de & y | en que los primeros realizan
evaluacin perezosa y los segundos no.
La evaluacin perezosa consiste en que si el resultado de evaluar el primer
operando permite deducir el resultado de la operacin, entonces no se evala
el segundo y se devuelve dicho resultado directamente, mientras que la
evaluacin no perezosa consiste en evaluar siempre ambos operandos. Es
decir, si el primer operando de una operacin && es falso se devuelve false
directamente, sin evaluar el segundo; y si el primer operando de una || es
cierto se devuelve true directamente, sin evaluar el otro.


c) Operadores Relacionales
Se han incluido los tradicionales operadores de igualdad (==), desigualdad (!=), mayor
que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).
OPERADORES RELACIONALES
Pseudocdigo Cdigo - C# Significado - Ejemplo:
= == != Igualdad - Desigualdad
> < > < Menor que Mayor que
>= <= >= <=
Mayor o igual que - Menor o
igual que

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

212
d) Operadores de Asignacin Operaciones de Asignacin.
Para realizar asignaciones en C#, se usa el operador =, operador que adems de
realizar la asignacin que se le solicita devuelve el valor asignado. Por ejemplo, la
expresin a = b asigna a la variable a el valor de la variable b y devuelve dicho valor,
mientras que la expresin c = a = b asigna a las variables c y a el valor de b (el
operador = es asociativo por la derecha).
Tambin se utilizan operadores de asignacin compuestos como:
OPERADORES DE ASIGNACIN
Pseudocdigo Cdigo - C# Significado
Temp = Temp +15 Temp = Temp + 15
Temp += 15 //Asig. Compuesta
X = X 5
X = X * 5
X = X / 5
X = Resto X / 5

X = X 5 o X -= 5
X = X * 5 o X *= 5
X = X / 5 o X /= 5
X = X % 5 o X %=5

Se evala primero el lado
derecho y el resultado se asigna
a la variable del lado izquierdo.
Ejm:
Si Temp es 5, despus de la
instruccin de asignacin Temp
valdr 20
Adicional: Aparte del operador de asignacin compuesto +=, tambin se ofrecen
operadores de asignacin compuestos para la mayora de los operadores binarios ya
vistos. Estos son: +=, -=, *=, /=, %=, &=, |=, ^=, <<= y >>=. Ntese que no hay
versiones compuestas para los operadores binarios && y ||.
Otros dos operadores de asignacin incluidos son los de incremento(++) y decremento
(--). Estos operadores permiten, respectivamente, aumentar y disminuir en una unidad
el valor de la variable sobre el que se aplican. As, estas lneas de cdigo son
equivalentes:

OPERADORES DE ASIGNACIN - INCREMENTO
Pseudocdigo Cdigo - C# Significado
Hora = Hora +1
Hora += 1 // Asig. Compuesta
Hora = Hora + 1
Hora++ // Incremento
Se evala primero el lado
derecho y el resultado se asigna
a la variable del lado izquierdo.
Ejm:
Si Hora es 5, despus de la
instruccin de asignacin Hora
valdr 6

Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

213
Adicional: Si el operador ++ se coloca despus del nombre de la variable devuelve
el valor de la variable antes de incrementarla, pero si se coloca antes, devuelve el
valor de esta despus de incrementarla. Lo mismo ocurre con el operador --. Por
ejemplo:
Post y Pre C# Equivalencia C# C# Ejemplo:
C = b++; C = b; b = b+1; Si b = 10, C=10 y b = 11
C = ++b; b = b + 1; C = b; Si b = 10, C=11 y b = 11

La ventaja de usar los operadores ++ y -- es que en muchas mquinas son ms
eficientes que el resto de formas de realizar sumas o restas de una unidad.

d) Operador de concatenacin de cadenas
Para realizar operaciones de concatenacin de cadenas se puede usar el mismo
operador que para realizar sumas (operador +), ya que en C# se ha redefinido su
significado para que cuando se aplique entre operandos que sean cadenas o que sean
una cadena y un carcter, lo que haga sea concatenarlos (unirlos). Por ejemplo:
Ejemplo2: Concatenar (unir) los nombres y apellidos usando el operador + . Los
nombres y apellidos son asignados al empezar el programa.

Pseudocdigo Cdigo- C#: Proy_NomCompleto
Entrada: PNom, SNom, Apell
Salida: NomComp

Inicio
Cadena PNom=Gladys
Caracter SNom=H
Cadena Apell = Garcia
Cadena NomComp

NomComp = PNom, ,SNom,.,Apell

Escribir NomComp

Fin
using System;

namespace Proy_NomCompleto
{
class Program
{
static void Main(string[] args)
{
string PNom = "Gladys";
char SNom = 'H';
string Apell = "Garcia";
string NomComp;
NomComp = PNom + " " + SNom + "." + Apell;
Console.WriteLine(NomCompleto);
}
}
}
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

214
Pulse Ctrl F5
En este ejemplo lo que se unen o concatenan son: la cadena PNom, el
carcter SNom y la cadena Apell, unidas por las cadenas (vaca) y el
punto .

4.4 Instrucciones Secuenciales.
Se ejecutan una detrs de otra. La ejecucin de una instruccin
implica la ejecucin de la inmediatamente siguiente y as
sucesivamente desde el inicio del programa hasta su final.
Los ejemplos anteriores son estructuras de control secuenciales.
Algoritmo Pseudocdigo Lenguaje de Programacin C# - Cdigo
Entrada:
Salida:
Inicio

Instrucciones o sentencias

Fin
using System;
namespace ejemplo
{
class Program
{
static void Main(string[] args)
{
// Instrucciones
}
}
}
Las instrucciones son el conjunto de pasos que forman parte del programa.
Las instrucciones se ejecutan una a continuacin de la otra.

Las instrucciones o sentencias ms comunes son:

a) Instrucciones de Salida de Informacin.
Mecanismos que se emplean para conocer el resultado de un algoritmo. Muestra
informacin a travs de un dispositivo de salida (por defecto la pantalla del
monitor).





Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

215
Instruccin de Salida de Informacin
Diagrama de Flujo Pseudocdigo Cdigo C#


Escribir !Hola Mundo! Console.WrileLine(Hola Mundo!);
Muestra en pantalla el
mensaje que esta entre
comillas dobles
Muestra en pantalla el
mensaje que esta entre
comillas dobles
Muestra en pantalla el mensaje
que esta entre comillas dobles
Instruccin de Salida de Informacin
Diagrama de Flujo Pseudocdigo Cdigo C#

Escribir Sueldo = ,S Console.WrileLine(Sueldo = {0} ,S);
Muestra en pantalla el
valor actual de la
variable S
Muestra en pantalla la
cadena que esta entre
comillas dobles y el valor
actual de la variable S
Muestra en pantalla la cadena
que esta entre comillas dobles
insertando en 0 el valor actual
de la variable S


b) Instrucciones de Entrada de Datos.
Mecanismos que se emplean para ingresar los datos que el algoritmo necesita
para obtener los resultados deseados. Los datos se ingresan a travs de un
dispositivo de entrada de datos (por defecto el teclado).

Instruccin para Entrada de Datos
Diagrama de Flujo Pseudocdigo Cdigo C#

Leer Apellido Apellido=Console.ReadLine();
Permite ingresar por
teclado una cadena de
caracteres.
Permite ingresar por
teclado una cadena de
caracteres.
Permite ingresar por teclado
una cadena de caracteres que
se asigna a la variable string
Apellido

Apellido
Hola Mundo
S
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

216
Instruccin de Entrada de Datos
Pseudocdigo C# Explicacin
Los datos ingresados por teclado, a travs de Console.ReadLine() son por
defecto Cadena de Caracteres, pero mediante tipo_de_Dato.Parse, se convierte al
tipo de dato que se requiera.
Leer x X = double.Parse(Console.ReadLine());
La cadena de caracteres
ingresada por teclado, se
convierte en dato real (double)
y se asigna a X
Leer J J = int.Parse(Console.ReadLine());
La cadena de caracteres
ingresada por teclado, se
convierte en entero (int) y se
asigna a J.
Leer EstCiv EstCiv=char.Parse(Console.ReadLine());
La cadena de caracteres
ingresada por teclado, se
convierte en caracter (char) y
se asigna a EstCiv.

Ejemplo3:Mostrar Saludo, que incluya el nombre de la persona(ingresado por teclado)
Algoritmo Pseudocdigo: Proy_Saludo
Entrada: Nombre
Salida: Mensaje que incluye el Nombre
Inicio
Cadena Nombre
Leer Nombre
Escribir Soy ,Nombre, Hola Mundo!
Fin
Lenguaje de Programacin C# - Cdigo: Proy_Saludo
using System;
namespace Saludo
{
class Program
{
static void Main(string[] args)
{ // Declaracion de Variables
string Nombre;
// 1. Leer Nombre (ingresado por teclado)
Console.Write("Ingrese su nombre:");
Nombre = Console.ReadLine();
// 2.Escribir Mensaje de saludo que incluye Nombre
Console.WriteLine("Soy {0} Hola Mundo ", Nombre);
}
}
}
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

217
La ltima instruccin muestra en la pantalla la cadena de caracteres que esta entre
comillas dobles, insertando en {0} el Nombre ingresado.
Ejecutar con CTRL F5

Ejemplo 4: Mostrar Saludo, que incluya el nombre y edad de de la persona. Estos
datos son ingresados por teclado.
Algoritmo Pseudocdigo: Proy_Saludo1
Entrada: Nombre, Edad
Salida: Presentacin que incluye Nombre y Edad
Inicio
Cadena Nombre
Entero Edad
Leer Nombre, Edad
Escribir Soy , Nombre, tengo , Edad , aos
Fin
Cdigo en Lenguaje de Programacin C#: Proy_Saludo1
using System;
namespace Mensaje
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variabes
string Nombre;
int Edad;
// 1. Leer Nombre y Edad
Console.Write("Ing. su nombre:");
Nombre = Console.ReadLine();
Console.Write("Ing. su edad:");
Edad = int.Parse(Console.ReadLine());
// 2. Escribir Nombre, tiene , Edad , aos
Console.WriteLine("Soy {0} tengo {1} aos",Nombre,Edad);
}
}
}

Para hacer mas amigable el ingreso de datos, se combinan los mtodos Write y
ReadLine(). El primer mtodo Write() escribe el mensaje que va entre comillas
dobles, manteniendo el cursor a continuacin del mensaje. Su funcin es
recordarnos lo que se va a ingresar.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

218
La diferencia entre los mtodos Write() y WriteLine() es que el segundo muestra
el mensaje que va entre comillas y luego el cursor salta a la siguiente lnea.

c) Instrucciones de Asignacin - Operaciones de Clculo.
Mecanismos que se emplean para procesar los datos de entrada para obtener la
informacin deseada.
Instruccin para Operaciones de clculo Instruccin de Asignacin
Diagrama de Flujo Pseudocdigo Cdigo C#

Area = base * Altura Area = base * Altura;
Se evala la expresin de la derecha y el resultado se asigna a la variable del lado izquierdo.

Ejemplo 5: Ingresado por teclado los apellidos de una pareja de esposos y sus
sueldos respectivos. Calcular y mostrar los ingresos de la familia.

Algoritmo Pseudocdigo: Proy_Familia
Entrada: ApellEsposo, ApellEsposa, sEsposo,sEsposa
Salida: IngFam
Inicio
Comentario0: Declaracin de variables y constantes
Cadena ApellEsposo, ApellEsposa
Real sEsposo,sEsposa
Leer ApellEsposo, ApellEsposa
Leer sEsposo, sEsposa
Comentario1 calcular el sueldo familiar
IngFam = sEsposo + sEsposa
Escribir Los ingresos de la Familia , ApellEsposo, ApellEsposa, es S/. , IngFam
Fin
Cdigo en Lenguaje de Programacin C#: Proy_Familia
using System;
namespace ejemplo
{
class Program
{
static void Main(string[] args)
{
// Declaracion de variables
string ApellEsposo,ApellEsposa;
double sEsposo, sEsposa;
Area= base*Altura
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

219
double sFam;
// 1. Leer los Apellidos de los esposos
Console.Write("Ingrese Apellido del Esposo ");
ApellEsposo = Console.ReadLine();
Console.Write("Ingrese Apellido de la Esposa ");
ApellEsposa = Console.ReadLine();
// 2. Leer los sueldos de los esposos
Console.Write("Ingrese Sueldo del Esposo {0} ",ApellEsposo);
sEsposo = double.Parse(Console.ReadLine());
Console.Write("Ingrese Sueldo de la Esposa {0} ",ApellEsposa);
sEsposa = double.Parse(Console.ReadLine());
// 3. Calcular el sueldo familiar (sFam)
sFam = sEsposo + sEsposa;
// 4. Escribir mensaje que incluye los apellidos de la Familia y el sFam
Console.WriteLine("Los Ingresos de la familia {0} {1} es S/. {2} ", ApellEsposo, ApellEsposa,sFam);
}
}
}



Ejemplo6. Ingresado por teclado el tiempo en segundos que un atleta entrena
al dia, mostrar su equivalente en horas, minutos y segundos.
Algoritmo Pseudocdigo: Proy_Atleta
ENTRADA: TiempoS
SALIDA:TH, TMin, TSeg
Inicio
Entero TiempoS
Entero TH, TMin, TSeg
Leer TiempoS
Comentario1. Calcular TH, TMin, TSeg
TH = Cociente de TiempoS/3600
TiempoS = Resto de dividir TiempoS/3600
TMin = Cociente de TiempoS/60
TSeg = Resto de dividir TiempoS/60
Escribir Hay , TH, Horas , TMin, Minutos , TSeg , Seg
Fin
Cdigo en Lenguaje de Programacin C#: Proy_Atleta
using System;
namespace Proy_tiempo
{
class Program
{
static void Main(string[] args)
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

220
{
// Declaracion de variables
int TiempoS;
int TH, TMin, TSeg;

// 1. Leer Tiempo de entrenamiento en segundos (TiempoS)
Console.Write("Ing. tiempo de entrenamiento en segundos:");
TiempoS = int.Parse(Console.ReadLine());

// 2. Calcular su equivalente en horas, minutos y segundos TH, TMin y TSeg
TH = TiempoS/3600;
TiempoS = TiempoS % 3600;
TMin = TiempoS / 60;
TSeg = TiempoS % 60;

// 3. Escribir Los tiempos en TH, TMin, TSeg
Console.WriteLine("Hay {0} Horas {1} Minutos {2} Seg ", TH, TMin, TSeg);
}
}
}

d) Campos y mtodos de la clase Math.
En las instrucciones de clculo, se utilizan funciones o mtodos matemticos que se
encuentran en la clase Math, del espacio de nombres System.
Aqu mostramos un resumen de los campos y mtodos pblicos ms usuales:
Campos y Mtodos de la clase Math
Pseudocdigo Cdigo C# Significado
E Math.E
Representa la base logartmica natural, especificada
por la constante, e.
PI
Math.PI
Representa la relacin entre la longitud de la
circunferencia de un crculo y su dimetro (la constante
)
Absoluto( ) Math.Abs( )
Devuelve el valor absoluto de un nmero especificado.
Seno( ) Math.Sin( )
Devuelve el seno del ngulo (en radianes) especificado.
Ejm:
Console.WriteLine(Math.Sin(Math.PI/6));
Coseno( ) Math.Cos( )
Devuelve el coseno del ngulo (en radianes)
especificado.
Tangente( )
Math.Tan()
Devuelve la tangente del ngulo (en radianes)
especificado.
Exponente( ) Math.Exp( ) Devuelve e elevado a la potencia especificada.
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

221
Maximo( )
Math.Max( )
Sobrecargado. Devuelve el mayor de dos nmeros
especificados.
Minimo( )
Math.Min( ) Sobrecargado. Devuelve el menor de dos nmeros.
Logaritmo( )
Math.Log( )
Sobrecargado. Devuelve el logaritmo neperiano de un
nmero especificado.
Logaritmo10( )
Math.Log10( )
Devuelve el logaritmo en base 10 de un nmero
especificado.
Potencia( )
Math.Pow( )
Devuelve un nmero especificado elevado a la potencia
especificada. Ejm:
Console.WriteLine(Math.Pow(2,4));
Redondeo( )
Math.Round( )
Sobrecargado. Devuelve el nmero ms prximo al
valor especificado.
Signo( )
Math.Sign( )
Sobrecargado. Devuelve un valor que indica el signo de
un nmero.
RaizC( )
Math.Sqrt ( )
Devuelve la raz cuadrada de un nmero especificado.
Console.WriteLine(Math.Sqrt (4));
ArcoCoseno( )
Math.Acos( )
Devuelve el ngulo cuyo coseno es el nmero
especificado.
ArcoSeno( )
Math.Asin( )
Devuelve el ngulo cuyo seno es el nmero
especificado.
ArcoTangente( )
Math.Atan( )
Devuelve el ngulo cuya tangente corresponde al
nmero especificado. Ejm:
Console.WriteLine(Math.Atan(1));

Ejemplo7: Ingresado por teclado los catetos de un triangulo rectangulo. Calcular y
mostrar el area, perimetro y los angulos agudos de dicho triangulo.
Algoritmo Pseudocdigo: Proy_Triangulo
ENTRADA: cat1,cat2
SALIDA: area,peri,alfa1,alfa2
Inicio
Constante cadena NFigura = Triangulo Rectangulo
Real cat1,cat2, hip, area, peri, alfa1,alfa2
Leer cat1, cat2
Comentario1: Calcular hip usando mtodos
hip = raizC(potencia(cat1,2) + raizC(potencia(cat2,2))
Comentario2: Calcular area, peri usando formulas
area =cat1*cat2/2
peri = cat1 + cat2 + hip
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

222
Comentario3: Calcular alfa1 y alfa2 usando mtodos y convertir a grados sexages.
alfa1 = ArcoSeno(cat1/hip)*180/3.1416
alfa2 = ArcoSeno(cat2/hip)*180/3.1416
Comentario4: Escribir los resultados area, peri, alfa1 y alfa2
Escribir NFigura
Escribir "El area = , area, y el perimetro = ", peri
Escribir "Los angulos agudos son ",alfa1 , y , alfa2
Fin
Cdigo en Lenguaje de Programacin C#: Proy_Triangulo
using System;
namespace Ejem01f
{
class Class1
{
static void Main(string[] args)
{
// Declaracion de variables y constantes
const string NFigura = "Triangulo Rectangulo";
double cat1,cat2; // variables de entrada
double hip; // variables de trabajo
double area,peri,alfa1,alfa2; // variables de salida
// 1. Leer catetos (cat1 y cat2)
Console.Write("Ing. Cateto 1 : ");
cat1 = double.Parse(Console.ReadLine());
Console.Write("Ing. Cateto 2 : ");
cat2 = double.Parse(Console.ReadLine());
// 2. Calcular la hipotenusa
hip = Math.Sqrt(Math.Pow(cat1,2)+ Math.Pow(cat2,2));
// 3. Calcular del area y perimetro
area = cat1*cat2/2;
peri = cat1+cat2+hip;
// 4. Calcular de los angulos agudos alfa1 y alfa2 y convertirlos a grados sexagesimales
alfa1 = Math.Asin(cat1/hip)*180/Math.PI;
alfa2 = Math.Asin(cat2/hip)*180/Math.PI;
// 5. Escribir resultados del triangulo Rectangulo
Console.WriteLine("Datos del {0} ",NFigura);
Console.WriteLine("El area = {0} y el perimetro = {1}",area,peri);
Console.WriteLine("Los angulos agudos son {0} y {1} ",alfa1 , alfa2 );
}
}
}





Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

223






En esta quinta unidad de la asignatura, nuestro conocimiento se ha centrado en el
entorno de Visual Studio - C# modo consola, sus elementos bsicos y la creacin de
los programas que permitan implementar algoritmos formado por instrucciones
secuenciales, para la solucin de problemas.

Usted se ha familiarizado con el entorno de visual Studio 2005 C# y con la sintaxis
que exige el lenguaje, el uso de la variables y constantes, tipos de datos que aprendi
en la unidad anterior. En los problemas desarrollados se incluyeron los operadores
aritmticos, el operador % para la divisin entera y la concatenacin de cadenas,
asimismo se hizo uso de los campos y mtodos de la clase Math y el orden de
prioridad de los operadores.

Luego usted habr apreciado que hemos trabajado dentro de una clase llamada
Program que tiene el mtodo principal Main() que se genera automticamente al crear
un proyecto. Posteriormente en la asignatura de Algoritmos avanzados usted crear
sus propias clases.

En conclusin, hemos desarrollado proyectos sencillos usando las instrucciones de
declaracin, de entrada de datos, de salida de informacin, de asignacin que incluyen
funciones o mtodos matemticos de la clase Math. El conocimiento de esta unidad
ser la base para la siguiente unidad.
RESUMEN
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

224





Complete las siguientes oraciones:

Figuras Geomtricas:
1. Calcular y mostrar el rea de las siguientes figuras geomtricas:
a. Crculo, ingresado por teclado el radio
b. Tringulo, ingresado por teclado la base y altura
c. Rectngulo, ingresado por teclado la base y altura.

2. Hacer un algoritmo que permita calcular el rea y el volumen de un prisma recto de
base rectangular. Para ello debe ingresar por teclado el largo, ancho y la altura. El
rea de un rectngulo es largo * ancho. El volumen de un prisma recto es rea
base * altura.

Orden de prioridad de los operadores
3. Ingresados por teclado los valores para X e Y , calcular y mostrar el resultado de la
siguientes funciones:
a. X
2
+ 2XY + Y
3

b. Y
3
+ 3X 4
c. X
Y
+ XY + 3Y
d. Y
X
2Y + XY Y
3

Fsica.
4. Calcular el espacio recorrido por un mvil en MRUV, despus de transcurrido una
cantidad de tiempo en segundos TS, si parte del reposo y tiene una aceleracin A
en m/s2. El tiempo y la aceleracin deben ser ingresados por teclado.
Espacio = velocidad_Inicial * tiempo + aceleracin* tiempo
2
/2

Algebra:
5. Resolver esta ecuacin de primer grado. A x + B = C. Conocidos A, B y C
(ingresados por teclado) hallar X.

ACTIVIDAD SUGERIDA
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

225
Matemticas
6. Conocidos las coordenadas de dos puntos, hallar la pendiente de la recta que
los une.
M = (y2 y1)/(x2-x1)

Aritmtica
7. Una entidad financiera ofrece una tasa de inters simple del 12% sobre el
monto depositado. Se debe solicitar al usuario que ingrese el monto de dinero
que desea depositar y el tiempo (meses) que lo mantendr en el banco. Para
calcular el inters simple se utiliza la siguiente formula: Inters = Capital * Tasa
* Tiempo

Trigonometra:
8. Ingresado por teclado los catetos de un triangulo rectngulo, calcular la
hipotenusa, el permetro y los ngulos agudos de dicho triangulo.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

226




1. Complete las siguientes oraciones:
a) Todo programa en C# se inicia en el mtodo _____
b) Las instrucciones en C# terminan en ____
c) La ___ comienza el cuerpo de todo mtodo y ____ termina el cuerpo de un
mtodo.
d) Los comentarios de una lnea empiezan en ___
e) Los comentarios de mas de una lnea empiezan en ____ y terminan en ____

2. Indique la verdad o falsedad de las siguientes oraciones:
a) Todas las variables deben ser declaradas antes de utilizarse. ( )
b) Los operadores / * + - tienen el mismo nivel de precedencia. ( )
c) El operador % (modulo) debe usarse solo con operandos enteros.( )
d) En C# las variables Nombre y NOMBRE son idnticas.( )

3. Indique y explique cual es la salida en pantalla de estas expresiones
a) Console.WriteLine(Mi nombre es {0} y mi edad es {1} , Nombre, Edad);
b) Console.Write(Hola Chicos, Bienvenidos!!! );
c) Variable = Console.ReadLine();

4. Identifique el error en estas expresiones en C#
a) Console.WriteLine(Mi nombre es {0} y mi edad es {2} , Nombre, Edad);
b) int Edad = double.Parse(Console.ReadLine());
c) Area = Math.PI * Pow(radio,2);

5. Declare:
a) Estas variables enteras x,u,r
b) Una variable que puede almacenar h , 6 , =
c) Una variable que puede almacenar Av. La Mar 110 Av Julio C Tello 118
d) Una variable que puede almacenar true o false
AUTOEVALUACIN
Quinta Unidad Fundamentos de Computacin e Informtica - Algoritmos

227




1. Complete las siguientes oraciones:
a) Todo programa en C# se inicia en el mtodo Main()
b) Las instrucciones en C# terminan en ;
c) La { comienza el cuerpo de todo mtodo y } termina el cuerpo de un
mtodo.
d) Los comentarios de una linea empiezan en //
e) Los comentarios de mas de una linea empiezan en /* y terminan en */

2. Indique la verdad o falsedad de las siguientes oraciones:
a) Todas las variables deben ser declaradas antes de utilizarse. ( V )
b) Los operadores / * + - tienen el mismo nivel de precedencia. ( F )
c) El operador % (modulo) debe usarse solo con operandos enteros.(V)
d) En C# las variables Nombre y NOMBRE son idnticas.( F )

3. Indique y explique lo que sucede al ejecutarse estas expresiones
a) Console.WriteLine(Mi nombre es {0} y mi edad es {1} , Nombre, Edad);
Muestra en pantalla: Mi nombre es Jose y mi edad es 25
b) Console.Write(Hola Chicos, Bienvenidos!!! );
Muestra en pantalla: Hola Chicos, Bienvenidos!!!
c) Varia = Console.ReadLine();
Asigna una cadena de caracteres ingresada por teclado a la variable Varia

4. Identifique el error en estas expresiones en C#
a) Console.WriteLine(Mi nombre es {0} y mi edad es {2} , Nombre, Edad);
Los nmeros que van entre llaves deben empezar en 0 y ser consecutivos.
b) int Edad = double.Parse(Console.ReadLine());
El tipo double debe ser int
c) Area = Math.PI * Pow(radio,2);
Antes de Pow debe colocarse Math.


SOLUCIONARIO DE LA AUTOEVALUACIN
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

228
5. Declare:
a) Estas variables enteras x,u,r
int x,u,r;
b) Una variable que puede almacenar h , 6 , =
char Valor;
c) Una variable que puede almacenar Av. La Mar 110 Av Julio C Tello 118
string Direccion;
d) Una variable que puede almacenar true o false
bool Aprobado;










SEXTA UNIDAD



Instrucciones de control de flujo:
Selectivas o alternativas
Y repetitivas
















Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

231










Estimado alumno:

El objetivo general de esta asignatura en su sexta unidad se centra esencialmente en
el conocimiento de los algoritmos para resolver un problema informtico que hace uso
de instrucciones de control de flujo (estructuras de control) selectivas (o condicionales
o alternativas) y repetitivas (ciclos, bucles) en sus diversas variantes y su
implementacin en C#

Se finaliza esta unidad con una serie de problemas aplicados en donde se utilizan las
instrucciones de control de flujo selectivas y repetitivas.

El conocimiento de estas 3 ultimas unidades de algoritmos y programas C# es la base
para el curso de Algoritmos avanzados.
INTRODUCCIN
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

232


INSTRUCCIONES DE
CONTROL DE FLUJO
1 SELECTIVAS O ALTERNATIVAS o CONDICIONALES
2. REPETITIVAS O CICLICAS
1.1 La instruccin if.
a) La instruccin if .
b) La instruccin if else.
c) La instruccin if else anidadas.
1.2 La instruccin switch
2.1Contadores y acumuladores.
2.2 La instruccin repetitiva for
2.3 La instruccin repetitiva for each.
2.4 Las instrucciones de salto:
La instruccin break.
La instruccin continue.
Diferencias entre break y continue.
2.5 La instruccin repetitiva while.
2.6 La instruccin repetitiva do while
2.7 Diferencia entre while y do while
h) variables centinelas y banderas.
APLICACIONES
(pseudocdigo C#)
1 Problemas Resueltos
Instrucciones secuenciales
2 Problemas Resueltos
Instrucciones de Control de flujo
Selectivas
3 Problemas Resueltos
Instrucciones de Control de flujo
Repetitivas
4 Problemas propuestos.
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

233


Estas instrucciones controlan la ejecucin de otras instrucciones o
alteran el orden de ejecucin secuencial de las instrucciones de un
programa mediante la evaluacin de expresiones relacionales y
lgicas. Se C# se pueden distinguir las instrucciones selectivas (o
alternativas) y las instrucciones repetitivas (bucles o cclicas),
tambin llamadas estructuras de control selectivas y repetitivas respectivamente.

1 Instrucciones Selectivas o Alternativas.
Permiten alterar el flujo secuencial de instrucciones, bajo determinadas condiciones o
valores de variables. En C#, se tienen dos estructuras de control selectivas: if y
switch.

1.1 Instruccin If (Estructura de control selectiva if)
La instruccin if permite ejecutar ciertas instrucciones solo si de da una determinada
condicin. Puede ser simple, doble, anidadas.
a. La sentencia if No tiene else. Su sintaxis es:
ESTRCUTURA DE CONTROL SELECTIVA: if
Diagrama de flujo Pseudocdigo Cdigo C#






Si Condicin Entonces

InstruccionesSi

FinSi


if (<condicin>)
{
<instruccionesIf>
}

Si la condicin resulta verdadera se ejecutan las instruccionesSi (InstruccionesIf)
Si la condicin resulta falsa No se ejecutan las instrucciones.
Si InstruccionesIf tiene una sola instruccin, no es necesario las llaves { ni }


Condicin
Instrucciones
Verdadero
Falso
INSTRUCCIONES DE CONTROL DE FLUJO
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

234
b) La sentencia If else
ESTRUCTURA DE CONTROL SELECTIVA: if else
Diagrama de flujo





Si la condicin resulta verdadera se ejecutan las instruccionesSi (instruccionesIf) y
si resulta falsa se ejecutan las instruccionesSino (instruccionesElse)
Si InstruccionesIf o InstruccionesElse tiene una sola instruccin, no es
necesario las llaves { ni }
Pseudocdigo
Cdigo C#
Si Condicion Entonces
InstruccionesSI
Sino
InstruccionesSino
FinSi
if (< condicin >) {
<instruccionesIf>
}
else {
<instruccionesElse>
}

Ejemplo 8 Verificar si un numero es multiplo de 3 o de 5 y mostrar un mensaje
adecuado en cada caso
Pseudocdigo: Proy_multiplo35
Entrada: Numero
Salida: Mensaje indicando si es multiplo o no de 3 o de 5
Inicio
Entero Num
Leer Num
Si Resto de Num/3 es 0 OR Resto de Num/5 es 0 Entonces
Escribir Num, es multiplo de 3 o de 5
Sino
Escribir Num, No es multiplo de 3 o de 5
FinSi
Fin
Cdigo en C# Proy_multiplo35
using System;
/* Entrada: Numero
Salida: Mensaje indicando si es multiplo o no de 3 o de 5 */
namespace multiplo3o5
Condicin
InstruccionesSi
Verdadero
Falso
InstruccionesSino
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

235
{
class Program
{
static void Main(string[] args)
{ int Num;
// 1. Leer Num
Console.Write("Ing. numero : ");
Num = int.Parse(Console.ReadLine());
// 2. verficar y escribir si es o no multiplo de 3 o 5
if (Num % 3 == 0 || Num % 5 == 0)
Console.WriteLine("{0} es multiplo de 3 o 5", Num);
else
Console.WriteLine("{0} NO es multiplo de 3 o 5", Num);
}
}
}

c. La sentencia if else anidadas.
ESTRUCTURA DE CONTROL SELECTIVA: if else anidadas
Pseudocdigo Cdigo C#
Si Condicion1 Entonces
InstruccionesSI_1
Sino Si Condicion2 Entonces
InstruccionesSI_2
Sino Si Condicion3 Entonces
InstruccionesSi_3
Sino
InstruccionesSino_3
FinSi

if (Condicion1) {
InstruccionesIf_1
}
else If (Condicion2) {
InstruccionesIf_2
}
else if ( Condicion3 ) {
InstruccionesIf_3
}
else {
InstruccionesElse_3
}
Si la Condicin1 resulta verdadera se ejecutan las instruccionesSi_1
(instruccionesIf_1) y sale del Si (if); pero si resulta falsa se evala la condicin2.
Si la Condidin2 resulta verdadera, se ejecutan las instruccionesSi_2
(instruccionesIf_2) y sale del Si (if); pero si resulta falsa, se evala Condicion3,
Si la Condicion3 resulta verdadera, se ejecuta el conjunto de instrucciones
instruccionesSi_3 (instruccionesIf_3) y sale del Si (if) ; pero si resulta falsa se
ejecuta el conjunto de instrucciones instruccionesSino_3 (InstruccionesElse_3)
Si las instrucciones InstruccionSi ( InstruccionIf ) o InstruccionSino
(InstruccionElse), estn formadas por una sola instruccin, se puede omitir Inicio Fin
( o las llaves de inicio y fin { } )
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

236
Ejemplo 9. Ingresar por teclado un nmero y mostrar los mensajes mas adecuados,
segn el valor del nmero. Se debe mostrar:
a) Si es mayor que 0;
b) Si es Menor que 0;
c) Si es diferente de 0 o Es igual a 0;
d) Si es Menor o igual a 0, o si esta en el rango de 1 a 10, de 11 a 20, de 21 a 30, mas
de 30
Pseudocdigo Cdigo C# - if anidadas
Inicio
Entero Num

Leer Num

Si Num >0 Entonces
Escribir Num,mayor 0
FinSi

Si Num<0 Entonces
Escribir Num,Menor 0
FinSi

Si Num 0 Entonces
Escribir Num, Diferente 0
Sino
Escribir Num,igual a 0
FinSi

Si Num <= 0 Entonces
Escribir Num,Menor o igual 0
Sino Si Num <= 10
Escribir Num,en Rango 1-10
Sino Si Num <= 20
Escribir Num, en Rango 11-20
Sino Si Num <= 30
Ecribir Num, en Rango 21-30
Sino
Escribir Num, Mayor a 31
FinSi
Fin


Si las instrucciones
InstruccionesSi o instruccionesSino
tienen una sola instruccin, no es
necesario Inicio, ni Fin en cada una

Si las instrucciones InstruccionesIf
o instruccionesElse tienen una sola
using System;
namespace ejemplo_
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
int Num;
// 1. Leer Num
Console.Write("Ing.un numero: ");
Num = Int32.Parse(Console.ReadLine());
// 2. Verificar si Num es >0 Decision simple
if (Num > 0) {
Console.WriteLine("{0} es > 0.", Num);
}
// 3. Verificar si Num es < 0 Decision simple
if (Num < 0)
Console.WriteLine("{0} es < 0.", Num);
// 4. Verificar si Num 0 o es = 0 - Decision doble
if (Num != 0) {
Console.WriteLine("{0} es DIFERENTE de 0.", Num);
}
else {
Console.WriteLine("{0} es IGUAL a 0.", Num);
}
// 5. Decision Multiple
if (Num < = 0) {
Console.WriteLine("{0} es <= a 0.", Num);
}
else if (Num <= 10) {
Console.WriteLine("{0} en RANGO 1 - 10.", Num);
}
else if ( Num <= 20) {
Console.WriteLine("{0} en RANGO 11 - 20.", Num);
}
else if ( Num <= 30) {
Console.WriteLine("{0} en RANGO 21 - 30.", Num);
}
else {
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

237
instruccin, no es necesario {, ni } Console.WriteLine("{0} es > 30.", Num);
}
}
}
}



1.2 Instruccin switch (Estructura de control selectiva switch)
La instruccin switch permite ejecutar unos u otros bloques de instrucciones, segn el
valor de una cierta expresin. Su estructura es:
ESTRUCTIRA DE CONTROL SELECTIVA : Segn Caso - switch Case
Diagrama de flujo









Pseudocdigo Cdigo C#
Segun expresin Hacer
caso <valor1>:
Instrucciones1
caso <valor2>:
Instrucciones2
...
otros:
InstruccionesN
FinSegun

switch (<expresin>)
{
case <valor1>: <bloque1>
break;
case <valor2>: <bloque2>
break;
...
default: <bloqueDefault>
break;
}
Si el valor de la variable es uno de los valores colocados despus de caso (case) se
ejecutan las instrucciones que estn dentro hasta llegar a break
Si el valor no es igual a ninguno de los valores colocados despus de la palabra caso
(case) se ejecutan las instrucciones que estn dentro de otros (default).
Otros (Default ) es opcional.
El siguiente ejemplo muestra cmo se utiliza switch:
La expresin puede ser de tipo entero, de tipo carcter o de tipo cadena,
Condicion
Bloque1 Bloque2 BloqueN Otros
1 2 n
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

238
Ejemplo 10: Simule la atencin de un surtidor de Caf: El tamao del caf puede ser:
pequeo, mediano y grande, y su costo es 50, 80 y 100 centavos respectivamente.
Segn el tamao elegido, se mostrara un mensaje indicando la cantidad de dinero que
deber insertar.
Pseudocdigo Cdigo- C#
Entrada: n
Salida: cost

Inicio
Entero n
Entero cost


Leer n
Cost = 0
Segn n Hacer
Caso 1:
Cost = Cost +50
Caso 2:
Cost = Cost +80
Caso 3:
Cost = Cost +100
Otros:
Escribe Sel. No Valida
FinSegun

Si Cost 0 Entonces
Escribe Inserte ,Cost, cent.
Escribe Gracias por preferirnos
FinSi

Fin
using System;
namespace switch_ejem
{
class Program
{
static void Main(string[] args)
{
int n;
int cost;
// 1. Leer n
Console.WriteLine("Tamao : 1=Peq 2=Med 3=Gran");
Console.Write("Por favor elige: ");
n = int.Parse(Console.ReadLine());
// 2. Incializar cost en 0
cost = 0;
// 3. Segn valor de n, Calcular el cost
switch(n)
{
case 1:
cost =cost+ 50;
break;
case 2:
cost =cost+ 80;
break;
case 3:
cost = cost + 100;
break;
default:
Console.WriteLine("Sel No VALIDA. Ing. 1, 2, o 3.");
break;
}
if (cost != 0)
{ // 4.Si el costo es diferente de 0 Escribir Mensajes
Console.WriteLine("Inserte {0} cent.", cost);
Console.WriteLine("Gracias por preferirnos.");
}
}
}
}
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

239




Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

240
Ejemplo 11: En la siguiente tabla se muestran las categoras a las que pertenecen
cada signo del zodaco. Ingresado por teclado el signo de una persona, se debe
mostrar su categora:
Signos
Aries,
Leo,
Sagitario
Tauro,
Virgo,
Capricornio
Geminis,
Libra,
Acuario
Cancer, Escorpio,
Piscis
Categora Fuego Tierra Aire Agua
Algoritmo Pseudocdigo Lenguaje de Programacin C# - Cdigo
Entrada: Signo
Salida: Categoria

Inicio
Cadena Signo
Cadena Categora=

Leer Signo
Segun Signo Hacer
Caso Aries:Caso Leo:
Caso Sagrario:
Categora = Fuego

Caso Tauro:Caso Virgo:
Caso Capricornio:
Categora = Tierra

Caso Geminis:Caso Libra:
Caso Acuario:
Categora = Aire

Caso Cancer:
Caso Escorpio:
Caso Piscis:
Categora = Agua
FinSegun

Escribir Su categora es ,Categoria

Fin
using System;
namespace signos
{
class Program
{
static void Main(string[] args)
{
string Signo;
string Categoria= "";
// 1. Leer Signo
Console.Write("Ing. su signo:");
Signo = Console.ReadLine().ToUpper();
// 2.Segun Signo, Definir Categoria
switch (Signo)
{
case "ARIES": case "LEO":
case "SAGITARIO" :
Categoria = "Fuego";
break;
case "TAURO": case "VIRGO":
case "CAPRICORNIO":
Categoria = "Tierra";
break;
case "GEMINIS": case "LIBRA":
case "ACUARIO":
Categoria = "Aire";
break;
case "CANCER": case "ESCORPIO":
case "PISCIS":
Categoria = "Agua";
break;
}
// 3. Escribir Categoria
Console.WriteLine("su categoria es {0} ", Categoria);
}
}
}


Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

241
2 Instrucciones iterativas ( o repetitivas)
Las instrucciones iterativas son instrucciones que permiten
ejecutar repetidas veces una instruccin o un bloque de
instrucciones mientras se cumpla una condicin. Es decir,
permiten definir bucles donde ciertas instrucciones se ejecuten
varias veces. En C# tenemos : for, while , do whille()

2.1 Contadores y Acumuladores.
Contador. Un contador es una variable cuyo valor se incrementa o decrementa en una
cantidad constante, cada vez que se produce un determinado suceso, accin o
iteracin.
Los contadores se utilizan con la finalidad de contar sucesos, acciones o iteraciones
internas en un bucle, proceso, subrutina o donde se requiera cuantificar.
Los contadores deben ser inicializados antes del ciclo o proceso, e incrementados o
decrementados dentro del ciclo. La inicializacin consiste en asignarle al contador un
valor inicial, es decir el nmero desde el cual necesitamos se inicie el conteo.
Para incluir un contador en un proceso deber seguirse los siguientes pasos:
Inicializar antes del ciclo
Incrementar dentro del ciclo
Si se requiere puede imprimirse el valor con el cual finaliza el contador.
Representacin:
<Nombre del CONTADOR> = <Nombre del CONTADOR> + <Valor FIJO>.
Ejemplo: Calcular la cantidad de nmeros primos que hay entre 100 y 300.
Ejemplo: Calcular la cantidad de alumnos que han aprobado el curso de algoritmos.
Ejemplo: Cuantos ciudadanos de Lima son mayores de edad.
Acumulador. Un acumulador es una variable que como su nombre lo indica, suma
sobre s misma un conjunto de valores, al finalizar con el ciclo contendr, en una sola
variable, la sumatoria de todos los valores, que cumplen una determinada condicin.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

242
La diferencia entre un contador y un acumulador es que mientras el primero va
aumentando en una cantidad fija preestablecida, el acumulador va aumentando en una
cantidad o valor variable.
Representacin:
<Nombre del ACUMULADOR> = <Nombre del ACUMULADOR> + <Valor FIJO>.

Para incluir un acumulador en un proceso se deben seguir los siguientes pasos:
Inicializar antes del ciclo
Incrementar dentro del ciclo
Por lo general se requiere la impresin de su valor.
Ejemplo: Calcular la cantidad de dinero recaudado en una Agencia Bancaria, para los
nios del Puericultorio Perez Aranibar
Ejemplo: Calcular el dinero recaudado en boletas y en facturas, en una caja de la
empresa Metro.

2.2 Instruccin repetitiva FOR (Estructura de control repetitiva for)
La instruccin for es una variante de while que permite reducir el cdigo necesario,
para escribir los tipos de bucles ms comnmente usados en programacin. Su
sintaxis es:
ESTRUCTURA DE CONTROL REPETITIVA : FOR
Diagrama de Flujo Pseudocdigo Cdigo C#

Para i= VI Hasta VF (Inc ) hacer

Instrucciones

FinPara
for (i = VI ; i <= VF; i=i+inc)
{
Instrucciones


}
< Inicializacin > i = VI Se ejecuta una sola vez, y permite asignar el valor inicial a
la variable de control i
< Modificacin > i = i + inc Cada vez que se ejecuta el bloque de instrucciones
entre Inicio ( { ) y Fin ( } ) se ejecuta esta instruccin y el valor de la variable i se
modifica (incrementa si inc es positivo o disminuye si inc es negativo)
Instrucciones
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

243
< Condicin > Hasta VF. Despus de incrementar o disminuir la variable i, se
procede a probar esta instruccin de prueba, es decir si se llego al valor final, si no es
igual se volver a ejecutar el conjunto de instrucciones entre inicio y fin y si es igual,
se ejecuta por ltima vez el bloque de instrucciones entre inicio y fin. El proceso se
repite hasta que esta condicin sea falsa.

El significado de esta instruccin es el siguiente: se ejecutan las instrucciones de
<inicializacin>, que suelen usarse para definir e inicializar variables que luego se
usarn en <instrucciones>. Luego se evala <condicin>, y si es falsa se contina
ejecutando por la instruccin siguiente al for; mientras que si es cierta se ejecutan las
<instrucciones> indicadas, luego se ejecutan las instrucciones de <modificacin> -que
como su nombre indica suelen usarse para modificar los valores de variables que se
usen en <instrucciones>- y luego se reevala <condicin> repitindose el proceso
hasta que esta ltima deje de ser cierta.
En <inicializacin> puede en realidad incluirse cualquier nmero de instrucciones que
no tienen porque ser relativas a inicializar variables o modificarlas, aunque lo anterior
sea su uso ms habitual. En caso de ser varias se han de separar mediante comas (,)
ya que el carcter de punto y coma (;), habitualmente usado para estos menesteres,
se usa en el for para separar los bloques de <inicializacin>, <condicin> y
<modificacin> Adems, la instruccin nula no se puede usar en este caso y tampoco
pueden combinarse definiciones de variables con instrucciones de otros tipos.
Con <modificacin> pasa algo similar, ya que puede incluirse cdigo que nada tenga
que ver con modificaciones, pero en este caso no se pueden incluir definiciones de
variables.





Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

244
Ejemplo12: Hacer el algoritmo y su programa en C# que muestre los elementos de la
serie 3-4-5-6--13.
Pseudocdigo: Proy_Serie Cdigo C# : Proy_Serie
Entrada:
Salida: serie 3-4-5 .13

Inicio
Entero a
Para a=3 hasta 13 inc 1 hacer
Escribir a
Fin
Fin
using System;
/* La serie 3-4-5-6-7-8-9-10-11-12-13*/
namespace ejemfor01
{
class Program
{
static void Main(string[] args)
{
int a;
for(a=3; a<=13; a=a+1)
{
Console.WriteLine("{0} ",a);
}
}
}
}




Si se le pidiera que cuente la cantidad de nmeros de esta serie y la suma de los
elementos de esta serie, como modificara el programa.?
Pseudocdigo: Proy_Serie Cdigo C# : Proy_Serie
Entrada:
Salida: serie 3-4-5 .13

Inicio
Entero a,CN,SN
CN = 0
SN = 0
Para a=3 hasta 13 inc 1 hacer
Escribir a
CN = CN + 1
SN = SN + a
Fin
Fin
class Program
{
static void Main(string[] args)
{
int a,CN,SN;
CN = 0;
SN = 0;
for(a=3; a<=13; a=a+1)
{
Console.WriteLine("{0} ",a);
CN = CN + 1;
SN = SN + a;
}
Console.WriteLine(Hay {0} numeros,CN)
Console.WriteLine(Suman {0} ,SN)
}
}

Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

245
Ejemplo 13. Escriba el algoritmo que evale la funcin y = 4 x
2
16x +15, donde x
toma los valores desde 1 hasta 2 en pasos (incrementos) de 0.1. Para cada valor de
x se debe mostrar el mensaje POSITIVO o NEGATIVO segn el caso. Ejm: si y= 1.0
POSITIVO, Y=-1 NEGATIVO.
Pseudocdigo Cdigo C#
Entrada:
Salida: y

Inicio
Real x,y;

Comentario Inicializar x en 1
x = 1;
Comentario Repetir para x=1 hasta 2,inc .1
Para x = 1 hasta 2 inc 0. 1 hacer
Comentario Asignar valor a y
y = 4 * Potencia(x, 2) - 16 * x + 15;
Comentario Si y es >= 0
Si y >= 0 Entonces
Escribir y , " es postivo"
sino
Escribir y , " es negativo"
FinSI
FinPara
Fin

using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{
// Declarar x, y
double x,y;
// 1. Inicializar x en 1
x = 1;
// 2. Repetir para x=1 hasta 2, inc 0.1
for (x = 1; x <= 2; x= x+0.1 )
{
// 2.1 Asignar valor a y
y = 4 * Math.Pow(x, 2) - 16 * x + 15;
// 2.2 Si y es >= 0
if (y >= 0)
{ // Escribir y ,"es postivo"
Console.WriteLine("{0} es POSITIVO", y);
}
else
{ // Escribir y, " es negativo"
Console.WriteLine("{0} es NEGATIVO", y);
}
} // fiin de for
}
}
}




Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

246
Ejemplo 14: Hacer el algoritmo y su programa en C#, que calcule el mayor y el menor
nmero de 8 nmeros ingresados por el teclado

Pseudocdigo Cdigo C#
Entrada:
Salida: y

Inicio
Real num, mayor ,menor;
Entero x;

mayor = 0;
menor =10000;

Comentario Repetir 8 veces
Para x =1 hasta 8 inc 1 Hacer
Leer num
Comentario Hallar mayor
Si num> mayor Entonces
mayor=num
FinSi
Si num< menor Entonces
menor=num
FinSi
FinPara

Escribir mayor, menor
Fin

using System;
namespace Ejem02_for
{
class Program
{
static void Main(string[] args)
{
//Declarar num, mayor, menor, x;
double num, mayor ,menor;
int x;
//1. Inicializar mayor y menor
mayor = 0;
menor =10000;
//2.Repetir 8 veces desde x=1 hasta 8
for (x =1 ; x<=8 ; x=x +1)
{ // Inicio
//2.1 Leer num
Console.Write("Ing. numero:");
num = double.Parse(Console.ReadLine());
//2.2 Hallar mayor
if (num> mayor)
mayor=num;
if (num< menor)
menor=num;
} // Fin

//3.Escribir mayor, menor
Console.WriteLine("Menor: {0} ,menor );
Console.WriteLine("Mayor: {0} , mayor );
}
}
}

2.3 Instrucciones de bifurcacin:
break: indica que se ha de abortar la ejecucin del bucle y continuarse ejecutando por
la instruccin siguiente.
continue: indica que se ha de abortar la ejecucin de las <instrucciones> y
reevaluarse la <condicin> del bucle, volvindose a ejecutar las <instrucciones> si es
cierta o pasndose a ejecutar la instruccin siguiente, si es falsa.
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

247
Ejemplo: Ingresar por teclado como mximo 10 nmeros y obtener su suma. El ingreso
de datos debe abortar cuando se ingrese un nmero negativo.
Pseudocdigo Cdigo C#
Entrada: num
Salida: S

Inicio
Entero num, i, S;

S = 0;

Comentario Repetir hasta 100 veces
Para x =1 hasta 100 inc 1 Hacer
Leer num
Comentario sale si num<0
Si num < 0 entonces
salto
FinSi
S = S + num;
FinPara

Escribir mayor, menor
Fin

using System;

namespace uso_break
{
class Program
{
static void Main(string[] args)
{ int num,S;
S = 0;
for (int i = 1; i <= 10; i = i + 1)
{
Console.Write("Ing. un numero :");
num = int.Parse(Console.ReadLine());
if (num < 0)
break;
S = S + num;
}
Console.WriteLine("La suma de los numeros {0} ",S);
}
}
}
Ejemplo: En este programa se cambia break por continue, respecto al anterior:
Pseudocdigo Cdigo C#
Entrada: num
Salida: S
Inicio
Entero num, i, S;
S = 0
Comentario Repetir hasta 100 veces
Para x =1 hasta 100 inc 1 Hacer
Leer num
Comentario sale si num<0
Si num < 0 entonces
continue
FinSi
S = S + num
FinPara
Escribir mayor, menor
Fin
static void Main(string[] args)
{
int num,S;
S = 0;
for (int i = 1; i <= 10; i = i + 1)
{ Console.Write("Ing. un numero :");
num = int.Parse(Console.ReadLine());
if (num < 0)
continue;
S = S + num;
}
Console.WriteLine("La suma de los numeros {0} ",S);
}

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

248
2.4 Instruccin foreach
La instruccin foreach es una variante del for pensada especialmente para compactar
la escritura de cdigos, donde se realice algn tratamiento a todos los elementos de
una coleccin, que suele un uso muy habitual de for en los lenguajes de programacin
que lo incluyen. La sintaxis que se sigue a la hora de escribir esta instruccin foreach
es:





El significado de esta instruccin es muy sencillo: se ejecutan <instrucciones> para
cada uno de los elementos de la <coleccin> indicada. <elemento> Es una variable de
solo lectura de tipo <tipoElemento> que almacenar en cada momento el elemento de
la coleccin que se est procesando y que podr ser accedida desde <instrucciones>.

Es importante sealar que <coleccin> no puede valer null porque entonces saltara
una excepcin de tipo System.NullReferenceException, y que <tipoElemento> ha de
ser un tipo cuyos objetos puedan almacenar los valores de los elementos de
<coleccin>.

Ejemplo 15: Los vectores pueden recorrerse mediante el foreach, el cual pasar por
sus elementos en orden tal y como muestra el siguiente fragmento de cdigo:
Pseudocdigo Cdigo C#
Entrada:
Salida: los elementos del vector

Inicio
Entero [ ] Vector
ParaCada ( Entero elemento EN Vector)
Escribir elemento
Fin

using System;

namespace _5_Ejem_for
{
class Program
{
static void Main(string[] args)
{
Int [ ] Vector = { 1, 2, 3, 4, 5, 6 };

foreach (int elemento in Vector)
Console.WriteLine(elemento);
}
}
}
foreach (<tipoElemento> <elemento> in <coleccin>) {
<instrucciones>
}
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

249
2.5 Instruccin repetitiva while (Estructura de control repetitiva while)
La instruccin while permite ejecutar un bloque de instrucciones mientras se de una
cierta instruccin. Su sintaxis de uso es:
ESTRUCTURA DE CONTROL REPETITIVA : WHILE
Diagrama de Flujo Pseudocdigo Cdigo C#

Mientras Condicin repetir

Instrucciones

Fin
while (condicin)
{

Instrucciones

}
El conjunto de instrucciones se ejecuta mientras condicin sea verdadera, y termina
de ejecutarse cuando condicin resulta falsa.
Si al iniciar, condicin resulta falsa, no se ejecuta el conjunto de instrucciones.
Al evaluar condicin, resulta un valor lgico (true o false)

Ejemplo 16 . Mostrar los elementos de la serie: 3-4-5-6-7-8-9-10-11-12-13, usando
while.
Pseudocdigo Cdigo C#
Entrada:
Salida: serie 3-4-5 .13

Inicio
Entero a
a=3;
Mientras a<=13 repetir
Escribir a
a=a+1
Fin
Fin
using System;
/* La serie 3-4-5-6-7-8-9-10-11-12-13*/

namespace ejemfor01
{
class Program
{
static void Main(string[] args)
{
int a;
while( a<=13)
{
Console.WriteLine("{0} ",a);
a=a+1;
}
}
}
}

Instrucciones
Condicion
Verdadero
Falso
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

250
2.6 Instruccin repetitiva do while (Estructura de control repetitiva do . while)
La instruccin while permite ejecutar un bloque de instrucciones mientras se de una
cierta instruccin. Su sintaxis de uso es:

ESTRUCTURA DE CONTROL REPETITIVA : DO WHILE
Diagrama de Flujo Pseudocdigo Cdigo C#

Hacer

Instrucciones

Mientras Condicin
Do {

Instrucciones

} while (condicin);
El conjunto de instrucciones se ejecuta mientras condicin sea verdadera, y termina
de ejecutarse cuando condicin resulta falsa.
El conjunto de instrucciones se ejecuta por lo menos una vez, antes de evaluar la
condicin lgica.
Al evaluar condicin, resulta un valor lgico (true o false)

2.7 Diferencia entre while y do while
La nica diferencia del significado de do...while respecto al de while es que en vez de
evaluar primero la condicin, y ejecutar <instrucciones> solo si es cierta; do...while
primero ejecuta las <instrucciones>, y luego mira la <condicin> para ver si se ha de
repetir la ejecucin de las mismas. Por lo dems, ambas instrucciones son iguales e
incluso tambin puede incluirse break; y continue, entre las <instrucciones> del
do...while.
Ejemplo17: Leer 3 notas de un alumno y calcular el promedio. la nota ingresada debe
ser validada (entre 0 y 20)
Pseudocdigo Cdigo C#
ENTRADA: Nota (3 veces)
SALIDA: promN.

Inicio
Entero SNota, Nota,i
Real promN
Logico dom // dominio esperado de Nota

SNota = 0;
using System;
namespace validaNota
{
class Program
{
static void Main(string[] args)
{
int SNota, Nota,i;
float promN;
Instrucciones
Condicion
Verdadero
Falso
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

251
Para i = 1 Hasta 3 inc 1 Hacer
Hacer
Leer Nota
Establecer dom entre 0 y 20
Si no esta en el dom Escribir Error
Mientras ( No dom)
SNota = SNota + Nota;
FinPara
promN = SNota / 3;
Escribir Promedio = ,promN

Fin
bool dom;
SNota = 0;
for (i = 1; i <= 3; i = i + 1)
{
do{
Console.Write("Ing. nota ");
Nota = int.Parse(Console.ReadLine());
dom = Nota >= 0 && Nota <= 20;
if (!dom)
Console.WriteLine("Error, debe estar 0 .. 20");
}while(!dom);
SNota = SNota + Nota;
}
promN = SNota / (float)3;
Console.WriteLine("promedio = {0}",promN);
}
}
}
do ... while est especialmente destinado para los casos en los que haya que ejecutar
las <instrucciones>, al menos una vez an cuando la condicin sea falsa desde el
principio, como ocurre en el siguiente ejemplo:
Ejemplo 18.- Validar la clave de acceso y mostrar un mensaje adecuado cuando se
ingresa la clave correcta.
Pseudocdigo Cdigo C#
Entrada:
Salida: serie 3-4-5 .13

Inicio
Cadena Clave
Hacer
Leer Clave
Mientras (Clave esmeralda)
Fin
using System;

namespace _7_clave
{
class Program
{
static void Main(string[] args)
{
string Clave;
do
{
Console.WriteLine("Ing. su Clave: ");
Clave = Console.ReadLine();
} while (Clave != "esmeralda");
Console.WriteLine("Hola {0} ", Clave);
}
}
}
Este programa pregunta al usuario una clave y mientras no introduzca la correcta
(esmeralda) continuar ejecutndose. Una vez que introducida correctamente dar un
mensaje de bienvenida al usuario.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

252
Ejemplo 19. Utilice un men de opciones, para hallar el resultado de efectuar una
operacin aritmtica bsica entre dos nmeros ingresados por teclado.
Cdigo C#
using System;
namespace Proy_dowhile_19
{
class Program
{
static void Main(string[] args)
{ int opc;
float a, b, r;
//1. Leer a,b
Console.Write( "Escriba un dato entero a = ");
a = float.Parse(Console.ReadLine());
Console.Write("Escriba un dato entero b = ");
b = float.Parse(Console.ReadLine());
// 2. Hacer
do
{ // 2.1 Muestra menu de opciones
Console.WriteLine();
Console.WriteLine("\t****** MENU ******** \n\n");
Console.WriteLine("\t 1. Suma \n");
Console.WriteLine("\t 2. Resta \n");
Console.WriteLine("\t 3. Multiplicacion \n");
Console.WriteLine("\t 4. Division \n");
Console.WriteLine("\t 5. Salir \n");
// 2.2 Leer opc
Console.Write("Seleccione una opcion para realizar una operacion <1..5>");
opc = int.Parse(Console.ReadLine());
// Segun opc
switch (opc)
{
case 1:
r = a + b;
Console.WriteLine( "El resultado es {0} " ,r);
break;
case 2:
r = a - b;
Console.WriteLine("El resultado es {0} ", r);
break;
case 3:
r = a * b;
Console.WriteLine("El resultado es {0} ", r);
break;
case 4:
r = a / b;
Console.WriteLine("El resultado es {0} ", r);
break;
case 5:
Console.WriteLine("Saliendo del Programa");
break;
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

253
default:
Console.WriteLine("La opcin n es valida");
break;
}
// Mientras opc sea diferente de 5
} while (opc != 5);
}
}
}


2.8 Variables Centinelas y Banderas
Centinelas
En un ciclo While controlado por tarea, la condicin de while especifica que el cuerpo
del ciclo debe continuar ejecutndose mientras la tarea no haya sido completada.
En un ciclo controlado por centinela el usuario puede suspender la introduccin de
datos cuando lo desee, introduciendo una seal adecuada llamada centinela.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

254
Ejemplo: En un ciclo while o do while, controlado por centinela, el usuario puede
digitar una letra para salir del bucle; as por ejemplo si el usuario desea seguir en el
lazo, debe ingresar S o s, y para indicar que desea terminar debe ingresar n o N. Es
decir el bucle debe repetirse hasta que la respuesta del usuario sea n o N.
char seguir;

do
{

Console.Write(Desea seguir S/N :);
seguir=char.Parse(Console.ReadLine());
}while (seguir == S || seguir ==s);
Ejemplo, si se tienen las calificaciones de un test (comprendida entre 0 y 100), un valor
centinela en esta lista puede ser 999, ya que nunca ser una calificacin vlida y
cuando aparezca este valor se terminar de ejecutar el bucle.
int Nota;
.
Console.Write(Ing. Nota [ 0,100 ] : );
Nota = int.Parse(Console.ReadLine());
while(Nota != -999)
{

Console.Write(Ing. Nota [ 0,100 ] );
Nota = int.Parse(Console.ReadLine());
}


Ejemplo: Si la lista de datos son nmeros positivos, un valor centinela puede ser un
nmero negativo.
float Numero;

Console.Write(Ing. Un Numero positivo: );
Numero = int.Parse(Console.ReadLine());
while(Numero >= 0)
{

Console.Write(Ing. Un Numero positivo: );
Numero = float.Parse(Console.ReadLine());
}



El ciclo se repetir
mientras el usuario ingrese
S o s
El ciclo se repetir mientras el
usuario ingrese valores para la
variable Nota diferentes a -999

El ciclo se repetir mientras
el usuario ingrese Valores
para la variable Numero, >=
a 0, si se ingresa un valor
negativo sale del lazo
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

255
Los centinelas solamente pueden usarse con las estructuras mientras(while) y
Hacer mientras (do while) no con estructuras for

Ejemplo 20. Suponga que debemos obtener la suma de los gastos que hicimos en
nuestro ltimo viaje, pero no sabemos exactamente cuntos fueron.
Si definimos gasto1, gasto2, gasto3, ...., -1 donde gastoi: real es el gasto nmero i y
sumgas: real es el acumulador de gastos efectuados, -1 es el centinela de fin de datos.
Cdigo C#
using System;
namespace proy_uso_centinela
{
class Program
{
static void Main(string[] args)
{
double SumGas, Gasto;
SumGas = 0;
//1. Leer Gasto
Console.Write("Ing. gasto < -1 para terminar > : ");
Gasto = double.Parse(Console.ReadLine());
// 2. Repetir Mientras Gasto diferente de -1
while (Gasto != -1)
{
// 2.1 Acumular Gasto en SumGas
SumGas = SumGas + Gasto;
// 2.2 Leer Gasto
Console.Write("Ing. gasto < -1 para terminar > : ");
Gasto = double.Parse(Console.ReadLine());
}
// 3.Escribir sumGas
Console.WriteLine("Gastos en el viaje = {0}",SumGas);
}
}
}




Banderas:
Conocidas tambin como interruptores, switch, flags o conmutadores, son variables
que pueden tomar solamente dos valores durante la ejecucin del programa, los
cuales pueden ser 0 1, o bien los valores booleanos True o False.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

256
Se les suele llamar interruptores porque cuando toman los valores 0 1 estn
simulando un interruptor abierto/cerrado o encendido/apagado.

Ejemplo 21. Leer un nmero entero N y calcular el resultado de la siguiente serie:
S = 1 1/2+ 1/3 1/4 +.... +/- 1/N.

using System;

namespace Proy_usobandera
{
class Program
{
static void Main(string[] args)
{
double Serie;
bool bandera;
int N; // Nro de terminos
int den; //denominador
//1. Inicializa Serie en 0
Serie = 0;
//2. Leer N
Console.Write("Ing. numero de terminos:");
N = int.Parse(Console.ReadLine());
//3. Inicializa bandera en true
bandera = true;
den = 1;
while( den <=N)
{
//3.1 Si bandera es true suma 1/den y si es false lo resta
if (bandera == true) {
Serie = Serie + 1.0/den;
bandera = false;
}
else{
Serie = Serie - 1.0/den;
bandera = true;
}
//3.2 incrementa valor del denominador en 1
den = den +1 ;
}
//4. Escribir Serie
Console.WriteLine("La serie = {0}", Serie);
}
}
}


Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

257
5. APLICACIONES (pseudocdigo C#)

5.1 PROBLEMAS RESUELTOS - ESTRUCTURA DE CONTROL SECUENCIAL
Problema 1. Hacer un algoritmo y su programa en C# que permita una respuesta de tipo carcter ante
la pregunta Si es o no Mayor de 30 aos y muestra una salida, con un mensaje que incluye una
respuesta logica.
Pseudocdigo
ENTRADA: RespBool (Respuesta V o F de acuerdo al mensaje)
SALIDA: RespBool (Respuesta lgica segn la Respuesta ingresada)
Inicio
Carcter RespChar;
Logica RespBool;
Escribir " Es mayor de 30 aos <V/F> ? : "
Leer RespChar
Comentario: obtener RespBool por asignacion
RespBool = RespChar = V Or RespChar =v
Escribir es , RespBool , ... que tiene > 30 aos "
Fin
Cdigo C#
using System;
namespace Ejem01e
{
class Program
{
static void Main(string[] args)
{
//Declaracion de variables
char RespChar;
bool RespBool;
//1. Ingreso de datos por teclado (v, V o F, f)
Console.Write(" Es mayor de 30 aos <V/F> ? : ");
RespChar = char.Parse(Console.ReadLine());
//2. Obtener Respuesta Booleana (true o false) por asignacion
RespBool = (RespChar == 'V' || RespChar == 'v');
//3. Escribir Respuesta Booleana (True o False) en mensaje
Console.WriteLine("es {0} ... que tiene > 30 aos ",RespBool);
}
}
}


Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

258
Problema 2: Ingresado por teclado la base y la altura de un rectangulo. Calcular y mostrar el area y la
diagonal de dicho rectangulo
Pseudocdigo
ENTRADA : Base, Altura de un rectangulo
SALIDA :Area, Diag
Inicio
Real Base, Altura;
Real Area, Diag;
Leer Base , Altura
Comentario 1 Calcular el Area y la Diag usando metodos de la clase Math
Area = Base*Altura;
Diag = RaizC(Potencia(Base,2) + Potencia(Altura,2))
Escribir area y diagonal
Fin
Cdigo C#
using System;
namespace Ejem01b
{
class Program
{
static void Main(string[] args)
{
// Declarar variables
double Base, Altura;
double Area, Diag;
// 1. Leer la Base y la Altura
Console.Write("Ing. la base : ");
Base = double.Parse(Console.ReadLine());
Console.Write("Ing. la altura : ");
Altura = double.Parse(Console.ReadLine());
// 2. Calcular el Area y la Diag usando los mtodos de la clase Math, del namespace System
Area = Base*Altura;
Diag = Math.Sqrt(Math.Pow(Base,2)+Math.Pow(Altura,2));
// 3. Muestra el area y diagonal
Console.WriteLine("El area ={0}", Area);
Console.WriteLine("La diagonal = {0}", Diag);
}
}
}



Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

259
Problema 3 Hacer un algoritmo que calcule la comisin y el sueldo que recibira un vendedor, si para ello se ingresa: El
nombre del vendedor, y las ventas.
La comision que le corresponde es el 12% de las ventas.
El sueldo a pagar es un pago fijo de 300 soles mas la comision.
Debe mostrarse el nombre del vendedor y sus ventas; la comision que recibira y el sueldo
Pseudocdigo
ENTRADA : Nombre y ventas
SALIDA : Comision y Sueldo
Inicio
// Declaracion de variables y constantes
Constante Real PagoFijo = 300
Real Sueldo,Comision,Ventas
Cadena Nombre
Leer Nombre y Ventas
Comentario1. Calcular Comision y Sueldo
Comision = Ventas*0.12
Sueldo = PagoFijo + Comision
Escribir Nombre, Ventas,Comision y Sueldo
Fin
Cdigo C#
using System;
namespace Ejem01b
{
class Class1
{
static void Main(string[] args)
{ // Declaracion de variables y constantes
const double PagoFijo = 300;
double Sueldo,Comision,Ventas;
string Nombre;
// 1. Leer Nombre y Ventas
Console.WriteLine("Ing. Nombre :");
Nombre = Console.ReadLine();
Console.WriteLine("Ing. ventas : ");
Ventas = double.Parse(Console.ReadLine());
// 2. Calcular Comision y Sueldo
Comision = Ventas*0.12;
Sueldo = PagoFijo + Comision;
// 3. Escribir Nombre, Vnetas, Comision y Sueldo
Console.WriteLine("{0} vendio por un monto de S/.{1} ",Nombre,Ventas);
Console.WriteLine("Comision S/.{0}y Sueldo S/.{1} ",Comision,Sueldo);
Console.ReadLine();
}
}
}
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

260
Problema 4. Ingresado por teclado una cantidad de dinero en soles, mostrar su equivalente en
billetes de 100, de 50, de 20, de 10 soles
Pseudocdigo
ENTRADA : Dinero
SALIDA : DineroIni, b100,b50,b20,b10
Inicio
// Declaracion de variables
Entero Dinero, DineroIni
Entero b100,b50,b20,b10
Leer Dinero
Comentario1: Asignar Dinero a DineroIni
DineroIni = Dinero
Comentario : Distribuir Dinero en b100
b100 = Dinero / 100
Dinero = Resto de Dinero /100

Comentario Distribuir resto en billetes de 50
b50 = Dinero / 50
Dinero = Resto de Dinero / 50
Comentario Distribuir resto en billetes de 20
b20 = Dinero / 20
Dinero = Resto de Dinero / 20
Comentario Distribuir resto en billetes de 10
b10 = Dinero / 10
Dinero = Resto de Dinero / 10
Escribir DineroIni, b100,b50,b20,b10
Fin
Cdigo C#
Using System;
namespace Ejem01b
{
class Program
{
static void Main(string[] args)
{
// Declaracion de variables
int Dinero; int DineroIni, b100,b50,b20,b10;
// 1. Leer Dinero
Console.Write("Ing. cantidad de dinero:");
Dinero = int.Parse(Console.ReadLine());
// 2. Asignar valor a Dinero Inicial (DineroIni)
DineroIni = Dinero;
// 3. Distribuir Dinero en billetes de 100
b100 = Dinero / 100; Dinero = Dinero % 100;
// 4. Dinero que queda, distribuir en billetes de 50
b50 = Dinero / 50; Dinero = Dinero % 50;
// 5. Dinero que queda, distribuir en billetes de 20
b20 = Dinero / 20; Dinero = Dinero % 20;
// 6. Dinero que queda, distribuir en billetes de 10
b10 = Dinero / 10; Dinero = Dinero % 10;
// 7. Escribir DineroIni, b100,b50,b20,b10
Console.WriteLine("S/. {0} equivale a: {1} billetes de 100 {2} billetes de 50", DineroIni,b100,b50);
Console.WriteLine("{0} billetes de 20 {1} billetes de 10", b20,b10);
}
}
}
El ; separa
instrucciones
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

261
5.2 Problemas Resueltos - Estructura de Control Selectivas
Problema 1: Para ver un espectaculo publico se debe pagar por grupo familiar, de acuerdo al
numero de personas que integran la familia. Si el numero de integrantes es mayor o igual a 8
personas se paga 2.5 soles por persona y si el numero de integrantes es menos de 8 personas
se paga 3 soles por persona se debe mostrar el pago que realizara cada familia.
Pseudocdigo
ENTRADA: NumI (Nro. de personas Integrantes)
SALIDA: PagF (Pago Familiar)
Inicio
// Declarar variables
Entero NumI
Real PagoF
Leer Num
Comentario Calcular Pago segun Nro de personas
Si NumI >= 8 Entonces
PagoF = 2.5*NumI
Sino
PagoF = 3.0*NumI
FinSi
Escribir PagoF
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declarar variables
int NumI;
double PagoF;
// 1. Leer Num
Console.Write("Ing. numero de personas: ");
NumI = int.Parse(Console.ReadLine());
// 2. Calcular Pago segun el Numero de personas
if (NumI >= 8)
PagoF = 2.5*NumI;
else
PagoF = 3.0*NumI;
// 3. Escribir PagoF
Console.WriteLine("El pago por las {0} personas es = S/. {1} ", NumI,PagoF);
}
}
}
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

262
Problema 2. Un instituto al momento de la matricula cobra un adicional de 20 soles por credito
desaprobado, si el numero de creditos es inferior a 6 creditos y 120 si es igual o superior a 6
creditos. Hacer un algoritmo que calcule el pago que debe hacer un alumno al momento de su
inscripcion.
Debe ingresar estos datos: Numero de creditos inscritos y nro de creditos desaprobados.
Debe mostrarse: el pago por los creditos inscritos, el adicional y el pagoTotal.
Considere el pagoPor credito constante e igual a 80 soles.
Pseudocdigo
ENTRADA: NCI (Nro de Creditos Inscritos)
NCD (Nro de Creditos Desaprobados)
SALIDA: Pago: pago por los Creditos Inscritos
Adic: pago por creditos desaprobados
PagoTotal: PagoTotal = Pago+Adic
Inicio
// Declaracion de variables
Entero NCD,NCI;
Real Pago, Adic, PagoTotal
Constante Real PagoPC = 80
Leer NCI, NCD
Comentario Inicializar acumulador en 0
PagoTotal = 0
Comentario Calcular el pago
Pago = NCI * PagoPC
Comentario Actualizar PagoTotal
PagoTotal = PagoTotal + Pago
Comentario Calcular el Adicional segun NCD
Si NCD < 6 Entonces
Adic = NCD*20
Sino
Adic = 120
FinSi
Comentario Actualizar PagoTotal
PagoTotal = PagoTotal + Adic
Escribir Pago, Adic y pagoTotal
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{
// Declaracion de variables
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

263
int NCD,NCI; double Pago, Adic, PagoTotal; const double PagoPC = 80;
// 1. Leer NCI, NCD
Console.Write("Ing. Nro de creditos Inscritos:");
NCI = int.Parse(Console.ReadLine());
Console.Write("Ing. Nro de creditos desaprobados:");
NCD = int.Parse(Console.ReadLine());
// 2. inicializar PagoTotal en 0
PagoTotal = 0;
// 3. calcular el pago por los creditos inscritos
Pago = NCI * PagoPC;
// 4. Actualizar PagoTotal
PagoTotal = PagoTotal + Pago;
// 5. Calcular el pago Adicional segun NCD
if (NCD < 6)
Adic = NCD*20;
else
Adic = 120;
// 6. Actualizar PagoTotal
PagoTotal = PagoTotal + Adic;
// 7. Escribir Pago, Adic y pagoTotal
Console.WriteLine("El pago= {0} Adicional={1} Pago Total = S/.{2} ", Pago, Adic, PagoTotal);
}
}
}



Problema 3: La universidad UAP ofrece una media beca para los alumnos que hayan sido
soldados (ex-soldados). Hacer un algoritmo para calcular y mostrar el pago que deben realizar
los alumnos al momento de la matricula, si debe ingresar estos datos: Numero de cursos
inscritos y Categoria : 'E' ex soldado o 'R' Regular. El pago regular por curso 200 soles

Pseudocdigo
ENTRADA: NCI: Nro de Creditos Inscritos
NCD: Nro de Credi. Desaprob.
SALIDA: Pago: Pago por Creditos Inscritos
Adic: pago por cred. Desaproba.
PagoTotal:PagoTotal=Pago+Adic

Inicio
// Declaracion de variables
caracter categoria;
Entero NCI;
Real Pago;
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

264
constante Real PCurso = 200
Leer categoria y NCI
Comentario Calcular y Escribir el Pago segun categoria
Si categoria = 'E' Entonces
Pago = NCI * 0.5 * PCurso
Escribir "Ex - Soldado paga ", Pago
Sino Si categoria = 'R' Entonces
Pago = NCI*PCurso
Escribir "Regular paga ", Pago
FinSi
Fin

Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{
// Declarar variables
char categoria;
int NCI;
double Pago;
const double PCurso = 200;
// 1. Leer categoria y NCI
Console.Write("Ing. la categoria <E - R> : ");
categoria = char.Parse(Console.ReadLine());
Console.Write("Ing. Nro de cursos inscritos : ");
NCI = int.Parse(Console.ReadLine());
// 2. Calcular y Escribir el Pago, segun la categoria
if (categoria == 'E')
{
Pago = NCI * 0.5 * PCurso;
Console.WriteLine("Ex - Soldado paga {0} ", Pago);
}
else if (categoria == 'R')
{
Pago = NCI*PCurso;
Console.WriteLine("Regular paga {0} ", Pago);
}
}
}



Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

265
Problema 4 Hacer un algoritmo que calcule la comision que recibira un vendedor, si este se calcula aplicando un
porcentaje sobre las ventas realizadas por el vendedor. Si es mayor de 7000 recibira el 10% de sus ventas; Si es
mayor de 4000 hasta 7000 recibira 8% de sus ventas y si hasta 4000 recibira solo el 5% de sus ventas.
Pseudocdigo
ENTRADA: Nombre y Ventas
SALIDA: Comision
Inicio
Cadena Nombre
Real Ventas, Comision;
Leer Nombre y Ventas
Comentario Calcular Comision segn Ventas
Si Ventas > 7000 Entonces
Comision = 0.10 * Ventas
Sino Si Ventas < 4000 Entonces
Comision = Ventas * 0.08
Sino
Comision = Ventas * 0.05
FinSi
Escribir Nombre, Ventas y Comision
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
string Nombre;
double Ventas, Comision;
// 1. Leer Nombre y Ventas
Console.WriteLine("Ing. Nombre:");
Nombre = Console.ReadLine();
Console.WriteLine("Ing. valor de las ventas:");
Ventas = double.Parse(Console.ReadLine());
// 2. Calcular Comision segun el valor de las Ventas
if (Ventas > 7000)
Comision = 0.10 * Ventas;
else if (Ventas < 4000 )
Comision = Ventas * 0.08;
else
Comision = Ventas * 0.05;
// 3. Escribir Nombre, Ventas y Comision
Console.WriteLine("{0} vendio S/. {1} y recibira una comision de S/. {2}", Nombre, Ventas,
Comision); }
}
}

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

266





Problema 5. Un instituto de idiomas tiene esta oferta para seguir el curso de verano, segun el
sexo y la edad.
Si es de sexo 'M' y es menor de 25 aos paga 1000 soles
Si es de sexo 'M' y mayor o igual a 25 aos paga 750 soles
Si es de sexo 'F' y menor de 21 aos paga 900 soles
Si es de sexo 'F' y es mayor o igual a 21 aos paga 650 soles
Pseudocdigo
ENTRADA: Sexo y Edad
SALIDA: Pago
Inicio
caracter Sexo;
entero Edad;
real Pago=0;
Leer Sexo, Edad,
Comentario Calcular el pago segun la Edad y Sexo
Si Sexo == 'M' Entonces
Si (Edad < 25)
Pago = 1000;
Sino
Pago = 750;
FinSi
Sino Si Sexo == 'F' Entonces
Si (Edad < 21)
Pago = 900;
Sino
Pago = 650;
FinSi
FinSi
Escribir Sexo, Edad y Pago
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declarar variables
char Sexo;
int Edad;
double Pago=0;
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

267
// 1. Leer Sexo, Edad,
Console.Write("Ing. sexo F - M:" );
Sexo = char.Parse(Console.ReadLine().ToUpper());
Console.Write("Ing. Edad : ");
Edad = int.Parse(Console.ReadLine());
// 2. Calcular el pago segun la Edad y Sexo
if (Sexo == 'M') {
if (Edad < 25)
Pago = 1000;
else
Pago = 750;
}
else if (Sexo == 'F')
{
if (Edad < 21)
Pago = 900;
else
Pago = 650;
}
// 3. Escribir Sexo, Edad y Pago
Console.WriteLine("Es {0} con {1} aos, debe pagar S/. {2} ", Sexo, Edad,Pago);
}
}
}




Problema 6. Hacer un algoritmo que muestre un mensaje adecuado segun el valor del numero
ingresado por teclado. Ejm : si ingresa 25 debe mostrar Numero 25 es Positivo. Si ingresa -10
debe mostrar Numero -10 es Negativo. Si ingresa 0 debe mostrar Numero 0 es Neutro

Pseudocdigo Cdigo C#
ENTRADA: Num: Numero real
SALIDA: Mensaje segn valor de Num

Inicio
Real Num;
Leer Num

//Comentario. Escribir mensaje segun
Num
Si Num < 0 Entonces
Escribir Num, " es Negativo : "
Sino Si Numero = 0 Entonces
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declarar variables
double Num;
// 1. Leer Num
Console.Write("Ing. numero real : ");
Num = double.Parse(Console.ReadLine());
// 2. Escribir mensaje segun el valor de Num
Prueba switch con if
anidados
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

268
Escribir Num, " Neutro "
Sino
Escribir Num, " es Positivo "
FinSi
Fin
if (Num < 0 )
Console.WriteLine("Numero {0} es Negativo : ", Num);
else if (Numero == 0 )
Console.WriteLine("Numero {0} es Neutro ", Num);
else
Console.WriteLine("Numero {0} es Positivo ", Num);
}
}
}
Problema 7. Una empresa que restaura sillas de madera, ofrece a sus clientes la siguiente
oferta: si el numero de sillas a restaurar es mayor de 8 paga 10 soles por cada silla. Si es de 4 a
8 sillas paga 15 soles por cada silla y si es menos de 4 sillas paga 18 soles por silla.
Pseudocdigo
ENTRADA: NumS: Numero de Sillas
SALIDA: Total: Pago por las sillas a restaurar
Inicio
// Declaracion de variables
Entero NumS
Real Total
Leer NumS
Comentario Calcular el total a pagar segn NumS
Si NumS > 8 Entonces
Total = NumS*10
Sino Si NumS >=4 Entonces
Total = NumS * 15
Sino
Total = NumS * 18
FinSi
Escribir el Total a pagar
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ //Declaracion de variables
int NumS;
double Total;
// 1. Leer Numero de sillas
Console.Write("Ing. numero de sillas:");
NumS = int.Parse(Console.ReadLine());
// 2. Calcular el total a pagar
if (NumS > 8)
Total = NumS*10;
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

269
else if (NumS >=4)
Total = NumS * 15;
else
Total = NumS * 18;
// 3. Escribir el Total a pagar
Console.WriteLine("Por las {0} sillas pagara S/.{1}",NumS,Total);
}
}
}

Problema 8 Ingresado por teclado la primera letra del estado civil de una persona, Mostrar el
estado civil completo
Pseudocdigo
ENTRADA: Nombre, EstCiv
SALIDA: Mensaje segun EstCiv, que incluye el nombre

Inicio
//Declaracion de variables
string Nombre;
char EstCiv;
Leer Nombre y EstCiv
Comentario Escribir mensaje segun EstCiv
Segun (EstCiv) Hacer
caso 'S':
Escribir Nombre , " es...Soltero (a)"
caso 'C':
Escribir Nombre, " es...Casado (a)"
caso 'V':
Escribir Nombre, " es...Viudo (a)"
caso 'D':
Escribir Nombre," es...Divorciado (a)"
otros:
Escribir "OTROS"
FinSegun
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{
//Declaracion de variables
string Nombre;
char EstCiv; ToUpper() metodo
que convierte cadena
a Mayusculas
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

270
// 1. Leer Nombre y EsCiv
Console.Write("Ing. su nombre : ");
Nombre = Console.ReadLine();
Console.Write("Ing. su estado civil < S / C / V / D >:");
EstCiv = char.Parse(Console.ReadLine().ToUpper());
// 2. Escribir mensaje segun valor de EstCiv
switch(EstCiv)
{
case 'S':
Console.WriteLine("{0} es...Soltero (a)", Nombre);
break;
case 'C':
Console.WriteLine("{0} es...Casado (a)", Nombre);
break;
case 'V':
Console.WriteLine("{0} es...Viudo (a)", Nombre);
break;
case 'D':
Console.WriteLine("{0} es...Divorciado (a)", Nombre);
break;
default:
Console.WriteLine("OTROS");
break;
}
}
}

Problema 9. Hacer un programa que permita elegir una opcion de un menu de opciones:
* 1. calcule el area de un triangulo, conocidas la base y la altura
* 2. calcule el area de un trapecio conocidas sus bases y su altura
* 3. calcule el area de un traingulo conocido sus lados
* En cada caso mostrar el area.

Pseudocdigo
ENTRADA: base1,base2,lado1,lado2,lado3, altura
SALIDA: p: semiperimetro de un triangulo
area: de un triangulo
Inicio
Comentario: Declaracion de variables
Real area, base1, base2, alura
Real p, lado1,lado2,lado3
Carcter opcion
Comentario Escribir Menu de opciones
Escribir " <1>Area triangulobase y altura"
Escribir "<2> Area trapecio..bases y altura"
Escribir "<3> Area triangulo tres lados"
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

271
Leer opcion
area = 0;
Comentario Segun opcion realizar instrucc.
Segun opcion Hacer
caso '1' :
Leer base1 y altura
Comentario: Calcular area del triangulo
area = base1*altura/2
caso '2' :
Leer base1 , base2 y altura
Comentario: Calcular area del trapecio
area = (base1+base2)*altura/2;
caso '3':
Leer lado1, lado2, lado3
Comentario Calcular p
p = (lado1+lado2+lado3)/2;
Comentario: Calcular area del triangulo conocido sus lados
area = RaizC(p*(p-lado1)*(p-lado2)*(p-lado3))
FinSegun
Escribir area
Fin
Cdigo C#
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
double p,area, base1, base2, altura,
double lado1,lado2,lado3;
char opcion;
// 1.Escribir Menu de opciones
Console.WriteLine("calculo de AREAS:");
Console.WriteLine("< 1 > Area de triangulo conocido su base y altura");
Console.WriteLine("< 2 > Area de trapecio conocido sus bases y altura");
Console.WriteLine("< 3 > Area de triangulo conocido sus tres lados");
Console.Write("Ing. opcion <1/2/3>: ");
// 2. Leer opcion
opcion = char.Parse(Console.ReadLine());
// 3. Inicializar area en 0
area = 0;
// 4. Segun opcion 1,2,o 3 realizar operaciones
switch (opcion)
{
case '1' :
// Leer base1 y altura
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

272
Console.Write("ing. base1: ");
base1 = double.Parse(Console.ReadLine());
altura = double.Parse(Console.ReadLine());
// Calcular area del triangulo
area = base1*altura/2;
break;
case '2' :
// Leer base1 , base2 y altura
Console.Write("ing. base1: ");
base1 = double.Parse(Console.ReadLine());
Console.Write("ing. base2: ");
base2 = double.Parse(Console.ReadLine());
Console.Write("ing. altura: ");
altura = double.Parse(Console.ReadLine());
// Calcular area
area = (base1+base2)*altura/2;
break;
case '3':
// Leer lado1, lado2, lado3
Console.Write("ing. lado1: ");
lado1 = double.Parse(Console.ReadLine());
Console.Write("ing. lado2: ");
lado2 = double.Parse(Console.ReadLine());
Console.Write("ing. lado3: ");
lado3 = double.Parse(Console.ReadLine());
// Calcular semiperimetro p
p = (lado1+lado2+lado3)/2;
area = Math.Sqrt(p*(p-lado1)*(p-lado2)*(p-lado3));
break;
}
// 5. Escribir area
Console.WriteLine("El area = {0} ", area );
}
}
}










Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

273

5.3 Problemas Resueltos - Estructura de Control Repetitivas
FOR
Problema 1: Hacer un algoritmo y su programa en C3 que genere y muestre la serie 0,1,2,3,4,5,6,7,8

Pseudocdigo Cdigo C#
Entrada
Salida: i (que varia de 0,1,2,8)

Inicio
Entero i

Comentario: se repite desde i 0 hasta 8
Para i= 0 Hasta 8, inc 1 hacer
Escribir i
Fin

Fin
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{
int i;
// Repite desde i: 0 hasta 8
for (i = 0; i <= 8; i = i + 1) {
Console.WriteLine(i); // Escribir i
}
}
}
}

Problema 2 Escribir el algoritmo y su programa en C# para calificar a un grupo de 4 alumnos de una
universidad. El programa debe leer el nombre y las 3 notas de cada alumno. Debe calcular el
promedio de cada uno y determinar si el alumno esta aprobado o no (se requiere un promedio de al
menos 12 para aprobar). Por alumno, se debe mostrar en pantalla su nombre, las 3 notas, el promedio
y un mensaje (aprobado desaprobado). Tambien mostrar en pantalla el nmero de alumnos que
aprobaron y el nmero de alumnos que obtuvieron al menos 17.

Pseudocdigo
Entrada: Nombre y n1,n2,n3 (las 3 notas del alumno).
Salida: Promedio: promedio simple a partir de las 3 notas.
naa: Nro de alumnos aprobados y na17: Nro de alumnos que tuvieron minimo 17
Inicio
Comentario : Declaracion de variables
Entero i, n1,n2,n3,naa,na17
Real Promedio
Cadena Nombre
Comentario1: Inicializar contadores
naa = 0 y na17 = 0
Comentario2: Repetir 4 veces
Para i = 1 Hasta 4 inc 1 hacer
Leer Nombre, n1, n2, n3
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

274
Comentario 2.1 Calcular el promedio simple
Promedio = (n1 + n3 + n3) / 3;
Comentario 2.2 Escribir Nombre,n1,n2,n3, promedio y mensaje segn Promedio
Si Promedio >= 12 Entonces
Escribir Nombre,n1,n2,n3, promedio, Aprobado
naa = naa + 1
Si Promedio >= 17 Entonces
na17 = na17 + 1;
FinSi
Sino
Escribir Nombre, n1, n2, n3, promedio, Desaprobado"
FinSi
FinPara
Escribir naa , na17
Fin
Cdigo C#
using System;
namespace Problema8
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
int i,n1,n2,n3,naa,na17;
double Promedio;
string Nombre;
// 1. Inicializar contadores en 0
naa = 0; na17 = 0;
// 2. Repetir 4 veces
for (i = 1; i <= 4; i = i + 1)
{ // 2.1. Leer Nombre, n1,n2,n3
Console.Write("Ing. nombre: ");
Nombre = Console.ReadLine();
Console.Write("Ing. nota 1: ");
n1 = int.Parse(Console.ReadLine());
Console.Write("Ing. nota 2: ");
n2 = int.Parse(Console.ReadLine());
Console.Write("Ing. nota 3: ");
n3 = int.Parse(Console.ReadLine());
// 2.2. Calculo del promedio simple
Promedio = (n1 + n3 + n3) / 3;
// 2.3. Escribir mensajes y evaluar segn promedio
if (Promedio >= 12)
{ // a.1 Si esta aprobado Escribir Nombre,n1,n2,n3, promedio, Aprobado
Console.WriteLine("{0} {1} {2} {3} {4} Aprobado", Nombre,n1,n2,n3, promedio);
// a..2 Contar como aprobado
naa = naa + 1;
// a.3 Contar si promedio es >=17
if (Promedio >= 17)
na17 = na17 + 1;
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

275
}
else
{ // b.1 Si esta Desaprobado Escribir Nombre,n1,n2,n3, promedio, Desaprobado
Console.WriteLine("{0} {1} {2} {3} {4} Desaprobado", Nombre, n1, n2, n3, promedio);
}
}
// 2.4 Escribir naa y na17
Console.WriteLine("{0} aprobados {1} aprobados con mas de 17",naa,na17 );
}
}
}
Problema 3. El gerente de una empresa Industrial, le ha pedido que escriba el algoritmo que procese
y muestre la informacin de la nmina de sus 5 empleados. Para cada caso, el programa debe leer el
nombre, las horas de trabajo, el pago por hora normal y la edad. Ejemplo: Un grupo tpico de datos
podra ser:
NOMBRE N.H.T. P.H. EDAD
Juan Solano 50 5 57
El pago por hora despus de las 40 horas de trabajo tiene un aumento equivalente al 50% del pago
por hora normal. As, un empleado que trabaja 50 horas a S/. 5.00 por hora tendr un pago total de S/.
275.00.
Al trabajador se le retiene un impuesto de la siguiente manera: 10 % de los primeros S/. 200.00 y 20 %
de la cantidad adicional.
Por cada empleado debe mostrar esta informacin :
Ejemplo: Juan Solano 275 50 15 5 240 57
Las estadisticas globales deben informar sobre: el pago total promedio para los empleados de al
menos 55 aos. El nombre y el pago total para el empleado de menos de 55 aos con mximo pago
total (se puede suponer que no hay empate).
Pseudocdigo
ENTRADA: Nombre y Edad
NHT: Nro de Horas Trabajadas. . PH: Pago Por Hora
SALIDA: Por empleado: Total a pagar por el NHT. Impuesto. Neto= Total-Impuesto
Estadstica Global: MaxP y NEMaxP Mximo Pago y Nombre de los menores de 55 aos
PromMas55 promedio de pagos de los mayores o iguales a 55 aos
Inicio
Real PH, Total, Impuesto, Neto, SMas55, PromMas55, MaxP
Entero i, NHT, Edad, CMas55;
Cadena Nombre, NEMaxP;
Comentario 1. Inicializar valores
MaxP = 0 NEMaxP = ""
CMas55 = 0 SMas55 = 0
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

276
Comentario 2. Repetir 5 veces
Para i = 1 Hasta i5 inc 1
Leer Nombre, Edad, NHT y PH de c/empleado
Comentario 2.2 Calcular del total
Si NHT <= 40 Entonces
Total = NHT * PH;
Sino
Total = NHT * PH + (NHT - 40) * PH * 1.5
FinSi
Comentario 2.3 Calcular el impuesto
Si Total >= 200 Entonces
Impuesto = Total * 0.01 + (Total - 200) * 0.02
Sino
Impuesto = 200*0.10 + 0.2*(Total-200)
FinSi
Comentario 2.4 Calcular el Neto
Neto = Total - Impuesto
Escribir Nombre,NHT,PH,Edad,Total
Comentario2.6 Calcular el maximo pago a los empleados de < 55 aos y a quien le corresponde
Si Edad < 55 Entonces
Si Neto > MaxP Entonces
MaxP = Total;
NEMaxP = Nombre;
FinSi
Sino // Cuenta y acumula los totales de los empleados que tienen mas de 55 aos
SMas55 = SMas55 + Total;
CMas55 = CMas55 + 1;
FinSi
Fin Para
Escribir MaxP, NEMaxP);
Si CMas55 > 0 Entonces
PromMas55 = SMas55 / CMas55;
Escribir PromMas55
FinSi
Fin
Cdigo C#
using System;
namespace Problema7
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
double PH, Total, Impuesto, Neto;
double SMas55, PromMas55, MaxP;
int i, NHT, Edad, CMas55;
string Nombre, NEMaxP;
// 1. Inicializar valores
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

277
MaxP = 0; NEMaxP = "";
CMas55 = 0; SMas55 = 0;
// 2. Repetir 5 veces
for (i = 1; i <= 5; i = i + 1)
{ // 2.1 leer Nombre, Edad, NHT y PH de cada empleado
Console.Write("Ing. Nombre: ");
Nombre = Console.ReadLine();
Console.Write("Ing. Edad: ");
Edad = int.Parse(Console.ReadLine());
Console.Write("Ing. Nro de Horas Trabajadas : ");
NHT = int.Parse(Console.ReadLine());
Console.Write("Ing. Pago por hora : ");
PH = double.Parse(Console.ReadLine());
// 2.2 Calcular del total a pagar segun el NHT
if (NHT <= 40)
Total = NHT * PH;
else
Total = NHT * PH + (NHT - 40) * PH * 1.5;
// 2.3 Calcular el impuesto, segun el Total
if (Total >= 200)
Impuesto = Total * 0.01 + (Total - 200) * 0.02;
else
Impuesto = 200 * 0.10 + 0.2 * (Total - 200);
// 2.4 Calcular el Neto a pagar
Neto = Total - Impuesto;
// 2.5 Escribir Nombre,NHT,PH,Edad,Total
Console.WriteLine(" {0} {1} {2} {3} {4} ", Nombre, NHT, PH, Edad, Total);
// 2.6 Calcular el maximo pago a los empleados de menos de 55 aos y a quien le corresponde
if (Edad < 55)
{
if (Total > MaxP)
{
MaxP = Total;
NEMaxP = Nombre;
}
}
else
{ // Acumula total y Cuenta si Edad es minimo 55 aos
SMas55 = SMas55 + Total;
CMas55 = CMas55 + 1;
}
} // Fin de for

// 3. Escribir MaxP y NEMaxP
Console.WriteLine("El maximo pago sera : = {0} y le corresponde a {1}", MaxP, NEMaxP);
// 4. Si CMas55 es mayor a 0, calcular el promedio PromMas55 y escribirlo
if (CMas55 > 0)
{
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

278
// Calcula el promedio de los pagos de al menos 55 aos
PromMas55 = SMas55 / CMas55;
Console.WriteLine("El promedio de los empleados de al menos 55 aos es S/. {0}", PromMas55);
}
}
}
}



Problema 4 de un total de 5 numeros ingresados por teclado solo calcule el promedio de los
numeros positivos, no considere los numeros negativos, ni menores o iguales a 0.
Pseudocdigo Cdigo C#
Entrada: Num (5 veces)
Salida: Prom: promedio de los numeros +

Inicio
Entero Num
Real SN, Prom

SN = 0
Comentario: se repite 5 veces
Para i= 1 Hasta 5 inc 1
Leer Num
Comentario Acumular Num si es positivo
SN = SN + Num
FinPara
Comentario Calcular Prom
Prom = SN/5
Escribir Prom
using System;
namespace Problema_01
{
class Program
{
static void Main(string[] args)
{ // Declaracion de variables
int i,Num;
double SN,Prom;
// 1. Inicializa acumulador en 0
SN = 0;
// 2. Repetir 5 veces
for(i=1;i<=5;i=i+1)
{ // 2.1 Leer Num validandolo (mayores de 0)
do
{
Console.WriteLine("Ing numero");
Num = int.Parse(Console.ReadLine());
}while (Num <=0);
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

279
Fin // 2.2 Acumular Num>0 en SN
SN = SN + Num;
}
// 3. Calcular Promedio
Prom = SN / 5;
// 4. Escribir Prom
Console.WriteLine("Promedio = {0} ", Prom);
}
}
}
WHILE DO WHILE

Problema 1. Escriba el algoritmo y su programa en C# que evale la funcin y = 4 x
2
16x +15,
donde x toma los valores desde 1 hasta 2 en pasos (incrementos) de 0.1. Para cada valor de x se
debe mostrar el mensaje POSITIVO o NEGATIVO segn el caso. Ejm: si y= 1.0 POSITIVO, Y=-1
NEGATIVO. Use while.
Pseudocdigo Cdigo C#
Entrada
Salida: y

Inicio
Real x,y

x=1
Mientras x<=2 repetir
y=4*Potencia(x,2)-16x+15
x = x +0.1
Si y>=0 Entonces
Escribir y , es positivo
Sino
Escribir y , es negativo
FinSi
FinMientras

Fin
using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{
double x,y;
// 1. Inicializar x en 1
x = 1;
// 2. Mientras x <=2 hacer
while (x <=2)
{
// 2.1 Asignar valor a y =4*a*a-16*a+15
y = 4*Math.Pow(x,2)-16*x+15;
// 2.2 Incrementar x en 0.1
x = x + 0.1;
// 2.3 Si y es > 0
if (y >= 0) { // a) Escribir y ,"es postivo"
Console.WriteLine("{0} es POSITIVO", y);
}
else{ // b) sino Escribir y, " es negativo"
Console.WriteLine("{0} es NEGATIVO", y);
}
} // fiin de mientras
}
}
}

Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

280
Problema 2: Escriba el algoritmo y su programa en C# para calcular sueldos usando un ciclo mientras
con centinela. Para cada empleado, el programa debe leer el nombre, sexo, horas trabajadas, pago
por hora y debe mostrar el sueldo.
Como estadsticas globales debe mostrar el sueldo promedio para las mujeres y el sueldo promedio
para los hombres. El programa debe terminar cuando se ingresa X como valor para el sexo




Pseudocdigo
Entrada sexo, nombre, nht: Nro de Horas Trabajadas, pht: Pago por Hora Trabajada
Salida: Sueldo: sueldo de cada empleado
Globales:Sumasf, sumasm(suma de sueldos de sexo femenino y masculino) y promedios por sexo
Inicio
Real pht, Sueldo, sumasm,sumasf
Entero nht, cm,cf;
Caracter sexoC;
Cadena Nombre;
Comentario Inicializar contad. y acumulad. en 0
sumasm = sumasf = 0
cm = cf = 0
Leer sexo
Mientras sexoC X repetir
Leer nombre, nht, pht
Comentario: Calcular Sueldo
Sueldo = nht*pht;
Escribir nombre,Sueldo
Si sexoC = 'M' Entonces
sumasm = sumasm + Sueldo;
cm = cm + 1;
Sino Si sexoC = 'F' Entonces
sumasf = sumasf + Sueldo;
cf = cf + 1;
FinSi
Leer sexo
FinMientras
Escribir sumasm y sumasf
Escribir sumasf/cf
Escribir sumasm/cm
Fin
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

281
Cdigo C#
using System;
namespace Ejem02
{
class Program
{
static void Main(string[] args)
{ float pht, Sueldo, sumasm,sumasf;
int nht, cm,cf;
char sexoC;
string Nombre;
// 1. Inicializar contad y acumulador en 0
sumasm = 0; sumasf = 0;
cm = 0; cf = 0;
// 2.Leer sexo
Console.Write("Ing. sexo F - M : Para terminar ingrese X ");
sexoC = char.Parse(Console.ReadLine().ToUpper());
// 3.Mientras sexoC sea diferente de X
while (sexoC != 'X')
{
// 3.1 Leer nombre, nht, pht
Console.Write("Ing. nombre : ");
Nombre = Console.ReadLine();
Console.Write("Ing. Nro de horas trabajadas : ");
nht = int.Parse(Console.ReadLine());
Console.Write("Ing. pago por hora : ");
pht = float.Parse(Console.ReadLine());
// 3.2 Calcular Sueldo asi : nht*pht
Sueldo = nht*pht;
// 3.3 Escribir nombre,Sueldo
Console.WriteLine("{0} tiene Sueldo S/. {1} ", Nombre,Sueldo);
// 3.4 Contar y acumular sueldos segn el sexo
if (sexoC == 'M' ) {
sumasm = sumasm + Sueldo;
cm = cm + 1;
}
else if (sexoC == 'F') {
sumasf = sumasf + Sueldo;
cf = cf + 1;
}
// 3.5 Leer sexo para el siguiente empleado
Console.Write("Ing. sexo F - M : Para terminar ingrese X ");
sexoC = char.Parse(Console.ReadLine().ToUpper());
} // Fin mientras
// 4. Escribir sumasm y sumasf y promedios
Console.WriteLine("{0} de los de sexo Femenino",sumasf);
Console.WriteLine("{0} de los de sexo Maxculino",sumasm);
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

282
Console.WriteLine("{0} prome de sexo Femenino",sumasf/cf);
Console.WriteLine("{0} prome de sexo Masculino",sumasm/cm);
}
}
}












Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

283
Problema 3: Las potencias de 2 son: 1, 2, 4, 8,16,..... Para obtener la siguiente potencia se multiplica
la anterior por 2. Escribir el algoritmo y su programa en C# que muestre la primera potencia de 2 que
pasa de 1000.
Pseudocdigo
ENTRADA
SALIDA: Potencia
Inicio
// Declarar potencia, exp
Real potencia
Entero exp
// Inicializar Potencia en 1 y exp en 0
potencia = 1
exp = 0
Mientras potencia<=1000 repetir
potencia = potencia * 2
exp = exp + 1
FinMientras
Escribir exp
Fin
Cdigo C#
using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{ // Declarar potencia, exp
double potencia;
int exp;
// 1. Inicializar Potencia en 1 y exp en 0
potencia = 1;
exp = 0;
// 2. Mientras potencia<=1000 repetir
while (potencia <= 1000)
{
// 2.1 Calcula potencia de 2
potencia = potencia * 2;
// 2.2 Actualiza el exponente exp
exp = exp + 1;
} // fin mientras
// 3. Escribir exp,
Console.WriteLine("{0} es la primera potencia",exp);
}
}
}
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

284

Problema 4: Escriba un algoritmo y su programa en C# que permita que el usuario introduzca enteros
positivos entre 1 y 5. El programa debe informar al usuario cuando haya escrito un nmero que hace
que la suma pase de 21, imprimiendo la suma y el ltimo entero introducido y el mensaje "mas de 21".
Pseudocdigo
ENTRADA: Num de 1 a 5
SALIDA: SN
Inicio
int Num, SN;
Comentario Inicializar SN y Num en 0
SN = Num = 0;
Mientras SN <= 21 Repetir
Leer Num
Si Num >= 1 y Num <= 5 Entonces
SN = SN + Num
FinSi
FinMientras
Escribir SN," es la suma de los numeros"
Escribir Num, " ultimo numero ingresado"
Fin
Cdigo C#
using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{ int Num, SN;
// 1.Inicializar Num y SNum en 0
SN = 0; Num = 0;
// 2. Mientras (SNum <=21) Repetir
while (SN <= 21)
{ // 2.1 Leer Num
Console.Write("Ingrese numero entre 1 y 5");
Num = int.Parse(Console.ReadLine());
if (Num >= 1 && Num <= 5)
SN = SN + Num;
}
// 3. Escribir SN y Num
Console.WriteLine("{0} es la suma de los numeros",SN);
Console.WriteLine("{0} es el ultimo numero ingresado", Num);
}
}
}


Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

285

Problema 5: e
x
se puede expresar como la siguiente serie infinita

Si se considera 1 como el trmino 0, x como el primer trmino, x como el segundo trmino, x
2
/2! como
el tercer trmino, etc; entonces el trmino n es igual al trmino n-1 multiplicado por x/n. Haga el
algoritmo y el programa en C# basado en esta serie para encontrar una aproximacin a e
x
. El
programa debe parar cuando el ltimo trmino sumando sea menor de 0.0001. Compruebe el
programa y compare con el valor de la funcin que devuelve este valor (exp(x) ) en el lenguaje de
programacin C#.
Pseudocdigo
ENTRADA
SALIDA: n: Nro de terminos de la serie.
e : base de los logaritmos neperianos
Inicio
// Comentario Declarar variables
Real x, t, e // Comentario t termino de la serie
Entero n
Leer x
Comentario Inicializar n en 2 ,t en x , e en 1+x
n = 2
t = x;
e = 1 + x
Mientras ( t >=0000.1) repetir
Comentario Generar el nuevo termino t en
t = t * x / n;
Comentario: Acumula t en e
e = e + t;
Comentario: Incrementar n
n = n + 1;
FinMientras
Escribir n, e
Fin
Cdigo C#
using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{
// Declarar t, a, n, e, x
double x, t, e;
int n;
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

286
// 1. Leer x
Console.Write("Ing. valor de x:");
x = double.Parse(Console.ReadLine());
// 2. Inicializa n en 2 (se tiene 2 terminos en la serie)
n = 2;
// 3. inicializa t en x (termino de la serie)
t = x;
// 4. Inicializa e en1+x
e = 1 + x;
// 5. Mientras t >=0000.1 hacer
while (t >= 0.0001)
{
// 5.1Generar el nuevo termino t en
t = t * x / n;
// 5.2 Acumular t en e asi : e= e+t
e = e + t;
// 5.3 Incrementar el nro de terminos de la serie
n = n + 1;
} // fin mientras
// 6. Escribir e
Console.WriteLine("{0} es el valor de e",e);
Console.WriteLine("{0} es el nro de termino",n);
}
}
}


Problema 6. Escriba el algoritmo y el programa en C# que cuente el nmero de cifras de un entero de
entrada hasta 35000. As para una entrada de 583 la salida debe ser "3 cifras", asegrese que el
programa funcione para 1 y 10. Para cero la salida debe ser "UNA CIFRA". El programa no debe
cerrarse hasta ingresar el nmero 0. Valide el nmero ingresado.

Pseudocdigo Cdigo C#
Entrada
Salida: Num, tiene cifras

Inicio
Entero Num;
Logico dom;
Comentario. Leer y validar Num
Hacer
Leer Num
Comentario Establecer dominio dom
dom = Num>=0 y Num <=35000
Si (dom = false )
Using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{
int Num;
bool dom;
// 1. Leer y validar Num
do{
Console.Write("Ing, numero:");
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

287
Escribir Num, " no es valido "
Mientras (No dom)
Comentario Repetir Mientras Num 0
Mientras Num 0 Repetir
Si Num > 0 y Num < 10 Entonces
Escribir Num, " tiene 1 cifra"
Sino Si Num < 100 Entonces
Escribir Num, " tiene 2 cifra"
Sino Si Num < 1000 Entonces
Escribir Num, " tiene 3 cifra"
Sino Si Num < 10000 Entonces
Escribir Num, " tiene 4 cifra"
Sino Si Num <= 35000 Entonces
Escribir Num, " tiene 5 cifra"
FinSi
Comentario Leer y validar Num
Hacer
Leer Num
Comentario Establecer dominio dom
dom = Num>=0 y Num <=35000
Si (dom = false )
Escribir Num, " no es valido "
Mientras No dom
FinMientras
Fin





Num = int.Parse(Console.ReadLine());
dom = Num>=0 && Num <=35000;
if (dom == false )
Console.WriteLine("{0} no es valido ", Num);
}while (!dom);
// 2.Repetir Mientras Num 0
while (Num != 0) hacer
{ // 2.1 Mensaje segn Nro de cifras
if (Num > 0 && Num < 10)
Console.WriteLine("{0} tiene 1 cifra", Num);
else if (Num < 100)
Console.WriteLine("{0} tiene 2 cifras", Num);
else if (Num < 1000)
Console.WriteLine("{0} tiene 3 cifras", Num);
else if (Num < 10000)
Console.WriteLine("{0} tiene 4 cifras", Num);
else if (Num <= 35000)
Console.WriteLine("{0} tiene 5 cifra", Num);
// 2.2 Leer y validar Num
do
{
Console.Write("Ing, numero:");
Num = int.Parse(Console.ReadLine());
dom = Num >= 0 && Num <= 35000;
if (dom == false)
Console.WriteLine("{0} no es valido ", Num);
} while (!dom);
} // Fin de Mientras
}
}
}











Problema 7 Escriba el algoritmo y su programa en C# que pida al usuario ingresar 10 nmeros
enteros pares para sumarlos. Elabore el programa de manera que solo sume los pares aunque puede
ingresar impares. El programa debe salir del ciclo e imprimir la suma slo cuando se hayan ingresado
los 10 enteros pares.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

288

Pseudocdigo Cdigo C#
Entrada
Salida: suma: suma de 10 numeros pares

Inicio
Comentario c : contador de pares
int num, suma, c;
Comentario Inicializar contador y acumulador en 0
c = 0
suma = 0
// Comentario Mientras (c<10) Repetir
Mientras c < 10 repetir
Leer num
// si num es par entonces
Si num % 2 == 0 Entonces
suma = suma + num
c = c +1
FinSi // fin si
FinMientras // Fin mientras
Escribir suma
Fin
using System;
namespace Ejem01
{
class Program
{
static void Main(string[] args)
{
// Declarar num, suma, c
int num, suma, c;
//1. Inicializar contador y acumulador en 0
c = 0;
suma = 0;
// 2. Mientras (c<10) Repetir
while (c < 10)
{
// 2.1 Leer num
Console.Write("Ing. numero par : ");
num = int.Parse(Console.ReadLine());
// 2.2 Si num par acumular num y contar
if (num % 2 == 0)
{
// 2.2.1 acumular num en suma
suma = suma + num;
// 2.2.2 contar c
c = c +1;
} // fin si
} // Fin mientras
// 3. Escribir suma
Console.WriteLine("{0} es la suma de los numeros pares
ingresados", suma);
}
}
}












Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

289
Problema 8 Hacer un algoritmo y su programa en C# que imprima todos los nmeros primos entre 2
nmeros ingresados por el teclado. Ejemplo: primer nmero = 5. ltimo nmero =15
Resultado = 5, 7, 11, 13

Pseudocdigo
Entrada: Num1 y Num2
Salida: es Primo
Inicio
Entero Num1, Num2,i,j;
Logico primo;
Leer num1, num2
Si Num1 <= Num2 Entonces
Comentario Repetir para Num1 hasta Num2
Para i = Num1 Hasta Num2, inc 1
// Comentario: Verificar si i es primo
primo = true;
Para j = 2 Hasta i 1, inc 1
Si i % j == 0 Entonces
primo = false;
Salir del for
Fin del SI
Fin para
Si primo = true Entonces
Escribir i, " es primo"
FinSi
Fin Para
Sino // Si Num2 > Num1
Para i = Num2 Hasta Num1, inc 1
Comentario Verificar si I es Primo
primo = true;
para j = 2 hasta i 1, inc 1
Si i % j == 0 Entonces
primo = false
Salir del for
FinSi
FinPara
Si primo = true Entonces
Escribir i , " es primo"
FinSi
Fin Para
FinSino
Fin




Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

290
Cdigo C#
using System;
namespace Ejem08
{
class Program
{
static void Main(string[] args)
{ int Num1, Num2,i,j;
bool primo;
// 1. Leer num1, num2
Console.Write("Ing. numero 1 : ");
Num1 = int.Parse(Console.ReadLine());
Console.Write("Ing. numero 2 : ");
Num2 = int.Parse(Console.ReadLine());
// 2. Si Num1 es <= Num2
if (Num1 <= Num2)
{
// a.1 Repetir para Num1 hasta Num2
for (i = Num1; i <= Num2; i = i + 1)
{
// a.1.1 Verificar si i es primo
primo = true;
for (j = 2; j <= i - 1; j = j + 1)
{
if (i % j == 0) {
primo = false; break;
}
} // Fin del for interno
// a.1.2 Si primo es true Escribir Mensaje
if (primo == true)
Console.WriteLine("{0} es primo", i);
} // Fin del for externo
}
else { // Si Num2 > Num1
// b.1 Repetir para Num2 Hasta Num1
for (i = Num2; i <= Num1; i = i + 1)
{
// b.1.1 Verificar si i es primo
primo = true;
for (j = 2; j <= i - 1; j = j + 1)
{
if (i % j == 0) {
primo = false; break;
}
} // Fin del for interno
// b.1.2 Si primo es true Escribir Mensaje
if (primo == true)
Console.WriteLine("{0} es primo", i);
} // Fin del for externo
} //Fin del else
}
}
}

Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

291
Problema 9. Hacer el algoritmo y su programa en C# para generar y mostrar los nmeros de
Fibonacci menores de 200

Pseudocdigo Cdigo C#
ENTRADA
SALIDA: CanF: Cantidad de # de Fibonacci
NF: Nro de Fibonacci
PN, SN Primero y Segundo # de Fibonacci

Inicio
entero NF, PN, SN, CanF;
Comentario Inicializar PN, SN y CanF
PN = SN = 1
CanF = 2
Escribir PN, SN
Comentario Generar Nro de Fibonacci
NF = PN + SN
Mientras NF < 200 Repetir
Escribir NF
Comentario Contar Cant. De Fibonacci
CanF = CanF + 1;
PN = SN;
SN = NF;
NF = PN + SN;
FinMientras
Escribir "Hay , CanF , numeros de fibonacci"
Fin
using System;
namespace ejem05_b
{
class Program
{
static void Main(string[] args)
{
// Declarar variables
int NF, PN, SN, CanF;
// 1. Inicializar PN, SN y CanF
PN = 1;
SN = 1;
CanF = 2;
// 2. Escribir PN y SN
Console.WriteLine(PN);
Console.WriteLine(SN);
// 3. Generar Nro de Fibonacci
NF = PN + SN;
// 4. Mientras NF < 200 Repetir
while(NF < 200)
{
// 4.1 Escribir NF
Console.WriteLine(NF);
// 4.2 Contar Cant. De terminos de Fibonacci
CanF = CanF + 1;
// 4.3 Actualizar PN y SN
PN = SN;
SN = NF;
// 4.4 Generar Nro de Fibonacci NF
NF = PN + SN;
}
Console.WriteLine("Hay {0} numeros de fibonacci", CanF);
}
}
}









Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

292
Problema 10 .Hacer un algoritmo y su programa en C# que genere y muestre los 10 primeros
numeros de fibonacci.
Pseudocdigo Cdigo C#
Entrada
Salida: NF: Nro de Fibonacci
CanF Cant de Nros de Fib
Inicio
Comentario Declarar variables
Entero CanF, NF,PN,SN
Comentario Inicializar los 2 prim. # de Fib
PN = SN = 1
Comentario Inicializar CanF en 2
CanF = 2
Escribir PN y SN

Mientras CanF < 10 repetir
Comentaro Generar el nro de fib siguiente
NF = PN + SN
CanF = CanF + 1
Comentario Escribir NF
Comentario Actualizar PN y SN
PN = SN
SN = NF
FinMientras
Fin
using System;
namespace ejem05_a
{
class Program
{
static void Main(string[] args) {
// Declarar variables
int CanF, NF,PN,SN;
// 1. Inicializar los 2 prim. # de Fib en 1
PN = 1; SN = 1;
// 2. Inicializar Cant. De Fibonacci en 2
CanF = 2;
// 3. escribir PN y SN
Console.WriteLine(PN);
Console.WriteLine(SN);
// 4. Mientras (CanF < 10) repetir
while(CanF < 10)
{
// 4.1 Generar el nro de fib siguiente
NF = PN + SN;
CanF = CanF + 1;
// 4.2 Escribir NF
Console.WriteLine(NF);
// 4.3 Actualizar PN y SN
PN = SN;
SN = NF;
}
}
}
}

Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

293
Problema 11. Hacer un algoritmo y su programa en C# que calcule el promedio de n datos, la
entrada de datos termina cuando ingresa un dato negativo.
Pseudocdigo Cdigo C#
Entrada: Num Numeros
Salida: Prom Promedio de Numeros>=0

Inicio
entero Num,CN;
real SN,Prom;
Comentario Inicializar en 0 SN y CN
SN = CN = 0
Leer Num
Mientras Num >=0 repetir
Comentario: Acumular Num y contarlo
SN = SN + Num;
CN = CN + 1;
Leer Num
FinMientars
Comentario: Calcular Prom
Prom = SN/CN;
Escribir "promedio = ",Prom
Fin
using System;
namespace ejm04_a
{
class Program
{
static void Main(string[] args)
{ // Declarar variables
int Num,CN;
double SN,Prom;
// 1. Inicializar en 0 Sn y CN
SN = 0; CN = 0;
// 2. Leer Num
Console.WriteLine("Ing. numero : ");
Num = int.Parse(Console.ReadLine());
// 3. Mientras (Num>=0) Repetir
while(Num >= 0)
{ // 3.1 Acumular Num y Contarlo
SN = SN + Num;
CN = CN + 1;
// 3.2 Leer Num
Console.WriteLine("Ig. numero : ");
Num = int.Parse(Console.ReadLine());
}
// 4. Calcular Prom
Prom = SN/CN;
Console.WriteLine("promedio = {0} ",Prom);
Console.ReadLine();
}
}
}

Problema 12 Simular el juego con dos dados, validando la entrada (entre 2 y 12). El puntaje se logra,
acumulando el valor de los tiros, el mismo que termina cuando el valor del tiro es 2 ( el minimo). Se
debe mostrar el puntaje obtenido en los n tiros asi como el numero de tiros validos(diferentes de 2).
Hacer el algoritmo y su programa en C#.
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

294

Pseudocdigo Cdigo C#
Entrada
Salida: Ptje: Puntaje
TirVal: Tiros Validos (diferente de 2)
Inicio
entero Tiro, Ptje, TirVal
Logico Res
// Inicializar Ptje y TirVal
Ptje = TirVal = 0
Leer Tiro ,validar la entrada
Hacer
Console.Write("Ing. valor de tiro <2-12>:")
Tiro = int.Parse(Console.ReadLine());
Res = Tiro >= 2 && Tiro <= 12;
Mientras No Res

Mientras Tiro 2 repetir
// El tiro valido se acumula en el puntaje
Ptje = Ptje + Tiro;
// Se cuenta como un tiro valido
TirVal = TirVal + 1;
// Leer Tiro ,validar la entrada
Hacer
Console.Write("Ing. valor de tiro <2-12>:")
Tiro = int.Parse(Console.ReadLine());
Res = Tiro >= 2 && Tiro <= 12;
Mientras ( No Res)
FinMientras
Escribir "Puntaje = ", Ptje
Escribir "Se dieron , TirVal, tiros validos"
Fin
using System;
namespace Ejm05_c
{
class Program
{
static void Main(string[] args)
{ // Declarar variables
int Tiro, Ptje, TirVal;
bool Res;
// 1. Inicializar Ptje y TirVal
Ptje = 0; TirVal = 0;
// 2. Leer Tiro ,validar la entrada
do
{
Console.Write("Ing. valor de tiro <2-12>:");
Tiro = int.Parse(Console.ReadLine());
Res = Tiro >= 2 && Tiro <= 12;
}while(!Res);
// 3. Mientras Tiro 2) repetir
while (Tiro != 2)
{
// 3.1 El tiro valido se acumula en el puntaje
Ptje = Ptje + Tiro;
// 3.2 Se cuenta como un tiro valido
TirVal = TirVal + 1;
// 3.3 Leer Tiro ,validar la entrada
do
{
Console.Write("Ing. valor de tiro <2-12>:");
Tiro = int.Parse(Console.ReadLine());
Res = Tiro >= 2 && Tiro <= 12;
}while(!Res);
}
Console.WriteLine("Puntaje = {0} ", Ptje);
Console.WriteLine("Se dieron {0} tiros validos", TirVal);
}
}
}






Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

295
PROBLEMAS PROPUESTOS DE ESTRUCTURAS DE CONTROL

Desarrolle el algoritmo en pseu docodigo y su respectivo programa en C#, de
cada uno de los siguientes problemas.

1) Dados dos nmeros a y b, mostrarlos ordenados ascendentemente
2) Encontrar el mayor de tres nmeros.
3) Encontrar el menor de cuatro nmeros.
4) Encontrar el mayor y el menor de tres nmeros.
5) Introducir tres nmeros positivos a, b y c (DISTINTOS ENTRE SI), luego
mostrarlos de tal manera que el menor de ellos se encuentre entre los mayores
(los mayores que se encuentran en los extremos deben estar ordenados
ascendentemente).
Ejemplo
Si a=2 , b=5 y c=12 Entonces se deber mostrar 5,2,12.
Si a=12 , b=6 y c=8 Entonces se deber mostrar 8,6,12

6) Un banco antes de conceder un prstamo, comprueba los ingresos del solicitante.
Si los ingresos son superiores a 12000 soles anuales, el crdito se concede. Si los
ingresos son inferiores a 12000 soles anuales pero superiores a 10000 soles y el
cliente tiene mximo 2 hijos, el crdito se concede. Tambin se le concede, si tiene
ingresos entre 8000 y 10000 soles pero no tiene hijos. Realizar un algoritmo que
pida los ingresos anuales y el nmero de hijos del solicitante, y diga si se le da el
crdito o no.

7) Disee un algoritmo que lea el importe de una compra y la cantidad recibida, se
debe calcular el cambio a entregar, teniendo en cuenta que el nmero de monedas
que se devuelven debe ser el mnimo. Suponer que el sistema monetario utilizado
consta de monedas de 100, 50, 25, 5 y 1 unidad, y que hay capacidad ilimitada de
monedas.

8) Escriba un algoritmo que lea tres nmeros enteros de un supuesto tringulo,
determine si realmente forman un tringulo, y muestre el tipo de tringulo que es
(si es un tringulo).
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

296
a) tringulo: La suma de dos cualesquiera de los lados debe ser mayor que el
otro.
b) equiltero: todos los lados son iguales.
c) issceles: solo dos lados son iguales.
d) escaleno: no tiene dos lados iguales.

9) Los tringulos se pueden clasificar respecto de sus ngulos:
Si uno de los ngulos mide ms de 90, el tringulo es obtusngulo.
Si uno de los ngulos mide 90, el tringulo es rectngulo.
Si de los tres ngulos miden menos de 90, el tringulo es acutngulo.
Desarrollar un programa que realice lo siguiente:
Solicite al usuario el ingreso de las coordenadas (x,y) de tres puntos del plano.
Asumiendo puntos diferentes y no colineales, imprima un mensaje indicando el tipo de
tringulo qu es.
Nota: Dados los tres lados de un tringulo, para calcular el ngulo entre dos ellos se usa la
siguiente frmula:


10) Uso de banderas (variable que cuando se cumple una condicin especifica cambia
de valor, ejemplo de false a true)
Hacer el algoritmo y el programa C# que permita un juego de adivinar un nmero,
indicando las veces que se necesitan para encontrar el valor de 77. use la instruccin
continue que provoca que se ignoren todas las instrucciones que siguen a dicha
instruccin y la
instruccin while, es decir mientras no se adivine el nmero que siga en el bucle (la
variable adivinado inicialcelo en false). Esta variable es la bandera del programa, en el
momento en que el usuario digite el nmero 77, la bandera debe cambiar a verdadero
y la condicin del bucle le permite salir de el).


Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

297
11).Escriba un programa que genere las tablas de multiplicar del 1 al 10.
12) Haga un programa que pida el nmero de alumnos de una clase y luego debe
permitir ingresar los nombres de dichos alumnos.
13). Una compaa de seguros tiene contratados a n vendedores. Cada uno hace tres
ventas a la semana. Su poltica de pagos es que un vendedor recibe un sueldo base y
un 10% extra por comisiones de sus ventas. El gerente de la compaa desea saber
cunto dinero obtendr en la semana cada vendedor por concepto de comisiones y
cunto tomando en cuenta su sueldo base y sus comisiones
14) Haga un programa usando bucle do-While, que pida nmeros y luego calcule la
media de esos nmeros. El usuario debe introducir los datos hasta que escriba 1
para finalizar la lectura.
15) Escriba un programa usando banderas para imprimir y sumar los trminos de la
serie 2,5,7,10,12,15....50. Nota que a la serie se le suma 2 y a veces 3. (Puedes
auxiliarte del algoritmo visto en clase terica)
16) Elabore el programa que escriba los nmeros del 1 al 100 excepto el nmero 25.
Utiliza la funcin continue.


















Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

298




En esta sexta unidad de la asignatura, nuestro conocimiento se ha centrado en las
instrucciones de control de flujo (llamado tambin estructuras de control de flujo)
selectivas y repetitivas, identificndose otros tipos de variables, llamados contadores,
acumuladores, centinelas y banderas en el desarrollo de los algoritmos para la
solucin de problemas.

Se concluyo esta unidad con aplicaciones haciendo uso de las instrucciones
secuenciales e instrucciones de control de flujo selectivas y repetitivas.

El conocimiento de estas estructuras ser la base para la siguiente asignatura
Algoritmos avanzados.
RESUMEN
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

299





MATERIAL PARA LA SOLUCIN DE ALGORITMOS: DIAGRAMA DE FLUJO
PSEUDOCDIGO LENGUAJE C#

A continuacin, los siguientes problemas resolverlos empleando diagrama de flujo,
pseudocdigo y lenguaje C#.

1. Si al ingresar por teclado el sexo (M F), el estado civil (S C) y el ao de
nacimiento de una persona, mostrar un mensaje adecuado de acuerdo con los
datos ingresados. Por ejemplo: si sexo es M y estado civil es C, entonces
mostrar Hombre casado y su edad es 99 aos.

Considere: edad = ao actual ao nacimiento.

2. Una empresa que distribuye productos de limpieza cobra entre sus clientes el
primer da de cada mes; pero debido a la morosidad, establece la siguiente
poltica de pago:
Si el cliente paga dentro de los primeros 10 das del mes, se hace un
descuento del 3% de la deuda.
Si el cliente paga en los siguientes 10 das (11 al 20) no tiene derecho a
ningn descuento, deber pagar exactamente la suma adeudada.
Si el cliente paga dentro de los restantes das del mes (21 al ltimo da
del mes), tendr un recargo del 4% de la deuda.
Hacer un algoritmo que muestre cunto debe pagar un cliente en un mes dado.

3. Hacer un algoritmo que permita calcular el rea y el volumen de un prisma
recto de base rectangular o circular, elija la opcin (R o C). Si es de base
circular debe ingresar por teclado el radio, si es de base rectangular debe
ingresar por teclado el largo y ancho. En ambos casos, debe ingresar la altura.
El rea de un crculo es pi * radio^2 y el rea de un rectngulo es largo * ancho.
El volumen de un prisma recto es rea base * altura.
ACTIVIDAD SUGERIDA
Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

300

4. Dos vehculos A y B viajan por una pista que tiene una parte pedregosa entre
los 20 y 40 Km., como se muestra en la figura:


Los vehculos parten de los 0km y se sabe que, en terreno pedregoso, el vehculo
A viaja al 80% de su velocidad normal y el vehculo B al 75% de su velocidad
normal.
Desarrollar un programa que realice lo siguiente:
Solicite al usuario que ingrese las velocidades de los dos vehculos en
kilmetros por hora (km/h).
Solicite el ingreso del nmero de horas transcurridas.
Muestre un mensaje indicando que vehculo va adelante (ambos parten
simultneamente) y las posiciones de cada uno de ellos.
Si alguna de las velocidades o el tiempo no es mayor que cero, imprima el
mensaje de error correspondiente.
Sugerencia: Calcule primero en que tiempo total se recorre cada segmento de
pista. Luego, compare el tiempo ingresado con dichos tiempos totales para aplicar
las formulas correspondientes.

5. Dada la ecuacin general de segundo grado: Ax
2
+Bxy+Cy
2
+Dx+Ey+F=0
Se denomina discriminante al binomio: = B
2
- 4AC
Se sabe que:
Si >0, la grafica Ser una hiprbola.
Si =0: si los coeficientes A y C son iguales a cero, la grafica es una recta,
sino, ser una Parbola.
Si <0: si los coeficientes A y C son iguales, la grafica ser una
circunferencia, sino, ser una elipse.
Desarrollar un programa que realice lo siguiente:
Solicite al usuario el ingreso de los coeficientes de la ecuacin general de
segundo grado, y los lea.
Escriba un mensaje indicando el tipo de grafica que tendr la ecuacin.
Solicite el ingreso de las coordenadas (x,y) de un punto y las lea.
Escriba un mensaje indicando en que cuadrante se encuentra el punto y si
pertenece o no a la grafica (es decir, si satisface o no la ecuacin).
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

301

6. Dos entidades financieras ofrecen las siguientes tasas de inters simple:

Entidad A
Dinero Depositado Inters Mensual
Menos de 500 6% del dinero
depositado
De 500 a 4500 12% del dinero
depositado
Mas de 4500 16% del dinero
depositado


Entidad B
Dinero Depositado Inters Mensual
Menos de 600 7% del dinero
depositado
De 600 a 3500 11% del dinero
depositado
Mas de 3500 15% del dinero
depositado

Desarrollar un programa que realice lo siguiente:
Solicite al usuario que ingrese el monto de dinero que desea depositar y el tiempo
(meses) que lo mantendr en el banco.
Determine cual de las dos entidades, A o B, es mas conveniente para depositar el
dinero y muestre un mensaje indicando en que banco debera el usuario depositar
el monto ingresado, y cuanto dinero tendr luego de transcurrido el tiempo que
indico al inicio.
Nota: Para calcular el inters simple se utiliza la siguiente formula: Inters = Capital *
Tasa * Tiempo.


Escuela Profesional de Ingeniera Industrial Escuela Profesional de Ingeniera de Sistemas e Informtica

302





1. Identifique los errores en estas instrucciones:
a)
X = 0;
for(i=0;i<=19;i=i+3);
{
X = X +2;
}
b)
if (x == 5);
y= y-1;
c)
while(t >= 0.0001)
{
P = P + t;
};
d)
if (genero == F)
Console.WriteLine(Femenino) ;
else ;
Console.WriteLine(Masculino) ;

2. Indique la verdad o falsedad de estas instrucciones:
a) El for nunca se ejecuta indefinidamente ( )
b) El bloque de instrucciones dentro de la instruccin while siempre se
ejecuta ( )
c) El bloque de instrucciones dentro de la instruccin do while se ejecuta por
lo menos 1 vez ( )
d) El for pueden tener un while anidado ( )
e) La instruccin switch puede tener if anidado.( )

AUTOEVALUACIN
Sexta Unidad Fundamentos de Computacin e Informtica - Algoritmos

303




La solucin a las preguntas de la autoevaluacin son las siguientes:
1) Identifique los errores en estas instrucciones:
a)
X = 0;
for(i=0;i<=19;i=i+3);
{
X = X +2;
}

b) if (x == 5);
y= y-1;

c) while(t >= 0.0001)
{
P = P + t;
};


d) if (genero == F)
Console.WriteLine(Femenino) ;
else ;
Console.WriteLine(Masculino) ;

2. Indique la verdad o falsedad de estas instrucciones:
a) El for nunca se ejecuta indefinidamente ( F )
b) El bloque de instrucciones dentro de la instruccin while siempre se ejecuta
(F)
c) El bloque de instrucciones dentro de la instruccin do while se ejecuta por lo
menos 1 vez (V)
d) El for pueden tener un while anidado (V)
e) La instruccin switch puede tener if anidado.(V)
SOLUCIONARIO DE LA AUTOEVALUACIN
No va ;
No va ;
No va ;
No va ;

Vous aimerez peut-être aussi