Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
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.
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á
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.
¿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:
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.
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.
CC-BY-SA-3.0 https://commons.wikimedia.org/wiki/File:Julian_Bigelow.jpg
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.
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.
George Boole
Claude E. Shannon
Alan M. Turing
Norbert Wiener
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.
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.
✓ 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.
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
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/
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
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.
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
Cantidad de Variable de
control Gasolina
dinero PROCESO
CONTROLADOR
CONTROLADOR
Sensor
Nivel del tanque
RETROALIMENTACIÓN
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.
Artificial
Conceptual
Natural
6
Diccionario de la Lengua Española. Consultado 6/mayo/2018. http://dle.rae.es/?id=PTk5Wk1
Ejemplo:
Préstamo de libros (en su acepción más sencilla).
ENTRADAS Datos del libro o bien, cancelación del proceso.
Termina
el proceso
Se rechaza el préstamo
Actualiza
Solicita nuevo libro Status
RETROALIMENTACIÓN
PROCESOS
SALIDAS
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.
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
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.
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
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
a. (377)10 b. (978)10
- (275)10 - (785)10
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.
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
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
( 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
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.
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.
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
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
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
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:
Diagrama 1
Diagrama 2
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
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.
Diseño
Interruptor → variable booleana A
Entradas →
Cinturón de seguridad. → variable booleana B
Salida → Mensaje → función booleana f(A, B)
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
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
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
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
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
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.
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.
ENTRADA SALIDA
PROCESO
Ciclo de Retroalimentación
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á?
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
Llegar al examen
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:
(𝑏𝑎𝑠𝑒∗𝑎𝑙𝑡𝑢𝑟𝑎)
Ejemplo: Se desea conocer el área de un triángulo, sabiendo que: 𝐴𝑟𝑒𝑎 = 2
Solución:
Entrada Proceso Salida
base (𝑏𝑎𝑠𝑒 ∗ 𝑎𝑙𝑡𝑢𝑟𝑎) Área
Á𝑟𝑒𝑎 =
altura 2
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
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.
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.
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
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:
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.
10
En matemáticas, un operando es una de las entradas (argumentos o variables) de un operador.
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
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
Comentario
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?
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
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/
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
➢ 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
➢ Ejecución del programa: La ejecución del programa se lleva a cabo cuando no existen
errores sintácticos.
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.
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.
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:
Sí
Condició
n
N Sentencia
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.
Sí N
Condici
Sentencia 1 Sentencia 2
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
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
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.
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.
Sentencia while
La sentencia while ejecuta un bloque de sentencias mientras una condición sea
verdadera.
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.
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