Documente Academic
Documente Profesional
Documente Cultură
Nuevas Tecnologías de la
Información y la Conectividad
NTICx - 4° Año
Agustín González
2019
Alumno/a: …………………………………………………………………………………………………………………….............
CONTENIDO
Introducción
Expectativas de logro .......................................................................................................................... 5
Criterios de evaluación ........................................................................................................................ 5
Actividades .......................................................................................................................................... 6
Recursos a utilizar ............................................................................................................................... 6
1 de 57
NTICx - 4° Año INSMB 2019
2 de 57
NTICx - 4° Año INSMB 2019
Bibliografía ............................................................................................................................. 57
3 de 57
NTICx - 4° Año INSMB 2019
EXPECTATIVAS DE LOGRO
CRITERIOS DE EVALUACIÓN
5 de 57
NTICx - 4° Año INSMB 2019
ACTIVIDADES
Lectura en clase con el docente como guía, debates sobre temas relevantes de la materia,
trabajo en grupo y de a pares, análisis de textos electrónicos, producciones digitales
utilizando recursos colaborativos y herramientas ofimáticas; y flipped classroom apoyado
en el uso de la plataforma virtual.
En adición al ítem anterior, se desarrollarán actividades específicas por cada unidad. Las
mismas se encuentran detalladas en la planificación anual (para más información, se
sugiere solicitar una copia de la misma). Entre algunas de estas actividades se encuentran:
instalación y configuración inicial de Sistema Operativo, configuración de router WiFi e
implementación de algoritmos utilizando Python.
RECURSOS A UTILIZAR
…………………………….........……… ………………………………………………………..
6 de 57
NTICx - 4° Año INSMB 2019
CONTENIDOS DE LA UNIDAD 1
Contenido:
Conceptos de técnica, tecnología e innovación.
Conceptos de dato e información.
Concepto de informática.
Concepto de NTICx.
Concepto de PC.
Hardware (definición y clasificación).
Hardware interno básico: fuente de alimentación, CPU (y memoria caché), memorias RAM
y ROM, placa madre, disco rígido.
Interacción entre componentes internos.
Hardware interno complementario: unidad de disco óptico, placa de sonido, placa de
vídeo (GPU).
Tipos de periféricos (entrada, salida, almacenamiento masivo y conectividad).
Software (definición y clasificación).
Sistema operativo.
Process interleaving.
Digitalización y sistema binario (conversión de números decimales a binario y viceversa).
Código ASCII.
Unidades de medida.
7 de 57
NTICx - 4° Año INSMB 2019
La técnica es el conjunto de saberes prácticos o procedimientos que deben llevarse a cabo para
obtener un resultado. Surge de la necesidad humana de modificar su medio y se lleva a cabo de
forma empírica (mediante la experiencia). Características de la técnica:
Por otro lado, la tecnología es el conjunto de técnicas, conocimientos y procesos que sirven para
el diseño y construcción (o modificación) de objetos que satisfacen necesidades humanas. Surge
de forma científica, reflexiva y con ayuda de la técnica. La diferencia principal con esta última está
en que mientras que la técnica nos dice “cómo hacer”, la tecnología nos da respuestas a “por qué
hacerlo así”. Características de la tecnología:
Aunque obvio, resulta interesante aclarar que las tecnologías no permanecen inmutables a través
del tiempo, sino que se mejoran a través de la innovación. Innovar implica la aplicación de nuevos
procedimientos (es decir, técnicas) a tecnologías ya existentes. Es posible hablar de innovación
cuando una idea propuesta corresponde a algo que es técnicamente posible y que el “medio
ambiente” requiere y/o acepta. Al hablar de “medio ambiente” se hace referencia a las
expectativas o deseos del consumidor, así como al contexto financiero, administrativo, político,
cultural y social del mismo: esto significa que la innovación no es solo un hecho técnico, sino
también tecnológico. Por ejemplo, la innovación fundamental de la Revolución Industrial fue la
introducción de la máquina de vapor para accionar las máquinas de tejer.
Un dato es una representación simbólica (numérica, alfabética, etc.) que no tiene valor semántico
(sentido) por sí mismo pero que, luego de procesarse, se convierte en información que puede
servir para tomar decisiones en un contexto determinado. Por su parte, la Informática estudia el
8 de 57
NTICx - 4° Año INSMB 2019
Dato Información
Representación simbólica, sin significado. Significación del dato. Refiere a datos
Ejemplos: 3, planeta, dulce, agua. procesados para su entendimiento. Ejemplo:
“Sólo el 3% de agua en el planeta es dulce”.
Por último, previo a definir el concepto de NTICx, es necesario aclarar que estar conectados no es
lo mismo que estar comunicados, ya que puede existir una conexión sin comunicación: en
concreto, es la conexión la que permite esta última. En sintonía, la sigla NTICx refiere a las Nuevas
Tecnologías de la Información y la Conectividad (Cx por conexión) en el sentido en que estas son
la causa de una sociedad cada vez más conectada (aunque no necesariamente comunicada). A su
vez, el adjetivo “nuevas” pone énfasis en las tecnologías de estos últimos años, las cuales están en
constante proceso innovación y que, gracias a la conectividad, permiten un acceso interactivo y
ubicuo a la información digital. Por otro lado, más allá de las dimensiones social y comunicativa, la
materia adopta este nombre ya que también tiene por objetivo aportar una visión informática-
computacional y del fenómeno de conectividad, como una cuestión tecnológica más allá de lo
meramente instrumental1. De este modo, toma importancia la compresión del funcionamiento de
algunas de las tecnologías que tienen como consecuencia una sociedad cada vez más conectada:
por ejemplo, si se requiere adquirir un computador, comprender “cómo este funciona” nos
permitirá realizar una elección mucho más crítica y acorde a nuestras necesidades.
9 de 57
NTICx - 4° Año INSMB 2019
Hardware refiere a los dispositivos físicos y tangibles de un computador. No sólo incluye a los
elementos internos tales como el disco duro o la placa madre, sino que también hace referencia al
cableado, los circuitos, el gabinete, etc. Abarca también el mouse, el teclado, el monitor y demás
periféricos. El Hardware puede clasificarse según su funcionalidad, según su ubicación o según su
flujo de información.
10 de 57
NTICx - 4° Año INSMB 2019
HARDWARE BÁSICO
11 de 57
NTICx - 4° Año INSMB 2019
idea es conseguir un rendimiento “extra” de forma gratuita, aunque esto pueda suponer
una pérdida en la estabilidad o un acortamiento de la vida útil del CPU (a causa del
sobrecalentamiento). Overclock significa, literalmente, “sobre el reloj”.
Se podría hacer una analogía de los hz, con los km/h (kilómetros por hora) que puede
alcanzar un auto. Sin embargo, no sólo la velocidad es importante, sino que también lo
son el tamaño de memoria caché y la cantidad de núcleos. Actualmente (en lo que
respecta a computadoras personales) existen dos fabricantes principales: AMD e Intel.
Cables de comunicación: permiten comunicar los diferentes componentes entre sí. Por
ejemplo, el cable SATA que conecta el disco rígido con la placa madre.
12 de 57
NTICx - 4° Año INSMB 2019
desde el disco, conforme se ejecutan los programas (su contenido cambia todo el
tiempo). Por otro lado, a diferencia de la memoria caché, es bastante más lenta, pero
de mucho mayor tamaño (en el orden de los Gigabytes).
¿Por qué el procesador no toma los datos directamente desde el disco rígido? Para la CPU es
bastante lento y costoso acceder constantemente al disco duro, debido a que este componente es
13 de 57
NTICx - 4° Año INSMB 2019
de acceso secuencial. En efecto, sin la memoria RAM (ni la caché), cada vez que el procesador
recibiera una instrucción, debería buscar en el disco los datos necesarios para llevarla a cabo.
Como realizar esto es muy costoso, el procesador copia en memoria RAM (de acceso aleatorio) lo
que necesita utilizar en el momento. Para entender mejor el concepto, imaginemos que el
profesor de NTICx da la primera y segunda hora de la materia en un aula del primer piso de la
escuela. Si para la clase necesita un libro ubicado en la biblioteca de la planta baja, es conveniente
que se lo traiga al escritorio (el cual es análogo a la memoria RAM) una única vez (hasta que
terminen las horas). De este modo, se evita que el profesor deba bajar, buscar el libro entre todos
los demás, y tener que volver a subir, por cada vez que lo necesite.
¿Se podría prescindir de la memoria caché? Sí, pero la memoria RAM (que es más lenta que la
caché) sería accedida constantemente en búsqueda de aquellos datos y resultados de
instrucciones de procesos repetitivos y, si bien la memoria RAM es más rápida que el disco rígido,
ambos componentes son bastantes más lentos que la memoria caché. Volviendo al ejemplo de la
biblioteca, imaginemos que, para la clase, el profesor necesita remitirse cada tanto al capítulo 2
del libro. Suponiendo que el ejemplar ya se encuentra en el escritorio, sería ilógico que cada vez
que se necesite acceder a este capítulo, se vuelva a buscar el número de página en el índice.
Convendría anotarlo, por ejemplo, en una pequeña hoja. Entonces, cuando se necesite acceder al
capítulo, sólo se miraría el número de página anotado, ahorrándose el trabajo de volver a buscar
el capítulo en todo el índice.
Si la memoria caché es tan rápida, ¿por qué directamente no se usa una de mayor tamaño?
Debido a que la memoria caché se encuentra en el procesador y de que este último es un
componente muy pequeño, existen limitaciones físicas. Además (y por lo anterior), se trata de
memorias muy caras de construir.
¿Sin disco, la PC iniciaría igual? Sí, pero sólo se ejecutaría el BIOS ubicado en la memoria ROM. La
PC no tendría utilidad a efectos de lo que un usuario necesita.
HARDWARE COMPLEMENTARIO
Unidad de disco óptico: son unidades para lectura y/o grabación de CDs, DVDs y
Blu-Rays.
14 de 57
NTICx - 4° Año INSMB 2019
Placa de vídeo: permite aliviar la carga del procesador mediante una GPU
(Graphics Processing Unit), una CPU dedicada exclusivamente al procesamiento de
gráficos. Posee una memoria gráfica de acceso aleatorio, similar a la RAM. A la
hora de adquirir una, además de la velocidad reloj del GPU y de la cantidad de
memoria, también es importante considerar el ancho de banda de la misma (64,
128, 192, 256 bits, etc.): a mayor ancho de banda, mayores datos se podrán leer
por ciclo reloj de GPU. Normalmente, una placa de vídeo consta de un disipador y
un ventilador, debido a las cargas de trabajo a las que son sometidas. Ciertas
placas requieren alimentación extra por parte de la fuente. Hoy día, el mercado se
encuentra divido en dos fabricantes: AMD y NVIDIA.
PERIFÉRICOS
PERIFÉRICOS DE ENTRADA
Estos dispositivos permiten al usuario introducir datos, comandos e instrucciones, que luego
deberá procesar la CPU. Los datos se leen desde los dispositivos de entrada y se almacenan en la
memoria RAM. Finalmente, mediante un proceso, estos datos se transforman en información para
el usuario. Ejemplos:
PERIFÉRICOS DE SALIDA
Permiten al usuario “visualizar” los resultados del procesamiento de datos. Los tipos de
periféricos de salida más comunes son:
15 de 57
NTICx - 4° Año INSMB 2019
PERIFÉRICOS DE ENTRADA/SALIDA
Son un caso particular. Permiten tanto la entrada, como la salida de información
desde la PC.
Monitor táctil: dispositivo empleado para ingresar información utilizando los dedos,
como en el caso de los cajeros automáticos, los smartphones y algunos modelos de
computadoras portátiles.
Memoria Flash: tarjetas de memoria no volátiles, que conservan los datos aun no
estando alimentadas por una fuente eléctrica.
La conexión USB (Universal Serial Bus) es un puerto de gran velocidad, que reemplazó a los
puertos serie y paralelo. Se trata de un estándar muy utilizado en la actualidad para conectar
diversos periféricos a la computadora. Soporta plug&play y conexión en caliente (hot plugging).
PERIFÉRICOS DE CONECTIVIDAD
Esta clasificación incluye a aquellos dispositivos que permiten que dos o más
equipos se conecten entre sí. Los dispositivos de conectividad básicos incluyen a
los cables, los adaptadores de red y a los dispositivos inalámbricos. Ejemplos:
Módem, Router o placa de red.
16 de 57
NTICx - 4° Año INSMB 2019
17 de 57
NTICx - 4° Año INSMB 2019
fuente debe estar disponible, lo que permite ayudar a otros y mejorar el programa,
haciendo públicas las mejoras. Ejemplos: Open Office, Firefox, Moodle, etc.
Freeware: no tiene una definición claramente aceptada, aunque generalmente permite la
redistribución, pero no la modificación (su código fuente no está disponible). No es
Software libre, por lo tanto es incorrecto usar el término Freeware para referirse al
mismo. Ejemplos son Chrome, Skype, etc.
Shareware: el usuario puede evaluar el producto de forma gratuita, pero con limitaciones
en el tiempo de uso o restricciones en las capacidades finales, requiriendo un pago para
adquirir una licencia que permita el uso completo. El código fuente no está disponible.
SISTEMA OPERATIVO
El sistema operativo (o S.O.) es un tipo de Software (de base) que actúa como interfaz entre el
Software de aplicación y el Hardware, para el correcto funcionamiento de ambos. Controla las
asignaciones de memoria, administra recursos, controla los dispositivos de entrada y salida, facilita
la conexión a redes, maneja el sistema de archivos, entre otras funciones.
Aplicaciones/Programas/Datos de Usuario
Sistema Operativo
Hardware
Forma en que se administran las tareas: monotarea, que sólo permite ejecutar un único
proceso en un momento dado y multitarea, que permite ejecutar varios procesos “al
mismo tiempo” (en este caso el S.O. asigna los recursos en medida que son requeridos, sin
embargo el usuario percibe como que si todo funcionara a la vez).
Forma en que se administran los usuarios: monousuario, que sólo permite un único
usuario (ejemplo: Android, en sus versiones anteriores a 5.0), y multiusuario que permite
gestionar el S.O. en base a varios usuarios y privilegios que van desde usuarios
administradores a estándar (ejemplo: Windows/Linux).
Forma en que se administran los recursos: centralizado, que utiliza recursos (memoria,
CPU, disco, etc.) de una sola computadora y distribuido que utiliza los recursos de más de
una computadora, como si se tratara de un único equipo (respecto al usuario).
18 de 57
NTICx - 4° Año INSMB 2019
PROCESS INTERLEAVING
¿Qué sucede si un S.O. es multitarea pero el procesador posee únicamente un núcleo? Como se
mencionó anteriormente, un procesador que posee más de un núcleo puede realizar más de una
tarea a la vez. Lógicamente (en principio) esto no sería posible en un procesador de un único
núcleo ya que, como lo indica su nombre, este sólo puede ejecutar una única tarea a la vez. Para
evitar este problema, el kernel del S.O. planifica las tareas de forma tal que le otorga un tiempo
de ejecución determinado a cada una. Esta planificación donde el S.O. intercala las tareas se
denomina process interleaving. De este modo, suponiendo un caso en el que se está escuchando
música, mientras se está abriendo Word y se están subiendo las fotos de nuestras vacaciones a
Instagram (3 tareas), el S.O. le “diría” al procesador que se encargue de la tarea de reproducir la
música para, luego de un determinado tiempo, “decirle” que pause dicha tarea y que continúe
abriendo Word. Finalmente, el S.O. le “diría” al procesador que “pause” esta última tarea, para
continuar subiendo las fotos a Instagram. Así, al finalizar el tiempo otorgado a esta última tarea, el
S.O. comenzaría la secuencia de indicación de tareas (al procesador) desde el principio.
2. Abrir Word
1. Reproducir
música
3. Subir fotos
Un punto a tener en cuenta es que si el tiempo asignado para cada tarea fuera muy grande, la
música y la subida a Instagram se “pausarían” mientras, por ejemplo, el procesador se encarga de
abrir Word. Esto resultaría molesto por lo que en realidad, el tiempo asignado a cada tarea, es tan
pero tan pequeño que tenemos la ilusión de que todo funciona al mismo tiempo.
19 de 57
NTICx - 4° Año INSMB 2019
¿Por qué ceros y unos? Desde la antigüedad, el ser humano ha utilizado los dedos de sus manos
para poder contar elementos. Es así como nuestro sistema de numeración posee diez dígitos (0, 1,
2, 3, 4, 5, 6, 7, 8 y 9) y, por ende, se denomina decimal. Por su parte, las computadoras trabajan de
forma “natural” con dos estados internos: 0 (apagado) y 1 (encendido). De este modo, toda
información digital (números e inclusive letras e imágenes) debe representarse de forma binaria
mediante ceros y unos. A modo de ejemplo, el número binario (100)2 (que no es mismo cien que
ya conocemos), se leería como “uno-cero-cero”, “cien binario” o “cien base 2”. En la notación
binaria, cada dígito se denomina bit, lo cual es un acrónimo de Binary Digit (dígito binario). En el
caso de (100)2, se tienen 3 bits (el uno y los dos ceros). Notar que el subíndice 2 permite
diferenciar un número codificado en binario de uno decimal. Inclusive, esta notación también se
extiende a “nuestro” sistema de numeración (el decimal): por ejemplo (1000)10 se leería como
“mil”, “mil decimal” o “mil base 10”.
1. En primer lugar, para realizar la conversión es necesario seleccionar una cantidad de bits
“adecuada” (normalmente, se recomienda empezar utilizando la cantidad de 7 bits).
Seleccionada dicha cantidad, se deben efectuar potencias de 2, comenzando con el
exponente 0 (cero), de forma tal que el exponente crezca en 1 con cada bit agregado.
Más específicamente, esto significa:
Primer bit: 20 = 1, se comienza con el exponente en cero
20 de 57
NTICx - 4° Año INSMB 2019
También sirve, de ayuda nemotécnica, considerar que se debe comenzar desde el número
1 (20) y que, luego, el siguiente bit es tan solo el doble del anterior. La cantidad de bits a
utilizar dependerá del número decimal que se quiera representar. La regla es “si la suma
de todas las potencias es mayor o igual al número a representar, entonces la cantidad de
bits es adecuada”. Con un ejemplo quedará más claro: si se suman todos los resultados de
las potencias anteriores, se obtiene que 1 + 2 + 4 + 8 + 16 + 32 + 64 es igual a 127, lo cual
indica el número máximo posible a representar y, como 127 es mayor a 18, la cantidad de
bits es adecuada. Ahora bien, si se quisiera representar el número 128, con 7 bits no sería
posible (ya que este número es mayor al máximo admitido, que es 127). Entonces, se
debería agregar el 28 (128): ahora, con 8 bits, el máximo número posible a representar
estaría dado por 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128, que es igual a 255 y, como 128 es
menor a este número, será posible realizar la representación binaria.
2. En segundo lugar, se deben ubicar las potencias de 2 de mayor a menor con el fin de
visualizar, de mejor manera, los “casilleros” o bits disponibles. Esto quiere decir:
64 32 16 8 4 2 1
7° bit 6° bit 5° bit 4° bit 3° bit 2° bit 1° bit
O simplemente:
64 32 16 8 4 2 1
3. Para este paso, ya se está a la mitad del camino. Ahora sólo queda representar el
número (18)10. Para esto hay que buscar un valor menor o igual a este número en la grilla
de valores (bits) resultante del paso anterior. Como no hay un número (bit) igual a 18, se
utiliza el valor inmediatamente más pequeño, que es el 16. A continuación, se realiza la
operación 18-16, que es 2 (número que se utilizará en el cuarto paso). Por ahora, como se
ha utilizado el número 16, se debe “activar” ese bit con un 1:
1
64 32 16 8 4 2 1
21 de 57
NTICx - 4° Año INSMB 2019
4. Dado que del paso anterior ha “sobrado” un 2 (resultado de la resta 18-16=2), lo que
queda por hacer es tan simple como repetir la operación del paso 3, pero con este nuevo
número. Esto significa que se debe buscar y “activar” un casillero con un valor menor o
igual al 2. Dado que efectivamente existe el número 2 en la grilla, entonces “se prende ese
bit” y, como 2-2 es 0, ya no quedan números por ubicar. De este modo, casi se ha
finalizado con la conversión.
1 1
64 32 16 8 4 2 1
Por cierto, antes de continuar con el siguiente paso, hay que asegurarse de que la suma de
los bits prendidos sea igual al número que se deseaba convertir originalmente. En este
caso, como la suma de 16 y 2 (los bits “prendidos”) da como resultado 18, podemos estar
seguros de que la operación se ha realizado correctamente.
0 0 1 0 0 1 0
64 32 16 8 4 2 1
6. Para este paso, ya se ha finalizado la conversión. Cabe aclarar que los 0 (ceros) ubicados a
la izquierda no tienen valor alguno, al igual que en el sistema decimal (es decir, es lo
mismo 0018 que 18 y 0010010 que 10010).
Basados en el anterior ejemplo, uno ya puede decir que está en condiciones de convertir números
decimales a binarios. Pero ¿cómo se realiza el proceso inverso? En este caso ¿cómo se convierte,
por ejemplo, el número (100)2 a decimal? La respuesta es, simplemente, ubicando el número
binario en la tabla de resultados de potencias de 2, partiendo desde los casilleros de la derecha:
1 0 0
64 32 16 8 4 2 1
Una vez hecho esto, se debe realizar la suma de los bits en 1. Para el ejemplo dado, como el bit de
valor 4 es el único activo, no se realiza ninguna suma, ya que se verifica inmediatamente que
(100)2 = (4)10. Bastante más simple, ¿no?
22 de 57
NTICx - 4° Año INSMB 2019
CÓDIGO ASCII
Tal como se mencionó anteriormente, las computadoras sólo entienden números binarios. El
código ASCII (American Standard Code of Information Interchange) es una representación
numérica que se le da a diversos caracteres (por ejemplo ‘a’, ‘@’ o ‘H’). Dichas representaciones
tienen una longitud máxima de 7 bits, lo cual quiere decir que se disponen de 7 “casilleros” para
rellenar con ceros y unos. Además, debido a esto, los códigos asignados van del 0 al 127 en base
decimal (lo que quiere decir que el código ASCII dispone de 128 caracteres).
Si se presta atención a la tabla ASCII, puede observarse que, por ejemplo, el número 1 es en
realidad el (49)10. Por lo tanto, si se requiere representar este carácter en binario, se obtiene el
siguiente resultado:
0 1 1 0 0 0 1
64 32 16 8 4 2 1
Por otro lado, si se toma como ejemplo la “A” (mayúsculas), se tiene que su código decimal es 65
y, en binario, 1000001:
1 0 0 0 0 0 1
64 32 16 8 4 2 1
23 de 57
NTICx - 4° Año INSMB 2019
Como ejemplo final, si un computador debiera representar la palabra AQUI en ASCII, lo haría de la
siguiente manera (notar que no se incluyen los acentos, tildes o caracteres especiales):
UNIDADES DE MEDIDA
Tal como se mencionó en los anteriores apartados, un bit es un dígito que puede tomar el valor 0
o 1. Sin embargo, un bit es la unidad de información más pequeña manipulada por una
computadora (la cual almacena y procesa millones y millones de estos). Es por ello que existen
unidades que pueden hacer más fácil la medición en lo que se refiere a grandes volúmenes de
datos. En concreto:
24 de 57
NTICx - 4° Año INSMB 2019
CONTENIDOS DE LA UNIDAD 2
La presente unidad implica que los estudiantes adquieran conocimientos básicos en conectividad y
redes, para luego comprender qué es y cómo funciona Internet (la red de redes). Para ello se
presenta la descripción y el funcionamiento básico del modelo cliente/servidor y de los protocolos
TCP, IP, DNS y HTTP.
Contenido:
Concepto de red.
Información analógica y digital.
Tasa de transferencia.
Arquitectura de las redes: LAN, MAN, WAN (Internet), PAN.
Formas de conexión.
Protocolo TCP/IP.
Direcciones IP.
Internet y su funcionamiento.
Modelo cliente/servidor
HTTP y DNS.
Navegadores de Internet.
Análisis de modelo cliente/servidor (solicitud de una página web).
25 de 57
NTICx - 4° Año INSMB 2019
SEÑAL ANALÓGICA
Varía suavemente en el tiempo: no presenta saltos ni discontinuidades.
Es propia de la naturaleza.
Es sumamente característica respecto a la información representada: por ejemplo, en el caso
de una grabación de voz, al subir el tono, la señal tenderá a niveles cada vez más altos, en caso
contrario la señal tenderá a niveles más bajos.
La atenuación se mitiga con amplificadores, pero puede que parte de la información se pierda
o distorsione.
Ejemplo: grabación analógica de voz, electrocardiograma.
SEÑAL DIGITAL
Es una señal discreta, que sólo puede tomar un valor en el tiempo y no es característica
respecto a la información representada: un nivel alto representa un 1 y un nivel bajo un 0.
Es compatible con los sistemas de información (computadoras personales, celulares, etc.).
La señal no se amplifica, sino que se reconstruye en base a los niveles altos o bajos, por lo que
(en este sentido) no hay pérdida de información.
26 de 57
NTICx - 4° Año INSMB 2019
Un punto a aclarar es que las señales analógicas necesitan convertirse a digitales para ser
procesadas o almacenadas por un sistema informático (por ejemplo, para almacenarse en un
Pendrive). Por el contrario, las señales digitales deben ser convertidas a analógicas para ser
reproducidas en un medio electrónico (por ejemplo, un parlante).
TASA DE TRANSFERENCIA
Existen distintos tipos de redes, las cuales se clasifican de acuerdo a su tamaño y distribución
lógica.
27 de 57
NTICx - 4° Año INSMB 2019
Una variante de las redes LAN son las WLAN: redes de área local inalámbricas. Estas utilizan un
sistema de comunicaciones que transmite y recibe datos utilizando ondas electromagnéticas. La
tecnología más extendida es Wi-Fi (Wireless Fidelity).
Los medios o formas de conexión refieren al soporte (físico o no), utilizado para el envío de datos.
MEDIOS GUIADOS
Utilizan medios físicos (tangibles) para la transferencia de datos.
28 de 57
NTICx - 4° Año INSMB 2019
MEDIOS NO GUIADOS
No utilizan ningún medio físico para la transmisión de datos, sino que se valen del éter (espacio
aéreo), mediante ondas de radio de alta frecuencia o ases infrarrojos.
Al igual que en las comunicaciones entre humanos, en las comunicaciones entre los dispositivos de
una red se siguen ciertas normas que se denominan protocolos. Entre las cuestiones que define
un protocolo se encuentran la forma y el orden en que se deben comunicar los equipos
conectados y las acciones a tomar en caso de detectarse errores durante la comunicación. De este
modo, dado que Internet es una gran red conformada por diversas LAN que se conectan entre sí
mediante sistemas intermedios (routers), para coordinar el proceso de comunicación existe un
conjunto de protocolos que la rigen y que se conoce como pila de protocolos TCP/IP. Este
conjunto de protocolos hace posible que diferentes computadoras, de distintas marcas y distinto
Software, puedan comunicarse a través de esta gran red. Tal como su nombre lo especifica, esta
pila consta de dos protocolos básicos, TCP e IP, los cuales cumplen diferentes funciones:
29 de 57
NTICx - 4° Año INSMB 2019
IP (Internet Protocol), que realiza el ruteo a través de Internet. En concreto, para que los
paquetes de datos lleguen a destino, IP busca la mejor ruta a través de los sistemas
intermedios que conforman Internet. La característica básica de este protocolo es que
entrega los datos lo más rápido posible, pero no garantiza confiabilidad (es decir, no
asegura que los datos lleguen al destino).
TCP (Transport Control Protocol) que, entre sistemas finales (es decir, “extremo a
extremo”), garantiza confiabilidad en el transporte. Específicamente, dicha fiabilidad está
dada por la confirmación de llegada de datos que el sistema final receptor realiza al
emisor; y por el establecimiento y cierre de una conexión (durante el establecimiento de
una conexión, el emisor avisa que va a transmitir datos, por lo que el receptor se prepara
y, cuando la transferencia finaliza, la conexión se cierra). Por otro lado, durante el proceso
de envío de datos, si no hay confirmación en un cierto período de tiempo el TCP receptor
indicará al TCP emisor que debe retransmitir, ya que esto puede significar que un paquete
de datos se perdió durante el proceso de ruteo llevado a cabo por IP. Además, de ser
necesario, si los datos a enviar son muy grandes, TCP los divide en varios segmentos (los
cuales se vuelven a ensamblar al llegar al emisor). La ventaja de utilizar segmentos es que
si se pierde uno de estos durante el ruteo realizado por IP, sólo será necesario retransmitir
ese segmento y no todo el conjunto de datos.
DIRECCIONES IP
El protocolo TCP/IP está basado en el uso de las denominadas
direcciones IP que, al ser similares a las direcciones de nuestros
hogares, permiten que los equipos se identifiquen de manera
unívoca. Las direcciones IP se dividen en cuatro partes: cada una de
estas tiene un tamaño máximo de 8 bits (es decir que, en decimal,
cada una posee un valor máximo de 255). Un ejemplo de dirección
IP, podría ser “172.16.254.1”.
Leídos los anteriores apartados, uno ya puede estar en condiciones de entender qué es y cómo
funciona Internet. Tal como se mencionó anteriormente, en términos “simples”, Internet se trata
de una gran red de redes, es decir de una WAN conformada por varias LANs conectadas entre sí
mediante sistemas intermedios (routers). Por su parte, estos routers cumplen la función de
encaminar los datos enviados entre el emisor y el receptor en base al protocolo IP que se ejecuta
en cada uno de ellos (IP es el único protocolo que conocen los sistemas intermedios). IP es,
entonces, el corazón de Internet encargado de buscar una ruta de comunicación entre dos
30 de 57
NTICx - 4° Año INSMB 2019
dispositivos. Por ejemplo, para entregar una serie de datos (denominados paquetes en este
contexto), el router que uno posee en su hogar, se comunica con el de su proveedor de Internet.
Cada vez que un router procesa datos, los reenvía por el camino que más los acerque a destino,
mirando a qué dirección IP deben ser entregados. Esto es similar a cuando un conductor debe
elegir un recorrido para llegar a un lugar: cada vez que este tiene que elegir entre uno o más
caminos, tomará una decisión teniendo en cuenta varios factores (qué tan corto es el camino, qué
tan “confiable” es, etc.). En este caso, el chofer toma el papel de router cada vez que elige un
camino. Sin embargo, IP no garantiza confiabilidad, ya que un paquete se puede perder durante la
transferencia, y nunca llegar a destino (a causa de, por ejemplo, interferencias). Es por ello que, el
protocolo TCP, implementado en el emisor y el receptor (y no en los routers como IP) garantiza, a
su vez, que los datos ruteados por IP puedan ser entregados correctamente. Es importante
mencionar que, si bien TCP no se implementa en los routers, IP si se implementa en el emisor y el
receptor, pues de alguna forma estos deben encaminar el paquete que desean enviar hasta primer
router. Volviendo a TCP, este cumple su tarea de generar confiabilidad de una manera más o
menos “simple”: el TCP del lado emisor, primero avisa al receptor que va a comenzar a transmitir
(este mensaje viaja a través de los enrutadores gracias al protocolo IP). Si el TCP emisor no recibe
confirmación del receptor, vuelve a enviar la solicitud de conexión. Cuando el receptor confirma la
conexión, comienza la transferencia; así es como, entonces, TCP garantiza confiabilidad: si el
extremo receptor no confirma la llegada de datos, TCP intentará enviarlos nuevamente. Además,
como bien se mencionó anteriormente, si el conjunto de datos a enviar es muy grande, antes de
pasarlos a IP, TCP los “segmenta” de modo que, si se pierde uno de estos segmentos, TCP sólo
reenviará el segmento perdido y no todo el conjunto de datos. Así es como, cuando la
transferencia finaliza correctamente, el TCP emisor le avisa al otro extremo (el TCP receptor) que
ya no enviará más datos, para que deje de esperarlos (mensaje que viaja, nuevamente, a través de
los enrutadores, gracias al protocolo IP).
MODELO CLIENTE/SERVIDOR
Ya sabemos cómo funciona Internet. Ahora es importante considerar que una de las arquitecturas
más conocidas es la de “modelo (o arquitectura) cliente/servidor (C/S)”. En dicho modelo, el
cliente realiza peticiones (es decir, solicita recursos) a un servidor, quien le da respuesta. Dichas
peticiones y respuestas son encaminadas a través de los distintos sistemas intermedios (routers),
gracias a IP. Asimismo, tal como se mencionó anteriormente, el correcto envío y recepción de las
mismas está garantizado por TCP.
31 de 57
NTICx - 4° Año INSMB 2019
Arquitectura cliente/servidor
Por otro lado, dado el gráfico de la arquitectura cliente/servidor, es posible incluir a todos los
routers dentro de la nube de “otros routers en el medio”, con lo que el gráfico se simplifica de la
siguiente manera:
Finalmente, no está de más aclarar que es bastante común la utilización de una nube como
abstracción a toda la infraestructura subyacente de Internet.
HTTP Y DNS
Retomando los anteriores apartados tenemos que, gracias a la confiabilidad garantizada por TCP y
al ruteo que brinda IP, los datos se entregarán a destino. Sin embargo, en la arquitectura
cliente/servidor, cuando el receptor recibe una petición (y la “lee”), puede que se dé cuenta de
que no posee lo solicitado. Esto es similar a cuando alguien nos pide que vayamos a comprar pan
al quiosco. Seguramente entendamos la solicitud, vayamos al quiosco, pero puede que no haya
pan. En este caso, le avisaremos a quien nos pidió este favor, que no pudimos realizar la compra
32 de 57
NTICx - 4° Año INSMB 2019
debido a que el quiosquero no tenía lo solicitado. En la web pasa algo muy parecido: muchas veces
solicitamos páginas que puede que existan o no. De este modo, es necesario otro protocolo que
funcione por encima de IP y de TCP, en este caso HTTP (Hyper Text Transfer Protocol), que
puntualmente se utiliza en la transmisión de páginas web y recursos varios. Este protocolo
responderá con el código 200 más el recurso solicitado, si es que este existe; o con el código 404,
si el recurso solicitado no existe. De esta forma, HTTP sólo se preocupará por verificar qué es lo
que se está solicitando para responder en consecuencia, confiando en que toda esta serie de
solicitudes y respuestas intercambiadas, serán correctamente entregadas gracias a los protocolos
TCP e IP. Por otro lado, es importante considerar que una solicitud HTTP se puede realizar
acompañada del nombre del recurso, de la forma “[servidor]/[recurso]”, por ejemplo
“192.168.0.10/recurso.html”. Si el recurso no se indica (es decir si la solicitud se realiza
únicamente con la dirección IP), HTTP intentará retornar un recurso por defecto (cabe aclarar que
el administrador del servidor deberá indicar previamente qué recurso se devolverá como
respuesta en estos casos). De todas formas, una solicitud de una página web no suele realizarse
en base a su dirección IP (pues, como es sabido, estas direcciones son complicadas de recordar). Es
decir, no accedemos a Facebook utilizando su IP (que supongamos es 157.240.7.35), sino que lo
hacemos utilizando su nombre (www.facebook.com). De este modo, otro protocolo muy conocido
en la pila TCP/IP es DNS (Domain Name Server), el cual transforma nombres de dominio, más
fáciles de recordar para los seres humanos, en direcciones IP (por ejemplo, www.facebook.com a
31.31.73.97). DNS se construye sobre el protocolo IP y una “variante” de TCP, denominada UDP y
cuya explicación escapa a este apunte.
NAVEGADORES DE INTERNET
Los navegadores son programas que permiten visualizar páginas web
(también denominadas recursos HTML). Un navegador se comunica con un
servidor a través del protocolo HTTP, solicitando (normalmente) un recurso
HTML, que luego interpreta y muestra. Entre los navegadores más conocidos
se tiene a Internet Explorer, Firefox, Opera, Safari y Chrome.
33 de 57
NTICx - 4° Año INSMB 2019
copiar la dirección de Facebook en nuestro navegador de Internet y presionar ENTER, por detrás,
se desencadena la siguiente serie de pasos:
34 de 57
NTICx - 4° Año INSMB 2019
UNIDAD 3: ALFABETIZACIÓN EN
PROGRAMACIÓN Y ALGORITMOS
CONTENIDOS DE LA UNIDAD 3
Esta unidad tiene por objetivo introducir a los alumnos en los principios básicos de la resolución de
problemas mediante la construcción de algoritmos de carácter procedural. Se destaca la
alfabetización en lo que respecta a pseudocódigo, al uso de estructuras cíclicas y de decisión, de
funciones y procedimientos; y de operadores relacionales, lógicos y algebraicos.
Contenido:
35 de 57
NTICx - 4° Año INSMB 2019
PROGRAMACIÓN
ALGORITMO
Un algoritmo es una secuencia bien definida y ordenada de pasos para resolver un problema y
puede considerarse la representación previa de un programa. A su vez, una forma de representar
los algoritmos es mediante pseudocódigo2: se trata de una forma descriptiva y “pseudo-natural”,
que consta de pasos o instrucciones. Para ello, se deben tener en cuenta una serie de reglas:
1. Instrucción 1
2. …
n. Instrucción n
Nota: dado que un algoritmo contiene una cantidad de instrucciones determinada, por ejemplo 1,
2, 3 o 1000, la letra “n”, se utiliza para generalizar.
VARIABLE
Una variable es un lugar donde guardar cierta información. Las variables tienen un
nombre y además un contenido. El nombre puede ser cualquiera que a uno se le
ocurra siempre y cuando se utilicen combinaciones alfanuméricas (letras y números),
sin espacios y sin comenzar con números.
Ejemplos válidos de nombres de variables son “x”, “y”, “z”, o “numero”. Ejemplos inválidos son
“numero 1” o “2x”. Además, hay que tener en cuenta que los nombres de variables son sensibles a
mayúsculas y minúsculas (esto quiere decir que una variable “x” será distinta a otra llamada “X”).
Por otra parte, los valores de una variable, en principio, pueden ser números o textos. Es
importante mencionar que, para utilizar una variable, se la debe haber inicializado previamente a
2
Existen diversas formas de representar un algoritmo vía pseudocódigo. Particularmente, en este apunte, se seguirán lineamientos que
acercarán los algoritmos al lenguaje de programación Python.
36 de 57
NTICx - 4° Año INSMB 2019
la instrucción donde se la utiliza. A pesar de que su contenido puede ir variando, a una variable
que se inicializa como número, luego no es posible asignarle un texto y viceversa.
VARIABLES NUMÉRICAS
En principio, las variables se pueden utilizar para almacenar números. Por supuesto, también es
posible realizar diversas operaciones con ellas. Por ejemplo, el siguiente algoritmo opera, a través
de sus pasos, con una variable llamada “x”:
1. Iniciar x en 2
2. Duplicar el valor de x
3. Sumar 4 a x
Explicación del algoritmo: en el paso 1, la variable x inicia en 2, por lo que x=2. En el segundo
paso, se indica que el valor de x se debe duplicar, de este modo como x hasta el momento vale 2 y,
como para calcular el doble de cualquier número este se debe multiplicar por 2, el valor de x
queda definido por x=2*2, es decir x=4. Finalmente, en el paso 3, a x se le añade 4: así, al finalizar
el algoritmo, el valor de la variable x es 8.
ACTIVIDADES
1. Determinar el error del siguiente algoritmo:
1. Iniciar x en 2
2. Iniciar j en 2
3. Sumar h a j
37 de 57
NTICx - 4° Año INSMB 2019
Propiedad de las variables: conforme avanza el algoritmo, el contenido de una variable puede
re-asignarse las veces que sea necesario, sin la necesidad de realizar operaciones como la suma,
la resta, la multiplicación o la división. Por ejemplo:
1. Iniciar reasignada en 2
2. Asignar 4 a reasignada
Para el algoritmo dado, la variable reasignada inicia en 2, sin embargo, en el segundo paso (y fin
del algoritmo), se le asigna 4: esto quiere decir que el valor anterior se reemplaza (o “pisa”).
SIMPLIFICACIÓN DE ALGORITMOS
Para simplificar la escritura y la lectura de los algoritmos es conveniente iniciar y asignar las
variables de la forma nombre_de_la_variable = valor, sin utilizar verbos. Por ejemplo, el
algoritmo del ejercicio 1, se podría simplificar de la siguiente manera:
1. x = 2
2. x = x * 2
3. x = x + 4
Nota: en el paso 2, al realizar la multiplicación, se utiliza el valor de x del paso 1 (es decir, “2”).
Luego, el resultado de esa operación, reemplaza el antiguo valor de x, es decir, x pasa a valer “4”.
VARIABLES DE TEXTO
Las variables no sólo son útiles para almacenar valores numéricos sino que, también, para
almacenar textos. Puntos a tener en cuenta:
1. Los textos se deben escribir entrecomillados. Ejemplo válido: texto = “¡Hola, soy un
texto!”. Ejemplo inválido: texto = ¡Hola, soy un texto!
2. Es posible inicializar una variable de texto con “”: esto indica que el valor de dicha variable
es vacío.
38 de 57
NTICx - 4° Año INSMB 2019
3. Es posible unir dos textos: esta acción se denomina concatenación y se realiza con el
operador “+”. Ejemplo:
1. p = “estoy escribiendo”
2. k = “algoritmos.”
3. m = p + “ ” + k
Nota: se especifica un espacio entre medio de las variables p y k ya que, si se definiría el
paso de la forma “m = p + k”, m finalizaría con el valor “estoy escribiendoalgoritmos.”.
ACTIVIDADES
1. Determinar el valor de msg al finalizar el algoritmo:
1. msg = “hola”
2. msg2 = “ mundo”
3. msg = msg + msg2
Resolución: en el paso 1, la variable msg se inicia con el texto “hola”. Luego, en el paso 2, se
tiene que el valor de msg2 es “ mundo”. Finalmente, en el paso 3, al valor que msg tiene
hasta el momento (es decir, “hola”), se le adiciona msg2 (“ mundo”) por lo que, al finalizar el
algoritmo, el valor de la variable msg es “hola mundo”.
39 de 57
NTICx - 4° Año INSMB 2019
8. Añadir “ ” a texto
9. Añadir p a texto
FUNCIONES DE CONVERSIÓN
En los algoritmos anteriores, se ha operado con valores numéricos y de texto por separado. No
obstante, en ocasiones, es necesario combinar estos dos tipos de valores en una misma variable.
Sin embargo, esto trae un problema: si se combinan números y letras, quien lee (o mejor dicho,
quien interpreta) el algoritmo (¡y más aún una computadora!), tendría dificultades para
“comprender” si lo que se quiere es concatenar o realizar una suma. Por ejemplo:
1. x = “2”
2. j = 2
3. j = j + x
Este algoritmo es ambiguo, puesto que no queda claro si lo que se intenta realizar es la suma de j
y x o una concatenación: en el primer caso, el resultado sería 4 y, en el segundo, “22”. Para evitar
este problema, existen las funciones de conversión, a las cuales se les otorga como parámetro un
valor (constante) o una variable de texto o numérica, para que la función devuelva ese valor
convertido a número o texto, según corresponda. Las funciones de conversión son:
Es importante prestar atención a la palabra devuelve, ya que las funciones de conversión reciben
una variable o un valor constante, pero NO lo modifican, es decir que dejan intactos tanto el tipo
de variable (número o texto), como su contenido. De este modo, se hace necesario almacenar ese
valor devuelto por la función de conversión en una nueva variable. Por ejemplo:
1. t = “22”
2. n = Numero(t)
3. m = 2 + n
En este caso, al finalizar el algoritmo, p sigue siendo un texto (“22”), n es 22 (pero número, ya que
la función Numero(p), devuelve un número) y, a su vez, m vale 24.
40 de 57
NTICx - 4° Año INSMB 2019
ACTIVIDADES
1. Determinar por qué el siguiente algoritmo es inválido:
1. p = “2”
2. p = Numero(2)
SALIDA DE DATOS
1. x = 2
2. x = x + 2
3. x = x + 4
Para el caso se tiene que, al finalizar el algoritmo, el valor de la variable x es 8. Sin embargo, si la
computadora es la que “interpreta” dicho algoritmo, no le mostraría nada al usuario, ya que
(como se mencionó anteriormente) en ningún paso se indica que se debe mostrar algo. Por eso,
para indicar a una computadora que debe mostrar el valor de una variable, se debe utilizar la
palabra clave “Mostrar”. De modo que si, por ejemplo, al finalizar el anterior algoritmo, se quiere
41 de 57
NTICx - 4° Año INSMB 2019
mostrar el valor de la variable x, se deberá agregar un nuevo paso que indique tal instrucción. El
algoritmo, entonces, quedaría reformulado de la siguiente manera:
1. x=2
2. x=x+2
3. x=x+4
4. Mostrar x
De modo que, ¿qué mostraría este algoritmo al ser ejecutado por una computadora? x, es decir 8.
Además de variables, con la instrucción “Mostrar”, también es posible mostrar textos de forma
literal (es decir, tal cual): para llevar a cabo esta operación, se debe entrecomillar el texto con el
que se desea realizar tal operación. Por ejemplo, si en el comienzo de un algoritmo que realiza la
suma de dos números se desea que la computadora muestre un mensaje que indique qué es lo
que hace dicho algoritmo (además del resultado de la suma), los pasos quedarían definidos de la
siguiente manera:
Nota: cada vez que se utiliza la instrucción “Mostrar”, se “crea” una “nueva línea” (en el anterior
algoritmo, por ejemplo, se utilizó “Mostrar” dos veces por lo que, en la salida, hay dos líneas).
42 de 57
NTICx - 4° Año INSMB 2019
Sin embargo, hay una forma más fácil de hacer lo anterior, y es utilizando la coma (“,”) (ojo, esto
se permite únicamente en las salidas de texto y no en la asignación de valores a las variables). La
coma, tiene las siguientes propiedades básicas:
Como es posible observar, el paso 5 ha quedado mucho más simplificado (y claro) que en el caso
de la utilización del operador de concatenación. A pesar de la diferencia en la definición del
algoritmo, en ambos casos, la salida completa será la siguiente:
Para finalizar, se lista un resumen de las formas posibles de uso de la instrucción “Mostrar”:
ACTIVIDADES
1. Determinar la salida del siguiente algoritmo:
1. x = 4
2. x = x + x
3. x = x * 10
4. Mostrar x
43 de 57
NTICx - 4° Año INSMB 2019
ENTRADA DE DATOS
44 de 57
NTICx - 4° Año INSMB 2019
Dado que las variables pueden ser de dos tipos (numéricas o de texto), para pedir el valor de una
variable numérica, se debe utilizar la frase “Pedir número”, mientras que, para variables de texto,
se debe utilizar el conjunto de palabras “Pedir texto”. Por ejemplo:
1. Pedir número n1
2. Pedir número n2
3. suma = n1 + n2
4. Mostrar suma
Tanto en el paso 1, como en el 2, se solicita al usuario el ingreso de n1 y n2. Pero ¡ojo!: los valores
de esas variables pueden ser cualquiera (¡los que decida el usuario!). Ahora bien, ¿qué mostrará
entonces el algoritmo? Sencillamente, en principio, no es posible saberlo ya que, cada vez que se
“ejecute” el algoritmo, tanto n1 como n2 pueden valer cualquier número. Ejemplo: suponiendo
que, en el paso 1, el usuario asigna el valor 6 a n1 y que, en el paso 2, a n2 se le asigna el valor 10,
al final del programa la variable suma valdría 16. Podría pasar que luego, al ejecutar nuevamente
el algoritmo, el usuario asigne las variables de la siguiente manera: n1=10, n2=20, por lo que, el
algoritmo, mostraría 20. De este modo, para saber si un algoritmo funciona correctamente, al
seguir los pasos uno se debe poner en el rol de quien lee el algoritmo (el usuario), asignando los
valores que se deseen a las variables (siempre y cuando aparezca la instrucción “Pedir”). Así, se
podrá verificar cómo es que se comporta el algoritmo con diversos valores ingresados.
ACTIVIDADES
1. ¿Cuál es la salida del siguiente algoritmo (suponer que el usuario ingresa x=10 y y=5)? ¿Para
qué valores de y fallaría?
1. Pedir número x
2. Pedir número y
3. x = x / y
4. Mostrar “El resultado del algoritmo es”, x
2. Determinar la salida del siguiente algoritmo. Suponer que el usuario ingresa n1=25 y n2=-1:
1. Pedir número n1
2. Pedir número n2
3. p = n1 + n2
4. Mostrar p
4. Determinar (y explicar) el error del siguiente algoritmo (dar una posible solución):
1. Pedir texto n
45 de 57
NTICx - 4° Año INSMB 2019
2. L = n
3. j = L + 10
5. Escribir un algoritmo que permita que el usuario ingrese su nombre y su apellido (en
variables diferentes) para luego mostrar el nombre completo acompañado de la leyenda
“Bienvenido/a”. Ejemplo de salida: si como nombre se ingresa “Claudia” y como apellido
“Gonzalez” se deberá mostrar “Bienvenido/a Claudia Gonzalez”.
SENTENCIAS DE DECISIÓN
Por ejemplo, si se tiene que diseñar un algoritmo que, dado el ingreso de la nota de un alumno, en
caso de que esta sea mayor o igual a 7 (siete) muestre el mensaje “Aprobado”, se necesitaría de
una herramienta que permita evaluar tal condición: es por ello que existe la palabra o sentencia Si.
De modo que, en base a lo anterior, el algoritmo, podría quedar definido de la siguiente forma:
1. La sentencia “Si” debe seguirse de una condición y finalizar con dos puntos. Por ejemplo,
en el algoritmo dado, la condición de la sentencia Si es “nota es mayor o igual a 7”.
2. Debajo de la sentencia “Si” se deben especificar las instrucciones que se deberán ejecutar
en caso de que la condición (o conjunto de condiciones, ya se explicará esto más adelante)
sea verdadera. Estas instrucciones deberán ir acompañadas de una sangría (o
indentación). Ejemplo:
1. Si condición:
2. Instrucción 1
3. Instrucción 2
4. Instrucción n
46 de 57
NTICx - 4° Año INSMB 2019
Además, en ocasiones, es útil ejecutar otro tipo de instrucciones en caso de que la condición de la
sentencia no sea verdadera. Por ejemplo, siguiendo con el caso del algoritmo del ingreso de la
nota de un alumno, además de mostrar un mensaje de “Aprobado”, se podría mostrar otro de “No
aprobado” en caso de que la nota no sea mayor o igual a 7: para esto, se debe utilizar otra palabra
clave: la palabra Sino (que, ¡ojo!, debe ir precedida por la palabra Si). De modo que, el algoritmo,
quedaría definido de la siguiente manera:
ACTIVIDADES - PARTE 1
1. Determinar la salida del siguiente algoritmo:
1. n = 2
2. Si n es igual a 2:
3. Mostrar “es igual a 2.”
2. Determinar la salida del siguiente algoritmo en caso de que el usuario ingrese n=10:
1. Pedir número n
2. Si n es mayor a 10:
3. Mostrar “Es mayor a 10.”
4. Sino:
5. Mostrar “Es menor o igual a 10.”
47 de 57
NTICx - 4° Año INSMB 2019
Como se puede ver, para la simplificación, las condiciones se deben escribir de la forma “a
operador b”, donde a y b pueden ser variables, números o texto y donde el operador puede ser:
1. >, que indica “mayor que”. Ejemplo: a > b, que será verdadero si a es mayor a b.
2. <, que indica “menor que”. Ejemplo: a < b, que será verdadero si a es menor que b.
3. ==, que indica “igual que” (Nota: no se utiliza un solo “=” ya que esto podría ser ambiguo con
la asignación de variables). Ejemplo: a == b, que será verdadero si a y b son iguales.
4. <=, que indica menor igual.
5. >=, que indica mayor igual
6. <>, que indica distinto de.
Actividad: re-escribir de forma simplificada los algoritmos de la sección “Actividades - Parte 1”.
48 de 57
NTICx - 4° Año INSMB 2019
SINO CONDICIONAL
No sólo es posible tener condiciones únicamente en una sentencia Si, sino que también en el Sino:
es más, de esta manera, se podrían tener los sino que se quisieran. Por ejemplo, si se necesita un
algoritmo que dado el ingreso de dos números los sume y muestre el mensaje “Es mayor a 100” si
la suma es mayor a 100 y sino, que muestre un mensaje “Es menor a 90”, si la suma es menor a 90
y que, en cualquier otro caso, muestre “El nro. se encuentra entre 90 y 100”, el algoritmo quedaría
definido de la siguiente manera:
1. Pedir número n1
2. Pedir número n2
3. suma = n1 + n2
4. Si suma > 100:
5. Mostrar “Es mayor a 100”
6. Sino si suma < 90:
7. Mostrar “Es menor a 90”
8. Sino:
9. Mostrar “El nro. se encuentra entre 90 y 100”
Operador y: para que la sentencia sea verdadera, deben ser verdaderas todas las condiciones de
la sentencia. Por otra parte, con que sólo una de las condiciones sea falsa, toda la sentencia
también lo será. Por ejemplo, si se necesita un algoritmo que indique si un número se encuentra
entre los valores 0 y 10, se lo podría definir de la siguiente manera:
1. Pedir número n
2. Si n > 0 y n < 10:
3. Mostrar “El nro. se encuentra entre 0 y 10.”
Operador o: a diferencia del caso anterior (donde se deben cumplir todas las condiciones para la
veracidad de una sentencia), en este caso con que al menos una de las condiciones se cumpla,
toda la sentencia será verdadera. Por ejemplo, un algoritmo que indique si un número es menor a
10 o mayor o igual a 100, se podría especificar de la siguiente manera
1. Pedir número n
2. Si n < 10 o n >= 100:
3. Mostrar “El nro. es menor a 10 o mayor igual a 100.”
49 de 57
NTICx - 4° Año INSMB 2019
ACTIVIDADES - PARTE 2
Nota: las condiciones deben escribirse en su forma simplificada (no en lenguaje natural).
1. Diseñar un algoritmo que dado el ingreso de dos números muestre el mayor de ellos. Nota:
se supone que los números ingresados son distintos.
2. Rediseñar el algoritmo anterior, pero tener en cuenta que ahora los números pueden ser
iguales. En caso de que los números sean iguales, se deberá mostrar el mensaje “Los nros.
ingresados son iguales”.
3. Diseñar un algoritmo que permita el ingreso de un número entre 1 y 12, y que muestre el
mes al que corresponde ese número. Ejemplo: si el usuario ingresa 1, el algoritmo deberá
mostrar “Enero”, si ingresa 2, “Febrero”, y así sucesivamente. En caso de que el usuario
ingrese un valor que no esté entre 1 y 12, se deberá mostrar el mensaje “Opción incorrecta”.
6. Diseñar un algoritmo que pida 3 números y los muestre de menor a mayor. Nota: se supone
que los números ingresados son distintos entre sí.
50 de 57
NTICx - 4° Año INSMB 2019
Es posible invocar a las funciones o procedimientos cuantas veces se desee, tanto desde el
algoritmo principal, como desde otra instrucción perteneciente a una función o procedimiento.
Opcionalmente, las funciones y los procedimientos pueden recibir parámetros. La diferencia entre
ambos es que las primeras deben retornar (de manera obligatoria) un resultado, mientras que los
procedimientos no.
Para clarificar un poco más el tema es importante notar que, anteriormente, ya se han introducido
las funciones de forma implícita. En particular, las funciones de conversión son funciones (como lo
dice su nombre), ya que reciben parámetros y retornan un resultado. Por ejemplo, la función
Número(x) recibe como parámetro una variable de texto o numérica (es decir x) y la retorna
convertida. Sin embargo, así como existen funciones y procedimientos ya definidos de antemano,
también es posible crearlos.
Las funciones se definen fuera del algoritmo principal utilizando la palabra clave Función. Los
parámetros que recibe se escriben entre paréntesis y separados por coma. La estructura básica es
la siguiente:
1. Instrucción 1
2. …
3. Retornar x
Para el caso, “nombre” refiere (naturalmente) al nombre de la función que puede recibir “n”
parámetros (los que se consideren necesarios). Por otro lado, tal como se mencionó
anteriormente, es necesario que esta retorne un valor (para el caso del esquema presentado, se
retorna la variable “x”, que se supone definida en alguna instrucción). Los procedimientos se
definen de forma similar, pero utilizando la palabra clave “Procedimiento” (además, recordemos,
no retornan ningún valor). Otros aspectos a tener en cuenta para la definición de las funciones o
procedimientos son los siguientes:
1. Las reglas para definir los nombres, son las mismas que se utilizan para las variables, es
decir que es posible utilizar combinaciones alfanuméricas, sin espacios, y sin comenzar con
números.
2. Los nombres de las variables utilizados dentro de una función o procedimiento NO tienen
relación con los utilizados en el programa principal o en otras instrucciones. Por ejemplo,
si se tiene una variable x en el programa principal, y otra en una función, se trata de dos
variables distintas e independientes: es decir, es posible imaginar una función o
51 de 57
NTICx - 4° Año INSMB 2019
procedimiento como “otro algoritmo” ajeno al programa original y a todas las otras
funciones y procedimientos.
3. ¡Recordemos! el objetivo de las funciones es dividir funcionalidades y simplificar la lectura
y escritura de los algoritmos. En síntesis, las funciones o procedimientos deben realizar
tareas concretas.
4. Para evitar problemas de interpretación, es conveniente utilizar nombres de variables
distintos a los de las funciones o procedimientos.
En definitiva, para entender mejor, conviene tomar como ejemplo el siguiente algoritmo que no
utiliza funciones:
1. Pedir número n1
2. Pedir número n2
3. m=0
4. Si n1 > n2:
5. m = n1
6. Sino:
7. m = n2
8. Mostrar “El mayor nro. es”, m
Como es posible observar, el algoritmo tiene 8 instrucciones y, si bien no es difícil de entender qué
es lo que hace, se podría crear una función que calcule y retorne el mayor entre dos números,
para luego invocarla desde el programa principal, y así facilitar la lectura del algoritmo. En
concreto:
1. m=0
2. Si n1 > n2:
3. m = n1
4. Sino:
5. m = n2
6. Retornar m
Como ahora se tiene definida una función que calcula y retorna el mayor de dos números, el
algoritmo principal puede simplificarse de la siguiente manera:
Algoritmo principal:
1. Pedir número n1
2. Pedir número n2
3. m = mayor(n1, n2)
4. Mostrar “El mayor nro. es”, m
¡Mucho más simple que al principio! ¿Verdad? Este es el objetivo de las funciones: dividir los
algoritmos en una serie de funcionalidades más pequeñas para facilitar la escritura y lectura de los
52 de 57
NTICx - 4° Año INSMB 2019
mismos. Notar que en el algoritmo principal NO interesa cómo es que funciona la función mayor:
lo único que se hace es invocarla, confiando en que se nos retornará el mayor entre dos números.
Esto se denomina abstracción: las funciones permiten que uno se centre en una cosa a la vez, por
eso el lema ¡divide y vencerás!
ACTIVIDADES
1. Dada la función menor(x, y), la cual calcula y retorna el menor entre dos números,
determinar qué es lo que muestra el siguiente algoritmo al finalizar:
1. n1 = 10
2. n2 = 25
3. n3 = 99
4. m = menor(n1, n2)
5. m = menor(m, n3)
6. Mostrar m
2. Escribir una función que convierta una cantidad dada de Megabytes a Kilobytes. Por
ejemplo, si x=2 la función mb_a_kb(x) deberá retornar 2048.
1. mb = 15
2. mb = 10 + mb
3. kb = mb_a_kb(mb)
4. Mostrar “La cantidad de kilobytes es:”, kb
Para tal fin, es útil la sentencia Para, que permite especificar cuántas veces debe repetirse un
bloque de instrucciones. La estructura básica es la siguiente:
53 de 57
NTICx - 4° Año INSMB 2019
¿Cómo trabaja el ciclo? En el primer paso, i tomará el valor de x mientras que, en el segundo, se
mostrará el mensaje indicado. Posteriormente (si corresponde), se incrementará el valor de i en 1
y se volverá a mostrar el mensaje. Esto se repetirá sucesivamente hasta que i tome el valor y-1: es
muy importante tener en cuenta que i no llegará a valer y, ya que la condición indica hasta (es
decir que y es el valor donde hay que detenerse): en pocas palabras, i deberá ser menor a y, por lo
que, matemáticamente, el valor de i al finalizar el algoritmo será i=y-1. ¿Una enredadera, no?
Entendámoslo mejor, con el siguiente ejemplo:
Al seguir el algoritmo, se tiene que, en el primer paso, i vale 0 por lo que, en el paso 2 se muestra
el mensaje “Nro. de vuelta 0”: sin embargo, como el ciclo indica que i debe ir hasta 2, el algoritmo
todavía no termina. Cuando se repite el ciclo, i toma el valor 1, por lo que se muestra el mensaje
“Nro. de vuelta 1”. Finalmente, i no puede tomar el valor 2 (ya que la condición es hasta 2). Por
tanto, la salida del algoritmo anterior sería la siguiente:
Nro. de vuelta 0
Nro. de vuelta 1
¡Mucha información acerca de los ciclos, pero todavía no parecen ser una herramienta que nos
ayude en mucho! Por eso, a continuación se verá que, en realidad, los ciclos pueden ayudar
bastante. Por ejemplo, si se necesita crear un algoritmo que sume 8 números ingresados por el
usuario, sin utilizar el ciclo Para, el mismo quedaría definido algo así como:
1. Pedir número n1
2. Pedir número n2
3. Pedir número n3
4. Pedir número n4
5. Pedir número n5
6. Pedir número n6
7. Pedir número n7
8. Pedir número n8
9. suma = n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8
10. Mostrar suma
54 de 57
NTICx - 4° Año INSMB 2019
1. suma = 0
2. Para i desde 0 hasta 8:
3. Pedir n
4. suma = suma + n
5. Mostrar suma
Nota: ¿por qué siempre conviene empezar desde 0 (cero)?: Si se necesita dar 30 vueltas, por
naturaleza, se definiría el ciclo de la siguiente manera: “Para i desde 1 hasta 30:”. Sin embargo,
como se ha visto visto, i nunca valdrá 30, por lo que las instrucciones del ciclo, se repetirían 29
veces (y no 30). Existen, entonces, dos posibilidades para corregir la sentencia:
1. Especificar el ciclo como “Para i desde 1 hasta 31” (en este caso se darían 30 vueltas).
2. Especificar el ciclo como “Para i desde 0 hasta 30” (también se realizarían 30 repeticiones,
sin embargo, esto último suena mucho más natural que lo anterior).
1. aprobados=0
2. Para i desde 0 hasta 30:
3. Pedir número nota
4. Si nota >= 7:
5. aprobados = aprobados + 1
6. Mostrar “La cantidad de aprobados es”, aprobados
1. Las variables acumuladoras y contadoras, no son más que variables normales, sólo que se
las llama de esa forma por su comportamiento particular.
2. Las variables acumuladoras y contadoras, siempre deben inicializarse (normalmente en 0,
cero), antes del inicio del ciclo donde serán utilizadas.
55 de 57
NTICx - 4° Año INSMB 2019
ACTIVIDADES
1. Dado el siguiente algoritmo:
1. acumulador = 15
2. Para i desde 0 hasta 10:
3. acumulador = acumulador + i
4. Mostrar acumulador
Suponiendo que durante la ejecución del algoritmo, el usuario ingresa los valores 1, 5, 11, 9,
100, 88, 9, 66, 2, 333. ¿Cuáles son los valores de las variables _n y n_ al finalizar el algoritmo?
Dar la salida completa del algoritmo.
56 de 57
NTICx - 4° Año INSMB 2019
BIBLIOGRAFÍA
Bibliografía y recursos utilizados para el apunte, sugeridos en el Diseño Curricular de NTICx de la
DGCyE de la provincia de Buenos Aires:
57 de 57