Está en la página 1de 96

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

ESCUELA NACIONAL COLEGIO DE CIENCIAS Y HUMANIDADES

PLANTEL AZCAPOTZALCO

GUIA
DE
CIBE R N É T I C A

AUTORES:
Figueroa Martínez Jeanett
Vázquez Torre Ignacio
Echeveste Escobar Laura Irene
Martínez Arias Nora Osmaira
Morales López Azucena AGOSTO 2019
Índice
Presentación...............................................................................................................................................1
Unidad 1 .......................................................................................................................................................3
La Cibernética ............................................................................................................................................3
Definición del concepto de Cibernética. .........................................................................................3
Antecedentes de la cibernética. ........................................................................................................5
Relación de la cibernética con otras ciencias. ..............................................................................9
Aplicaciones de la cibernética en la actualidad. .........................................................................10
Actividad de aprendizaje 1: Completando conocimiento… ........................................................11
Actividad de aprendizaje 2: Viajando en el tiempo. .....................................................................11
Sistemas ................................................................................................................................................12
Elementos de un sistema ..................................................................................................................12
Ambiente................................................................................................................................................13
Clasificación .........................................................................................................................................13
Actividad de aprendizaje 3: Cruzando palabras. ..........................................................................15
Actividad de aprendizaje 4: Reconociendo los sistemas. ...........................................................17
Actividad de aprendizaje 5: Creando un sistema. ........................................................................18
Sistemas de control ............................................................................................................................18
Lazo abierto ..........................................................................................................................................19
Lazo cerrado .........................................................................................................................................19
Actividad de aprendizaje 6: Identificando los sistemas de control. ...........................................20
Modelos..................................................................................................................................................21
Tipos .......................................................................................................................................................21
Actividad de aprendizaje 7: Adivinando el modelo.......................................................................21
Elementos para modelar un sistema. ............................................................................................22
Actividad de aprendizaje 8: Desarrollando el modelo. ................................................................23
Bibliografía básica y complementaria Unidad 1 .........................................................................24
Unidad 2 .....................................................................................................................................................27
Circuitos Lógicos ....................................................................................................................................27
Sistemas de Numeración ..................................................................................................................27
Conversiones numéricas ..................................................................................................................29
Actividad de aprendizaje 9: De sistema en sistema ....................................................................32

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I I


Actividad de aprendizaje 10: De sistema en sistema 2 ...............................................................33
Aritmética del sistema de numeración binaria ............................................................................33
Actividad de aprendizaje 11: Sumando, sumando vamos practicando. ...................................35
Actividad de aprendizaje 12: No vamos hacia atrás, solo vamos a restar. ..............................36
Actividad de aprendizaje 13: Vamos a multiplicar y luego a sumar ..........................................37
Actividad de aprendizaje 14: Vamos a dividir y luego a restar ...................................................38
Elementos del algebra de Boole .....................................................................................................39
Operaciones básicas: conjunción, disyunción y negación .....................................................41
Funciones booleanas .........................................................................................................................42
Función Booleana ...............................................................................................................................46
Expresiones booleanas .....................................................................................................................46
Actividad de aprendizaje 15: Diseñando y armando circuitos ....................................................51
Actividad de aprendizaje 16: Construyendo la tabla ....................................................................54
Unidad 3 .....................................................................................................................................................57
Metodología de solución de problemas e Introducción al ...........................................................57
Lenguaje de Programación Java.........................................................................................................57
Definiciones y conceptos generales de un problema ...............................................................57
Elementos y relaciones del problema ...........................................................................................58
Actividad de aprendizaje 17: Identificando los elementos de un problema. ............................60
Tipos de problemas. ...........................................................................................................................61
Actividad de aprendizaje 18: ¿Qué tipo de problema son? ........................................................63
Etapas de la metodología de solución de problemas. ..............................................................64
Actividad de aprendizaje 18: Resolviendo problemas. ................................................................68
Expresiones y operadores aritméticos. ........................................................................................69
Actividad de aprendizaje 19: Practicando con las expresiones .................................................71
Expresiones y operadores relacionales y lógicos. ....................................................................71
Concepto de algoritmo, diagrama de flujo y pseudocódigo ...................................................72
Elaboración de algoritmos secuenciales ......................................................................................73
Representación de algoritmos secuenciales a través de diagramas de flujo y
pseudocódigo. .....................................................................................................................................73
Actividad de aprendizaje 20: Practicando la metodología de solución. ....................................75
Lenguaje de Programación Java.....................................................................................................76

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I II


Pasos para implementar un programa con el lenguaje de programación Java y el entorno
de desarrollo.........................................................................................................................................79
Introducción de datos desde el teclado. .......................................................................................81
Actividad de aprendizaje 20: Mi primer programa. .......................................................................83
Estructuras condicionales ................................................................................................................84
Sentencia if simple..............................................................................................................................84
Sentencia if … else .............................................................................................................................85
Actividad de aprendizaje 20: Practicando estructuras condicionales. ......................................86
Sentencia Switch .................................................................................................................................89
Estructuras de ciclo............................................................................................................................90
Sentencia for ........................................................................................................................................91
Sentencia while ....................................................................................................................................91

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I III


Presentación

El presente trabajo tiene como objetivo principal ponerse en la situación de un alumno o


alumna que debe la asignatura de Cibernética y Computación I, que está dispuesto a
presentar la materia en examen extraordinario y que trabajara por su cuenta.

En este sentido la presente Guía contempla los principales temas que se tocan en los
cursos, además que tiene una serie de ejercicios que le permitirán alcanzar los
aprendizajes. Es recomendable, que por lo menos la mitad de los ejercicios planteados
se resuelvan completamente.

El contenido temático de la presente guía se basa en el programa actualizado 2016 de


esta asignatura el cual aborda tres unidades, así como los aprendizajes propuestos en el
programa, sin olvidar el enfoque temático de la asignatura de Cibernética y Computación
I.

ENFOQUE DE LA MATERIA1
La asignatura debe propiciar en los alumnos una visión general sobre la Cibernética y la
Computación, sus avances, perspectivas y el aprovechamiento de las herramientas
computacionales en la solución de problemas utilizando una metodología.

La materia se fundamenta en los siguientes conceptos básicos, los cuales se agrupan en


unidades de estudio.

Unidad 1. La cibernética
En esta unidad se estudian la definición, antecedentes y personajes que contribuyeron a
la formalización de la cibernética, así como el estudio de los sistemas naturales y
artificiales, las partes que los constituyen, enfatizando que son elementos que podrá

1 Tomado del Programa de estudios de Cibernética y Computación I y II

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 1


asociar a cualquier rama del conocimiento, tomando en cuenta que los sistemas se
encuentran en cualquier actividad del ser humano.

Unidad 2. Circuitos lógicos


Es importante conocer los sistemas de numeración: binario, octal y hexadecimal, ya que
son la base del manejo de información en la computadora, así como el álgebra de Boole
y su vínculo con el diseño y armado de circuitos lógicos.

Unidad 3. Metodología de solución de problemas e introducción al lenguaje de


programación Java.
El manejo de métodos que le permitan poner en práctica el análisis, el razonamiento en
el desarrollo de algoritmos, el uso de diagramas de flujo y pseudocódigos, para el apoyo
de la codificación en el lenguaje de programación Java, que permita sistematizar
necesidades planteadas, donde el alumno analiza, propone y construye la solución de
problemas de temas encontrados en algunas de las asignaturas que el alumno cursa,
verificando que los resultados obtenidos sean correctos.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 2


Unidad 1
La Cibernética

Presentación
En la presente unidad, se realiza una introducción general a los orígenes de la Cibernética
como ciencia, después del inicio de la Segunda Guerra Mundial, ligada a las
investigaciones del matemático estadounidense Norbert Wiener en colaboración con
prestigiosos científicos. Se estudian los conceptos relacionados con la Cibernética, su
definición, antecedentes, los personajes que contribuyeron a su formalización como
ciencia interdisciplinaria, los objetivos que persigue y sus aplicaciones en la actualidad;
también te lleva a reflexionar sobre el significado del concepto de sistemas, a hacer
analogías entre sistemas naturales y artificiales, y entenderás qué relación tiene con el
concepto de modelo.

Propósito:
Al finalizar la unidad el alumno:
Modelará un sistema relacionado con un tema de alguna disciplina de su interés,
analizando el concepto de cibernética para interrelacionarlo con otras ciencias y los
elementos que conforman un sistema.

Palabras clave: cibernética, Wiener, Rosenblueth, ciencia, interdisciplina,


sistema, sistema de control, modelo, relación hombre-máquina.

 Definición del concepto de Cibernética.


Desde tiempos remotos, la humanidad ha tenido fascinación por los autómatas desde la
antigua Grecia y hasta hoy las distintas culturas y civilizaciones han sentido atracción por
imitar la capacidad creadora de la divinidad, fabricar seres articulados que reprodujeran
la apariencia física de animales y humanos y además que contarán con “vida propia”.
Norbert Wiener en el año 1971, en su libro La Cibernética resumió este imparable
impulso:

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 3


En cada estadio de la ciencia desde Dédalo o el héroe de Alejandría, la habilidad del
artesano para producir un simulacro activo de un organismo viviente ha intrigado
siempre al pueblo. Este deseo de producir y estudiar los autómatas ha sido siempre
expresado en términos de la técnica viviente de la época. En los días de la magia,
existía el extraño y siniestro concepto del Golem, esa figura de arcilla sobre la que
el Rabino de Praga infundía el soplo de la vida con la blasfemia del Inefable Nombre
de Dios. En el tiempo de Newton el autómata consistía en la caja con el reloj de
música con las pequeñas efigies haciendo piruetas rígidas en lo alto. En el siglo XIX
el autómata es la glorificada máquina de vapor quemando algún combustible en lugar
del glucógeno de los músculos humanos. Finalmente, el autómata del presente abre
las puertas por medio de las fotocélulas o apunta las armas al lugar en el que un
rayo del radar coge a un avión o computa la solución de una ecuación diferencial.

¿Qué sucederá cuando se pueda sustituir al ser humano por máquinas más baratas? Es
cierto que las máquinas se diseñan para ser fieles, obedientes y al servicio del hombre,
pero también es posible que las máquinas inteligentes amenazaran nuestra existencia.
Desde la Revolución Industrial, los sustitutos artificiales de funciones corporales, por
ejemplo, para transportar objetos, se han ido haciendo cada vez más indispensables;
hace trescientos años, con la invención de las calculadoras mecánicas se duplicaron
algunas de las funciones de la mente humana, triviales pero repetitivas. Actualmente los
dispositivos electrónicos, las supercomputadoras y los sofisticados robots constituyen
una escala más en la meta que los hombres se han trazado para simplificar hasta el
máximo esfuerzo para conocer y dominar la naturaleza. Los mecanismos de regulación
y control necesarios para tales artefactos son el propósito de estudio y principal
fundamento de la cibernética.

No es fácil contar con una definición exacta de cibernética, ya que cada disciplina evoca
una definición de acuerdo con su ámbito de estudio, existen definiciones concisas y
aquellas que evocan su objetivo. En griego, la palabra cibernética se refiere a
mecanismos precisos de gobierno y control. Platón la utilizó en La Republica con el
significado de “el arte de dirigir a los hombres”, pues cuando él se refiere a la cibernética
lo hace en al ámbito político - social. La cibernética se ha definido de distintas maneras
a lo largo del tiempo y el espacio. Algunas de las más importantes son:

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 4


✓ Andréi Nikoláyevich Kolmogórov: La cibernética se ocupa de sistemas de cualquier
naturaleza que son capaces de recibir, almacenar, y transformar información con
fines de control.
✓ Raymond Ruyer: La ciencia del control por medio de información sean estas
naturales, orgánicas o artificiales.
✓ Norbert Wiener: Ciencia que se ocupa de los sistemas de control y de comunicación
en las personas y las máquinas, estudiando y aprovechando todos sus aspectos y
mecanismos comunes.
✓ Stafford Beer: En la teoría organizacional, la cibernética estudia los flujos de
información que rodean un sistema, y la forma en que esta información es usada por
el sistema como un valor que le permite controlarse a sí mismo: ocurre tanto para
sistemas animados como inanimados indiferentemente.
✓ Diccionario de la Lengua Española: “Estudio de las analogías entre los sistemas de
control y comunicación de los seres vivos y los de las maquinas; y en particular, el de
las aplicaciones de los mecanismos de regulación biológica a la tecnología.”
✓ Algunos profesores, a través del Portal Académico del CCH 2 proporcionan la
siguiente definición:
"La cibernética es la ciencia que estudia sistemas naturales, sociales y, en el caso
de la materia [cibernética y computación], de su aplicación tecnológica con la
finalidad de establecer relaciones entre sus elementos, proponer un modelo y
establecer una metodología para implementar un sistema de cómputo capaz de
recibir, almacenar y transformar la información” (Ávila Ramos, 2013)

 Antecedentes de la cibernética.
Esta sección es un extracto del capítulo 2 Norbert Wiener y el origen de la cibernética,
del libro de Enrique Castaños Alés: Los orígenes del arte cibernético en España: el
seminario de Generación Automática de Formas Plásticas del Centro de Cálculo de la
Universidad de Madrid: (1968-1973). Disponible en la Biblioteca Virtual Miguel de
Cervantes3.

2 Consultado en mayo 2018 en


https://portalacademico.cch.unam.mx/alumno/cibernetica1/unidad1/laCibernetica/introduccion.
3 (Castaños Alés, 2000).

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 5


Norbert Wiener nació en Estados Unidos, en Missouri, en 1894; murió en Estocolmo en
1964. Aunque sus mayores aportaciones las hizo en el campo de la matemática, desde
muy joven se interesó por la ingeniería y el funcionamiento de todo tipo de máquinas. De
hecho, ejerció durante muchos años como profesor en el Massachusetts Institute of
Technology (MIT), que está considerada una de las mejores escuelas de ingenieros del
mundo. Su formación literaria y filosófica era también amplísima, mostrando además una
insaciable curiosidad intelectual por las más dispares parcelas del conocimiento, con un
inagotable deseo de conocer y una actitud abierta y tolerante, contraria a la intransigencia
del fanático y opuesta a cualquier dogmatismo. Sus propias palabras así lo confirman:
“No es tanto la forma de la rigidez [de pensamiento] la que es
particularmente fatal, sino la rigidez en sí misma, cualquiera
que sea su forma” (Wiener, 1967, p. 92).
De los numerosos libros que escribió, hay dos que se cuentan
entre los pocos títulos verdaderamente cruciales de la
literatura científica de este siglo, con una proyección hacia el
futuro que todavía es pronto para ser ponderada con
exactitud. En realidad, se trata del mismo libro en dos Norbert Wiener.
https://goo.gl/2fPi4b
versiones sucesivas radicalmente distintas.

La primera versión fue redactada por Wiener en noviembre de 1947 y fue publicada por
primera vez en Nueva York en 1948, bajo el título de Cibernética o el control y
comunicación en el animal y la máquina. El poco tiempo disponible para escribirlo
determinó a Wiener proceder a una segunda versión, mucho mejor escrita y en donde
prescinde de los complejos y larguísimos razonamientos en lenguaje matemático de la
primera versión. El segundo libro con el título en inglés The Human Use of Human Beings.
Cybernetics and Society (Boston, Houghton Mifflin Company, 1950), Wiener explica con
precisión el propósito y alcance de sus investigaciones y, en general, de la
emergente ciencia que él mismo había bautizado, en 1947, con el término cibernética.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 6


La traducción castellana, que prescinde de la decisiva primera parte del título [El
uso humano de los seres humanos], es Cibernética y sociedad. La tesis de este segundo
libro consiste en que sólo puede entenderse la sociedad mediante el estudio de los
mensajes y de las facilidades de comunicación de que ella dispone y, además, que, en
el futuro, desempeñarán un papel cada vez más preponderante los mensajes cursados
entre hombres y máquinas, entre máquinas y hombres y entre máquina y máquina. La
cibernética es una ciencia complementaria de la de las comunicaciones, pues estudia los
soportes de ésta, y se basa en la profunda analogía entre el comportamiento de las
máquinas y el de los organismos biológicos.

El pormenorizado relato de las investigaciones de Wiener en torno a la cibernética


aparece recogido en la famosa Introducción de Cibernética o el control y
comunicación en el animal y la máquina, una obra que según su autor es el resultado
de más de una década de trabajo en un programa conjunto con el Dr. Arturo Rosenblueth.
Las iniciales investigaciones de Wiener en colaboración con Rosenblueth, orientadas al
campo de la fisiología, van a tomar un nuevo rumbo gracias al comienzo de la Segunda
Guerra Mundial en septiembre de 1939. En el verano de 1940 Wiener vuelve su atención
hacia el desarrollo de máquinas computadoras para la solución de ecuaciones
diferenciales parciales, estimó conveniente, a fin de obtener unos resultados
razonables, sugerir los siguientes requerimientos: a) el aparato central sumario
y multiplicador de la máquina computadora debía ser numérico; b) los mecanismos
habrían de depender de tubos electrónicos; c) adopción de la escala de dos para la
adición y la multiplicación (sistema binario); d) la secuencia completa de operaciones
habría de ser desarrollada por la propia máquina; e) la máquina debería ser capaz de
almacenar los datos. Estos requisitos contienen ideas que han sido aplicadas a la
moderna máquina computadora ultrarrápida.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 7


Entre todas las recomendaciones señaladas por Wiener, resulta especialmente
importante la que hace referencia a la adopción del sistema binario para las máquinas
computadoras entonces en proceso de creación, ya que ese sistema, inventado por
Leibniz y basado en el uso de sólo las cifras 0 y 1, constituye asimismo la base del
lenguaje de las computadoras, aún las más avanzadas. Por ese tiempo, Wiener en
colaboración con Julian H. Bigelow trabajo en otras dos ideas fundamentales: la idea de
mensaje y la de cantidad de información.

De izquierda a derecha: Julian Bigelow, Herman Goldstine, J. Robert Oppenheimer


y John von Neumann.

CC-BY-SA-3.0 https://commons.wikimedia.org/wiki/File:Julian_Bigelow.jpg

Durante el invierno de 1943, Wiener constata la simultánea investigación realizándose en


diversos centros de los Estados Unidos con el propósito de construir máquinas
computadoras; también intensifica los contactos con otros colegas, especialmente con el
Dr. Aiken de Harvard, el Dr. Von Neumann, del Institute for Advanced Study, y el Dr.
Goldstine, quien trabajaba entonces en la Universidad de Pensilvania en las máquinas
ENIAC y EDVAC. De todos los científicos con los que Wiener establecerá por esa
época una valiosa comunicación, el más importante sin duda es Von Neumann.
La fundamental contribución de John Von Neumann, nacido en Budapest en 1903 y
muerto en los Estados Unidos en 1957, al campo de la alta matemática, tendría enormes
repercusiones en el pensamiento contemporáneo y en el desarrollo de la cibernética.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 8


Von Neumann fundamentó nada menos que las relaciones entre cibernética y
computadoras, suministró los principios básicos de la programación, elaboró la teoría de
los juegos y demostró la posibilidad que tienen las máquinas de reproducirse. Al tiempo
que Wiener, Von Neumann también puso de relieve el riguroso paralelismo entre el
cerebro humano y la computadora, además de sentar uno de los principios básicos de
la biónica.

Una vez realizados los contactos señalados, Wiener acuerda con Von Neumann celebrar
un encuentro entre todos los interesados en la cibernética, ocurrido en Princeton en el
invierno de 1943-44 y marcado por un profundo carácter interdisciplinar, ya que congregó
una importante representación de matemáticos, ingenieros y fisiólogos. El principal
acuerdo de esta reunión fue que había que realizar esfuerzos en usar un vocabulario
común entre todos los científicos que investigaban en proyectos relacionados con la
cibernética. A esta convocatoria siguieron otras, como la que tuvo lugar en Nueva York
en la primavera de 1946, cuyo objetivo era efectuar una puesta al día de los resultados
derivados de la investigación en diferentes parcelas relacionadas con la cibernética, y en
donde se consolidó la presencia de psicólogos, antropólogos y sociólogos.

 Relación de la cibernética con otras ciencias.


El origen principal de la cibernética se debe a la
integración de estudios matemáticos, físicos,
ingenieros, fisiólogos y técnicos para analizar los
sistemas de control en las máquinas y los seres vivos.
Por su propia naturaleza la cibernética tiene relación
con muchas disciplinas, pero no habría podido
desarrollarse sin la intervención de la lógica
matemática, la neurofisiología, la psicología, la antropología y la sociología.
Para Wiener “es evidente que el desarrollo de una teoría lógico matemática está sujeto a
la misma clase de restricciones que las que limitan el funcionamiento de una máquina
computadora”(Wiener, 1985, p. 43).

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 9


Para revisar más detalles de cómo se relaciona la cibernética con otras disciplinas, es
necesario conocer algunas de sus aplicaciones.

 Aplicaciones de la cibernética en la actualidad.


Mucha gente asocia la cibernética con la robótica, los robots y con el concepto de cyborg
debido al uso que se le ha dado en algunas obras de ciencia ficción, pero desde un punto
de vista estrictamente científico, la cibernética trata acerca de sistemas de control
basados en la retroalimentación.

Algunos de los campos más destacados en los que la cibernética tiene importantes
aplicaciones prácticas, son las prótesis en miembros amputados o paralizados, la
construcción de robots y máquinas artificiales y la de máquinas diseñadas para realizar
diagnósticos médicos.
➢ Ciencias Humanas: En el campo de las ciencias humanas, principalmente en la
sociología y en la economía, se pretende que incida la cibernética, a fin de atenuar o
resolver los agudísimos problemas sociales y económicos de nuestra época.
Amparándose en la importancia de la noción y técnica de la comunicación en el
sistema social, así como en los trabajos de Von Neumann y Morgenstern sobre la
teoría de los juegos, los antropólogos doctores Gregory Bateson y Margaret Mead
insistieron a Wiener para que dedicase una gran parte de sus energías a discutir la
relación de la cibernética con el conjunto social.
➢ Pedagogía cibernética: Consiste en el control de los procesos cognitivos de los
estudiantes durante su proceso de instrucción. Esta se apoya en teoría de
la cibernética, y en algunas ideas y conceptos surgidas de la matemática, conocidas
como Algoritmo y Heurística, y que coadyuva en la solución de problemas y la
creatividad. El algoritmo, desde el punto de vista de la cibernética, son los estados
estables del proceso de auto organización del cerebro, y la Heurística sería un estado
nuevo alcanzado por realimentación positiva. En la Pedagogía cibernética, el control
no es rígido y unidireccional del profesor al estudiante, ya que este último tiene un
papel activo a partir de sus propias experiencias y elecciones.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 10


➢ Teoría organizacional: De acuerdo con el punto de vista de la cibernética, todas las
organizaciones son parecidas en ciertas características fundamentales y la
comunicación mantiene la coherencia de toda organización. La capacidad de
transmitir mensajes y reaccionar frente a ellos, la comunicación, forma las
organizaciones y esto resulta cierto para diversos tipos de organizaciones.
➢ Medicina: La ingeniería biónica en este campo puede aportar mucho a corto plazo, la
comprensión de los sistemas biológicos es de importancia para poder suplir órganos
con homólogos electromecánicos que igualen o incluso mejoren la funcionalidad del
órgano original.

Actividad de aprendizaje 1: Completando conocimiento…


Con la finalidad de ampliar la información que se te ha presentado, realiza una
investigación sobre los principales personajes que apoyaron el surgimiento de la
cibernética. Al finalizar elabora la siguiente tabla, donde describas los antecedentes
históricos de mayor importancia. Utiliza un procesador de textos y si es necesario agrega
más filas.
Imagen Personaje Nacionalidad Años Aportaciones

André Marie Ampere (1775 - 1836)

George Boole

Gottfried Wilhelm Leibniz

Claude E. Shannon

Alan M. Turing

John Von Neumann

Norbert Wiener

Manuel Sandoval Vallarta

Arturo Rosenblueth Stearns

Actividad de aprendizaje 2: Viajando en el tiempo.


Usando algún software elabora una línea de tiempo, considerando los distintos autores y
acontecimientos que dieron origen a la cibernética.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 11


 Sistemas
A la par de Wiener, Ludwing von Bertalanfy elaboró una teoría general de sistemas, que
proponía analizar el principio de los fenómenos naturales a fin de describirlos
matemáticamente. Bertalanfy definió al sistema como un conjunto de procesos
sinérgicos, comunicados, controlados, unificados y trabajando para un mismo fin. Por otra
parte, según el diccionario de la Real Academia Española, un sistema es el conjunto de
reglas o principios sobre una materia racionalmente enlazados entre sí, o el conjunto de
cosas que ordenadamente relacionadas entre sí contribuyen a determinado objeto.

Hoy se define un sistema como un todo estructurado de elementos, interrelacionados


entre sí, organizados por la especie humana con el fin de lograr objetivos. Cualquier
cambio o variación de cualquiera de los elementos puede determinar cambios en todo el
sistema.

 Elementos de un sistema

Ambiente

Entrada(s) Salida(s)
Proceso

Retroalimentación

Los elementos básicos que componen un sistema son entrada, salida, proceso,
ambiente, retroalimentación. Las entradas son los elementos de que el sistema puede
disponer para su propio provecho. Las salidas son los objetivos resueltos del sistema, lo
que éste se propone, ya conseguido.

El proceso lo forman los “actos específicos”, para determinarlos es necesario precisar


las misiones y tareas que el sistema debe realizar para lograr el producto deseado; las
misiones son los elementos principales que se deben realizar para lograr los resultados
del sistema; tareas son las actividades que deben hacerse para obtener las misiones.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 12


La retroalimentación es la evaluación continua de la información que se brinda a partir
del desempeño de la salida, la cual permite cuando verificar que se alcance las misiones
o bien determinar por qué se produjo alguna desviación y los ajustes que sería
recomendable hacer.

La entropía en sentido figurado significa desorden. En la terminología de los sistemas se


ha definido como la tendencia a importar más energía de la necesaria, es el desorden
cuando se carece de mecanismos eficientes de retroalimentación, llevando a la
desintegración del sistema. La homeostasis u homeostásis se define como la
autorregulación de la constancia de las propiedades de los sistemas influidos por agentes
exteriores. Las características básicas del sistema tienden a mantenerse constantes en
razón sus metas.

 Ambiente
El ambiente comprende todo aquello que, estando fuera del control del sistema,
determina cómo opera el mismo. Integra las cosas que son constantes o dadas; el
sistema no puede hacer nada con respecto a sus características o su comportamiento.

 Clasificación
Existe una gran variedad de
sistemas y una amplia gama
de tipologías para clasificarlos,
de acuerdo con ciertas
características básicas.

✓ Flujos de comunicación
➢ Sistemas simples: se caracterizan por poseer pocos elementos, los cuales a su
vez se relacionan entre ellos de forma directa y fácil. Basta con entender cómo
funciona cada una de las partes o componentes del sistema para comprender
cómo funciona este.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 13


➢ Sistemas complejos: Se conforman por un número elevado de elementos y sus
interacciones, interdependencia, dinamismo y adaptación son sofisticados. Llegan
a tener un comportamiento imprevisible.

✓ Interacción con el medio


➢ Sistemas cerrados: son los sistemas que no presentan intercambio con el medio
ambiente que los rodea, pues son herméticos a cualquier influencia ambiental. Así,
los sistemas cerrados no reciben ninguna influencia del ambiente, y de forma
recíproca estos tampoco influencian al ambiente. No reciben ningún recurso
externo y nada producen la acepción exacta del término. Los autores han dado el
nombre de sistema cerrado a aquellos sistemas cuyo comportamiento es
totalmente determinístico y programado y que operan con muy pequeño
intercambio de materia y energía con el medio ambiente.
➢ Sistemas abiertos: son los sistemas que presentan relaciones de intercambio con
el ambiente, a través de entradas y salidas. Los sistemas abiertos intercambian
materia y energía regularmente con el medio ambiente. Son eminentemente
adaptativos, esto es, para sobrevivir deben reajustarse constantemente a las
condiciones del medio.

✓ Respecto a su origen
➢ Sistemas naturales: nacen en respuesta a fenómenos físicos, químicos y
biológicos y que se crean por la naturaleza.
➢ Sistemas artificiales: son aquellos que fueron logrados por la intervención directa
de la actividad humana. Un ser humano participó de manera activa en su diseño,
manejo, control y ejecución.

✓ Constitución
➢ Sistemas abstractos: cuando están compuestos por conceptos, planes, hipótesis
e ideas. Aquí, los símbolos representan atributos y objetos, que muchas veces
sólo existen en el pensamiento de las personas.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 14


➢ Sistemas concretos: cuando están compuestos por equipos, por maquinaria y por
objetos y cosas reales. Pueden ser descritos en términos cuantitativos de
desempeño.

Actividad de aprendizaje 3: Cruzando palabras.


Elabora el crucigrama, siguiendo las pistas.
Vertical
2. Fisiólogo mexicano y Doctor en medicina, considerado como uno de los pioneros de la cibernética.
3. Concepto fundamental del 2o. principio de la termodinámica. Es la máxima probabilidad de los sistemas
es su progresiva desorganización y, finalmente, su homogeneización con el ambiente. (Pérdida de energía)
4. Conjunto de símbolos que se usan para expresar la relación existente entre la cantidad y la unidad.
9. Es una secuencia de acciones, cuyo fin es alcanzar un estado final. Es lo que transforma una entrada
en salida.
13. Está formado por todas las variables que pueden afectar el estado del sistema desde el exterior, aún
sin formar parte de él.
14. Son abstracciones de la realidad, en donde se combina lo conceptual y las características de los objetos

Horizontal
1. El control de la temperatura en el cuerpo de los seres vivos es un modelo de un ...
5. Se trata de una ciencia interdisciplinaria que intenta abarcar el ámbito de los procesos de control y de
comunicación tanto en máquinas como en seres vivos.
6. Tras la 2ª. Guerra Mundial, diseñó uno de los primeros computadores electrónicos programables
digitales. Contribuyó de forma particular a la posibilidad de si las máquinas pueden pensar, es decir a la
Inteligencia Artificial.
7. Mide la interacción de un sistema con su entorno. Entre mayor sea, el sistema es más abierto.
8. Hace referencia al carácter adaptativo de los sistemas ante cualquier estimulo, cambio o influencia
externa. Corresponden a las compensaciones internas al sistema, que sustituyen, bloquean o
complementan estos cambios hacia la conservación de su forma.
10. Es el proceso mediante el cual un sistema abierto recoge información sobre los efectos de sus
decisiones internas en el medio. Dicha información se usa para regular su comportamiento y sus decisiones
posteriores.
11. Matemático británico, considerado uno de los fundadores de la teoría de la computación. Desarrolló un
sistema de reglas para expresar y simplificar problemas lógicos cuyos argumentos solo son Verdadero y
Falso.
12. Es la fuerza de arranque del sistema. Es la importación de los recursos que se requieren para dar inicio
al ciclo de actividades del sistema

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 15


15. Matemático norteamericano. Uno de los personajes más importantes que formularon a la Cibernética
como una ciencia.
16. Reconocido como el padre de la teoría de la información. En su tesis de maestría en el MIT, demostró
las aplicaciones electrónicas del álgebra booleana.
17. Es el monitoreo y la evaluación de la información para determinar si un sistema está alcanzando su
objetivo.
18. Conjunto ordenado de elementos que se interrelacionan para lograr un objetivo.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 16


Actividad de aprendizaje 4: Reconociendo los sistemas.
Observa las imágenes y selecciona dos clasificaciones que correspondan al tipo de
sistema.
a) Abierto c) Híbrido e) Natural
b) Artificial d) Cerrado
1.

CC BY-NC-ND
http://rimasdecolores.blogspot.c
om.es/2013/04/la-tierra-y-el-
2.

CC BY
https://designdroide.com/moto-guzzi-v50-year-1977.html
3.

CC0
https://goo.gl/uMCrrF
4.

CC BY-NC-SA
http://www.relatointeresante.com/el-arbol-de-los-tres-regalos/

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 17


Actividad de aprendizaje 5: Creando un sistema.
Considera el sistema de una fábrica de mermelada de fresa y describe los distintos
elementos.

Entrada:

Proceso:

Salida:

Control:

Subsistemas:

 Sistemas de control
La finalidad de un sistema de control es conseguir, mediante la manipulación de las
variables de control (entradas), un dominio sobre los resultados (variables de salida), de
modo que estas alcancen unos valores prefijados4.

4
Alvarez Brotons,Xavier. Tesina: Control predictivo de canales de riego utilizando modelos de predicción de tipo Muskingum (primer
orden) y de tipo Hayami (segundo orden). Capítulo 2: Sistemas de control. Consultado el 6/mayo/2018.
https://upcommons.upc.edu/bitstream/handle/2099.1/3330/34059-5.pdf?sequence=5

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 18


Una vez identificadas las relaciones entre las entradas y las salidas, determinar con qué
nuevos datos será retroalimentado el sistema para que realice lo que se espera de él, de
manera que se tenga el control de este.
ENTRADA SALIDA
SISTEMA

Ciclo de Retroalimentación
 Lazo abierto
El sistema de control de lazo abierto es un sistema donde las salidas no afectan al
elemento de control, es decir, el control que se lleva a cabo para su regulación no
depende de la salida producida. Generalmente son regulados con base en el tiempo 5.

ENTRADA Elemento Elemento de SALIDA


Proceso
de Control corrección
Señal que se
Variable
espera produzca
controlada
la salida

Ejemplo:
Microondas. Se ingresa el tiempo de cocción, pero eso no asegura que el alimento ya
esté correctamente cocinado.
Alimento
Tiempo de
cocinado
cocción Variable tiempo
Timer Cocción
(inicio)

 Lazo cerrado
El sistema de control de lazo cerrado es un sistema donde la salida es comparada con la
entrada de referencia y dependiendo de su valor se realiza el ajuste
Salida (variable
Entrada de
controlada)
referencia PROCESO
CONTROLADOR
CONTROLADOR

ELEMENTO DE
MEDICIÓN

RETROALIMENTACIÓN

5
Pérez,Mario Alberto; Pérez Hidalgo, Analía; Pérez Berenguer, Elisa. Universidad Nacional de San Juan. Introducción a los sistemas
de control y modelo matemático para sistemas lineales invariantes en el tiempo. Consultado 6/mayo/2018.
http://dea.unsj.edu.ar/control1/apuntes/unidad1y2.pdf

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 19


Ejemplo:
Bomba de gasolina. Cuando el trabajador pone en la máquina la cantidad de dinero que
el cliente le ha indicado y coloca la manguera en el tanque de gasolina del automóvil, lo
presiona y lo deja trabajando, de manera que, al llegar al precio introducido, en
automático, la bomba se detiene.

Cantidad de Variable de
control Gasolina
dinero PROCESO
CONTROLADOR
CONTROLADOR

Sensor
Nivel del tanque

RETROALIMENTACIÓN

Con todo lo anterior, podemos comprender que la retroalimentación consiste en generar


un efecto en una variable (salida) dependiendo del resultado de otra variable (entrada).

Actividad de aprendizaje 6: Identificando los sistemas de control.


Por cada ejemplo dado a continuación, escribe una “A” si es un sistema de control de
lazo abierto o una “C” si es un sistema de control de lazo cerrado.

Tipo de sistema Ejemplo


Lavadora automática (ciclos de lavado)
Calentador automático.
Refrigerador.
Amplificador de sonido.
Semáforo
Encendedor
Sistema de calefacción automático
Sistema de riego con sensor de humedad.
Sistema de riego con timer.
Secador de manos automático.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 20


 Modelos
Un modelo es una representación simplificada de la realidad para facilitar su comprensión
y el estudio de su comportamiento.6 Existe una variedad de clasificaciones de los
modelos, sin embargo, nos centraremos a aquellos modelos que sirven para la
representación de sistemas, por lo que en ocasiones decir modelo es decir sistema.

 Tipos
➢ Naturales y artificiales: Los naturales son aquellos modelos donde la mano del
hombre no interviene como, por ejemplo, el ciclo del agua, cualquier ser vivo, los
ecosistemas naturales, etc. Los artificiales son aquellos modelos donde si interviene
el hombre, como por ejemplo un sistema político, sistema de sonido, un avión, etc.
➢ Matemáticos: Son los modelos que utilizan ecuaciones y/o representaciones lógicas
para explicar algún fenómeno, se utiliza mucha en la toma de decisiones como por
ejemplo modelos económicos, inteligencia artificial, web semántica, meteorología etc.
➢ Conceptuales: El modelo conceptual, permite la representación gráfica y simplificada
de la realidad a través de diversos diagramas o esquemas que representan los
diversos conceptos que intervienen en dicho fenómeno, por ejemplo, diagramas de
flujo, grafos, esquemas, entre otros.

Actividad de aprendizaje 7: Adivinando el modelo.


Relaciona ambas columnas correctamente

Artificial

Conceptual

Natural

6
Diccionario de la Lengua Española. Consultado 6/mayo/2018. http://dle.rae.es/?id=PTk5Wk1

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 21


 Elementos para modelar un sistema.
Recordemos que un sistema es un conjunto de elementos que interactúan entre sí para
el logro de una meta común y específica. Además, ya has visto que los principales
elementos de todo sistema son sus entradas, sus procesos y sus salidas.
➢ Entrada: Las entradas al sistema son todo insumo que se requiere para que el
sistema lleve a cabo sus procesos y genere un resultado.
➢ Salida: La salida del sistema es el resultado del procesamiento de los insumos de
entrada.
➢ Proceso: El proceso son todas aquellas operaciones que se realizan con las entradas
para poder producir una salida.
➢ Para realizar el modelo de un sistema, es muy importante identificar estos elementos

Ejemplo:
Préstamo de libros (en su acepción más sencilla).
ENTRADAS Datos del libro o bien, cancelación del proceso.

Si se pide un préstamo del libro:


Se registran los datos del libro
Se verifica si el estatus del libro corresponde a libro no prestado.
PROCESOS
Si el libro no se ha prestado se presta el libro y se actualiza el estatus a libro
prestado, de lo contrario, se rechaza el préstamo y se solicita otro libro.
Si se pide la cancelación del proceso se da por terminado el proceso.
Libro prestado
Se rechaza el préstamo
SALIDAS
Se cancela el proceso.

Datos del Status de


préstamo Se presta el libro
libro Registra los
Verifica status
datos Cancelación

Termina
el proceso
Se rechaza el préstamo
Actualiza
Solicita nuevo libro Status

RETROALIMENTACIÓN

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 22


Actividad de aprendizaje 8: Desarrollando el modelo.
Para el siguiente problema establece un modelo determinando entradas, proceso y
salida.
Problema: Se desea capturar la calificación de un alumno asegurando que sea una
calificación valida (entre 0 y 10).
ENTRADAS

PROCESOS

SALIDAS

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 23


Bibliografía básica y complementaria Unidad 1
Ávila Ramos, J. (2013, marzo 12). Cibernética y Computación 1. Unidad 1. La Cibernética
[Educativa]. Recuperado el 14 de mayo de 2018, a partir de
https://portalacademico.cch.unam.mx/alumno/cibernetica1/unidad1/laCibernetica
Bravo Medina, E. (1974). Cibernética en la Ingeniería química (Tesis para obtener el título
de Ingeniero Químico). UNAM, Facultad de Química, México, D. F. Recuperado a
partir de http://132.248.9.195/pmig2017/0165709/0165709.pdf
Carrillo Paz, Alí (2011) Sistemas Automáticos de Control. Fondo Editorial UNERB.
Castaños Alés, E. (2000a). Los orígenes del arte cibernético en España: el seminario de
Generación Automática de Formas Plásticas del Centro de Cálculo de la
Universidad de Madrid: (1968-1973). (Tesis de Doctorado). Biblioteca Virtual
Miguel de Cervantes, España. Recuperado a partir de
http://www.cervantesvirtual.com/obra/los-origenes-del-arte-cibernetico-en-
espana-el-seminario-de-generacion-automatica-de-formas-plasticas-del-centro-
de-calculo-de-la-universidad-de-madrid-19681973--0/
Castaños Alés, E. (2000b). Norbert Wiener y el origen de la Cibernética. Capítulo 2. Los
orígenes del arte cibernético en España: el seminario de Generación Automática
de Formas Plásticas del Centro de Cálculo de la Universidad de Madrid : (1968-
1973). (Tesis de Doctorado). Biblioteca Virtual Miguel de Cervantes, España.
Recuperado a partir de http://www.infoamerica.org/documentos_pdf/wiener2.pdf
Castillo, F. (2016, agosto 18). Sistema Fábrica de mermeladas. Recuperado el 21 de
mayo de 2018, a partir de https://prezi.com/hmhwjrj1cyzd/sistema-fabrica-de-
mermeladas/
López Lira Nava, R. (1983). La aplicación de la cibernética y la utilización de la
computadora en las relaciones internacionales (Tesis para obtener el título de
Licenciado en Relaciones Internacionales). UNAM, Facultad de Ciencias Políticas
y Sociales, México, D. F.
Martínez Garnelo, A. (1997). Realidad virtual, cibernética y comunicación. Realidad
virtual: una forma comunicacional alternativa (Tesis para obtener el título de
Licenciado en Ciencias de la Comunicación). UNAM, Facultad de Ciencias

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 24


Politicas y Sociales, México, Ciudad Universitaria. Recuperado a partir de
http://132.248.9.195/ppt2002/0248353/0248353.pdf
COLOM, Anthony. (2002). Sociología de la educación y teoría general de sistemas.
Oikos-Tau Ediciones.
KAST, Fremont y James Rosenzweig. (2002). Administración en las Organizaciones,
Enfoque de Sistemas y Contingencias, Mc Graw-Hill, México.
Lederer, H. (2009). Man as Industrial Palace [Video]. Obtenido de
https://youtu.be/__OGncEPgrE
Los humanos y las máquinas. (07 de 2009). Recuperado el 1 de mayo de 2018, de
Taringa: http://www.taringa.net/posts/info/3030733/Los-humanos-y-las-
maquinas.html
Salgado Berzunza, I. (2001). Del Diseño, la Comunicación y la Cibernética (Tesis para
obtener el título de Licenciado en Comunicación Grafica). UNAM, Escuela
Nacional Artes Plásticas, México, D. F. Recuperado a partir de
http://132.248.9.195/pd2001/288057/288057.pdf
Wiener, N. (1967). Dios y Golem. Comentario sobre ciertos puntos en que chocan
cibernética y religión. México: Siglo XXI.
Wiener, N. (1985). Cibernética o el control y comunicación en animales y máquinas.
Barcelona: Tusquets Editores S. A.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 25


GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 26
Unidad 2
Circuitos Lógicos

Presentación
La presente unidad, tiene entre sus finalidades introducir los diferentes sistemas de
numeración con los que se trabajan en Cibernética y Computación I, realizar las
operaciones básicas que te permitan posteriormente diseñar y construir circuitos lógicos
a partir de un problema o sistema planteado.

Propósito:
Al finalizar la unidad el alumno:
Utilizará el álgebra de Boole y el sistema de numeración binario para diseñar, construir
o simular circuitos lógicos utilizando un protoboard o un simulador.

Palabras clave: Decimal, Binario, Octal, Hexadecimal, Operaciones


básicas, Teorema, Circuitos, Lógicos, Compuertas, Protoboard.

 Sistemas de Numeración
Un sistema de numeración es un conjunto de símbolos y reglas de generación que
permiten construir todos los números válidos en el sistema, son aquellos que nos
permiten escribir números, así como desarrollar las operaciones aritméticas básicas
(suma, resta, multiplicación, división).

➢ Sistema Decimal: El sistema decimal o base 10, es aquel que está formado por 10
dígitos los cuales son: 0,1,2,3,4,5,6,7,8,9.
Nuestro sistema de numeración es un sistema posicional, esto debido a que el valor
de una cifra depende del lugar que ocupa en el número: el primer 7 del número 757
no vale lo mismo que el segundo 7. El valor del segundo 7 es siete unidades, pero el
valor del primer 7 es de 700 unidades. Se dice que es decimal porque diez unidades
de un determinado orden equivalen a una unidad del orden superior. Así, diez

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 27


unidades son una decena; diez decenas son una centena, diez centenas forman un
millar. Por ello, un número es igual a la suma de los productos de sus cifras por sus
valores respectivos. Por ejemplo, el número 86,239 se puede descomponer de la
siguiente manera: 86,239 = 80,000 + 6,000 + 200 + 30 + 9 = 8x10000 + 6x1000 +
2x100 + 3x10 + 9
➢ Sistema Binario: El sistema de numeración más simple que usa la notación posicional
es el sistema de numeración binario. Este sistema, como su nombre lo indica, usa
solamente dos dígitos (0,1). Por su simplicidad y por poseer únicamente dos dígitos
diferentes, el sistema de numeración binario se usa en computación para el manejo
de datos e información. Normalmente al dígito cero se le asocia con cero voltios,
apagado, desenergizado, inhibido (de la computadora) y el dígito 1 se asocia con +5,
+12 volts, encendido, energizado con el cual se forma la lógica positiva.
Como el sistema binario usa la notación posicional entonces el valor de cada dígito
depende de la posición que tiene en el número, así por ejemplo el número 110101 2
es: 1*(20) + 0*(21) + 1*(22) + 0*(23) + 1*(24) + 1*(25) = 1 + 4 + 16 + 32 = 5310
La computadora está diseñada sobre la base de numeración binaria (base 2). Por
eso este caso particular merece mención aparte. Siguiendo las reglas generales para
cualquier base expuestas antes, tendremos que: Existen dos dígitos (0 o 1) en cada
posición del número.
➢ Sistema de Numeración Octal: El sistema de numeración octal ó base 8 está formado
por 7 dígitos, los cuales son: 0, 1, 2, 3, 4, 5, 6, 7
Los números octales pueden construirse a partir de números binarios
considerando 2 * 2 * 2 = 8
Lo que significa que 3 dígitos binarios equivalen a un dígito octal, por lo que para
escribir números en octal, consideraras primeramente el número binario, y este lo
agruparemos en tercias de derecha a izquierda.
➢ Sistema de Numeración Hexadecimal: El sistema de numeración hexadecimal o base
16 está formado por 16 dígitos, los cuales son: 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F
Los números hexadecimales pueden construirse a partir de números binarios
considerando 2 * 2 * 2 * 2 = 16

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 28


Lo que significa que 4 dígitos binarios equivaldrán a un dígito hexadecimal, por lo
que, para escribir números en hexadecimal, consideraremos primeramente el número
binario, y este lo agruparemos en cuartetos de derecha a izquierda.

 Conversiones numéricas
Un procedimiento sencillo para convertir números de base decimal a un número de
diferente base es utilizar la división, para ello se realiza lo siguiente:

Paso 1. Tenemos que dividir la cantidad en decimal entre la base que se desee convertir,
haciendo una división de tipo entero (sin decimales) poniendo el residuo del lado
derecho de la cantidad que se desea convertir y el resultado del lado inferior
izquierdo a la primera cifra que se está buscando.
Paso 2. El resultado de la primera división es el nuevo valor que vamos a dividir otra vez
entre la base, y volvemos a poner el residuo del lado derecho de esta nueva
cantidad y el resultado del lado inferior izquierdo de la nueva cantidad encontrada.
Paso 3. Después de haber obtenido la nueva cifra se repite el proceso de dividir entre la
base que se está buscando, cuantas veces se necesite hasta llegar a un número
inferior a la unidad de la base que se está calculando, si es este el caso se deja el
valor del dividendo (la unidad inferior a la base) como último residuo, pero primer
número de la cifra buscada.
Paso 4. Los residuos se toman de abajo hacia arriba para poder anotar el número
buscado.
Paso 5. Para poder comprobar el resultado, la primera cifra de la derecha se multiplica
por el número de la base que buscamos elevada a la potencia cero ( b 0), así se
continua con la segunda cifra de derecha a izquierda pero ahora se multiplica el
numero de la base que buscamos elevado a la potencia uno (b 1), así
sucesivamente hasta la última cifra: (b0, b1, b2, b3,…,bn).
Paso 6. Una vez que se obtiene el valor de todos los productos, se suman y el total nos
debe devolver la cantidad del número decimal que se quería convertir inicialmente.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 29


Ejemplo
Convertir el numero 2358010 al sistema de numeración binario, octal y hexadecimal.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 30


GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 31
Actividad de aprendizaje 9: De sistema en sistema
Tomando en cuenta el procedimiento de conversión, realiza los siguientes ejercicios, no
olvides realizar tus operaciones en hojas anexas, evita utilizar calculadora.

1. Decimal a Binario 2. Binario a Decimal


a) 57010 =( )2 a) 11111111 2 =( )10
b) 72510 =( )2 b) 11100001110 2 =( )10
c) 195610 =( )2
c) 111110001110 2 =( )10
d) 556910 =( )2
d) 1111111111111111 2 =( )10
e) 745910 =( )2
e) 1110000111000111 2 =( )10

3. Decimal a Octal 4. Octal a Decimal


a) 279 10 =( ) 8 a) 762 8 =( )10

b) 1986 10 =( ) 8 b) 1632 8 =( )10

c) 18890 10 =( ) 8 c) 23456 8 =( )10

d) 27845 10 =( ) 8 d) 45670 8 =( )10

5. Decimal a Hexadecimal 6. Hexadecimal a Decimal


a) 324510 =( )16 a) ABC16 =( )10
b) 1356710 =( )16 b) DADB16 =( )10
c) 1857910 =( )16 c) ABA316 =( )10
d) 77610 =( )16 d) CADA16 =( )10

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 32


Actividad de aprendizaje 10: De sistema en sistema 2
Tomando en cuenta el procedimiento de conversión, realiza los siguientes ejercicios, no
olvides realizar tus operaciones en hojas anexas, evita utilizar calculadora.

Decimal Binario Octal Hexadecimal


(18579)10
(11111111)2
(776)8
(ABC)16

 Aritmética del sistema de numeración binaria


En el sistema de numeración binario podemos desarrollar las operaciones aritméticas
básicas de suma (adición), resta(sustracción), multiplicación y división.
Suma binaria: Para sumar dos números en binario se toma en cuenta las siguientes
condiciones
A B A+B
0 0 0
0 1 1
1 0 1
1 1 10 0 y lleva 1 de acarreo.

Para ilustrar la manera en que se suman 2 números binarios se puede considerar un


circuito en paralelo donde la obtención de su función y la tabla de verdad dan como
producto la compuerta or de dos entradas.

En el circuito se observa que, si está cerrado uno o ambos


interruptores, la lámpara se enciende, y el estado se describe
por la ecuación A + B = F que se lee.
A o B es equivalente a F

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 33


Ejemplos:
Realiza las siguientes sumas en binario, y convierte los números en decimal para
comprobar la operación.
a.
( 1 1 0 0 1 1 )2 ( 5 1 )10
+ ( 1 0 1 1 0 0 )2 + ( 4 4 )10
( 1 0 1 1 1 1 1 )2 ( 9 5 )10

b.
1ac 1ac
( 1 0 0 1 1 1 )2 ( 3 9 )10
+ ( 1 1 0 0 0 0 0 )2 + ( 9 6 )10
( 1 0 0 0 0 1 1 1 )2 ( 1 3 5 )10

c.
1ac 1ac 1ac 1ac 1ac
( 1 1 0 0 1 )2 ( 2 5 )10
+ ( 1 1 1 1 1 )2 + ( 3 1 )10
( 1 1 1 0 0 0 )2 ( 5 6 )10

d.
1ac 1ac 1ac 1ac 1ac 1ac
1ac 1ac
1ac
( 1 1 0 0 1 )2 ( 2 5 )10
+ ( 1 1 1 1 1 )2 + ( 3 1 )10
( 1 0 0 0 1 )2 ( 1 7 )10
( 1 1 1 1 0 )2 ( 3 0 )10
( 1 1 0 0 1 1 1 )2 ( 1 0 3 )10

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 34


Actividad de aprendizaje 11: Sumando, sumando vamos practicando.
Realiza las siguientes operaciones, evita el uso de calculadora.

Sistema binario
(1 1 1 0 0 1)2 (1 1 1 1 0 0 0)2 (1 0 0 0 0 0 0 1)2
(1 1 0 0 1 0)2 (1 0 1 0 0 12) (1 1 1 0 0 0 1)2

Resta binaria: Dos números binarios se restan tomando en cuenta las siguientes
condiciones.
A B A-B
0 0 0
0 1 11 1 y lleva 1 de acarreo.
1 0 1
1 1 0

Ejemplos:
Realiza las siguientes restas en binario, y convierte los números en decimal para
comprobar la operación.
a.
( 1 1 1 0 0 1 1 )2 ( 1 1 5 )10
- ( 1 1 0 0 1 0 )2 - ( 5 0 )10
( 1 0 0 0 0 0 1 )2 ( 6 5 )10

b.
1ac 1ac 1ac 1ac
( 1 1 1 1 0 0 0 )2 ( 1 2 0 )10
- ( 1 0 1 0 0 1 )2 - ( 4 1 )10
( 1 0 0 1 1 1 1 )2 ( 7 9 )10

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 35


Actividad de aprendizaje 12: No vamos hacia atrás, solo vamos a restar.
Realiza las siguientes operaciones, y realiza la conversión a binario para comprobar tus
resultados, evita el uso de calculadora.

a. (377)10 b. (978)10
- (275)10 - (785)10

Multiplicación binaria: La multiplicación en binaria basa su operación tomando en cuenta


la suma y resta binaria y las siguientes condiciones.
A B AXB
0 0 0
0 1 0
1 0 0
1 1 1

Para ilustrar la manera en que se multipliquen 2 números binarios se puede considerar


un circuito en serie donde la obtención de su función y la tabla de verdad dan como
producto la compuerta and de dos entradas.

Para que la lámpara encienda es necesario que tanto al


interruptor A como el interruptor B estén cerrados. Este es el
estado Y (AND) y se escribe como A · B = F que se lee.

A y B es equivalente a F

Ejemplos:
Realiza los siguientes productos en binario, y convierte los números en decimal para
comprobar la operación.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 36


a.
( 1 1 0 1 )2 ( 1 3 )10
X ( 1 1 1 )2 X ( 7 )10
1ac 1ac 1ac 1ac ( 9 1 )10
1 1 0 1
+ 1 1 0 1 Recorriendo un lugar a la izquierda

1 1 0 1
( 1 0 1 1 0 1 1 )2

b.
( 1 1 1 1 )2 ( 1 5 )10
X ( 1 0 0 1 )2 X ( 9 )10
1ac 1ac 1ac 1ac ( 1 3 5 )10
1 1 1 1
+ 0 0 0 0
0 0 0 0
1 1 1 1
( 1 0 0 0 0 1 1 1 )2

Actividad de aprendizaje 13: Vamos a multiplicar y luego a sumar


Realiza las siguientes operaciones, y realiza la conversión a binario para comprobar tus
resultados, evita el uso de calculadora.
c. (136)10 d. (156)10
X (19)10 X (21)10

División binaria: La división binaria basa su funcionamiento en las operaciones suma,


resta y multiplicación anteriormente estudiadas.

Ejemplos:
Realiza las siguientes divisiones en binario, y convierte los números en decimal para
comprobar la operación.
a.
( 1 1 1 )2 (1 0 0 0 1 1 0 )2 ( 7 )10 ( 7 0 )10

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 37


Paso 1. Cuenta el número de dígitos que contiene el número del dividendo y
considerando el divisor de izquierda a derecha elige el número que contenga el mismo
número de dígitos.

( 1 1 1 )2 (1 0 0 )2 ( 7 )10 ( 4 )10

Paso 2. Como el número del dividendo es mayor que el número del divisor toma en cuenta
en el divisor el siguiente digito de izquierda a derecha.
1
( 1 1 1 )2 (1 0 0 0 )2 ( 7 )10 ( 8 )10
7
1
Paso 3. Continúa bajando los dígitos del divisor
( 1 1 1 )2 (1 1 )2 ( 7 )10 ( 3 )10

NOTA: como 3 entre 7 no se puede dividir coloca cero como resultado y baja el dígito siguiente.

( 1 0 1 0 )2 ( 1 0 )10
( 1 1 1 )2 (1 0 0 0 1 1 0 )2 ( 7 )10 ( 7 0 )10
1 1 1
0 0 1 1 1
0 0

Actividad de aprendizaje 14: Vamos a dividir y luego a restar


Realiza las siguientes operaciones, y realiza la conversión a binario para comprobar tus
resultados, evita el uso de calculadora.
a. b.
( 1 8 )10 (1 4 5 )10 ( 1 4 )10 ( 2 5 6 )10

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 38


 Elementos del algebra de Boole
El álgebra booleana, estudiada por primera vez en detalle por George Boole, constituye
un área de las matemáticas que ocupa un lugar prominente con el advenimiento de la
computadora digital. Es utilizada ampliamente en el diseño de circuitos de distribución y
computadoras, y sus aplicaciones van en aumento en muchas otras áreas.

En el nivel de lógica digital de una computadora que está formado por los componentes
electrónicos de la máquina, lo que comúnmente se llama hardware, se trabaja con
diferencias de tensión, las cuales generan funciones que son calculadas por los circuitos
que forman el nivel. Estas funciones, en la etapa de diseño del hardware, son
interpretadas como funciones de Boole.

A mediados del siglo XIX, George Boole (1815-1864), en sus libros: "The Mathematical
Analysis of Logic" (1847) y "An Investigation of te Laws of Thought" (1854), desarrolló la
idea de que las proposiciones lógicas podían ser tratadas mediante herramientas
matemáticas. Las proposiciones lógicas (asertos, frases o predicados de la lógica clásica)
son aquellas que únicamente pueden tomar valores Verdadero/Falso, o preguntas cuyas
únicas respuestas posibles sean Sí/No.

Según Boole, estas proposiciones pueden ser representadas mediante símbolos y la


teoría que permite trabajar con estos símbolos, sus entradas (variables) y sus salidas
(respuestas) es la lógica simbólica desarrollada por él. Dicha lógica simbólica cuenta con
operaciones lógicas que siguen el comportamiento de reglas algebraicas. Por ello, al
conjunto de reglas de la lógica simbólica se le denomina Álgebra de Boole.
A mediados del siglo XX el álgebra Booleana resultó de gran importancia práctica,
importancia que se ha ido incrementando hasta nuestros días, en el manejo de
información digital (por eso hablamos de Lógica Digital). Gracias a ella, en 1930 Shannon
pudo formular su teoría de la codificación y John Von Neumann pudo enunciar el modelo

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 39


de arquitectura que define la estructura interna de las computadoras desde la primera
generación7.

Todas las variables y constantes del Álgebra Booleana admiten sólo uno de dos valores
en sus entradas y salidas: Sí/No, 1/0 o True/False. Estos valores bivalentes y opuestos
pueden ser representados por números binarios de un dígito (bits), por lo cual el Álgebra
Booleana se puede entender cómo el Álgebra del Sistema Binario.

Al igual que en álgebra tradicional, se trabaja con letras del alfabeto para denominar
variables y formar ecuaciones para obtener el resultado de ciertas operaciones mediante
una ecuación o expresión booleana. Evidentemente, los resultados de las
correspondientes operaciones también serán binarios.

Todas las operaciones (representadas por símbolos determinados) pueden ser


materializadas mediante elementos físicos de diferentes tipos (mecánicos, eléctricos,
neumáticos o electrónicos) que admiten entradas binarias o lógicas y que devuelven una
respuesta (salida) también binaria o lógica. Ejemplos de dichos estados son:
Abierto/Cerrado (interruptor), Encendida/Apagada (bombilla), Cargado/Descargado
(condensador), Nivel Lógico 1/Nivel lógico 0 (salida lógica de un circuito semiconductor).
Los dispositivos con los cuales se implementan estas funciones lógicas son llamados
puertas o compuertas logicas y, habitualmente, son dispositivos electrónicos basados en
transistores.

Estos dispositivos, son los que permiten el diseño, y la implementación, de los circuitos
de cualquier ordenador moderno, así como de muchos de los elementos físicos que
permiten la existencia de las telecomunicaciones modernas y el control de máquinas. De
hecho, pensando en los ordenadores como una jerarquía de niveles, la base o nivel
inferior sería ocupada por la lógica digital (en el nivel más alto del ordenador
encontraríamos los actuales lenguajes de programación de alto nivel).

7
Josep Mª Navarro Canut. Ministerio de Educación, Cultura y Deporte. Año 2001. El álgebra de boole. Consultado 15/noviembre/2018.
http://recursostic.educacion.es/descartes/web/materiales_didacticos/logica_digital/LogicaDigital_1.htm

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 40


En esta unidad se representan las puertas lógicas elementales, y algunos ejemplos de
circuitos digitales simples, así como algunas cuestiones de notación.

 Operaciones básicas: conjunción, disyunción y negación


Operador Booleano OR o Suma (Disyunción): Una operación booleana OR, O ó suma,
podrá tener 2 o más entradas y una sola salida, la función de esta operación es realizar
la suma de las entradas, en la salida se obtendrá un valor de 1, cuándo al menos alguna
de las entradas se encuentren en 1.
A B AOB
0 0 0
0 1 1
1 0 1
1 1 1

Operador Booleano AND o Multiplicación (Conjunción): Una operación booleana AND, Y


ó Multiplicación, podrá tener 2 o más entradas y una sola salida, la función de esta
operación es realizar la multiplicación de las entradas, en la salida se obtendrá un valor
de 1, cuándo todas las entradas se encuentren en 1.
A B AYB
0 0 0
0 1 0
1 0 0
1 1 1

Operador Booleano NOT o Resta (Negación): Una operación booleana resta o negación
podrá tener una sola entrada y una sola salida, la función de esta operación es realizar
la negación de la entrada, en la salida se obtendrá el valor negado de la entrada.
A ̅
𝐀
0 1
1 0

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 41


 Funciones booleanas
Postulados del álgebra booleana: En cualquier sistema algebraico existen una serie de
postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras
propiedades del sistema, el álgebra booleana a menudo emplea los siguientes
postulados:
Cerrado: El sistema booleano se considera cerrado con respecto a un operador binario
si para cada par de valores booleanos se produce un solo resultado booleano.
Conmutativo: Se dice que un operador binario " º " es conmutativo si A º B = B º A para
todos los posibles valores de A y B.
Asociativo: Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C)
para todos los valores booleanos A, B, y C.
Distributivo: Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B)
% (A º C) para todos los valores booleanos A, B, y C.
Identidad: Un valor booleano 1 se dice que es un elemento de identidad con respecto a
un operador binario " º " si A º 1 = A.
Inverso: Un valor booleano 1 es un elemento inverso con respecto a un operador
booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de
A.
Suponiendo que A y B son variables booleanas, es posible familiarizarse con algunos de
los teoremas más importantes del álgebra de Boole, a continuación, mencionaremos
algunos de ellos:

0+A=A 0·A=0
1. Del cero y la unidad
1 +A=1 1 ·A=A
2. Potencia o potencias iguales A+A=A A·A=A

3. Complementación ̅=1
A+A ̅=0
A·A

4. Involución A̿ = A
A+B=B+A
5. Conmutatividad
A·B=B·A

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 42


A + (B + C) = (A + B) + C = A + B + C
6. Asociatividad
A · (B · C) = (A · B) · C = A · B · C

A + B · C = (A + B) (A + C)
7. Distribuitividad
A · (B + C) = A · B + A · C

a) A (A +B) = A b) A + A·B = A
̅ + B) = A ∙ B
c) A (A ̅·B=A+B
d) A + A
8. Leyes de absorción
̅ (A+B) = A
e) A ̅∙B ̅ + A· B = A
f) A ̅+B
̅) = A
g) (A + B) ∙ (A + B ̅=A
h) A · B + A · B

A ∙ B =̅
a) ̅̅̅̅̅̅ ̅
A+B ̅̅̅̅̅̅̅
̅+B
b) A · B = A ̅
9. Teoremas De Morgan
̅̅̅̅̅̅̅
c) A + B = ̅A ∙ B
̅ ̅̅̅̅̅̅
̅·B
d) A + B = A ̅

Compuertas Lógicas: Las compuertas lógicas son los circuitos electrónicos que permiten
armar circuitos lógicos o digitales, existen infinidad de compuertas lógicas, siendo las
más importantes las siguientes:

✓ Compuerta de Suma: La compuerta de suma tendrá 2 o más entradas y una sola


salida, la función de esta compuerta será la de sumar la señal que fluya en sus
entradas, la tabla de verdad de esta compuerta lógica es la misma que la de la
operación suma y su representación es la siguiente:

✓ Compuerta de Multiplicación: La compuerta de multiplicación tendrá 2 o más entradas


y una sola salida, la función de esta compuerta será la de multiplicar la señal que
fluya en sus entradas, la tabla de verdad de esta compuerta lógica es la misma que
la de la operación multiplicación y la representación de una compuerta de
multiplicación es la siguiente:

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 43


✓ Compuerta de Negación: La compuerta de negación tendrá 1 entrada y una salida,
la función de esta compuerta será la de restar o negar la señal que fluya en su
entrada, la tabla de verdad de esta compuerta lógica es la misma que la de la
operación resta y la representación de una compuerta de negación es:

Un circuito es un recorrido o camino que comienza y finaliza en el mismo lugar, siendo


igual el punto de partida y el punto de llegada. Este camino se establece a través de
diferentes y numerosas conexiones que pueden contar con diversas opciones de
recorrido. Cuando se habla de circuito, el término se puede aplicar a interminables
situaciones, a pesar de que algunas sean más conocidas que otras. Para el curso de
Cibernética y Computación I, se trabajan circuitos lógicos, donde se utilizan las
compuertas descritas anteriormente, sin embargo, su forma de conectar se da de dos
maneras las cuales se describen a continuación:

Circuito en serie: Para implementar un circuito en serie se colocan las resistencias


(resistores) conectados uno después del otro. El valor de la resistencia equivalente a las
resistencias conectadas en serie es igual a la suma de los valores de cada una de ellas.
En este caso la corriente que fluye por las resistencias es la misma en todas.
Entonces:

Rts (resistencia total serie) = R1 + R2 + R3

El valor de la corriente en el circuito equivalente es como se muestra en el diagrama 1,


y este es el mismo que en el circuito original y se calcula con la ley de Ohm.

Diagrama 1

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 44


Una vez que se tiene el valor de la corriente por el circuito, se pueden obtener las caídas
de tensión a través de cada uno de los resistores utilizando la ley de Ohm.
En R1 la caída de tensión es V1 = I x R1
En R2 la caída de tensión es V2 = I x R2
En R3 la caída de tensión es V3 = I x R3

Circuito en paralelo: En el circuito de resistencias en serie la corriente tiene un sólo


camino para circular, en el circuito de resistencias en paralelo la corriente se divide y
circula por varios caminos. En este caso se tienen 2 o más resistencias. Estas
resistencias están unidas por sus dos extremos como se muestra en el diagrama 2.

Diagrama 2

La corriente que suministra la fuente de tensión V es la misma en el circuito original (con


R1, R2 y R3) y en el equivalente. En el circuito original la corriente se divide y pasa por
cada una de las resistencias, pero el total de la suma de las corrientes de cada resistencia
es siempre igual.
La resistencia equivalente de un circuito de resistencias en paralelo es igual al recíproco
de la suma de las resistencias individuales, así, la fórmula para un caso de 3 resistencia
es:

Rtp (resistencia total en paralelo) = 1 / ( 1/R1 + 1/R2 + 1/R3 )

1 1 1 1
Presentando esta fórmula de manera ligeramente diferente: 𝑅𝑡𝑝 = 𝑅1 + 𝑅2 + 𝑅3 y utilizando

la conductancia8 (G).

8
La conductancia es el inverso de la resistencia (G = 1 / R) y su unidad es el Mho o Siemens

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 45


Variables Booleanas: Una variable booleana se representa con una letra mayúscula de
la “A” a la “Z”, la cual puede tomar dos valores, los cuales son falso o verdadero, prendido
o apagado, activo o inactivo, las variables booleanas nos ayudan a representar las
entradas de un circuito digital.

 Función Booleana
Las funciones booleanas se originan, cuando se relacionan a través de operaciones
booleanas (suma, resta, y multiplicación) las variables booleanas, las funciones
booleanas nos ayudan a representar las salidas de un circuito digital. Así pues, ejemplos
de funciones booleanas podrán ser:
Función Nota:
f (A, B, C) = (A+B) C donde f será una función que depende de las variables booleanas A, B, C.

f (A, B) = A+(BC) donde f será una función que depende de las variables booleanas A, B, C.

 Expresiones booleanas
El álgebra booleana, es usada ampliamente en el diseño de circuitos de distribución y
computadoras, y sus aplicaciones van en aumento en muchas otras áreas del
conocimiento, en ellos las entradas del circuito electrónico son las variables booleanas,
estas se relacionan entre sí a través de operaciones booleanas y producen las salidas
del circuito las cuales son representadas como funciones booleanas. Con la finalidad de
comprender la manera en que se aplicará el álgebra de Boole al diseño de un circuito
eléctrico, se propone la siguiente metodología.

Metodología de diseño de un Circuito Eléctrico empleando el Álgebra de Boole:


Paso 1. Identificar plenamente el número de entradas y salidas que tendrá el circuito
eléctrico, señalando las entradas como variables booleanas y las salidas como
funciones booleanas.
Paso 2. Construir una tabla de verdad, cuyo número de filas vendrá expresado por la
relación ( 2 n + 1), en donde “n”, será el número de entradas que tendrá el circuito
eléctrico.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 46


Paso 3. El número de columnas de la tabla de verdad vendrá dado por la relación (número
de entradas + número de salidas) que tenga el circuito eléctrico.
Paso 4. Se identifican las columnas de la tabla, colocando el nombre de las variables y
funciones booleanas de izquierda a derecha.
Paso 5. Se procede a realizar el llenado de las filas de la tabla de verdad con 1 y 0 en lo
relativo únicamente a las entradas (variables booleanas), escribiendo las distintas
2n combinaciones de valores.
Paso 6. Con base a las características del circuito eléctrico a diseñar (salidas), se procede
a realizar el llenado de las funciones booleanas con 1 y 0. Un 0 indica que la salida
estará inactiva y un 1 indicará que la salida se encontrará activa.
Paso 7. Con el propósito de definir los términos que compondrán a la función booleana,
se procede analizar las salidas que se encuentren en 1. Por cada salida en 1 se
observan como se encuentran las entradas (variables booleanas), si la variable
está en 0 se hablará de su complemento, si la variable está en 1 se hablará de la
variable, las variables que entre sí conforman la fila, se relacionan con una
operación de multiplicación.
Paso 8. Para definir la función booleana, se relacionan con una operación de suma todos
los términos que se hayan obtenido con salidas en 1.

Con el propósito de comprender la metodología de diseño anteriormente descrita, se


desarrollarán el análisis y diseño de una serie de problemas.

Ejemplo 1: El tablero de un automóvil cuenta con un dispositivo electrónico que envía el


siguiente mensaje: ¡ABROCHESE EL CINTURÓN DE SEGURIDAD!, se sabe que dicho
circuito se activa cuando: Se introduce la llave, acciona él interruptor y el cinturón de seguridad
del conductor se encuentra abierto.

Diseño
Interruptor → variable booleana A
Entradas →
Cinturón de seguridad. → variable booleana B
Salida → Mensaje → función booleana f(A, B)

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 47


Tabla de verdad
El tamaño de la tabla de verdad será 2n, donde “n” será el número de entradas que tendrá
el circuito, por lo tanto, el número de filas de la tabla será de 22 = 4 + 1 (fila de
encabezado)
Paso 1. Procedemos al llenado de tabla de verdad en lo referente a las entradas.
Interruptor (A) Cinturón Salida f
Seguridad (B)
0 0
0 1
1 0
1 1

Paso 2. Posteriormente con base a las condiciones del problema procedemos al llenado
de la tabla de verdad en lo referente a la salida.
Interruptor (A) Cinturón Salida f
Seguridad (B)
0 0 0
0 1 0
1 0 1
1 1 0

Con la finalidad de encontrar el o los términos que compondrán la función booleana,


analizaremos la o las salidas que se encuentran en “1”.
Paso 3. El término que define a la salida en “1” es : como “A” se encuentra en “1”
hablaremos de la variable, y como “B” se encuentra en “0” hablaremos de su
complemento.
Por lo tanto, el término que define a la salida en “1” es 𝐴𝐵̅, por lo que la función booleana
̅.
del circuito de alarma del automóvil es: f (A, B) = AB
Empleando compuertas lógicas se procede al armado del circuito lógico.
Circuito Lógico

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 48


Lo que significa que el circuito de la alarma del Automóvil se activará cuando el interruptor
se abra y cinturón de seguridad no esté abrochado.

Ejemplo 2: Construir un circuito que me permita sumar 2 dígitos binarios.

Para resolver este problema es necesario recordar cómo se suma en binario 2 dígitos
A B A+B
0 0 0
0 1 1
1 0 1
1 1 10 0 y lleva 1 de acarreo.

Diseño
ENTRADAS → Dígitos A y B
SALIDAS → Suma y acarreo.

El tamaño de la tabla de verdad será 2 n , donde “n” será el número de entradas que tendrá
el circuito, por lo tanto, el número de filas de la tabla será de 22 = 4 + 1
A B
0 0
0 1
1 0
1 1

En este problema se tienen 2 salidas, por lo que a nuestra tabla anterior le insertamos 2
columnas más, en la primera de ellas se observará la salida de suma, y en la segunda la
salida del acarreo.
A B Salida S Salida ac
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 49


Analizando las salidas en 1 tanto para la salida en suma (Salida S) como la salida en
acarreo (Salida ac), se tiene.
Salida en suma Ss.
El primer “1” vendrá definido por 𝐴𝐵̅
El segundo “1” vendrá definido por 𝐴𝐵̅

Por lo tanto, la función booleana que de define la salida de suma será.


Ss (A, B) = ̅̅̅̅ ̅
AB+ AB Salida en suma
Empleando compuertas lógicas se procede al armado del circuito lógico de la salida, en
suma.

Salida en acarreo
El “1” vendrá definido por AB
Por lo tanto la función booleana que define la salida en acarreo será
Sac(A,B) = AB
Empleando compuertas lógicas se procede al armado del circuito lógico de la salida en
acarreo.

Por lo tanto las funciones booleanas del circuito que nos permita sumar 2 dígitos en
binario serán.
̅̅̅̅+ 𝐴𝐵̅
Ss(A,B) = 𝐴𝐵 Salida en suma
Sac(A,B) = AB Salida en Acarreo

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 50


Actividad de aprendizaje 15: Diseñando y armando circuitos
Con base al procedimiento de los ejemplos anteriores, realiza el análisis y diseño de los
siguientes problemas.
1. Se tiene una máquina que produce tortillas, la cual tiene 3 entradas y 2 salidas, en
sus entradas se pueden colocar Masa, Agua y Cal, la máquina produce tortillas
cuando en sus entradas se encuentran presentes : Masa y alguno de los otros 2
insumos, en las salidas de la máquina se obtiene Tortilla en una de ellas y en la otra
es un recolector de masa, el recolector se activa cuando en las entradas se tiene
masa y no se produce tortilla, elabora el diseño y encuentra la función booleana de
las salidas.
2. Construir un circuito que me permita restar 2 dígitos binarios.

Elaboración de una tabla de Verdad a partir de una Función Booleana.


Existen problemas en donde la información que se nos proporciona es la función
booleana y lo que se nos solicita encontrar es la tabla de verdad que describa el
comportamiento de la función booleana.
A continuación, se describen los pasos que se deben seguir para obtener la tabla de
verdad.
Paso 1. Identificar el número de variables booleanas que conforman la función booleana.
Paso 2. Construir la tabla de verdad tomando en cuenta que el número de filas vendrá
dado por la relación 2n + 1, donde “n” será el número de variables booleanas.
Colocar tantas columnas como variables booleanas se tengan, en las columnas
de izquierda a derecha colocar el nombre de las variables booleanas.
Paso 3. Analizar cada uno de los términos que forman la función booleana, aumentar una
columna en la tabla por cada operación que intervienen (conjunción, disyunción o
negación).
Paso 4. Adicionar en la tabla, la columna de resultado final en la cual se relacionarán (con
la operación indicada), las columnas de resultados parciales.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 51


Ejemplo: Encuentra la tabla de verdad de la siguiente función booleana
f(A, B, C) = A(B+C)

El número de variables booleana que intervienen en la función son 3, por lo tanto, el


número de filas de la tabla será 23 + 1 = 9.
El número de columnas vendrá expresado por el número de variables booleanas.
Realizar el llenado de la tabla de verdad con 0 y 1.
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Analizar las operaciones que intervienen en la tabla, aumentando una columna por cada
operación que se tenga en la función booleana. Se observa que existe un paréntesis que
es la suma de las variables (B + C) por lo que esta operación tiene mayor jerarquía por
lo que procedemos aumentar una columna en nuestra tabla con dicha operación.
A B C (B + C)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 52


De la función booleana se observa que la operación (B+C) se relaciona con la variable A
con una operación de multiplicación, por lo que, en nuestra tabla, aumentamos una
columna con dicha operación obteniendo el resultado deseado.
A B C (B + C) A (B + C)
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 1 0
1 0 0 0 0
1 0 1 1 1
1 1 0 1 1
1 1 1 1 1

Ejemplo 2: Encuentra la tabla de verdad de la siguiente función booleana


̅̅̅̅ + 𝐀𝐁
Ss (A, B) = 𝐀𝐁 ̅

El número de variables booleana que intervienen en dicha función es de 2, por lo tanto,


el tamaño de tabla será 22 +1 = 5, Llenando con 0 y 1 la tabla.
A B
0 0
0 1
1 0
1 1
De la función booleana se observa que las operaciones a realizar será complementar la
variable A y B, por lo que se inserta 2 nuevas columnas a la tabla con estas operaciones.
A B ̅
𝐀 ̅
𝐁
0 0 1 1
0 1 1 0
1 0 0 1
1 1 0 0

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 53


De la función booleana se observa que se deben realizar las operaciones de
̅̅̅̅ y 𝐀𝐁
multiplicación 𝐀𝐁 ̅ , por lo que se insertamos 2 nuevas columnas con las operaciones
indicadas.
A B ̅
𝐀 ̅
𝐁 ̅̅̅̅
𝐀𝐁 ̅
𝐀𝐁
0 0 1 1 1 0
0 1 1 0 0 0
1 0 0 1 0 1
1 1 0 0 0 0

De la función booleana se observa que hay que relacionar con una operación de suma
̅̅̅̅ + 𝐀𝐁
𝐀𝐁 ̅ por lo cual adicionamos una nueva columna encontrando el resultado deseado.
A B ̅
𝐀 ̅
𝐁 ̅̅̅̅
𝐀𝐁 ̅
𝐀𝐁 ̅̅̅̅ ̅
𝐀𝐁 + 𝐀𝐁
0 0 1 1 1 0 1
0 1 1 0 0 0 0
1 0 0 1 0 1 1
1 1 0 0 0 0 0

Actividad de aprendizaje 16: Construyendo la tabla


De las siguientes funciones, obtén la tabla de verdad
̅ + C)
1. f (A, B, C) = A(B
2. f (A, B, C) = AB + BC + C̅
̅ + Z) + Z̅
3. f (X, Y, Z) = X(Y
4. A partir del siguiente circuito lógico encuentra la tabla de verdad respectiva.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 54


Bibliografía básica y complementaria Unidad 2

Floyd, (1998) Fundamentos de Sistemas Digitales, España, Prentice-HALL Internacional.


Kasatkin, V. (1976) El ABC de la Cibernética, Madrid. Paraninfo
Morris (1998) M. Lógica Digital y Diseño de Computadoras, México, Prentice-Hall
Hispanoamericana.
Morris (1988). Ingeniería Computacional, Diseño de Hardware, México, Prentice-Hall
Hispanoamericana.
Tocci, (1987) Sistemas Digitales, Principios y Aplicaciones, Prentice-Hall
Hispanoamericana.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 55


GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 56
Unidad 3
Metodología de solución de problemas e Introducción al
Lenguaje de Programación Java

Presentación
La presente unidad, explica la metodología de solución de problemas paso a paso, donde
se aborda el planteamiento del problema, análisis del problema y el diseño de la solución
del problema, posteriormente se expone la historia y características básicas del lenguaje
de programación orientado a objetos Java; lo anterior con el fin de que el alumno pueda
proponer soluciones a problemas diversos aplicando la metodología y utilizando la
computadora con el lenguaje de programación Java. .

Propósito:
Al finalizar la unidad el alumno:
Aplicará la metodología de solución de problemas mediante la construcción de
algoritmos y la codificación en el lenguaje de programación Java para tener una
visión integral del proceso de solución.

Palabras clave: problema, metodología de solución de problemas,


algoritmos, diagramas de flujo, pseudocódigo, lenguaje de programación,
Java.

 Definiciones y conceptos generales de un problema


Con base en el diccionario de la Real Academia de la Lengua Española, un problema se
define como una cuestión que trata de aclarar, proposición o dificultad de solución dudosa
y conjunto de hechos o circunstancias que dificultan la consecución de algún fin. O bien
se puede decir que es una cuestión discutible que hay que resolver a la cual se busca
una explicación. Sin embargo, no existe una respuesta concreta a lo que es un problema,
por lo que es necesario que para aclarar o resolver un problema, se pueda llegar a

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 57


semejanzas de soluciones, y para que esto suceda es importante llevar una serie de
pasos predeterminados y definidos que nos lleve a la solución.

Desde el punto de vista informático: un problema consiste en la necesidad de transformar


un grupo de datos iniciales en grupo diferente de datos finales llamado resultado
(Vasconcelos, 2011, p. 234).

Para Ibañez y García (2005) la resolución de problemas a través de la computadora


consta de los siguientes pasos:
1. Identificar el problema: En esta fase se comprende el problema y se destacan los
datos que ayudan a entender el problema.
2. Sugerir (o plantear) alternativas de solución: Apela al ingenio del desarrollador, en la
propuesta de las posibles soluciones al problema.
3. Diseño de solución: El resultado de esta etapa es crear una serie de pasos que
servirán para resolver el problema planteado.
4. Desarrollar la solución y comprobar los resultados: En esta fase se comprueban los
resultados.

 Elementos y relaciones del problema


Tomando en cuenta lo anterior, identificar el problema es comprenderlo destacando sus
elementos y realizando las posibles soluciones, satisfaciendo los siguientes aspectos:

➢ ¿Qué es lo que se pide? A esta información la llamaremos datos de entrada.


➢ ¿Cómo obtener lo que se pide? Lo nombraremos proceso de datos.
➢ ¿Qué obtendremos de resultados? Esto es lo que se le denominará datos de salida.

En otras palabras los elementos del problema están relacionados entre sí y son los
siguientes:
Entrada: Corresponde al insumo, o a los datos necesarios que requiere conocer el
proceso para obtener los resultados esperados.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 58


Proceso: Pasos necesarios para obtener la solución del problema o la situación
planteada.
Salida: Resultados arrojados por el proceso como solución.

ENTRADA SALIDA
PROCESO

Ciclo de Retroalimentación

A continuación, se muestran algunos ejemplos de problemas con la identificación de los


elementos de entrada, proceso y salida, se emplea una tabla de tres columnas,
especificando lo que debe contener cada una de ellas.

Ejemplos:
1. Un estudiante quiere viajar a los Estados Unidos si sabe que el tipo de cambio está
en 19 pesos por dólar ¿Cuántos dólares obtendrá por un monto de pesos?
Solución:
Entrada Proceso Salida
¿Qué datos arroja el problema? ¿Cómo se obtendría un resultado? ¿Qué se obtendrá?

pesos dólares = pesos/tipo_ cambio dólares


tipo_cambio = 19

2. Un niño compró tres canicas, él llevaba 20 pesos y le regresaron de cambio 5 pesos


¿Cuánto costó cada canica?
Solución:
Entrada Proceso Salida
3 canicas 3x+5=20 costo de la canica = 5 pesos
pesos = 20 x = (20 - 5) / 3
cambio = 5

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 59


3. Se requiere saber la hipotenusa de un triángulo rectángulo, el valor del cateto a es 3
y del cateto b es 4.
Solución:
Entrada Proceso Salida
Cateto a = 3 c = √𝑎2 + 𝑏 2 La hipotenusa = 5
Cateto b = 4 c = √32 + 42
Hipotenusa = c
c = √25 = 5

Actividad de aprendizaje 17: Identificando los elementos de un problema.


Auxiliándote de la tabla antes descrita en los ejemplos, resuelve las siguientes
actividades identificando los elementos del problema.

1. El domingo por la mañana, una joven decide preparar unos molletes, ¿cuáles serían
los ingredientes y como elaboraría los molletes para tener un exquisito desayuno?
Solución:
Entrada Proceso Salida

Molletes

2. Un alumno del CCH Azcapotzalco necesita llegar a las 7:00 am al examen de


Cibernética y Computación I, su trayecto de casa al plantel es de 2 horas, sin
embargo, el despertador sonó a las 5:00 am ¿Qué acción tendría que hacer el alumno
para llegar a tiempo al examen?
Solución:
Entrada Proceso Salida

Llegar al examen

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 60


3. Un domingo por la mañana la familia Domínguez sale al parque de los venados,
durante el trayecto se poncha la llanta delantera del lado izquierdo, el hijo mayor
decide ayudar a cambiar la llanta ¿cuántas maneras posibles existen para realizar
esta acción?
Solución:
Entrada Proceso Salida

Cambiar la llanta

 Tipos de problemas.
Con el propósito de adentrarse en el estudio de la Metodología de Solución de Problemas,
es muy conveniente que conozcas los diferentes tipos de problemas, posteriormente con
la ayuda de la citada metodología y el lenguaje de programación Java podrás obtener su
solución utilizando la computadora. A continuación, se describen algunas clasificaciones
de problemas:

Determinísticos: Un problema determinístico es aquel donde las mismas entradas o


condiciones iniciales producirán invariablemente las mismas salidas o resultados, no
contemplándose la existencia de azar o incertidumbre en el proceso.

(𝑏𝑎𝑠𝑒∗𝑎𝑙𝑡𝑢𝑟𝑎)
Ejemplo: Se desea conocer el área de un triángulo, sabiendo que: 𝐴𝑟𝑒𝑎 = 2

Solución:
Entrada Proceso Salida
base (𝑏𝑎𝑠𝑒 ∗ 𝑎𝑙𝑡𝑢𝑟𝑎) Área
Á𝑟𝑒𝑎 =
altura 2

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 61


Probabilístico: Un problema probabilístico es una representación matemática deducida
de un conjunto de supuestos con el doble propósito de estudiar resultados de un
experimento aleatorio y predecir su comportamiento futuro.

Ejemplo: Calcula y escribe en una tabla la distribución de la variable aleatoria suma de


los números que aparecen al lanzar dos dados. A continuación presentamos todos los
sucesos que pueden ocurrir al lanzar dos dados y el valor que para cada uno de estos
sucesos toma el dato suma:
Solución:
Entrada Proceso Salida
lanzamiento de dados Suma = dado1 + dado2 2,3,4,5...12
dado1
dado2

Secuencial: Un problema secuencial es aquel en la que una acción (instrucción) sigue a


otra en secuencia de arriba hacia abajo. Las tareas se suceden de tal modo que la salida
de una acción es la entrada de la siguiente acción y así sucesivamente hasta alcanzar el
fin del proceso.

Ejemplo: Un vendedor recibe un sueldo base, más un extra por comisión por cada una
de sus ventas, el vendedor desea saber cuál es el dinero total que recibirá al finalizar el
mes, sabiendo que durante dicho periodo ha realizado 3 ventas.
Solución:
Entrada Proceso Salida
Sueldob (Sueldo base) D_comision = Comision1 + Comision2 + Comision3
Comision1 D_total = Sueldob + D_comision D_comision
Comision2 D_total.
Comision3

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 62


Condicional: Un problema condicional es una acción o grupo de acciones que se pueden
ejecutar o no en función de una condición.

Ejemplo: Determinar si un alumno aprueba a reprueba un curso, sabiendo que si el


promedio de tres calificaciones es mayor o igual a 70 aprueba el curso, en caso contrario
lo reprueba.
Entrada Proceso Salida
Calif1 (𝐶𝑎𝑙𝑖𝑓1 + 𝐶𝑎𝑙𝑖𝑓2 + 𝐶𝑎𝑙𝑖𝑓3) Mostrar
𝑃𝑟𝑜𝑚𝑒𝑑𝑖𝑜 =
Calif2 3 “Aprobado” ó “Reprobado”
¿Promedio >= 70?
Calif3
Si → “Aprobado”
No → “Reprobado”

Actividad de aprendizaje 18: ¿Qué tipo de problema son?


Con base a las definiciones anteriores, especifica qué tipo de problema es cada uno de
los ejercicios que se presentan a continuación
1. Calcular el área y el perímetro de un rectángulo.
2. Un obrero desea conocer su sueldo semanal, sabiendo que durante la semana
trabaja 6 días, que diariamente labora “x” número de horas y que el pago del sueldo
por hora es de $35.00.
3. En un almacén se hace un descuento del 20% a los clientes cuya compra supera el
$1,000. ¿Cuál será la cantidad que pagará una persona por su compra?
4. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente
manera:
➢ Si trabaja 40 horas o menos se le paga la hora a $35.
➢ Si trabaja más de 40 horas, se le pagan las primeras 40 horas a $35, las horas
que exceden de 40 se le pagan al doble.
5. Solicitar tres números y mostrarlos en forma ascendente.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 63


 Etapas de la metodología de solución de problemas.
Al llegar a este punto de la guía te darás cuenta de la necesidad de identificar los
elementos y relaciones de diversos problemas, de aquí la importancia de abordar una
metodología de solución mediante el planteamiento, el análisis y el diseño. En seguida,
se realiza la conceptualización de cada una de estas etapas, donde estará presente la
construcción de algoritmos.

Planteamiento del problema: En esta fase de la metodología, se enuncia con claridad


el problema a resolver, consiste en que identifiques los datos que nos ayudan a entender
en forma integral el problema para comprender plenamente lo que se quiere obtener.
Para este punto te puede ser de gran ayuda la tabla que se generó en los ejercicios
pasados.

Análisis del problema: Para esta fase es conveniente que plantees diversas
alternativas de solución, es muy importante que se piense, razone y estructure su lógica
en forma adecuada, para que con base a estas cualidades se pueda proponer diversas
alternativas de solución al problema.

Diseño de la solución del problema: Aquí se debe de proponer una serie de pasos, los
cuales deberán de ser lógicos donde se debe tener un orden y ser finitos, estos servirán
para obtener la solución del problema planteado. Durante el desarrollo de esta etapa, es
importante destacar el uso de diferentes herramientas:

✓ Elaboración del algoritmo: Los algoritmos son una serie de pasos que hacen posible
la solución a un problema, a través de una serie de instrucciones hasta llegar a la
solución de este, esta serie de instrucciones deben ser continuas y ordenadas. Los
algoritmos se pueden expresar de diversas formas: lenguaje natural, lenguaje de
programación, pseudocódigo y diagramas de flujo. En la presente guía se emplearán
el pseudocódigo y diagramas de flujo como algoritmo del diseño de la solución del
problema.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 64


✓ Pseudocódigo: El pseudocódigo es un lenguaje que se emplea para las
especificaciones de los algoritmos. Permite realizar en forma narrativa los pasos que
debe seguir un algoritmo para obtener la solución a un problema, un pseudocódigo
tiene una serie de convenciones léxicas y gramaticales similares a las de un lenguaje
de programación, sin llegar a la rigidez de sintaxis
✓ Diagrama de Flujo: Un diagrama de flujo es la herramienta que describe un proceso,
se utiliza en diversas áreas del conocimiento para documentar, estudiar y planificar
procesos, el diagrama de flujo es una serie de imágenes claras y fáciles de
comprender, en donde se emplean una serie de símbolos. En secciones más
adelante encontrarás mayor detalle sobre su elaboración.
✓ Prueba de escritorio: La prueba de escritorio es un proceso muy importante que se
debe de desarrollar como parte final de la solución de problemas, en esta etapa se
alimenta manualmente los datos que solicita el problema, así como el desarrollo paso
a paso de las diferentes acciones que se indican en el algoritmo, la prueba de
escritorio es la herramienta fundamental que permite determinar si el problema es
resuelto correctamente, así como detectar errores, omisiones y corregir el algoritmo.

A continuación, se plantean una serie de ejemplos con la finalidad de que observes


detenidamente las diversas etapas de la metodología de solución de problemas, en la
propuesta de solución se emplearán identificadores para definir nombres de variables9,
constantes y procedimientos.

Ejemplos:
Planteamiento del problema:
Una persona acude a un centro comercial con el propósito de adquirir un aparato
eléctrico, al entrar al establecimiento observa que el aparato que desea adquirir tiene un
descuento del 15%, ¿Cuál será el precio que deberá pagar la persona por el aparato que
desea comprar?

9
Derivada del término en latín variabilis, variable es una palabra que representa a aquello que varía o que está sujeto a algún tipo
de cambio.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 65


Análisis del problema:
Entrada Proceso Salida
Precio del aparato Cálculo del 15% del precio del aparato Precio final

Algoritmo:
Inicio
Leer precio
precioFinal = (precio *
85) / 100
Mostrar precioFinal
Fin

Diagrama de flujo.

Prueba de Escritorio.
precio = 8000
precioFinal = (8000 * 85) / 100 → 6,800
precioFinal = 6,800

Planteamiento del problema:


Se desea que un programa muestre el nombre de un artículo, su clave, el precio original
y el precio neto (precio con descuento), el descuento lo hace con base a una clave, si la
clave es 01 el descuento es del 10%, si la clave es 02 el descuento será del 20%.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 66


Análisis del problema:
Entrada Proceso Salida
Se definen los datos de Muestra el nombre del articulo nombre
entrada en forma de variable
Solicitar la clave clave

nombre
Precio del articulo desct
clave desct = precio*0.10;
precio desct = precio*0.20;

Algoritmo:
Inicio
Introduce nombre
¿ clave = 01 ?
Si → desct = (precio * .90)

Fin pregunta
¿ clave = 02 ?
Si → desct = (precio * .80)

Fin pregunta
desct
Mostrar nombre, clave, desct
FIN

Diagrama de flujo:

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 67


Prueba de Escritorio:
Introduce
nombre = “Lavadora”
clave = 01
precio = 4500
¿clave = 01?
si → desct = (4500 * .10) = 450
precioP = 4500 - 450 → 4050
Mostrar “Lavadora”, 01, 4500, 450,4050
Introduce
nombre = “Pantalla plana 80 pulgadas”
clave = 02
precioO = 32000
¿clave = 02?
si → desct = (32000 * .20) = 6400
precioP = 32000 - 6400 → 25600
Mostrar “Pantalla plana 80 pulgadas”,02,32000,6400,25600

Actividad de aprendizaje 18: Resolviendo problemas.


De los siguientes planteamientos de problemas, obtén la solución, desarrollando el
análisis del problema, algoritmo, diagrama de flujo y prueba de escritorio, como se ha
realizado en los ejemplos anteriores.

1. Una persona acude a un banco con el propósito de invertir un cierto importe, el cajero
del banco le informa al ahorrador, que si el importe a invertir es menor o igual a
$10,000.00 el interés anual a pagar será del 3%, en el caso de invertir un importe
superior a $10,000.00 el interés anual a pagar será del 4%, al concluir el periodo
anual, el ahorrador desea saber, ¿cuál será el interés ganado y el importe total?.
2. Conociendo los tres lados de un triángulo, se desea saber si el triángulo es equilátero,
isósceles o escaleno.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 68


 Expresiones y operadores aritméticos.
Es importante destacar que, para dar solución a los problemas que se han planteado es
necesario introducir operadores aritméticos, como los que hemos aprendido desde la
primaria, sin embargo, es importante redefinir que las expresiones y operadores
aritméticos, son una expresión o combinación de datos relacionados que manipulan datos
numéricos tanto enteros como reales. A continuación, se definirán conceptos
correspondientes a expresiones y operadores aritméticos.

Asignación: Un operador de asignación, asigna un valor al operando10 de la izquierda


basado en el valor del operando de la derecha, esto quiere decir que se le asigna un valor
a la variable; de forma simbólica el operador de asignación esta dado por un =.
Operadores aritméticos: Los operadores aritméticos son aquellos que manipulan datos
numéricos tanto enteros como decimales, estos permiten realizar las operaciones que
necesitamos como suma, resta, multiplicación, división, entre otros.

Jerarquía de operadores aritméticos: Para evaluar una expresión aritmética es


necesario considerar la jerarquía de las operaciones, para ello se debe analizar la
expresión de izquierda a derecha y tomar en cuenta la siguiente jerarquía
✓ Operaciones que se encuentren entre paréntesis, corchetes y/o llaves.
✓ Potencias y raíces.
✓ Productos y cocientes.
✓ Sumas y restas.

Evaluación de expresiones aritméticas: Aplicando la jerarquía de los operadores


aritméticos, para evaluar las expresiones aritméticas y encuentra el resultado solicitado.
Se procede de la siguiente forma:

10
En matemáticas, un operando es una de las entradas (argumentos o variables) de un operador.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 69


Ejemplos:
1. Teniendo la siguiente expresión, realiza las operaciones correspondientes
3*2–5+4*3–8+5*2
Paso 1. Tomando en cuenta la prioridad de las operaciones y analizando la expresión
aritmética de izquierda a derecha, se realizan primero las multiplicaciones.
6 – 5 + 12 – 8 + 10
Paso 2. Analizando de izquierda a derecha la expresión resultante se realizan las sumas
de los números positivos.
28 – 5 – 8
Paso 3. Se determina la resta correspondiente y se obtiene el resultado.
28 – 13 = 15

2. Teniendo la siguiente expresión, realiza las operaciones correspondientes


[15 – (23 – 10/2)] x [5 + (3 x 2 – 4)] – 3 + (8 – 2 x 3)
Paso 1. Tomando en cuenta la prioridad de las operaciones y analizando la expresión
aritmética de izquierda a derecha realizamos las operaciones contenidas dentro
de los paréntesis. Priorizando en las potencias, los productos y las divisiones
[15 – (8 – 5)] x [5 + (6 – 4)] – 3 + (8 – 6)
Paso 2. Se procede a realizar las operaciones dentro de los paréntesis.
[15 – (3)] x [5 + 2] – 3 + 2
Paso 3. Quitamos paréntesis.
[15 – 3] x [7] – 3 + 2
Paso 4. Se realizan las operaciones que se encuentran dentro de los corchetes.
12 x 7 – 3 + 2
Paso 5. Se realiza la multiplicación
84 – 3 + 2
Paso 6. Analizando de izquierda a derecha la expresión resultante se realizan las sumas
de los números positivos.
86 – 3
Paso 7. Se determina la resta correspondiente y se obtiene el resultado.
83

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 70


Actividad de aprendizaje 19: Practicando con las expresiones
Con base a los ejemplos anteriores, evalúa las siguientes expresiones aritméticas y obtén
el resultado.
• 27 + 3 x 5 – 16 =
• 27 + 3 – 45/5 + 16 =
• 3x9 + (6 + 5 -3) -12/4 =
• 40 – [30 + 6(19-12)] =
• 23 + 10/2 + 5 x 3 + 4 - 5 x 2 - 8 + 4 x 24 - 16/4 =

 Expresiones y operadores relacionales y lógicos.


Los operadores relacionales y lógicos sirven para comparar dos cantidades y devuelven
un valor “Verdadero” si la relación es cierta y un valor “Falso” si no es cierta. En
programación es necesario utilizar un operador especifico, más adelante se trabajará con
el lenguaje de programación Java, por esta razón es necesario definir estos operadores
de acuerdo con el mencionado lenguaje.

Operadores relacionales: Los operadores relacionales son símbolos que se usan para
comparar dos valores. A continuación, se mencionan y ejemplifican los que utilizamos en
Java.
Operador Nombre Ejemplo Significado
< menor que a<b a es menor que b
> mayor que a>b a es mayor que b
== igual a a=b a es igual a b
>= mayor o igual a>=b a mayor o igual a b
<= menor que o igual a<=5 a es menor que o igual a 5
!= Diferente a a! = b a es diferente que b

Operadores lógicos: Los operadores lógicos se utilizan con operadores de tipo


booleano, es decir verdadero o falso o con los resultados de comparaciones. Se utilizan
para construir expresiones lógicas.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 71


Nombre Operador Descripción
AND && El resultado es verdadero si ambos operandos son
verdaderos. El resultado es falso en caso contrario.
OR || El resultado es falso si los dos operandos son falsos.
Si uno es verdadero el resultado es verdadero.
NOT ! Se aplica sobre un solo operando. Cambia de valor del
operando de verdadero a falso y viceversa.

 Concepto de algoritmo, diagrama de flujo y pseudocódigo


Haciendo referentica al concepto de algoritmo el cual se vio en la página 61 de esta guía,
agregaremos que para Viso & Peláez el algoritmo constituye un objeto de estudio dentro
de las ciencias de la computación, sus características de forma general son las
siguientes:

1. Produce al menos un resultado al cual se le llama salida.


2. Está especificado mediante un número finito de pasos.
3. Cada paso es susceptible de ser realizado por una persona en papel y lápiz.
4. Seguir el algoritmo lleva un tiempo finito el cual tiene una terminación.

Así mismo, en la página 64, se hace referencia a la definición de diagrama de flujo, sin
embargo, en este apartado se dan detalles de su significado y elaboración. los símbolos
que se muestran a continuación son los más utilizados en la construcción de diagramas.

Figura Significado

Inicio o Final del diagrama de flujo.

Entrada o Salida de datos por cualquier dispositivo.

Decisión. Indica una comparación de datos que entrega un


dato lógico de verdadero o falso.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 72


Figura Significado

Flechas de dirección. Indican el flujo o sentido de ejecución de


las operaciones.

Acción de proceso. Indica una acción a realizar, ya sea una


asignación de una operación por citar un ejemplo.

Conector. Representa una conexión o enlace de dos partes


cualesquiera de un diagrama en la misma página a través de
un conector a la salida y otro a la entrada.

Conector de página, conector o enlace a otra página

Comentario

 Elaboración de algoritmos secuenciales


Es importante que para establecer el flujo y secuencia de los pasos a desarrollar se sigan
algunas reglas:
✓ Todos los símbolos deben estar conectados.
✓ A un símbolo de proceso pueden conectarse varias líneas.
✓ A un símbolo de decisión pueden conectarse varias líneas, pero sólo saldrán dos
del símbolo (Si o No, Verdadero o Falso).
✓ Al símbolo de inicio nunca se conectan líneas.
✓ Del símbolo de fin no parte ninguna línea.

 Representación de algoritmos secuenciales a través de diagramas de flujo y


pseudocódigo.
En un algoritmo que resuelve un problema secuencial las acciones o instrucciones siguen
una a la otra, sucesivamente hasta obtener la salida. Con el propósito de que adquieras

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 73


experiencia usando la metodología de solución propuesta, se presenta un problema de
tipo secuencial.

Ejemplo:
Un alumno desea saber cuál será su evaluación final en la materia de Cibernética y
Computación, sabiendo que la calificación se compone de los siguientes porcentajes: El
55% corresponde al promedio de tres calificaciones parciales; el 30% es la calificación
del examen final; el 15% es la calificación de un trabajo final. ¿Cómo obtendría su
calificación?

Análisis del problema:


Entrada Proceso Salida
Calificaciones Solicitar calificaciones Evaluación final cf
parciales: c1, c2, c3 Calcular promedios parciales
Examen final Calcular promedio ponderado
Trabajo final

Algoritmo secuencial
Inicio
Leer c1, c2, c3, examenf, trabajof
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = examenesf * 0.30
ptf = trabajof * 0.15
cf = ppar + pef + ptf
Imprimir cf
FinAlgoritmo

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 74


Diagrama de Flujo:

Actividad de aprendizaje 20: Practicando la metodología de solución.


Con el propósito de que refuerces los conocimientos previamente adquiridos, así como
incrementar la experiencia y habilidad en la elaboración de algoritmos, a continuación, se
proponen una serie de ejercicios de problemas de tipo secuencial.
1. El grupo 501 está constituido por mujeres y hombres, el profesor de la materia de
Estadística plantea la siguiente pregunta a los alumnos del grupo, considerando el
número total de mujeres y hombres que hay en el grupo, ¿Cuál será el porcentaje de
mujeres y hombres?
2. Para realizar el gasto diario, una ama de casa cuenta con cierto importe, con base a
la experiencia diaria sabe que debe destinar un 15% para el gasto del desayuno, un
65% para el gasto de la comida y el importe restante lo destina al gasto de la merienda,
el ama de casa se desea conocer ¿Cuál es el importe de cada uno de esos alimentos?
3. En una empresa de productos químicos diariamente se realiza una venta, con base
en la venta realizada, el Administrador debe satisfacer los requerimientos de la
empresa, el pago del sueldo de los trabajadores por un día de trabajo asciende al 45%
de la venta realizada, la materia prima invertida por un día de trabajo es de 28%,
realizar el pago al fisco por un día de labores es de 12%, el dueño de la empresa
desea saber ¿Cuál será la ganancia que tendrá por un día de labores?.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 75


 Lenguaje de Programación Java
Considerando que, con la solución de los problemas desarrollados en esta guía, así como
con los ejercicios propuestos para su solución, has adquirido cierta habilidad y
experiencia en el manejo de la metodología, a continuación, se inician las actividades
inherentes a la codificación del algoritmo en el lenguaje de programación Java, lenguaje
que es propuesto en el programa de la materia de Cibernética y Computación I y se verá
a lo largo de Cibernética y Computación II. En las siguientes secciones no se pretende
hacer una revisión exhaustiva de información, por lo que se te hará la sugerencia de
algunos sitios o documentos disponibles en línea a fin de ampliar la información
presentada.

Historia del lenguaje: El “Green Team”, Equipo Verde, era un pequeño grupo de
ingenieros dirigidos por James Gosling dentro de la compañía Sun, que en 1991 crearon
un innovador lenguaje de programación: Java. Actualmente Java es propiedad de Oracle
y ha tenido un nuevo florecimiento gracias a que Google usó el lenguaje como base para
el desarrollo del sistema operativo Android y como lenguaje nativo para el desarrollo de
aplicaciones para sus smartphones. No obstante, Java es usado en infinidad de entornos
y de aplicaciones. Gracias a Oracle se puede consultar una detallada línea de tiempo de
la evolución del lenguaje de programación Java y su influencia en la industria de la
tecnología, disponible en http://oracle.com.edgesuite.net/timeline/java/

Características: Java es un lenguaje de programación orientado a objetos, lo que significa


que representa conceptos de la vida real como "objetos" con "campos" (atributos que
describen al objeto) y "métodos" (las acciones asociadas al objeto, lo que el objeto puede
hacer). Java es un lenguaje del tipo escríbelo una vez, ejecútalo en cualquier parte, es
decir, está diseñado para ser escrito en una plataforma y ejecutado en cualquier Máquina
Virtual Java (JVM). En la siguiente lista, se describen sus características de acuerdo con
el sitio Wikilibros.
✓ Es un lenguaje totalmente orientado a objetos, todos los conceptos en los que se
apoya esta técnica (encapsulación, herencia, polimorfismo), están presentes en Java.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 76


✓ La programación de aplicaciones con Java se basa no solo en el empleo del juego
de instrucciones que componen el lenguaje, sino, fundamentalmente, en la
posibilidad de utilizar el amplísimo conjunto de clases.
✓ Java proporciona una colección de clases para su uso en aplicaciones de red, que
permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes
remotos, facilitando así la creación de aplicaciones distribuidas.
✓ Java es compilado, en la medida en que su código fuente se transforma en
bytecodes, semejantes a las instrucciones de lenguaje ensamblador. Es interpretado,
ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina
virtual a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo
real.
✓ Java fue diseñado para crear software altamente fiable. Para ello proporciona
numerosas comprobaciones en compilación y en tiempo de ejecución.
✓ Java está diseñado para soportar aplicaciones que serán ejecutadas en los más
variados entornos de red, sobre arquitecturas distintas y con sistemas operativos
diversos.
✓ La indiferencia a la arquitectura representa sólo una parte de su portabilidad.
✓ El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase
de enlazado. Las clases sólo se enlazan a medida que son necesitadas, bajo
demanda, procedente de fuentes muy variadas, incluso desde la red.
✓ Java puede ser usado para crear dos tipos de programas: aplicaciones
independientes escrito como cualquier lenguaje de programación y los applets, que
son pequeños programas que aparecen embebidos en las páginas Web, como
aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones más
complejas.

Entorno de desarrollo del lenguaje de programación: Un entorno de desarrollo es un


conjunto de herramientas que se utilizan para escribir un código fuente o programa, es
decir es la herramienta de desarrollo de software utilizado para escribir, generar, probar
y depurar un programa. En seguida encontrarás la explicación de dos conceptos básicos
en la codificación con el lenguaje Java: JDK e IDE.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 77


✓ JDK (Kit de desarrollo de java):El JDK, Java Development Kit, es un paquete de
software necesario para desarrollar aplicaciones en el lenguaje Java. Contiene el
entorno de ejecución, el compilador, la maquina virtual y un conjunto de clases y
archivos para escribir aplicaciones y applets. Puedes consultar todos los detalles del
contenido e instalación en la documentación que proporciona Oracle: Disponible en
https://www.java.com/es/download/help/download_options.xml
✓ IDE (Interfaz de entorno de desarrollo): Un entorno de desarrollo integrado, IDE, es
un entorno de programación que está constituido en un editor de código, un
compilador, un depurador y un constructor de interfaz gráfica. Provee un marco de
trabajo amigable que ayudará a insertar, compilar y ejecutar diversos programas
empleando el lenguaje de programación Java. Existen una infinidad de interfaces
para manejar Java, en las computadoras instaladas en el plantel básicamente se
usan dos: NetBeans y BlueJ.

NetBeans.
NetBeans es una herramienta que se utiliza para desarrollar aplicaciones web, móvil y de
escritorio para diferentes lenguajes de programación como son Java, C++, Ruby y PHP
entre otros. Es de código abierto, es multiplataforma, multilenguaje, contiene servidores
web y es fácil de instalarlo y utilizarlo (Jiménez, 2014).
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un
conjunto de componentes de software llamados módulos. Un módulo es un archivo Java
que contiene clases de java escritas para interactuar con las APIs de NetBeans y un
archivo especial que lo identifica como módulo.
En la página del proyecto se encuentra la documentación y manuales para su instalación
y uso: https://netbeans.apache.org/.

BlueJ.
BlueJ es un entorno de desarrollo dirigido al aprendizaje del lenguaje Java y con poco
uso a nivel profesional. Destaca por ser sencillo e incluir algunas funcionalidades dirigidas
a que los usuarios tengan mayor facilidad para comprender aspectos clave de la
programación orientada a objetos, por ejemplo, la pantalla principal muestra gráficamente

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 78


la estructura de clases de una aplicación en desarrollo y los objetos pueden ser creados
y probados interactivamente. Combinado con una interfaz de usuario simple, esta
facilidad de interacción permite experimentar de manera fácil con los objetos en
desarrollo.
En línea están disponibles un libro y un tutorial elaborados por Michael Kölling: El

tutorial de BlueJ. En https://www.bluej.org/tutorial/tutorial-spanish-201.pdf; Objects First

with Java en https://www.bluej.org/objects-first/

 Pasos para implementar un programa con el lenguaje de programación Java y


el entorno de desarrollo.
A partir de esta sección resolverás y codificaras la solución a los problemas planteados,
razón por la cual es necesario usar algún IDE que te ayude a insertar, compilar y ejecutar
dichos programas. La sugerencia es que consultes los sitios oficiales y realices la
instalación de al menos un IDE.

➢ Creación de un proyecto: Un proyecto Java podemos considerarlo como una serie de


carpetas ordenadas y organizadas de acuerdo con una lógica para mantener
organizado el código, este suele constar de archivos .java, archivos .class y
documentación. Los archivos .java contienen el código fuente (entendible por
humanos) que en un momento dado podemos modificar con un editor de textos y
suelen encontrarse en carpetas de nombre src (source). Los archivos .class
contienen el bytecode (no entendible por humanos, pero sí por la máquina virtual
Java) y suelen encontrarse en carpetas de nombre bin (binary). La organización de
los archivos en carpetas y la presencia de otros adicionales depende del entorno de
desarrollo que utilicemos. Además, Java introduce un esquema organizativo a través
de paquetes (packages).

➢ Declaración de la clase: Las clases son la esencia de Java, es la base sobre la cual
se construye todo el lenguaje Java, la clase define la naturaleza de un objeto, la clase

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 79


forma la base para la programación orientada a objetos, dentro de una clase se
definen los datos (atributos) y el código que actúa sobre esos datos (métodos).

➢ Método main: Un método, es un conjunto de acciones. El método main() en Java es


un estándar utilizado por la máquina virtual de Java (JVM) para iniciar la ejecución de
cualquier programa Java. Dicho método se conoce como punto de entrada de
la aplicación, este método, es inalterable, lo cual se refiere a las siguientes
características:
✓ Siempre debe incluir los calificadores: public y static.
✓ Nunca puede retornar un valor como resultado, por ende, siempre debe indicar el
valor void como retorno.
✓ Su parámetro de entrada siempre será un array de String's (String[]) el cual es
tomado de la línea de comandos o una fuente alterna.
El método main(), puede escribirse de tres maneras diferentes sin que esto produzca
un error.
public static void main(String args[]) {}
public static void main(String[] args){}
public static void main(String... args){}
Aunque se le suele dar el nombre de args, no es obligatorio que este parámetro se
llame así podemos darle el nombre que más nos guste, por ejemplo:
public static void main(String[] parametros){}

➢ Empleo de los métodos System.out.print y System.out.println: En Java hay algunos


objetos que existen por defecto, uno de ellos es el objeto denominado System.out,
este objeto dispone de varios métodos, entre ellos print y println. Estos métodos
permiten imprimir en pantalla mensajes, el contenido de una variable o ambas cosas;
la diferencia entre print y println es la abreviatura ln (line) que introduce un salto de
línea después de la escritura.

➢ Errores sintácticos y lógicos: Al escribir un programa el compilador puede detectar


una serie de errores, ejemplo de ello pueden ser la falta de puntos y comas, nombres

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 80


de variables incorrectas, falta de paréntesis, palabras claves mal escritas, etcétera; a
estos errores se les denomina errores sintácticos, un programa no puede ser
ejecutado sin corregir absolutamente todos los errores sintácticos.
Existe otro tipo de errores llamados errores lógicos, este tipo de errores se suscita
cuando la lógica del programa es incorrecta, es decir a pesar de que el programa
carece de errores sintácticos y se ejecuta correctamente, el resultado que se obtiene
no es el esperado; es importante comentar que en muchos casos estos errores
lógicos se encuentran y corrigen al realizar las pruebas de escritorio, que como debes
recordar, es una parte fundamental de la Metodología de solución de problemas.

➢ Ejecución del programa: La ejecución del programa se lleva a cabo cuando no existen
errores sintácticos.

 Introducción de datos desde el teclado.


La clase Scanner de Java provee métodos para leer valores de entrada de varios tipos
y está localizada en el paquete java.util. Los valores de entrada pueden venir de varias
fuentes, incluyendo valores que se introduzcan por el teclado o datos almacenados en
un archivo. Para utilizar esta clase, primero se importa el paquete, luego se crea un
objeto de la clase para invocar sus métodos. La siguiente declaración crea un objeto
llamado lectura, de la clase Scanner que lee valores de entrada del teclado.

Scanner lectura = new Scanner(System.in);

El propósito de que System.in sea el argumento, es conectar o establecer una relación


entre el objeto tipo Scanner y el objeto System.in, que representa el sistema estándar de
entrada de información en Java; si no se indica lo contrario, el teclado es, por omisión, el
sistema estándar de entrada de información en Java. Para introducir otros valores los
distintos tipos de datos primitivos, se usan los métodos correspondientes.
Método Ejemplo Tipo de dato que lee
nextByte() Byte b = teclado.nextByte() Variable de tipo Byte.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 81


nextDouble() double d = teclado.nextDouble() Variable de tipo double.
nextFloat() Float f = teclado.nextFloat() Variable de tipo float.
nextInt Int i = teclado.nextInt() Variable de tipo Int.
nextLong() long l = teclado.nextLong() Variable de tipo long.
nextShort() short s= teclado.nextShort() Variable de tipo short.
next() String p = teclado.next(); Variable de tipo cadena.
nextLine() String o = teclado.nextLine() Variable de tipo cadena.

Tipos de datos primitivos: Java es un lenguaje de tipado estático, esto significa que es
necesario definir el tipo de dato de la variable desde su declaración. El
lenguaje Java maneja los siguientes tipos de datos primitivos.
Byte Representa un tipo de dato de 8 bits con signo. De tal manera que puede
almacenar los valores numéricos de -128 a 127 (ambos inclusive).
short. Representa un tipo de dato de 16 bits con signo. De esta manera almacena
valores numéricos de -32.768 a 32.767.
int. Es un tipo de dato de 32 bits con signo para almacenar valores numéricos.
Cuyo valor mínimo es -231 y el valor máximo 231-1
long. Es un tipo de dato de 64 bits con signo que almacena valores numéricos
entre -263 a 263-1
float. Es un tipo dato para almacenar números en coma flotante con precisión
simple de 32 bits.
double. Es un tipo de dato para almacenar números en coma flotante con doble
precisión de 64 bits.
boolean. Sirve para definir tipos de datos booleanos. Es decir, aquellos que tienen un
valor de true o false. Ocupa 1 bit de información.
char. Es un tipo de datos que representa a un carácter Unicode sencillo de 16 bits.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 82


Actividad de aprendizaje 20: Mi primer programa.
Para comenzar con la práctica, realiza un programa que muestre en pantalla el mensaje
de “Hola Mundo”

Paso 1. Crea un nuevo archivo y guárdalo como "HolaMundo.java". HolaMundo es el


nombre de tu clase, recuerda ésta siempre debe tener el mismo nombre que tu
archivo.
Paso 2. Declara la clase y el método principal o main. El método main public static void
main(String[] args) es el primer método que se ejecutará al iniciar el programa.
Éste tendrá la misma declaración de método en todos tus programas de Java.
public class Hola Mundo {
public static void main(String[] args) {
}
}

Paso 3. Escribe la línea de código que imprimirá el mensaje "Hola Mundo".


System.out.println("Hola Mundo.");
En donde:
System le indica al sistema que debe hacer algo.
out le indica al sistema que llevaremos a cabo algún tipo de operación de salida.
println significa "imprimir línea", es decir, le estamos diciendo al sistema que imprima una
línea en la operación de salida.
Los paréntesis alrededor de (“Hola Mundo”) indican que el método System.out.println()
recibe un parámetro, que en este caso es la cadena o String “Hola Mundo”.

Debes tener en cuenta que en Java existen ciertas reglas que debemos cumplir:
✓ Siempre debes añadir un punto y coma al final de cada línea de código.
✓ Java es sensible a las mayúsculas y minúsculas, por lo que los nombres de tus
métodos, variables y clases deben estar escritas de la forma correcta o resultará en
un error.
✓ Los bloques de código que son parte de un método o bucle deben estar rodeados
por llaves.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 83


Todo el código de tu programa Hola Mundo completo debería verse de la siguiente
manera.
public class HolaMundo {
public static void main(String[] args) {
System.out.println("Hola Mundo.");
}
}

Ahora, acércate a un asesor o profesor para codificar un programa en Java que te


permita calcular el área de un rectángulo.

 Estructuras condicionales
Las sentencias condicionales permiten modificar el flujo de ejecución de las instrucciones
de un programa; de acuerdo con una condición, ejecutar un grupo u otro de sentencias
(sentencia if.. else); así también con el valor de una variable, ejecutar un grupo u otro de
sentencias (Switch)

 Sentencia if simple
La sentencia condicional if es utilizada para tomar decisiones lógicas, esto quiere decir
que se evalúa una condición y en función del resultado se realizan una o varias
instrucciones.
Las condiciones se especifican utilizando expresiones lógicas. El diagrama de flujo que
corresponde a esta sentencia se muestra a continuación:


Condició
n

N Sentencia

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 84


La sintaxis de la sentencia if es la siguiente
If (condición)
{
// Sentencia si la condición es verdadera
}

 Sentencia if … else
La sentencia condicional if…else nos permite evaluar una condición y obtener un valor
verdadero o falso, con base en ello tomar una decisión dentro del programa.
La condición es una expresión booleana que puede ser verdadera o falsa y se forma
comparando valores de las expresiones utilizando operadores relacionales y lógicos.
Si la condición se cumple se ejecutará un determinado bloque de instrucciones, en caso
contrario podemos optar por ejecutar otro bloque distinto de instrucciones o no ejecutar
ninguna.

El diagrama de flujo que corresponde a esta sentencia se muestra a continuación:

Sí N
Condici

Sentencia 1 Sentencia 2

La sintaxis de la sentencia if…else es la siguiente


If (condición)
{
// Sentencia si la condición es verdadera
}
Else
{
// Sentencia si la condición es falsa
}

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 85


Actividad de aprendizaje 20: Practicando estructuras condicionales.
Los empleados de una fábrica trabajan en dos turnos, diurno y nocturno. Se desea
calcular el pago a un empleado por un día de trabajo de acuerdo con los siguientes
puntos:
La tarifa de las horas diurnas es de 12 pesos.
La tarifa de las horas nocturnas es de 15 pesos.
En caso de ser domingo se incrementa en dos pesos la hora diurna y en un 25% la
hora nocturna.
El empleado trabaja horas completas y en un solo turno.

Planteamiento alternativo de solución


El usuario proporciona la jornada de trabajo (1 diurna / 2 nocturna)..
El usuario proporciona el día de trabajo un 7 corresponde al domingo.

Desarrollo del pseudocódigo


Inicio
Introducir jornada,dial
¿ jornada = 1 ?
Si → ¿ dial = 7 ?
Si → Sueldo = 8 * 15
No → Sueldo = 8 * 12
Fin pregunta
No → ¿ dial = 7 ?
Si → Sueldo = (8 * (15 + (15 * 25%)))
No → Sueldo = 8 * 15
Fin pregunta
Fin pregunta
Muestra Sueldo
Fin

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 86


Diagrama Clase

CalculoS
Jornada
Dial
Calculo()
Mostrar()

Diagrama de Flujo

INICIO

Jornada,dial

Calculo()

Mostrar(
)

S
Jornada = dial = 7 sueldo = 8 *
i
1 15
No

FIN sueldo = 8 * 12

No
Si
dial = 7 sueldo =(8 * (15 + (15 * 25%)))

No

Sueldo= 8 * 15

FIN

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 87


Prueba de escritorio

Caso1
jornada = 1
dial = 7
¿jornada = 1?
Si → ¿dial = 7?
Si → sueldo = 8 * 15
Muestra sueldo = 120
Caso2
jornada = 1
dial = 3
¿jornada = 1?
Si → ¿dial = 7?
No → sueldo = 8 * 12
Muestra sueldo = 96
Caso3
Jornada = 2
dial = 7
¿jornada = 1?
No→ ¿dial = 7?
Si → sueldo = (8 * (15 + (15 * 25%)))
sueldo = (8 * (15 + (3.75)))
sueldo = (8 * 18.75)
sueldo = 150
Muestra sueldo = 150
Caso 4
Jornada = 2
dial = 5
¿jornada = 1?
No→ ¿dial = 7?
No → sueldo = 8 * 15
Muestra sueldo = 120

Con base al ejercicio anterior elabora el siguiente ejercicio


Una empresa quiere hacer una compra de varias piezas de la misma clase a una fábrica
de refacciones. La empresa, dependiendo del monto total de la compra, decidirá qué
hacer para pagar al fabricante.
Si el monto total de la compra excede de $500,000.00 la empresa tendrá la capacidad de
invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un
30% y el resto lo pagará solicitando un crédito al fabricante.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 88


Si el monto total de la compra no excede de $500 000 la empresa tendrá capacidad de
invertir de su propio dinero un 70% y el restante 30% lo pagará solicitando crédito al
fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague
a crédito.

 Sentencia Switch
La sentencia switch permite ejecutar diferentes bloques de instrucciones en función del
resultado de la evaluación de una expresión. Switch es una sentencia que nos permite
evaluar un valor y funciona muy parecido a la sentencia If, sin embargo, con el If nos
podemos evaluar una o más condiciones y tomar uno o dos caminos.
En el caso del Switch nos permite evaluar el valor de una variable para poder tomar varios
caminos, por lo tanto, podemos decir que esta sentencia es de selección múltiple, esto
es, permite elegir una opción de varias.

El diagrama de flujo que corresponde a esta sentencia se muestra a continuación:

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 89


La sintaxis de la sentencia swich es la siguiente
switch (<expresión>) {
case <valor>:
<bloque de instrucciones>;
break;
case <valor>:
<lista de sentencias separadas por punto y coma>;
break;

default:
<lista de sentencias separadas por punto y coma>;
}

En donde:
El tipo de variable de la <expresión> debe ser de tipo entero (int) o caracter (char).
El tipo de variable de la <expresión> y el <valor> deben coincidir.
La cláusula default es opcional. Puede haber tantas cláusulas case como se requiera.
El <valor> no puede ser una expresión, sólo puede ser un literal.
Al llegar a la sentencia switch, se evalúa la expresión y el resultado se compara con
cada
<valor> consecutivamente, hasta encontrar uno que coincida, cuando coincide un
<valor>, se ejecutan las sentencias de esa cláusula.
La sentencia default es opcional se utiliza en caso de que ninguno de los valores
coincida con el proporcionado, esto es, si algún valor introducido por el usuario no se
encuentra en ninguno de los casos.

 Estructuras de ciclo
Las sentencias de control repetitivas son sentencias iterativas, también se les conoce
como bucles o ciclos, se utilizan frecuentemente, cuando se requiere ejecutar más de
una vez un bloque de sentencias. Es decir, se utilizan para evitar programas largos que
contienen código repetido. Las sentencias cíclicas son for y while.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 90


 Sentencia for
El ciclo repetitivo for sirve para ejecutar un código o bloque de instrucciones un número
conocido de veces; se conoce el valor inicial y el final, así como el incremento,
estableciendo el número o valor inicial desde el que va a empezar ciclo, la condición que
mientras se cumpla, permitirá que se ejecuten las sentencias o bloque de instrucciones,
finalmente el incremento o decremento, normalmente se maneja el nombre de
incremento, pero en caso de ser necesario puede ser decremento.

La sintaxis de la sentencia for es la siguiente


For (Valor inicial;condición;incremento)
{Instrucciones que vamos a ejecutar mientras se cumpla la condición };

 Sentencia while
La sentencia while ejecuta un bloque de sentencias mientras una condición sea
verdadera.

La sintaxis de la sentencia for es la siguiente


while (expresión) {
sentencia(s);
}

La sentencia while evalúa una expresión, mientras esta se cumpla, es decir, siempre que
devuelva un valor verdadero, las sentencias o bloque de instrucciones se ejecutarán, el
ciclo se detiene cuando la expresión evaluada tenga un valor falso.

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 91


Bibliografía básica y complementaria Unidad 3

Oracle Corporation. (s/f). ¿Cómo puedo instalar Java? Recuperado el 5 de abril de 2019,
de https://www.java.com/es/download/help/download_options.xml
Kölling, M. (2005, febrero). El tutorial de BlueJ. Versión 2.0.1. Recuperado de
https://www.bluej.org/tutorial/tutorial-spanish-201.pdf
Jimenez, J. (09 de enero de 2014). Tecnología. Recuperado el 1 de abril de 2019 de
Tecnología: http://www.genbetadev.com/herramientas/netbeans-1
Viso Gurovich, E., & Peláez, C. (s/f). Introducción a Ciencias de la Computación I (con
Java). Recuperado a partir de
http://mmc.geofisica.unam.mx/acl/Herramientas/Java/JavaBasico/Libro.pdf

GUÍA PARA EXTRAORDINARIO DE CIBERNÉTICA Y COMPUTACIÓN I 92

También podría gustarte