Sie sind auf Seite 1von 59

INSTITUTO NUESTRA SEÑORA MARÍA BÍSTRICA

Nuevas Tecnologías de la
Información y la Conectividad
NTICx - 4° Año
Agustín González
2019

Alumno/a: …………………………………………………………………………………………………………………….............

Apunte de cátedra de NTICx (Nuevas Tecnologías de la Información y la Conectividad),


correspondiente al 4° año (educación secundaria), ciclo lectivo 2019.
NTICx - 4° Año INSMB 2019

CONTENIDO

Introducción
Expectativas de logro .......................................................................................................................... 5
Criterios de evaluación ........................................................................................................................ 5
Actividades .......................................................................................................................................... 6
Recursos a utilizar ............................................................................................................................... 6

Unidad 1: Alfabetización Informática - Computacional

Contenidos de la unidad 1................................................................................................................... 7


Técnica, tecnología e innovación ........................................................................................................ 8
Dato, información, informática y NTICx .............................................................................................. 8
Características generales de un computador...................................................................................... 9
Hardware: componentes físicos........................................................................................................ 10
Hardware según su funcionalidad ................................................................................................. 10
Hardware según su ubicación ....................................................................................................... 10
Hardware según su flujo de información ...................................................................................... 10
Hardware básico................................................................................................................................ 11
Interacción entre componentes internos ......................................................................................... 13
Hardware complementario ............................................................................................................... 14
Periféricos ......................................................................................................................................... 15
Periféricos de entrada ................................................................................................................... 15
Periféricos de salida....................................................................................................................... 15
Periféricos de entrada/salida ........................................................................................................ 16
Periféricos de almacenamiento masivo ........................................................................................ 16
Periféricos de conectividad............................................................................................................ 16
Software: componentes lógicos ........................................................................................................ 17
Software según su utilidad ............................................................................................................ 17
Software según su licencia y distribución ...................................................................................... 17
Sistema operativo ............................................................................................................................. 18
Process Interleaving ...................................................................................................................... 19

1 de 57
NTICx - 4° Año INSMB 2019

Interfaz de usuario de sistema operativo ......................................................................................... 19


Digitalización y sistema binario ......................................................................................................... 20
Conversión de números decimales a binario y viceversa .............................................................. 20
Código ASCII ...................................................................................................................................... 23
Unidades de medida ......................................................................................................................... 24

Unidad 2: Alfabetización en Redes Digitales de Información

Contenidos de la unidad 2................................................................................................................. 25


¿Qué es una red? .............................................................................................................................. 26
Información analógica y digital ......................................................................................................... 26
Señal analógica ............................................................................................................................. 26
Señal digital ................................................................................................................................... 26
Tasa de transferencia ........................................................................................................................ 27
Arquitectura de las redes .................................................................................................................. 27
PAN (Personal Area Network) ....................................................................................................... 27
LAN (Local Area Network) ............................................................................................................. 27
MAN (Metropolitan Area Network) .............................................................................................. 28
WAN (Wide Area Network) ........................................................................................................... 28
Formas de conexión (Medios) ........................................................................................................... 28
Medios guiados ............................................................................................................................. 28
Medios no guiados ........................................................................................................................ 29
Protocolo TCP/IP: el protocolo de Internet....................................................................................... 29
Direcciones IP ................................................................................................................................ 30
¿Qué es y cómo funciona Internet? .................................................................................................. 30
Modelo cliente/servidor.................................................................................................................... 31
HTTP y DNS .................................................................................................................................... 32
Navegadores de Internet ............................................................................................................... 33
Solicitud de una página web (cliente/servidor) ............................................................................. 33

2 de 57
NTICx - 4° Año INSMB 2019

Unidad 3: Alfabetización en Programación y Algoritmos

Contenidos de la unidad 3................................................................................................................. 35


Programación .................................................................................................................................... 36
Algoritmo....................................................................................................................................... 36
Variable ......................................................................................................................................... 36
Variables numéricas .......................................................................................................................... 37
Actividades .................................................................................................................................... 37
Simplificación de algoritmos ......................................................................................................... 38
Variables de texto ............................................................................................................................. 38
Actividades .................................................................................................................................... 39
Funciones de conversión ................................................................................................................... 40
Actividades .................................................................................................................................... 41
Salida de datos .................................................................................................................................. 41
Actividades .................................................................................................................................... 43
Entrada de datos ............................................................................................................................... 44
Actividades .................................................................................................................................... 45
Sentencias de decisión ...................................................................................................................... 46
Actividades - Parte 1...................................................................................................................... 47
Simplificación de escritura de condiciones .................................................................................... 48
Sino condicional ............................................................................................................................. 49
Más de una condición ................................................................................................................... 49
Actividades - Parte 2...................................................................................................................... 50
Funciones y procedimientos: divide y vencerás................................................................................ 51
Actividades .................................................................................................................................... 53
Iteraciones: ciclo Para ....................................................................................................................... 53
Variables acumuladoras y contadoras .......................................................................................... 55
Actividades .................................................................................................................................... 56

Bibliografía ............................................................................................................................. 57

3 de 57
NTICx - 4° Año INSMB 2019

EXPECTATIVAS DE LOGRO

La materia tiene por objetivo que los alumnos:

 Logren una correcta alfabetización de los conceptos que conciernen a la materia,


adoptando y utilizando correctamente el vocabulario técnico específico; y desarrollando
habilidades operativas frente a las nuevas tecnologías.
 Reconozcan los componentes físicos de un computador, sus funcionalidades e interacción,
a fin de poder realizar una elección crítica de los mismos y acorde a sus necesidades.
 Reconozcan e identifiquen la utilidad de los componentes lógicos de un computador,
entendiendo también cómo es posible la digitalización.
 Comprendan de manera técnica qué es y cómo funciona Internet y los protocolos básicos
que la conforman.
 Accedan a la información disponible en diferentes fuentes y formatos digitales,
especialmente haciendo uso de recursos ubicuos.
 Comprendan el valor de la información como recurso para la toma de decisiones.
 Logren adquirir la capacidad de representar problemas mediante la construcción de
algoritmos.
 Desarrollen una postura ética frente a las nuevas tecnologías, comprendiendo la
importancia de la seguridad en el ciberespacio.

CRITERIOS DE EVALUACIÓN

En lo que respecta a los criterios de evaluación, se considerará lo siguiente:

 Participación positiva, espontánea y ordenada en clase.


 Trato respetuoso con los compañeros y el docente.
 Cumplimiento de las actividades propuestas en el ámbito áulico (trabajo en clase).
 Asociación de temas cotidianos con los conceptos analizados en clase.
 Adecuada expresión oral y escrita, y eficiente uso del lenguaje.
 Carpeta completa, prolija y ordenada.
 Disponibilidad del material bibliográfico durante la clase.
 Entrega en tiempo y forma de las actividades y/o trabajos prácticos.
 Lecciones orales y evaluaciones escritas, en máquina o vía aula virtual.
 Responsabilidad ante ausencias, las cuales no justificarán el desconocimiento de
actividades propuestas o fechas de evaluaciones y/o entregas de trabajos prácticos.

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

 La herramienta más importante la constituye el material bibliográfico, el cual será


suministrado por el docente mediante un apunte de cátedra y textos parciales. Sobre
estos se elaborarán guías prácticas y de lectura, además de trabajos prácticos.
 La plataforma virtual Moodle (www.insmb.edu.ar) constituirá un recurso operativo clave.
Además, será de utilidad para consultas fuera de la franja horaria de la materia.
 La sala audiovisual se utilizará en la proyección de contenido multimedia, por ejemplo a la
hora de presentaciones con diapositivas o vídeo, tanto por parte del docente, como del
alumno.
 La sala de informática será útil en la tercera unidad de la materia, con el fin de que los
alumnos puedan materializar diversos algoritmos haciendo uso del lenguaje de
programación Python.

…………………………….........……… ………………………………………………………..

Firma del alumno/a Firma del Padre, Madre o Tutor

6 de 57
NTICx - 4° Año INSMB 2019

UNIDAD 1: ALFABETIZACIÓN INFORMÁTICA -


COMPUTACIONAL

CONTENIDOS DE LA UNIDAD 1

En esta alfabetización se destacan conceptos relacionados con el funcionamiento de las distintas


partes físicas y lógicas que componen a un computador, los periféricos y la terminología que
permite la comprensión de esta tecnología.

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

TÉCNICA, TECNOLOGÍA E INNOVACIÓN

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:

 Nace en la imaginación y luego se pone en práctica. Puede originarse en la prueba y error.


 Se suele transmitir entre las personas y se mejora con la práctica y el tiempo.
 Se asocia a tareas artesanales.

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:

 Se basa en teoría (ciencia) y práctica (técnica).


 Surge a partir de la sistematización de los medios de producción (el origen del concepto
data de la Revolución Industrial).
 La actividad tecnológica suele ser realizada por máquinas (aunque no necesariamente).
 El término también se hace extensivo a los productos tecnológicos, que son portadores de
dimensiones no sólo técnicas y científicas, sino también económicas, culturales y sociales,
y cuyo objetivo ideal debería ser mejorar la calidad de vida.

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.

DATO, INFORMACIÓN, INFORMÁTICA Y NTICX

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

tratamiento automático de información en dispositivos electrónicos. Es un acrónimo de las


palabras francesas information y automatique (información automática).

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.

CARACTERÍSTICAS GENERALES DE UN COMPUTADOR

El término computar significa calcular (numéricamente). Sin embargo, al hablar de un


computador, el concepto puede extenderse al hecho de procesar datos para obtener información.
La forma de procesar esos datos estará definida por una secuencia de pasos denominada
algoritmo. De este modo, la naturaleza de las computadoras es realizar cálculos y ejecutar
algoritmos creados por el ser humano, más precisamente los programadores. En consecuencia, las
computadoras son útiles para realizar tareas repetitivas y/o “aburridas”, en las que las personas
son propensas a equivocarse. Por otro lado, la PC (Personal Computer) es un computador
multipropósito, dirigida a un usuario final y diseñada para cumplir tareas tales como navegar por
Internet, editar textos, jugar videojuegos, etc. (por tal motivo, se dice que es multipropósito).
Existen dos tipos básicos de PC: de escritorio (diseñada para una ubicación fija, debido a su
tamaño y requerimientos de energía) y portátiles (móviles y con los periféricos “esenciales”
incorporados al equipo).

1 Diseño curricular para la educación secundaria - NTICx (https://bit.ly/2zUfQ7b), página 18.

9 de 57
NTICx - 4° Año INSMB 2019

HARDWARE: COMPONENTES FÍSICOS

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.

HARDWARE SEGÚN SU FUNCIONALIDAD


 Hardware básico: incluye los dispositivos necesarios para iniciar la computadora: placa
madre, fuente de alimentación, microprocesador y memorias. Dado que una PC puede
funcionar sin disco rígido, muchos autores lo excluyen (correctamente) de esta
clasificación. Sin embargo, a lo largo del desarrollo de este apunte, se lo incluirá entre los
componentes básicos.
 Hardware complementario: son aquellos dispositivos que complementan a la
computadora, pero que no son fundamentales para su funcionamiento: impresoras,
webcam, placas (de sonido y video), etc.

HARDWARE SEGÚN SU UBICACIÓN


 Periféricos: refiere a la periferia, es decir a los dispositivos externos al gabinete.
 Componentes internos: dispositivos que son internos al gabinete.

HARDWARE SEGÚN SU FLUJO DE INFORMACIÓN


 Periféricos de salida: permiten la salida de información, procesada previamente por la
CPU. Ej.: monitor, impresora.
 Periféricos de entrada: permiten introducir datos a la computadora. Ej.: teclado, mouse.
Existen ciertos dispositivos que pueden ser considerados tanto de entrada como de salida,
por ejemplo, las impresoras multifunción o las pantallas táctiles.
 Periféricos/dispositivos de almacenamiento: guardan datos (persistentemente) de los
que hace uso la CPU. Ejemplo: disco duro, pendrive, DVD, Blu-Ray etc.
 Periféricos de conectividad: permiten la interacción entre computadoras. Ej.: módem.
 Dispositivos de procesamiento: dispositivos (internos) que transportan y almacenan
datos (de forma transitoria) y/o los procesan generando un cierto tipo de información. Ej.:
placa madre, CPU, memoria RAM, etc.

10 de 57
NTICx - 4° Año INSMB 2019

HARDWARE BÁSICO

Placa madre (Motherboard): es la pieza fundamental y (en términos


físicos) la más grande de todas. Se encarga de intercomunicar los
periféricos y los componentes internos entre sí, siendo el lugar donde (en
su mayoría) estos últimos se alojan. Posee los siguientes componentes:

 Conector/es de alimentación, donde viaja la corriente eléctrica proveniente de la fuente.


 Zócalo (socket) de CPU, un receptáculo cuadrado donde se inserta el procesador.
 Ranuras (o slots) de memoria RAM, donde se insertan dichas memorias.
 Chipset, que gestiona la transferencia entre los distintos componentes internos.
 Slots de expansión, los cuales permiten la inserción de tarjetas (placas) adicionales, por
ejemplo, de sonido o de video.
 Memoria ROM (Read Only Memory o memoria de solo lectura) que, integrada
a la placa madre, almacena el BIOS (Basic Input Output System) y la
configuración más básica (por ejemplo, la fecha y hora) de la computadora.

(Micro)-Procesador: es el “cerebro” de la computadora. Por lógica es


llamado CPU (Central Process Unit, unidad central de procesamiento).
Está formado por la Unidad de Control (UC), encargada de buscar,
interpretar y llevar a cabo instrucciones desde la memoria principal
(RAM) y la Unidad Aritmético Lógica (ALU), que realiza operaciones aritméticas (suma,
resta, multiplicación y división) y lógicas (si, y, o, no). Características a tener en cuenta:
 Cantidad de núcleos: refiere a la cantidad de procesadores dentro del mismo chip. Cada
núcleo de procesador puede encargarse de una tarea distinta, permitiendo así el trabajo
multitarea.
 Memoria caché: es una memoria ultra-rápida que emplea el procesador para tener
alcance a los datos y a los resultados de las instrucciones de procesos más solicitados: de
este modo, el procesador no tendrá que acceder a la memoria RAM ni al disco rígido
para buscar estos datos, ni tampoco volver a ejecutar estas instrucciones una y otra vez.
Por esta razón, permite que los procesos se “ejecuten” mucho más rápido. Respecto al
tamaño, es muy, pero muy pequeña (en el orden de los Kilobytes o los Megabytes).
 Velocidad reloj: es el tiempo en que se tarda en procesar el ingreso de datos, para
finalmente otorgar un resultado. La velocidad o frecuencia del procesador se mide en
ciclos por segundo, también denominados hercios (hz). Sin embargo, el hertz es una
unidad muy pequeña en lo que respecta a las altas frecuencias de los procesadores, por lo
que se agrupan en: KiloHertz (1 Khz = 1000 hz), MegaHertz (1 Mhz = 1000 Khz) y GigaHertz
(1 Ghz = 1000 Mhz). Actualmente, un procesador común tiene velocidades de entre 1 y 3.5
Ghz. Algunos alcanzan los 5.0 Ghz. Existe una práctica conocida como Overclocking, que
consiste en alcanzar una velocidad por encima de las especificadas por el fabricante. La

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.

Dispositivos de enfriamiento: retiran el exceso de calor de los componentes. Los más


comunes son los coolers o ventiladores (dispositivos activos, es decir que disponen de
partes móviles) y los disipadores de calor (dispositivos pasivos).

Fuente eléctrica o de alimentación: provee de energía a la computadora otorgando el


voltaje adecuado para que cada componente funcione correctamente.

Disco duro o rígido: es un dispositivo de almacenamiento masivo y no volátil que


almacena el sistema operativo y los archivos (o datos) del usuario. Se denomina disco
duro ya que, por dentro, posee una serie de discos metálicos donde se guardan todos
estos datos. Sin embargo, hay que tener en cuenta que es un componente muy pero
muy lento ya que, para leer un determinado dato, hay que esperar a que el disco “gire”
para luego posicionar el cabezal de lectura en la sección exacta donde este dato se
encuentra. Por esto, se dice que es de acceso secuencial.

Memoria RAM (Random Access Memory o memoria de acceso aleatorio): es una


memoria de trabajo que almacena los datos y resultados de procesos de programas
que están abiertos mientras la computadora está prendida (si esta se apaga, los datos
cargados en dicha memoria se pierden). A modo de ejemplo, mientras se tiene abierto
un documento de Word, este y todo lo que se escribe mediante el teclado se carga en
memoria RAM; a su vez, los cambios en este documento sólo se almacenarán en el
disco duro cuando esto se indique con el botón guardar. Como su nombre lo indica, no
es secuencial, sino que aleatoria: esto quiere decir que un determinado dato se puede
leer desde cualquier sección de la misma y en cualquier momento, lo que significa que
es más veloz que el disco duro. Es directamente accedida por el procesador y cargada

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).

Puertos de comunicación: se encuentran en el dorso de la placa madre y permiten la conexión


con los periféricos externos. También pueden añadirse mediante placas de expansión.

INTERACCIÓN ENTRE COMPONENTES INTERNOS

¿Cómo interactúan los componentes internos?

1. Suponiendo que un usuario se encuentra utilizando un programa, la CPU obtiene las


instrucciones desde la memoria principal (RAM), ingresadas, por ejemplo, con un clic del
mouse, o desde el teclado (ambos, periféricos de entrada).
2. En base a estas instrucciones, la CPU carga en memoria principal (desde el disco) los datos
útiles para cumplir su objetivo. Esto sólo se realiza si es necesario, es decir, si los datos no
han sido cargados previamente en memoria. La comunicación entre los componentes se
realiza a través de los dispositivos de conectividad, distribuidos en la placa madre.
3. Conforme el usuario utiliza la aplicación, los datos y resultados de los procesos recientes
se almacenan en memoria caché para que, en caso de volver a solicitar una instrucción ya
anteriormente pedida, no se pierda tiempo resolviéndola nuevamente u obteniendo
(desde memoria RAM o disco) los datos necesarios para resolverla. Es importante recordar
que también existe una copia de estos datos y resultados de procesos en la memoria
RAM; sin embargo, dado que la memoria caché se encuentra en el procesador, el acceso
a esta última es muchísimo más rápido.

¿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.

Placa de sonido: es la placa que controla el sonido en una computadora. La


mayoría de veces viene integrada en la placa madre.

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:

Teclado: componente fundamental para efectuar el ingreso manual de datos e


instrucciones a una computadora. La forma más extendida de ubicación de las teclas se
denomina QWERTY.

Mouse: dispositivo electrónico que permite dar instrucciones a la computadora a


través de un puntero en la pantalla.

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:

Monitor: permite la visualización de las tareas que se llevan a cabo en la PC.


Anteriormente eran del tipo CRT (tubo de rayos catódicos), y ahora LCD (pantalla de
cristal líquido) y LED (Diodos emisores de luz).

Altavoces: emiten sonidos procedentes de la placa de sonido (generalmente


incorporada a la placa madre).

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.

Impresora multifunción: incluyen, además de la función básica de imprimir (salida),


la de escanear (entrada).

PERIFÉRICOS DE ALMACENAMIENTO MASIVO


Almacenan datos por bastante tiempo, es decir, de manera permanente. Pueden ser internos
(como un disco duro) o extraíbles (como un CD, un Pendrive o un disco externo). La memoria
RAM no puede ser considerada un dispositivo de este tipo, ya que es volátil y transitoria.

Dispositivos ópticos, como CD-R, CD-RW, DVD-R y DVD-RW y Blu-ray Disc.

Memoria Flash: tarjetas de memoria no volátiles, que conservan los datos aun no
estando alimentadas por una fuente eléctrica.

Memoria USB (o Pendrive): es un dispositivo de almacenamiento que utiliza


una memoria de tipo flash para guardar información.

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

SOFTWARE: COMPONENTES LÓGICOS

Se denomina Software al equipamiento o soporte lógico de un sistema informático por lo tanto, a


diferencia del Hardware, es intangible. Incluye a todo programa o aplicación programada para
realizar tareas específicas. Distintas clasificaciones del Software:

 Según su utilidad: Software de sistema, de programación y de aplicación.


 Según su licencia y distribución: Software propietario, Software libre, Freeware y
Shareware. Existen otros tipos dentro de esta categoría, pero por lo general son
variaciones del Software libre o propietario.

SOFTWARE SEGÚN SU UTILIDAD


Software de sistema: permite utilizar el Hardware. Incluye el sistema
operativo, los controladores de dispositivos (drivers), las utilidades de sistema
y más. Su propósito es evitar lo más posible los detalles complejos de la
computación, especialmente los relacionados a la gestión de memoria y del
Hardware. Ejemplos: Windows, Linux o Android.

Software de programación: permite desarrollar programas informáticos. Provee


herramientas al programador que permiten escribir código fuente. Ejemplos de
Software de programación son Visual Studio, Code::Blocks o Eclipse.

Software de aplicación: permite a los usuarios utilizar la computadora con un fin


específico. Dichas aplicaciones se ejecutan sobre el Sistema Operativo (Software de
sistema). Ejemplos: Chrome, Firefox, Word, Excel o Avast Antivirus.

SOFTWARE SEGÚN SU LICENCIA Y DISTRIBUCIÓN


La licencia refiere al conjunto de permisos otorgados para la distribución, uso y/o modificación del
Software. También puede indicar plazos de duración, territorio donde aplica y más.

 Software propietario: posee restricciones en su uso, copia o modificación (se puede


ejecutar bajo ciertas condiciones). El producto no es del usuario, sino que de la empresa o
desarrollador, que especifica el rango de uso permitido. Su código fuente no está
disponible (es de código cerrado). Ejemplos: Office, Windows, etc.
 Software libre: cualquiera puede usarlo, copiarlo y/o distribuirlo, con o sin
modificaciones, gratuitamente o mediante pago. En particular, esto significa que el código

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

Los componentes de un sistema operativo son el núcleo (denominado Kernel) y la interfaz de


usuario (gráfica o no, denominada Shell). Familias de sistemas operativos conocidas
son Windows, Linux o Mac OS. Existen diversas clasificaciones de S.O. según la:

 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.

INTERFAZ DE USUARIO DE SISTEMA OPERATIVO

Un S.O. con interfaz (o shell) gráfica brinda un espacio de comunicación


definido por ventanas, íconos, menús, y un puntero de mouse. Ejemplo:
Windows 7, Android.

En cambio, un sistema operativo sin interfaz (o shell) gráfica, permite la


interacción a través una línea de comandos. Ejemplo: DOS, UNIX.

19 de 57
NTICx - 4° Año INSMB 2019

DIGITALIZACIÓN Y SISTEMA BINARIO

La digitalización consiste en la conversión de datos analógicos (representaciones del mundo


“real”, denotadas mediante ondas) a secuencias de ceros y unos (datos digitales) que son
entendibles por las computadoras.

 ADC: Analogic to digital Converter.


 DAC: Digital to Analogic Converter.

¿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”.

CONVERSIÓN DE NÚMEROS DECIMALES A BINARIO Y VICEVERSA


Existen diversas formas de convertir números decimales a binario. Una de estas es el método de
distribución, que consiste en utilizar potencias de 2. A fin de explicar este método, en la siguiente
secuencia de pasos se tomará como ejemplo la conversión del número (18)10 a binario:

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

 Segundo bit: 21 = 2, se añade 1 (uno) al anterior exponente (0+1)


 Tercer bit: 22 = 4, se vuelve a añadir 1 (uno) al anterior exponente (1+1)
 Cuarto bit: 23 = 8
 Quinto bit: 24 = 16
 Sexto bit: 25 = 32
 Séptimo bit: 26 = 64

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.

5. Para finalizar, se deben rellenar los casilleros restantes con ceros:

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).

7. Como paso final, se representa la igualdad matemáticamente. Esto quiere decir:


(18)10 = (10010)2.

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):

Letra Decimal (ASCII) Binario


A 65 0100 0001
Q 84 0101 0001
U 85 0101 0101
I 73 0100 1001

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:

 Byte: es una unidad de información que equivale a 8 bits.


 Kilobyte (KB): equivale a 1.024 bytes.
 Megabyte (MB): equivale a 1024 KB.
 Gigabyte (GB): equivale a 1.024 MB.
 Terabyte (TB): equivale a 1.024 GB.

Otras unidades de medida:

 Petabyte (PB): equivale a 1.024 TB.


 Exabyte (EB): equivale a 1.024 PB.
 Zettabyte (ZB): equivale a 1.024 EB.
 Yottabyte (YB): equivale a 1.024 ZB.

24 de 57
NTICx - 4° Año INSMB 2019

UNIDAD 2: ALFABETIZACIÓN EN REDES


DIGITALES DE LA INFORMACIÓN

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

¿QUÉ ES UNA RED?

Una red es un conjunto de elementos autónomos que están conectados


entre sí por medios físicos y/o lógicos con el objetivo de compartir
recursos (Hardware y Software). La constituyen, además, las personas que
solicitan, proporcionan e intercambian experiencias e información.

INFORMACIÓN ANALÓGICA Y DIGITAL

La información puede representarse mediante


señales. Una señal es una variación de un
fenómeno físico (voltaje o luz) en el tiempo. Es
importante tener en cuenta que cuando una
señal se transporta a través de un medio, sufre
de un fenómeno denominado atenuación, que
es la pérdida de energía de la señal. Existen dos
tipos de señales: analógica y digital.

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

La tasa de transferencia determina el volumen de datos transferidos por un computador a través


de una red, teniendo en cuenta factores tales como interferencias, limitaciones físicas, equipos
conectados a la red, etc. Enumerados todos estos factores, la tasa de transferencia puede variar
en un momento dado. Se mide en “bps” (bits por segundo) y, a diferencia de las unidades de
medida convencionales, no existe el concepto de “byte”: 1000 bps equivalen a 1 Kbps, 1000 Kbps
equivalen a 1 Mbps y 1000 Mbps a 1 Gbps: por eso, cuando por ejemplo un proveedor ofrece 20
“megas” de Internet, la velocidad suele ser bastante menor a la esperada (ya que se expresa en
bits, no en bytes).

ARQUITECTURA DE LAS REDES

Existen distintos tipos de redes, las cuales se clasifican de acuerdo a su tamaño y distribución
lógica.

PAN (PERSONAL AREA NETWORK)

 Redes de área personal (o de proximidad) que abarcan unos pocos


metros.
 Las tecnologías PAN más utilizadas son las conexiones por infrarrojo y
los módulos Bluetooth.

LAN (LOCAL AREA NETWORK)


 Redes de área local donde los equipos están conectados
dentro de un área geográfica pequeña y generalmente utilizando la
misma tecnología (la más utilizada es Ethernet).
 Se trata de un conjunto de equipos que pertenece a la
misma organización (empresa, fábrica, escuela, etc.).
 Estas redes poseen alta velocidad de transferencia.

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).

MAN (METROPOLITAN AREA NETWORK)


 Redes de área metropolitana (ciudad), que conectan a alta
velocidad diversas LAN geográficamente cercanas entre sí, en
un área de hasta 50 kilómetros.
 Para conectar las LAN se puede utilizar fibra óptica o enlaces
inalámbricos (generalmente ondas de radio).
 Ejemplo: proveedores de Internet (ISP, Internet Service
Provider) locales.

WAN (WIDE AREA NETWORK)


 Red de área amplia, la cual abarca un área geográfica
extensa (de hecho, la WAN más grande que existe es Internet).
 Consiste en un conjunto de redes LAN y MAN, las cuales se
conectan entre sí a través de routers.
 Poseen una velocidad de transferencia baja en comparación
a una LAN.

FORMAS DE CONEXIÓN (MEDIOS)

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.

Cable coaxial: consiste en un conductor de cobre rígido rodeado de un aislante


que evita las interferencias (de hecho, es menos susceptible a estas que el par
trenzado). Debido a su dureza, su instalación es complicada. Posee menor tasa de
transferencia que la fibra óptica y el par trenzado.

28 de 57
NTICx - 4° Año INSMB 2019

Cable UTP (o par trenzado): es el más usado para instalaciones


(generalmente de redes LAN), debido a su gran capacidad de transmisión y
facilidad de instalación. Dentro del plástico protector, los cables se trenzan
de a pares para disminuir interferencias, de ahí su nombre. Posee grandes
tasas de transferencia (que, actualmente, van desde los 100 Mbps hasta 1
Gbps). Pese a sus ventajas, es más susceptible a interferencias que el coaxial.

Fibra óptica: consiste en un centro de cristal rodeado de varias capas de


material protector. A diferencia de los anteriores medios de conexión, no
transmite electricidad (es decir, no radia energía), sino luz, con lo que las
interferencias se eliminan totalmente de forma natural. Ofrece mejores
ventajas en cuanto a transmisión ya que tiene mayor tasa de transferencia
que UTP, por lo cual es capaz de enviar y recibir mayor cantidad de datos.

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.

Wi-Fi: es una tecnología especialmente diseñada para equipos portátiles, que


utiliza ondas omnidireccionales. Una de las desventajas es su alta susceptibilidad
a interferencias electromagnéticas. La tasa de transferencia va (normalmente)
desde los 54 a los 300 Mbps.

PROTOCOLO TCP/IP: EL PROTOCOLO DE INTERNET

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”.

¿QUÉ ES Y CÓMO FUNCIONA INTERNET?

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:

Arquitectura cliente/servidor simplificada

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.

SOLICITUD DE UNA PÁGINA WEB (CLIENTE/SERVIDOR)


Visto todo lo anterior, en esta sección nos abstraeremos de la existencia de TCP e IP, centrándonos
únicamente en DNS y HTTP. Sin embargo (y aunque parezca repetitivo), es importante volver a
recordar que, en cada transferencia de datos, TCP e IP están participando de forma activa. De
este modo, suponiendo que queremos acceder desde un navegador de nuestra PC a
“www.facebook.com” (y suponiendo que el servidor de Facebook posee la dirección IP
157.240.7.35), la computadora (o conjunto de estas) donde se aloja la web de Facebook es el
servidor; y, nuestra PC (desde la que se solicita la página), el cliente. De este modo, luego de

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:

1) Antes de realizar la solicitud al servidor, la PC desde donde se accede a la página necesita


conocer cuál es la dirección IP de www.facebook.com, ya que este último es tan sólo un
“nombre” e Internet se maneja con direcciones IP. Para esto el cliente le envía, a modo de
consulta, el nombre (www.facebook.com) al servidor DNS.
2) El servidor DNS devuelve al cliente la dirección IP de Facebook (en este caso
157.240.7.35).
3) Como ahora nuestra PC (el cliente) ya dispone de la dirección IP de Facebook, desde el
navegador se realiza una petición de tipo HTTP, solicitando el recurso por defecto (en este
caso la página de inicio de Facebook). Al ser de tipo HTTP, el servidor “ya sabe” que debe
devolver un documento “web”, normalmente un HTML.
4) Si el recurso solicitado existe, el servidor retorna al cliente un código de confirmación
(200), junto con el recurso (la página solicitada); de otro modo, retorna un código error
(404).
5) El cliente recibe el documento HTML, que es leído y traducido por un navegador (por
ejemplo Firefox, Chrome, Explorer, etc.).

Arquitectura cliente/servidor: interacción entre cliente y servidores DNS y HTTP

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:

 Conceptos de programación, algoritmo y variable.


 Variables numéricas y de texto.
 Pseudocódigo: entrada, salida y proceso.
 Estructuras de decisión: Si y Sino.
 Estructuras de decisión anidadas.
 Funciones y procedimientos.
 Estructuras repetitivas exactas: ciclo Para.
 Operadores relacionales, lógicos y algebraicos.

35 de 57
NTICx - 4° Año INSMB 2019

PROGRAMACIÓN

El propósito de la programación es la creación de programas destinados a la resolución


de un problema o necesidad. Se implementan en un lenguaje determinado, por ejemplo
Python, C++, C# o Java, cada uno de cuales cuenta con un léxico y gramática
determinados (al igual que el lenguaje humano). Un programa permite procesar
determinados datos de entrada, y en base a uno o más procesos, ofrecer informació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. Todos los pasos deben estar numerados (en orden).


2. Las instrucciones deben constar de verbos infinitivos (terminados en “-ar”, “-er” e “-ir”).

La estructura es más o menos la siguiente:

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

2. Determinar el valor de j al finalizar el algoritmo:


1. Iniciar x en 4
2. Iniciar j en 2
3. Añadir a j el valor de x

3. Determinar el valor de j al finalizar el algoritmo:


1. Iniciar x en 4
2. Iniciar X en 8
3. Guardar en j la suma de x y X

4. Escribir un algoritmo donde, dada la variable j inicializada en 3, se calcule su triple.

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”).

5. Determinar el valor de h al finalizar el algoritmo:


1. Iniciar k en 3
2. Asignar k a h
3. Asignar el valor 10 a k
4. Sumar k a h

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”.

Actividad: volver a rescribir los anteriores algoritmos en su forma “simplificada”.

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”.

2. Determinar el valor de p al finalizar el algoritmo:


1. k = “¿cómo”
2. p = “estás?”
3. k = k + “ ” + p

3. Determinar el valor de p al finalizar el algoritmo:


1. p = “Este es”
2. l = p
3. p = “ un mensaje”
4. m = l
5. m = m + p
6. p = m + “ de texto :)”

4. Escribir el siguiente algoritmo de forma simplificada:


1. Iniciar p en “casa”
2. Iniciar k en “llegué”
3. Iniciar x en “a mi”
4. Asignar “hogar” a p
5. Iniciar texto en k
6. Añadir “ ” a texto
7. Añadir x a texto

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:

1. Numero(x): devuelve el valor de x convertido a un número. Sólo es válido si x contiene


texto numérico, por ejemplo, si x es igual a “22”. No sería válido utilizar la función si x
fuera igual a, por ejemplo, “¡Hola mundo!”. Por otro lado, si x ya es una variable de tipo
numérica, la función retorna el mismo valor.
2. Texto(x): devuelve el valor de x convertido a texto. Si x ya es una variable de tipo texto, la
función retorna el mismo valor.

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)

2. Determinar el valor de p al finalizar el algoritmo:


1. p = “hola”
2. j = 2
3. p = p + Texto(j)

3. Determinar el valor de p al finalizar el algoritmo:


1. p = “hola”
2. j = 2
3. p = Numero(p) + Texto(j)

4. Determinar el valor de p al finalizar el algoritmo:


1. p = “4”
2. j = 2
3. p = Numero(p) + j

SALIDA DE DATOS

En los algoritmos vistos hasta el momento, es posible saber en qué valores


finalizan cada una de las variables involucradas. Sin embargo, si a esos
algoritmos los interpretara una computadora, en ningún caso mostraría
nada en la pantalla, puesto que en ningún momento se le especifica que
haga tal cosa (recordemos ¡la computadora no hará nada que uno no le diga!). Para entender
mejor esto, es interesante tomar como ejemplo el algoritmo del ejercicio 1, de las actividades con
variables numéricas:

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:

1. Mostrar “Este algoritmo realiza la suma de los números 10 y 15.”


2. n1 = 10
3. n2 = 15
4. suma = n1 + n2
5. Mostrar suma

Siguiendo paso a paso el algoritmo, al finalizar, la salida completa sería:

Este algoritmo realiza la suma de los números 10 y 15.


25

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).

A pesar de que en el ejemplo anterior se ha podido mostrar un mensaje de forma literal, al


finalizar el algoritmo se muestra un “25” sin explicar mucho de qué se trata este número: por eso,
también es útil mostrar variables acompañadas de textos literales. Por ejemplo, para el caso, se
podría mostrar ese “25”, acompañado de un mensaje de forma que, al ejecutar el algoritmo, la
salida sea: “El resultado es 25”. Para esto, simplemente habría que utilizar el operador de
concatenación (“+”). Sin embargo, es importante recordar que, para los casos en los que se quiera
mostrar un número combinando textos, con el fin de evitar problemas de ambigüedad, se deberá
utilizar la función de conversión “Texto(x)” (que recordemos, convertía un número a texto).
Además, se deberían agregar los espacios correspondientes (para evitar que ciertas partes del
mensaje, se muestren “todojunto”). De modo que, teniendo en cuenta lo descrito, el paso 5 del
anterior algoritmo, quedaría definido de la siguiente forma:

5. Mostrar “La suma es ” + Texto(suma)

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:

1. Si una variable es número, la convierte automáticamente a texto.


2. Agrega el espacio (“ ”) correspondiente entre las secciones separadas por coma.

De modo que, teniendo en cuenta lo anterior, el algoritmo quedaría definido de la siguiente


manera:

1. Mostrar “Este algoritmo realiza la suma de los números 10 y 15.”


2. n1 = 10
3. n2 = 15
4. suma = n1 + n2
5. Mostrar “La suma es”, suma

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:

Este algoritmo realiza la suma de los números 10 y 15.


La suma es 25

Para finalizar, se lista un resumen de las formas posibles de uso de la instrucción “Mostrar”:

1. Mostrar x: muestra el valor de la variable x.


2. Mostrar “El valor de la variable x es”, x: suponiendo que el valor de la variable x es 5, se
visualizará el mensaje “El resultado es 5”.
3. Mostrar El resultado es, resultado: error, la sintaxis es incorrecta (ya que el texto no está
entrecomillado).
4. Mostrar “El resultado es, resultado”: muestra el texto literal.
5. Mostrar “La suma de”, n1, “y”, n2, “es”, r: suponiendo que n1 vale 2 y que n2 vale 3 (y
que r es 5), se mostrará: “La suma de 2 y 3 es 5”.
6. Mostrar a, b, c: muestra los valores de las variables a, b y c (si están definidas, de otra
forma, la instrucción es errónea).

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

2. Dar la salida completa del siguiente algoritmo:


1. Mostrar “El siguiente algoritmo calcula el promedio de 3 notas”
2. nota1 = 10
3. nota2 = 8
4. nota3 = 9
5. promedio = (nota1 + nota2 + nota3) / 3
6. Mostrar “El promedio es”, promedio

3. Determinar la salida del siguiente algoritmo. Además ¿cuál es el valor de la variable p al


finalizar?
1. x = 55235
2. msg = “Hola ” + Texto(x)
3. msg = msg + “ :p”
4. p = 50
5. p = 100 + p
6. Mostrar msg
7. p = p – 50

4. Determinar la salida del siguiente algoritmo. Además, ¿cuál es el valor de la variable _m al


finalizar?
1. x = “Hola ”
2. y = “como ”
3. j = “estas ”
4. _m = 5
5. m = x + y + j
6. m = m + “pepe”
7. m_ = 10
8. _m = _m - 5
9. Mostrar “El mensaje es”, m

ENTRADA DE DATOS

En el mundo de la programación, también es necesario que el usuario pueda


ingresar datos que se almacenen en determinadas variables. Por ejemplo, si se
toma el caso de un algoritmo que sume dos números, sería útil que el usuario
pueda ingresarlos a ambos: al igual que en el caso de la salida, esto se logra con una
palabra clave que, en vez de “Mostrar”, es “Pedir”.

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

3. Determinar la salida del siguiente algoritmo. Suponer p=“Facundo Cáceres”:


1. Pedir texto p
2. Mostrar “Hola”, 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”.

6. Escribir un algoritmo que permita el ingreso del nombre y apellido de un alumno y de 3


notas para, finalmente, mostrar su promedio. Al finalizar, el algoritmo deberá indicar el
nombre completo junto al promedio. Ejemplo de salida: “Promedio de Gonzalo Perez: 9.33”.

SENTENCIAS DE DECISIÓN

Al momento, se ha estado trabajando con algoritmos “lineales”, es decir algoritmos


que siguen un flujo único. Sin embargo, en ocasiones, también es útil modificar el
comportamiento de un algoritmo según los valores de ciertas variables.

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. Pedir número nota


2. Si nota es mayor o igual a 7:
3. Mostrar “Aprobado”

Puntos a tener en cuenta en base al ejemplo anterior:

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:

1. Pedir número nota


2. Si nota es mayor o igual a 7:
3. Mostrar “Aprobado”
4. Sino:
5. Mostrar “No aprobado”

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.”

3. ¿Cuál es el valor de la variable x al finalizar? Dar la salida completa del algoritmo.


1. x = 5
2. Si x es mayor o igual a 5:
3. x=x+5
4. Si x es menor a 10:
5. x = x + 10
6. Mostrar “Se ha sumado 10 a x.”
7. Sino:
8. x=x+5
9. Mostrar “Se ha sumado 5 a x.”
10. j = x + 10
11. Mostrar “El valor de j es:”, j

4. Dado el siguiente algoritmo:


1. Pedir texto usuario

47 de 57
NTICx - 4° Año INSMB 2019

2. Pedir texto clave


3. Si usuario es igual a “NTICx”:
4. Si clave es igual a “1234”:
5. Mostrar “Usuario y clave correctos, bienvenido.”
6. Sino:
7. Mostrar “Verifique la clave ingresada :(“
8. Sino:
9. Mostrar “El usuario especificado no existe.”

¿Cuál es la salida si se ingresa usuario=“NTICx” y clave=”12345”? ¿Y si se ingresa


usuario=“pepito” y clave=“1234”? ¿Cuáles deberían ser los valores de las variables usuario y
clave, para que se ejecute el paso número 5 del algoritmo?

SIMPLIFICACIÓN DE ESCRITURA DE CONDICIONES


Si bien las sentencias de decisión se pueden expresar de manera natural (por ej. “Si nota es mayor
o igual a 7”), también es posible (y útil) utilizar los denominados operadores relacionales. De este
modo, la escritura del algoritmo que verifica si un alumno está o no aprobado, puede simplificarse
de la siguiente manera:

1. Pedir número nota


2. Si nota >= 7:
3. Mostrar “Aprobado”
4. Sino:
5. Mostrar “No aprobado”

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”

MÁS DE UNA CONDICIÓN


En ocasiones, es útil ejecutar una serie de instrucciones sólo en caso de cumplir con más de una
condición: para esto existen los operadores “y” y “o”.

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”.

4. Diseñar un algoritmo que permita el ingreso de 5 números y que muestre únicamente


aquellos que son naturales.

5. Dado el siguiente algoritmo:


1. Pedir número n
2. Si n >= 7:
3. Mostrar “Aprobado”
4. Sino Si n > 3:
5. Mostrar “Diciembre”
6. Sino:
7. Mostrar “Aplazado”

¿Qué mostraría el algoritmo en caso de que el usuario ingrese un 5? ¿Y un 10? ¿Y un 11?


Teniendo en cuenta que la nota máxima es 10 y la mínima es un 1, ¿cuál sería el error del
algoritmo? Implementar una posible solución.

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í.

7. Diseñar un algoritmo que dado el ingreso de un texto, indique si es una vocal.

50 de 57
NTICx - 4° Año INSMB 2019

FUNCIONES Y PROCEDIMIENTOS: DIVIDE Y VENCERÁS

Una función o procedimiento es un conjunto de instrucciones que tiene el fin de


agrupar funcionalidades similares para, de este modo, evitar algoritmos muy largos o
difíciles de leer.

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:

Función nombre(parametro_1, …, parametro_n):

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:

Función mayor(n1, n2):

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.

3. En base a la función anterior, ¿qué muestra el siguiente algoritmo?:

1. mb = 15
2. mb = 10 + mb
3. kb = mb_a_kb(mb)
4. Mostrar “La cantidad de kilobytes es:”, kb

ITERACIONES: CICLO PARA

Además de controlar el flujo del programa (mediante condiciones) y de abstraer los


algoritmos (utilizando funciones), en ciertos casos, también es necesario que una
secuencia de instrucciones se repita (itere) una cierta cantidad de veces.

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:

1. Para i desde x hasta y:


2. Mostrar “Número de vuelta”, i

53 de 57
NTICx - 4° Año INSMB 2019

Explicación: como en el caso de la sentencia Si, las instrucciones a ejecutar subordinadas a la


sentencia Para, deben ir indentadas. A su vez, esta sentencia tiene un inicio y un fin: para la
estructura presentada, el inicio es x y el fin es y.

¿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:

1. Para i desde 0 hasta 2:


2. Mostrar “Nro. de vuelta”, i

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

En cambio, utilizando el ciclo Para, el algoritmo se simplificaría de la siguiente manera:

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

Notar como ¡de 10 pasos, se ha pasado a sólo 5!

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).

VARIABLES ACUMULADORAS Y CONTADORAS


Implícitamente, en nuestro ejemplo de suma utilizando el ciclo Para, se hizo uso de una variable
que acumulaba (es decir, sumaba) todos los números que ingresaba el usuario. De forma obvia,
este tipo de variables se denominan variables acumuladoras. También existen otro tipo de
variables, las variables contadoras que en, vez de acumular, suman de a 1. Por ejemplo, si se
desea diseñar un algoritmo que permita el ingreso de 30 notas y que muestre cuántos aprobados
hay, se necesitaría de una variable que cuente cuántas veces se ingresó una nota mayor o igual a
7. El algoritmo, entonces, quedaría definido de la siguiente manera:

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

Puntos a tener en cuenta:

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

¿Qué es lo que muestra el algoritmo? ¿En cuánto finaliza la variable i?

2. Dado el siguiente algoritmo:


1. var = 5
2. Para i desde 0 hasta 9:
3. Si i > 5:
4. var = var + i
5. Sino:
6. var = var - i
7. i = i + 10
8. Mostrar i
¿Qué muestra el algoritmo al finalizar? ¿Cuál es valor de la variable var?

3. Dado el siguiente algoritmo:


1. n_ = 2
2. _n = n_ + n_
3. Para i desde 0 hasta 9:
4. Pedir número n
5. Si n > 10:
6. Mostrar “¡Es mayor a 10!”
7. n_ = n_ + 1
8. Sino:
9. Mostrar “¡Es menor o igual a 10!”
10. _n = _n + 1

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:

 Alegsa. Diccionario de informática. [online] http://www.alegsa.com.ar/Dic/p.htm.


 Buenos Aires Provincia. Dirección de cultura y educación. [online] abc.gov.ar.

Otra bibliografía y recursos utilizados:

 Gay A., Ferreras M. A.. La educación tecnológica. Aportes para su implementación.


Ministerio de cultura y educación de la nación. Capítulo V: la ciencia, la técnica y la
tecnología.
 Stallings W. (2001). Comunicaciones y Redes de Computadores (sexta edición). Prentice
Hall.
 Andrada, A. M. (2017). Nuevas Tecnologías de la Información y la Conectividad / NTICx.
Dispositivos, saberes y prácticas. Maipue.
 Proyecto GNU. El sistema operativo GNU. [online] www.gnu.org.
 Apuntes y trabajos de cátedra de las materias “Programación I” y “Laboratorio I”. UTN
FRGP, Tec. Sup. en Programación y en Sistemas de Información.
 Apuntes y trabajos de cátedra de las materias “Teleinformática y Redes” y “Taller Libre II
(Sistemas Distribuidos y Programación Paralela)”. UNLu, Lic. en Sistemas de Información.

57 de 57

Das könnte Ihnen auch gefallen