You are on page 1of 88

FUNDAMENTOS DE PROGRAMACIN

Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:1



QU ES UN COMPUTADOR
DEFINICIN 1: En informtica la ciencia del tratamiento automtico de la
informacin, se llama COMPUTADOR, un aparato electromecnico o sistema
que es capaz de recibir y almacenar informacin, ordenarla y hacer con ella
operaciones lgicas y matemticas a muy alta velocidad. Utiliza las operaciones
matemticas bsicas (suma, resta, multiplicacin, divisin).

Est compuesto por una unidad central CPU, un teclado un monitor o pantalla.



DEFINICIN 2: La computadora es una mquina diseada para facilitar el
trabajo y la vida de las personas. Con ella realizamos clculos y diseos,
escribimos textos, guardamos informacin, enviamos y recibimos mensajes,
accedemos a cursos de nuestro inters, navegamos en el Internet, entre otras
cosas.



COMIENZOS DEL COMPUTADOR



FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:2

Su inicio pudo ser el baco (Chinos) aprox. 5,000 aos
La mquina de clculo de Blaise Pascal (1642) sumaba y restaba (Origin
las cajas registradoras) pascalina
La MAQUINA DE NUMEROS IMPRESOS Jhon Nappier
La mquina perforadora de Charles Babbage 1822
La tabuladora de Hermann Hollerith 1860 1929
La MARK I 1944 respaldado por IBM
El ENIAC 1946 con tubos al vaco UNIVAC
El IBM 650 1959 1965 alcanz el dominio industrial
El APPLE 2 1957 1977
El computador actual en sus diferentes modelos, marcas, procesadores,
velocidades y aplicaciones avanzadas, como: INTEL (Celeron, Pentium
3, Pentium 4, Xen, Itaniun2) AMD (ATHLON, DURON)


EVOLUCIN HISTORICA DE LOS COMPUTADORES

La siguiente tabla presenta la clasificacin por generaciones de computadores
ms ampliamente aceptada. En ella se destacan los principales avances
tecnolgicos y arquitectnicos que tienen lugar en cada una de las generaciones.




FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:3

ALGUNAS DE LAS IMGENES MS RELEVANTES DE LOS AVANCES
EN LA EVOLUCIN DEL COMPUTADOR
Mquina de Pascal

Charles Babbage y su mquina diferencial

Imagen de la Mark I basada en las ideas de
Babbage

EDVAC

UNIVAC II

IBM 7030

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:4

El primer microprocesador, el 4004 de Intel

El Apple II


EN RESUMEN
Qu es una computadora?
Es una herramienta al servicio del hombre
Es una mquina que procesa datos y nos sirve de informacin
Es una de los componentes de informtica


FUNCIONES BSICAS
Es el procesamiento de informacin, almacenar informacin, arrojar resultados.

NOTA: Para que un computador pueda trabajar debemos tener instalado el
SISTEMA OPERATIVO en el disco duro.

El sistema operativo es el primer programa que se carga en el computador al
arrancarlo. Y se encarga de regular su funcionamiento.

Los objetivos del sistema operativo son: facilitar a los programas del
usuario el acceso a los distintos recursos o dispositivos que se puedan
producir.

El sistema operativo permite establecer comunicacin entre el usuario y la
mquina (computador) a travs de una lnea de rdenes o comandos que
debe interpretar el computador para generar una respuesta.

Los ms conocidos actualmente son: todas las versiones de Windows.

Estos sistemas operativos son en ambiente grfico o de interfaz grfica, y
adems son diseados por la empresa Microsoft.

Existen otros sistemas operativos como linux, xenix, unx etc.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:5

MARCAS vs CLONES
Marcas
Si hablamos de marcas debemos hablar de tecnologa cerrada. Se pueden
actualizar algunas partes, alta confiabilidad, ms seguros, altos costos y
un buen soporte tcnico.

Ejemplo:
Mac Apple, Compaq, IBM, Acer, NCR, Dell, Gateway, Texas
Instruments, SONY, Toshiba, Samsung, HP
Clones
Si nos referimos a los clones; podemos decir que es una tecnologa muy
parecida, menos integrada, ms baratos, tecnologa abierta menos
confiables, ms opciones para poder actualizar casi todas las partes del
computador.
Usan muchas partes de marcas, INTEL, AMD, Seagate, Quantum etc.

PARTES INTERNAS QUE CONSTITUYEN LA ARQUITECTURA DE UN
MICROCOMPUTADOR
1. Main Board ( TARJETA PRINCIPAL ) AT, ATX
2. Procesador ( MICROPROCESADOR, CPU )
3. Memoria PRINCIPAL
4. RAM (SIPP, SIMM 30 y 72 pin DIMM 168 pin, RIMM,DDR)
5. CACHE ( SRAM )
6. ROM
7. Disco Duro (IDE, SCSI, USB)
8. La unidad de CD ROM \ CD-ROM WRITER (IDE, SCSI, USB)
9. El DVD (DISCO DE VIDEO DIGITAL)
10.Fuente (Alimentacin de Voltaje) AT, ATX
11.Unidad de Backup ( SCSI )
12.Puertos seriales (COM1) Mouse serial, (COM2) o Modem externo
13.Puertos paralelos (LPT1, LPT2) Para impresora
14.Puertos IDE (Conectores)
15.Puertos USB (Conectores)
16.Conectores DIN (CLON) Teclado
17.Conectores MINIDIN (PS/2) Para teclado y ratn
18.Ranuras (Bus) VESA, ISA, PCI, AGP
19.Socket, Slots
20.Tarjeta de vdeo (ISA, PCI, AGP
21.Tarjeta de sonido (ISA, PCI)
22.Tarjeta de red (ISA, PCI)
23.Tarjeta de mdem (ISA, PCI)

HARDWARE Y SOFTWARE
Como punto de partida en el reconocimiento de los componentes de un
computador debe entender la diferencia entre hardware y software:


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:6



a.- Hardware: este trmino ascielo a la siguiente idea: son todas aquellas
piezas fsicas que componen un computador. En el exterior estn la pantalla, el
teclado, el mouse o ratn, la impresora, el escner, o cualquier otro dispositivo
fsico. En el interior est el disco duro, la C.P.U., la disquetera, los procesadores
y diversas tarjetas de funcin.

Con estos dispositivos puede controlar el envo y salida de informacin. Por
ejemplo, usted manda informacin al computador con el slo hecho de apretar el
teclado. En el caso de la salida de informacin, esto se hace, por ejemplo, a
travs de la impresora.
b.- Software: este trmino ascielo a la siguiente idea: es el conjunto de
rdenes electrnicas que hacen funcionar un computador y, por lo tanto, no
poseen una estructura fsica que se pueda ver y tocar. En otras palabras, el
software son los programas que se ejecutan o instalan dentro del computador.

Un ejemplo de esto es el sistema operativo y los programas diseados para
funciones especficas como por ejemplo los procesadores de texto, planillas de
clculos, bases de datos y presentaciones.

Ahora bien, el hardware, por s slo, es un montn de piezas intiles pues no
pueden funcionar independientemente sin que exista una plataforma de rdenes
que les diga que hacer. El software, por s slo, es un conjunto de rdenes que
tampoco pueden funcionar sin una plataforma fsica que los sostenga.

En otras palabras, ambos conceptos van de la mano. Sobre el hardware se
instalar el software, el cual controlar al primero, y ste a su vez, permite que
las rdenes del segundo tengan sentido en la realidad.

Imagine lo siguiente: el hardware son las neuronas y el software es el
pensamiento producido por ellas. Es imposible concebir el concepto de
"pensamiento" en forma separada. El mismo criterio debe aplicar cuando
imagine un computador, con la sola excepcin, que este ltimo es un aparato
limitado y que no posee la capacidad de pensar por s mismo.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:7

Esta interaccin se puede ver reflejada en el siguiente caso. Usted da una orden
al computador para que imprima una pgina. Esta orden la ejecuta con el
teclado o bien usando el mouse (hardware); estos dispositivos trabajan sobre los
programas (software) que sern los encargados de reconocer y enviar la orden a
la impresora (hardware), mediante la cual se imprimir la informacin (software)
que ve en pantalla.

As funciona un computador. No existe nada de "magia" en su funcionamiento.
Recuerde: un computador es un aparato electrnico (hardware) que necesita un
sistema de rdenes (software) para funcionar. Y en ltima instancia, ambos
conceptos los maneja un usuario, es decir, usted.

Dependiendo de la necesidad del usuario, tenemos los siguientes programas:



COMPONENTES
Un computador funciona y est estructurado por los siguientes componentes:
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:8


Dispositivos de entrada: son todas aquellas piezas del hardware que al ser
utilizadas cumplen la funcin de ingresar datos al computador. Ejemplo: teclado,
mouse, escner, micrfono, palancas de juegos y cmaras.

Unidad central: es el hardware donde estn almacenadas las piezas
fundamentales de un PC.

Dentro de la unidad central est el microprocesador o Unidad Central de
Procesamiento o C.P.U., cuya principal tarea es manipular la informacin al
interior del PC y para lo cual utiliza la Unidad de Control, encargada de enviar y
dirigir el flujo de informacin a las distintas unidades del computador.

Dispositivos de salida: son todas aquellas piezas del hardware que cumplen la
funcin de desplegar la informacin almacenada en el equipo. Ejemplo: pantalla,
impresora, y parlantes.

Unidad de almacenamiento: son todas aquellas piezas del hardware que se
ocupan para guardar los datos de un computador. Estas unidades se clasifican en
Principal, que corresponde a los discos duros, y Secundarias que
corresponden a los disquetes, CD-Roms, Discos Zip, y otras formas de
almacenamiento externos.

De acuerdo a las funciones que cada hardware cumple como unidad anexa al
computador, stos pueden clasificarse en componentes primarios y componentes
secundarios o perifricos.

Componentes primarios
Los componentes primarios de un computador son aquellas partes del hardware
sin las cuales el PC no opera correctamente. stas son:
Unidad central o torre
Pantalla o monitor
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:9

Teclado
Componentes secundarios
Los componentes secundarios de un computador son aquellas partes del
hardware de las cuales el PC puede prescindir. En otras palabras, la falta de una
de stas no altera el funcionamiento de un computador, por lo tanto su uso es
opcional.

A los componentes secundarios se les denomina perifricos y pueden clasificarse
en dos tipos: perifricos de entrada y perifricos de salida.

Perifricos de entrada: son aquellas partes del computador que al ser
utilizadas envan informacin al equipo, donde es almacenada o
procesada. Dentro de esta categora estn los siguientes componentes:
mouse, escner, micrfono, palancas de juegos y cmaras.
Perifricos de salida: son aquellas partes del computador que al ser
utilizadas extraen la informacin desde el interior del equipo hacia el
usuario. Dentro de esta categora estn los siguientes componentes:
impresora, y parlantes.

Una categora especial son aquellos perifricos que cumplen ambas funciones, es
decir son unidades de entrada y salida de informacin.

Dentro de este rango estn las unidades grabadoras de CD y unidades Zip.

UNIDAD CENTRAL Y C.P.U.
La Unidad Central es la parte ms importante del computador. En otras palabras
es la unidad fsica donde se procesa toda la informacin y a la cual van
conectados el resto de las partes fsicas del PC, las cuales funcionan a travs de
los programas que el equipo tiene instalados.

En este caso, el "rgano" esencial de la Unidad Central es el procesador o C.P.U
(Central Processing Unit). Esta unidad es la que determina las caractersticas de
cada computador. Un procesador es un chip que se encarga de manejar los
datos del PC y transferirlos a las unidades correspondientes.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:10



DISCO DURO
El disco duro forma parte de la unidad central y es el dispositivo de
almacenamiento principal de un computador.

Esta unidad est compuesta, en su parte interna, por uno o ms platillos rgidos
los cuales giran sobre un eje. Cada platillo, recubierto con una capa de xido de
hierro, est almacenado en el interior de una cmara sellada que los protege.

Su gran capacidad les permite guardar una gran cantidad de informacin en su
superficie, la cual proviene de los softwares instalados en el PC o bien de los
propios archivos generados por los usuarios.

Esta capacidad de guardar informacin lgica se estructura como archivos, los
cuales a su vez estn contenidos en carpetas o directorios, o bien en subcarpetas
o subdirectorios.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:11

Al igual que los computadores, los discos duros han ido progresando. Estas
mejoras estn relacionadas directamente con la capacidad de stos para guardar
archivos. En otras palabras, da a da aparecen discos duros con mayor
capacidad para guardar informacin.



Estructura lgica
La estructura lgica bsica de un disco duro est formada por archivos,
directorios y subdirectorios.

Archivo es un conjunto de datos creados por un usuario o bien un conjunto de
instrucciones de un software determinado.

Directorio es una herramienta lgica que permite la organizacin de un disco
duro. Usualmente un directorio est compuesto por distintos tipos de archivos.

A su vez, dentro de un directorio pueden existir otros directorios que, por su
ubicacin dentro de la estructura de un disco duro, reciben el nombre de
subdirectorios.

Todos los datos que se organizan dentro de un disco duro, tienen una ruta (path)
o va de acceso la cual permite al sistema operativo diferenciarlos y organizarlos.
Una ruta, en trminos lgicos es lo siguiente:
C:\Mis documentos\algn subdirectorio\algn archivo

La ruta o path indicada dice lo siguiente: en el "Disco Duro", dentro del directorio
"Mis Documentos", dentro del subdirectorio "algn subdirectorio" (este nombre
puede variar), existe el archivo "algn archivo".

Un computador puede organizar la informacin que usted genera. Sin embargo,
el orden y jerarqua de los datos debe correr por su cuenta.

Recuerde: el PC es una herramienta que usted maneja. Por tal motivo, y llegada la
hora de empezar a crear sus archivos dentro de un computador, es necesario que
usted determine cules sern los directorios y subdirectorios principales a partir de
los cuales crear una estructura lgica en el Disco Duro.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:12

Cada vez que guarde algn archivo en el PC debe saber el lugar donde lo
almacen, pues de lo contrario perder tiempo tratando de buscar dicho dato en
la superficie de la unidad C.




1. Botn de encendido/apagado del computador: desde este botn se
prende el computador cuando se va a trabajar en el. Igualmente, una vez
finalizada la jornada, se pueden apagar. Estando el computador apagado,
al oprimir este botn, se da arranque al sistema, y estando prendido, si se
oprime una vez, se da inicio a la secuencia de apagado, y si se deja
oprimido durante 10 segundos, se apaga inmediatamente el computador.
2. Puertos USB: hoy en da la mayora de dispositivos que se conectan a un
computador tienen este tipo de conexin, por lo que los computadores
modernos traen ms de 8 puertos de este tipo, estando ubicados por lo
general 4 en el frente del equipo y 4 en la parte trasera.
3. Unidad de lectura de tarjetas: permite conectar directamente al
computador las tarjetas de memoria que se usan en la actualidad para
almacenar informacin en cmaras digitales, telfonos celulares, y otros
dispositivos.
4. Unidad de CD/DVD: esta unidad se utiliza para leer los discos compactos
de cualquiera de los dos formatos. Adicionalmente, permite grabar estos
discos con datos, msica o video.
5. Entrada de energa del computador: en este enchufe se conecta el
cable de alimentacin de energa al equipo. Esta conexin est a su vez
ligada internamente a un dispositivo llamado Fuente de Poder, que se
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:13

encarga de distribuir la energa para cada uno de los dispositivos del
computador.
6. Ventilador: como su nombre lo indica, se encarga de refrigerar
internamente el computador, pues el calor es el principal enemigo de los
circuitos elctricos.
7. Entradas PS2: se utilizan para conectar al equipo el mouse y el teclado
8. Puertos seriales: se utilizan para conectar al computador monitores,
impresoras, y dispositivos en general que utilicen esta conexin.
9. Entradas y salidas de audio: en estas conexiones se debe conectar los
parlantes y micrfonos del computador. Cada uno est identificado por un
color tanto en el computador, cmo en el dispositivo que vayamos a
conectar.
10.Pantalla o monitor: es el principal medio del computador para
transmitirnos los datos que procesa. Existen 2 tecnologas que han
evolucionado a lo largo de los aos, estando una de ellas en sus ltimos
das; CRT y LCD, siendo la primera la ms obsoleta. Actualmente los
monitores se fabrican con pantallas LCD, que ocupan poqusimo espacio y
tienen una calidad de imagen y color muy similar a los antiguos
monitores.
11.Motherboard: la tarjeta madre, como se llamara en espaol, es el
alma de un computador, por lo cual no est visible para el usuario final. Es
en esta tarjeta donde se conectan el procesador, disco duro, memoria
RAM, tarjetas de video, sonido y en general cualquier elemento que
conforma el computador. Todos los puertos a los que conectamos teclado,
mouse, USB, monitor, impresoras y dems, llegan directamente a la
motherboard, desde donde se procesa la informacin que transmiten o
reciben.
12.Mouse: as cmo el monitor es el canal de comunicacin de computador a
la persona, el mouse lo es a la inversa. Es la herramienta por medio de la
cual se transmiten la mayora de los comandos a un computador. Est
compuesto por 2 botones y una rueda llamada clickwheel o scroll por
medio de la cual manejamos la mayora de funciones en el computador.
13.Teclado: junto al mouse, es indispensable para manejar y ejecutar
comandos en un computador. Es el instrumento para ingresar texto,
desplazarnos por los documentos y realizar un sinfn de funciones.
Normalmente estn divididos en 3 secciones principales: teclado
alfabtico, que contiene las letras, teclas shift, control, enter y otras,
teclado numrico, que contiene nmeros y signos de multiplicacin, y
teclado de comandos, compuesto por las teclas F, que sirven para
activar funciones especiales o acortar el ingreso de rdenes a un
programa.
14.Parlantes: en los computadores modernos, es indispensable este
elemento, pues adems de sus funciones tradicionales, los computadores
se han convertido en el equipo de sonido de los hogares. Es por esto que
los parlantes de hoy en da van ms all de los bsicos de hace 5 aos, y
ofrecen buena calidad de sonido a precios muy accequibles.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:14


Virus
Virus (informtica), programa de ordenador que se reproduce a s mismo e
interfiere con el hardware de una computadora o con su sistema operativo (el
software bsico que controla la computadora). Los virus estn diseados para
reproducirse y evitar su deteccin. Como cualquier otro programa informtico,
un virus debe ser ejecutado para que funcione: es decir, el ordenador debe
cargar el virus desde la memoria del ordenador y seguir sus instrucciones. Estas
instrucciones se conocen como carga activa del virus. La carga activa puede
trastornar o modificar archivos de datos, presentar un determinado mensaje o
provocar fallos en el sistema operativo.

Existen otros programas informticos nocivos similares a los virus, pero que no
cumplen ambos requisitos de reproducirse y eludir su deteccin. Estos
programas se dividen en tres categoras: caballos de Troya, bombas lgicas y
gusanos. Un caballo de Troya aparenta ser algo interesante e inocuo, por
ejemplo un juego, pero cuando se ejecuta puede tener efectos dainos. Una
bomba lgica libera su carga activa cuando se cumple una condicin
determinada, como cuando se alcanza una fecha u hora determinada o cuando
se teclea una combinacin de letras. Un gusano se limita a reproducirse, pero
puede ocupar memoria de la computadora y hacer que sus procesos vayan ms
lentos.

Cmo se producen las infecciones?
Los virus informticos se difunden cuando las instrucciones o cdigo
ejecutable que hacen funcionar los programas pasan de un ordenador a otro.
Una vez que un virus est activado, puede reproducirse copindose en discos
flexibles, en el disco duro, en programas informticos legtimos o a travs de
redes informticas.

Estas infecciones son mucho ms frecuentes en los PC que en sistemas
profesionales de grandes computadoras, porque los programas de los PC se
intercambian fundamentalmente a travs de discos flexibles o de redes
informticas no reguladas.

Los virus funcionan, se reproducen y liberan sus cargas activas slo cuando se
ejecutan. Por eso, si un ordenador est simplemente conectado a una red
informtica infectada o se limita a cargar un programa infectado, no se infectar
necesariamente. Normalmente, un usuario no ejecuta conscientemente un
cdigo informtico potencialmente nocivo; sin embargo, los virus engaan
frecuentemente al sistema operativo de la computadora o al usuario informtico
para que ejecute el programa viral.

Algunos virus tienen la capacidad de adherirse a programas legtimos. Esta
adhesin puede producirse cuando se crea, abre o modifica el programa
legtimo. Cuando se ejecuta dicho programa, ocurre lo mismo con el virus. Los
virus tambin pueden residir en las partes del disco duro o flexible que cargan y
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:15

ejecutan el sistema operativo cuando se arranca el ordenador, por lo que dichos
virus se ejecutan automticamente. En las redes informticas, algunos virus se
ocultan en el software que permite al usuario conectarse al sistema.

Cmo Evitarlos?
Los usuarios pueden prepararse frente a una infeccin viral creando
regularmente copias de seguridad del software original legtimo y de los ficheros
de datos, para poder recuperar el sistema informtico en caso necesario. Puede
copiarse en un disco flexible el software del sistema operativo y proteger el disco
contra escritura, para que ningn virus pueda sobre escribir el disco. Las
infecciones vrales se pueden prevenir obteniendo los programas de fuentes
legtimas, empleando una computadora en cuarentena para probar los nuevos
programas y protegiendo contra escritura los discos flexibles siempre que sea
posible.

Deteccin de virus
Para detectar la presencia de un virus se pueden emplear varios tipos de
programas antivricos. Los programas de rastreo pueden reconocer las
caractersticas del cdigo informtico de un virus y buscar estas caractersticas
en los ficheros del ordenador. Como los nuevos virus tienen que ser analizados
cuando aparecen, los programas de rastreo deben ser actualizados
peridicamente para resultar eficaces. Algunos programas de rastreo buscan
caractersticas habituales de los programas vrales; suelen ser menos fiables.

Los nicos programas que detectan todos los virus son los de comprobacin de
suma, que emplean clculos matemticos para comparar el estado de los
programas ejecutables antes y despus de ejecutarse. Si la suma de
comprobacin no cambia, el sistema no est infectado. Los programas de
comprobacin de suma, sin embargo, slo pueden detectar una infeccin
despus de que se produzca.

Los programas de vigilancia detectan actividades potencialmente nocivas, como
la sobre escritura de ficheros informticos o el formateo del disco duro de la
computadora. Los programas caparazones de integridad establecen capas por las
que debe pasar cualquier orden de ejecucin de un programa. Dentro del
caparazn de integridad se efecta automticamente una comprobacin de
suma, y si se detectan programas infectados no se permite que se ejecuten.

Estrategias Virales
Los autores de un virus cuentan con varias estrategias para escapar de los
programas antivirus y propagar sus creaciones con ms eficacia. Los llamados
virus polimrficos efectan variaciones en las copias de s mismos para evitar su
deteccin por los programas de rastreo. Los virus sigilosos se ocultan del sistema
operativo cuando ste comprueba el lugar en que reside el virus, simulando los
resultados que proporcionara un sistema no infectado. Los virus llamados
infectores rpidos no slo infectan los programas que se ejecutan sino tambin
los que simplemente se abren. Esto hace que la ejecucin de programas de
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:16

rastreo antivrico en un ordenador infectado por este tipo de virus pueda llevar a
la infeccin de todos los programas del ordenador. Los virus llamados infectores
lentos infectan los archivos slo cuando se modifican, por lo que los programas
de comprobacin de suma interpretan que el cambio de suma es legtimo. Los
llamados infectores escasos slo infectan en algunas ocasiones: por ejemplo,
pueden infectar un programa de cada 10 que se ejecutan. Esta estrategia hace
ms difcil detectar el virus.

SISTEMA BINARIO
Para almacenar informacin, un computador transforma las rdenes dadas por
usted en una cifra de dos dgitos. Decir esto puede parecer extrao sobre todo si
considera que las personas usan para contar una base de 10 o mejor conocida
como sistema decimal, el cual est compuesto por 1, 2, 3, 4, 5, 6, 7, 8, 9 y 0.
Ms an, Cuando usted necesita representar una cifra mayor que 9, como por
ejemplo el 10, combina el 1 y el 0.

Para el caso del computador, ste reduce los datos a dos dgitos, el 1 y el 0. Esta
forma de procesamiento se denomina Sistema Binario. Para entender este
concepto, digamos que el PC reduce e interpreta los datos tal como si fueran
interruptores de electricidad, es decir encendido o apagado. El encendido
corresponde al dgito 1 y el apagado es el 0.

Los nmeros 1 y 0, en lenguaje informtico se denominan bit, palabra que es
una contraccin del trmino en ingls binary digit.

A modo de referencia, un bit es la unidad de datos ms pequea que existe. Para
procesar y transmitir una orden, un computador necesita un grupo de bits, en
cuyo interior est procesado el mandato como un lenguaje en base dos, es decir,
la tarea solicitada est transformada en ceros (0) y unos (1).

Ahora bien, la siguiente unidad de medida es el byte, el cual est formado por
un total de 8 bits.

El byte es la unidad de medida ms importante dentro del sistema de un
computador, pues la informacin que almacena su cdigo permite representar
los caracteres del teclado, donde se debe incluir el uso de maysculas y
minsculas, signos de puntuacin, nmeros, etc.

Luego de revisar el concepto bsico de las unidades de medida, las siguientes
unidades son mucho ms fciles de entender. Se trata de kilobyte (Kb),
megabyte (Mb), gigabyte (Gb) y terabyte (Tb).

UNIDAD EQUIVALENCIA
Kilobyte (Kb) 1.024 Bytes
Megabyte (Mb) 1.024 Kb
Gigabyte (Gb) 1.024 Mb
Terabyte (Tb) 1.024 Gb
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:17


Kilobyte (Kb): esta unidad de medida asciela con el tamao de
documentos o archivos generados por usted. Puede ocurrir que algunos
archivos lleguen a ser medidos en Megabyte, (por ejemplo una base de
datos), sin embargo esta posibilidad es poco frecuente. Segn su tamao, los
kilobyte pueden ser guardados en disquetes, Discos Duros, CD-Rom y
unidades ZIP.
Megabyte (Mb): esta unidad de medida asciela con el tamao de archivos
que puede contener un programa o software, o alguna base de datos. Las
unidades que pueden contener un megabyte son los disquetes, Discos Duros,
CD-Rom y unidades ZIP.
Gigabyte (Gb): esta unidad de medida es una de las ms grandes. Asciela
a la cantidad de informacin que puede ser almacenada dentro un Disco Duro
de ltima generacin.
Terabyte (Tb): esta unidad de medida es la ms grande que se conoce
hasta la fecha.

ALGORITMOS
INTRODUCCIN
A menudo nos hacemos la pregunta del por qu los programadores escriben un
programa. Esto es para resolver un problema por lo que el propsito de nuestro
estudio ser el ensear y aprender un mtodo de solucin de problemas con
programas de computadora mediante el uso de algoritmos y diagramas que
faciliten la programacin estructurada.

DISEO DE UN PROGRAMA


Los pasos que se siguen generalmente a la hora de desarrollar un programa son
los siguientes:
Anlisis de requerimientos: Se define el problema a resolver y todos los
objetivos que se pretenden, pero sin indicar la forma en la que se resuelve.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:18

Especificacin: Se determina la forma en la que se resolver el problema,
pero sin entrar an en su implementacin informtica. Se determina
asimismo la interfaz con el usuario.
Diseo del programa: Se divide el problema en mdulos, se especifica lo
que hace cada mdulo, as como las interfaces de cada uno de ellos.
Diseo detallado de los mdulos: Para cada mdulo se disean
detalladamente las estructuras de datos y los algoritmos a emplear,
normalmente descritos mediante pseudocdigo.
Codificacin: Se escribe el programa en el lenguaje de programacin
elegido.
Pruebas de mdulos: Se prueban los mdulos del programa aisladamente y
se corrigen los fallos hasta conseguir un funcionamiento correcto.
Integracin y Prueba de sistema: Se unen todos los mdulos, y se prueba
el funcionamiento del programa completo.


Distribucin del esfuerzo de la actividad software (sin tener en cuenta
el mantenimiento):
Anlisis y Diseo : 38%
Codificacin : 20%
Test e integracin: 42%.

VENTAJAS DE LA PROGRAMACIN ESTRUCTURADA
Con la programacin estructurada, elaborar programas de computador sigue siendo
una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo,
con este nuevo estilo podemos obtener las siguientes ventajas:
1. Los programas son ms fciles de entender. Un programa estructurado puede
ser ledo en secuencia, de arriba hacia abajo, sin necesidad de estar saltando
de un sitio a otro en la lgica, lo cual es tpico de otros estilos de
programacin. La estructura del programa es ms clara puesto que las
instrucciones estn ms ligadas o relacionadas entre s, por lo que es ms
fcil comprender lo que hace cada funcin
2. Reduccin del esfuerzo en las pruebas. El programa se puede tener listo para
produccin normal en un tiempo menor del tradicional; por otro lado, el
seguimiento de las fallas o depuracin (debugging) se facilita debido a la
lgica ms visible, de tal forma que los errores se pueden detectar y corregir
ms fcilmente
3. Reduccin de los costos de mantenimiento
4. Programas ms sencillos y ms rpidos
5. Aumento en la productividad del programador
6. Se facilita la utilizacin de las otras tcnicas para el mejoramiento de la
productividad en programacin
7. Los programas quedan mejor documentados internamente


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:19

CONCEPTO DE ALGORITMO
El concepto de algoritmo forma parte esencial de los fundamentos de la
computacin

Conjunto de operaciones que se utiliza para resolver un problema
especfico

El algoritmo se puede llevar a cabo con ordenadores una vez convertido
en un programa de ordenador

En trminos generales puede definirse un algoritmo como el mtodo para
resolver un determinado problema. El ejecutor de las instrucciones que
realiza la tarea correspondiente se llama procesador. Existen algoritmos
que describen toda clase de procesos, por ejemplo: las recetas de cocina,
las partituras musicales, etc. Un procesador realiza un proceso siguiendo o
ejecutando el algoritmo correspondiente

Un algoritmo debe estar expresado de tal forma que el procesador lo
entienda para poder ejecutarlo. Se dice que el procesador es capaz de
interpretar el algoritmo, si el procesador puede realizar lo siguiente:
1. Entender lo que significa cada paso
2. Llevar a cabo la sentencia correspondiente

Esto significa que para que un algoritmo pueda ser correctamente
ejecutado, cada uno de sus pasos debe estar expresado de tal forma que
el procesador sea capaz de entenderlos y ejecutarlos adecuadamente

Se definir un algoritmo como un conjunto finito de instrucciones que
especifican la secuencia ordenada de operaciones a realizar para resolver
un problema. En base a lo anterior, si el procesador del algoritmo es una
computadora, el algoritmo debe estar expresado en forma de un
programa, el cual se escribe en un lenguaje de programacin. A la
actividad de expresar un algoritmo en un lenguaje de programacin
determinado se le denomina programar

Un algoritmo es una secuencia finita de instrucciones, cada una de ellas
con un claro significado, que puede ser realizada con un esfuerzo finito y
en un tiempo finito

Un algoritmo es una secuencia finita de instrucciones, cada una de ellas
con un claro significado, que puede ser realizada con un esfuerzo y un
tiempo finitos. Por ejemplo, una asignacin como x= y+z es una
instruccin con estas caractersticas

DESCRIPCIN DE ALGORITMOS
Un algoritmo se puede especificar mediante la utilizacin de un lenguaje de
programacin. Sin embargo, generalmente se suelen utilizar tcnicas de
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:20

descripcin de algoritmos ms o menos independientes del lenguaje de
programacin.

Qu es un algoritmo?
Frmula para resolver un problema
Consta de una serie de pasos
Se aplica de forma mecnica
Se aplica en un tiempo finito

Uso de la computadora en la resolucin de problemas
En general, se escriben algoritmos para resolver problemas que no son tan
fciles de resolver a primera vista, y de los que necesitamos especificar el
conjunto de acciones que se llevarn a cabo para su resolucin. Adems, como
lo que interesa es resolver problemas utilizando la computadora, los algoritmos
tendrn como finalidad ser traducidos en programas, por lo que es conveniente
mencionar el proceso general de resolucin de problemas, desde que se dispone
de un algoritmo, hasta que la computadora lo ejecuta.

Proceso general de resolucin de problemas con la computadora

CONDICIONES CON LAS QUE DEBE DE CUMPLIR UN ALGORITMO
1. Finitud Un algoritmo tiene que acabar siempre tras un nmero finito de
pasos. (un procedimiento que tiene todas las caractersticas de un
algoritmo salvo que posiblemente falla en su finitud, se conoce
como mtodo de clculo)
2. Definibilidad Cada paso de un algoritmo debe definirse de modo preciso; las
acciones a realizar han de estar especificadas para cada caso
rigurosamente y sin ambigedad.
3. Conjunto de
entradas
Debe existir un conjunto especificado de objetos, cada uno de los
cuales constituye los datos iniciales de un caso particular del
problema que resuelve el algoritmo. A este conjunto se le
denomina conjunto de entradas del algoritmo
4. Conjunto de
salidas
Debe existir un nmero especificado de objetos, cada uno de los
cuales constituye la salida o respuesta que debe obtener el
algoritmo para los diferentes casos particulares del problema. A
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:21


FASE DE RESOLUCIN E IMPLEMENTACIN


Caractersticas de los algoritmos
Las caractersticas que debe cumplir un algoritmo son:
Un algoritmo debe ser Preciso e indicar el orden de realizacin de
cada paso.
Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe
terminar el algn momento
Un algoritmo debe ser Definido, es decir, si se sigue un algoritmo dos
veces, se debe obtener el mismo resultado.


Estructura de un algoritmo

Aunque no existe una nica forma de representar un algoritmo, la estructura
general de un algoritmo debera ser como la mostrada a continuacin:

este conjunto se le denomina conjunto de salidas del algoritmo.
Para cada entrada del algoritmo, debe existir una salida asociada
que constituye la solucin al problema particular determinado por
dicha entrada
5. Efectividad Un algoritmo debe ser efectivo. Esto significa que todas las
operaciones a realizar por el algoritmo deben ser lo bastante
bsicas para poder ser efectuadas de modo exacto, y en un lapso
de tiempo finito por el procesador que ejecute el algoritmo
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:22

Algoritmo <nombre_del_algoritmo>
Inicio
Sentencia 1
Sentencia 2
.
.
.
Sentencia n
Fin

Ejemplo de definicin del problema
Dados dos nmeros enteros positivos m y n, encontrar su mximo comn
divisor (MCD), es decir, el mayor entero positivo que divide a la vez a m y a n.

Lo bsico es resolver la pregunta Qu vamos hacer? y Cmo lo vamos hacer? y
para resolverlas es indispensable identificar:

Entrada: Dos nmeros enteros positivos: m y n.
Salida: Un nmero que representa el MCD (Mximo Comn Divisor) de m y n.
Proceso: La solucin est basada en el residuo de la divisin de los operandos
m y n. Si el residuo es 0 entonces hemos terminado, si no, habr que hacer
intercambio de valores y continuar con el proceso.

El ejemplo anterior ilustra el proceso de resolucin que se debera seguir para
resolver un problema, ya que partiendo de este anlisis inicial, la idea ser
entonces ir particularizando cada parte en un refinamiento progresivo, hasta
llegar a un algoritmo ms refinado y funcional.

Pruebas de algoritmos
Una vez que se ha generado un algoritmo que parece correcto, una de las partes
ms importantes dentro de su diseo es la referente a las pruebas. La parte de
la validacin de los datos de entrada al algoritmo es tambin un aspecto
importante, aunque normalmente lo que se hace, es construir un algoritmo
aparte que se encargue de validar que los datos de entrada sean los correctos,
pero ese aspecto no es lo que se quiere comentar en esta seccin.

Una vez que se tiene una solucin algortmica de un problema, no se debera
suponer o creer que funcionar bien siempre. En el diseo del algoritmo se
deben considerar al menos algunos casos de prueba. Es habitual que el domino
de trabajo de un algoritmo sea un conjunto de elementos y entonces sera bueno
saber por ejemplo Cmo se comporta el algoritmo en los lmites del conjunto?
Dado un mismo dato de entrada obtengo siempre la salida esperada? entre
otras preguntas.

La fase de prueba de los algoritmos es una parte fundamental dentro del diseo
del mismo, y se recomienda ampliamente adoptarlo como prctica habitual, ya
que es una importante tcnica de programacin.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:23

A este nivel, es suficiente saber que es conveniente realizar algunas pruebas
sobre los algoritmo desarrollados.

Terminologa
Nivel descripcional.- Grado de detalle (mientras ms bajo, ms
detallado es).
Secuencia.- Orden de las instrucciones en un algoritmo.
Bifurcacin.- Tipo de instruccin como pregunta y cuya respuesta lleva a
efectuar una operacin.
Iteracin.- Paso a la ejecucin de una instruccin (ciclo, bucle, loop,
lazo).
Variable.- Elemento de almacenamiento de los datos que se van a utilizar
en el desarrollo del algoritmo. El contenido puede variar durante el
proceso.
Asignacin.- Conferir el valor a cierta variable "=".
Programacin estructurada.- Tcnicas que permiten desarrollar
programas que sean fciles de depurar y poner a punto, legibles. etc.

IDENTIFICADORES
Los identificadores son nombres creados para designar constantes, variables,
tipos, funciones, etc., que forman parte de un programa.

Un identificador consta de uno o ms caracteres (letras, dgitos y caracteres de
subrayado); el primero debe ser una letra. El nmero de caracteres no debe
superar una longitud mxima dependiendo del lenguaje de programacin que se
utilice.

En algunos de los lenguajes se diferencia entre maysculas y minsculas
mientras que en otros no. Por ejemplo: A equivale a a en Pascal; pero en C
equivalen A y a.

Ejemplo: Algoritmo Nombre_del_del_algoritmo.
Inicio
Fin_algoritmo.

DIAGRAMA DE SINTAXIS DE UN IDENTIFICADOR VALIDO


Letra
Identificador
Letra
Dgito
Subrayado
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:24

VARIABLES
Una variable es el elemento de almacenamiento de los datos que se van a
utilizar en el desarrollo del algoritmo. Estos resultados se corresponden con los
datos iniciales como los resultados de operaciones efectuadas durante la
ejecucin de un algoritmo. Las variables representan un lugar de
almacenamiento, cuyo contenido podr variar durante el proceso y finalmente se
obtendrn los resultados con los datos contenidos en las variables.

Las caractersticas de una variable son:
o Nombre: Para referenciar los datos almacenados en una variable se debe
antes asignar un nombre a esta. Para mayor claridad el nombre debe
coincidir con la informacin almacenada en esta. El nombre empieza con una
letra, no tiene espacios en blanco y no contiene caracteres especiales, slo se
utiliza el carcter de separacin (_).
o Contenido: Es el valor del dato almacenado en ella, al contenido se accede
por medio del nombre de la variable. La informacin almacenada en una
variable puede ser de tres tipos:
Carcter: Nombres, direcciones o caractersticas y smbolos
alfanumricos
Tipo numrico: Utilizada para calcular resultados
Informacin de tipo lgico para el control de procesos

Durante la elaboracin de un algoritmo la misma variable debe almacenar
datos de un solo tipo.

o Ubicacin: Est dada por el nombre de la variable, en el computador el
contenido de una variable ocupa un lugar en la memoria RAM. Para accesar a
este contenido se utiliza el nombre de la variable.

ASIGNACIN DE DATOS

Asignaciones
Una variable puede tomar valores de dos formas:
Por operacin de asignacin: a= b+1
Por lectura: Leer (a)

Est operacin de asignacin es de carcter destructiva porque el valor
anterior de la asignacin se pierde y es reemplazado por el nuevo valor.

La variable puede aparecer a ambos lados de una operacin de asignacin y es
la forma como se trabaja con los contadores y acumuladores.

Contadores
Son variables cuyo objetivo es ir contando cuntas veces se ha realizado un
proceso, se las utiliza como elemento ordenador que da como resultado el
nmero de veces que se ha realizado una accin. Es una variable entera.
Ejemplo:
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:25

Contador = Contador +1;

Acumuladores
Tambin son variables las cuales tienen como objeto sumarizar un conjunto de
valores en una variable. Son fundamentales en problemas que requieren
totalizar un dato para obtener un resultado.
Ejemplo:
Suma= Suma+2;
Total= salario + beneficios_de_ley;

EJEMPLO DE MODELO DE SOLUCION
Construir un modelo de solucin que resuelva el problema de calcular el rea de
un tringulo con la frmula rea igual a base por altura sobre dos.

Variable(s) Entrada Proceso u operacin Variable(s) salida
BASE
ALTURA
AREA = BASE * ALTURA
2
AREA

Una variable se define como un identificador que se utiliza para almacenar todos los
datos generados durante la ejecucin de un programa.
Existen ciertas reglas en cuanto a variables:
Claras y con referencia directa al problema
No espacios en blanco, ni smbolos extraos en ellas
Se pueden usar abreviaturas, pero solo de carcter general
No deben ser palabras reservadas del lenguaje

Ejemplos de buenas variables:
Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc.

OPERADORES ARITMETICOS
Un operador es un smbolo especial que indica al compilador que debe efectuar
una operacin matemtica o lgica.
Se reconoce los siguientes operadores aritmticos:
Operador Operacin
+ Suma
- Resta
* Multiplicacin
/ Divisin
Div Divisin entera
Mod Modulo o residuo
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:26

OPERADORES LGICOS
Los resultados se ven en la tabla:

Variables lgicas Cond1 OR
Cond2
Cond1 AND
Cond2
NOT
(Cond2) Cond1 Cond2
Falso Falso Falso Falso Verdadero
Falso Verdadero Verdadero Falso Falso
Verdadero Falso Verdadero Falso Verdadero
Verdadero Verdadero Verdadero Verdadero Falso

OPERADORES RELACIONALES
Se utilizan siempre en operaciones de comparacin, su resultado siempre es un
valor lgico (Verdadero o Falso), requiere de dos operados y pueden trabajar
cualquier tipo de dato.

Los operadores relacinales que reconocen en muchos lenguajes como:














Ejemplo:
5>10 Falso
-15.3<6 Verdadero.
'D'>'M' Falso

EXPRESIONES
Pueden estar compuestas por una variable (numrica o de caracter), constantes,
una cadena de caracteres encerrada entre comillas dobles ("cadena") o una
expresin matemtica.

JERARQUIA DE OPERACIONES
El problema de no tomar en cuenta la jerarqua de los operadores al plantear y
resolver una operacin casi siempre conduce a resultados muchas veces
equivocados como estos:

Ejemplos:
2+ 3* 4 = 20(incorrecto)
Operador Significado
= Igual que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> No es igual o es diferente que
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:27

Variable = 14 (correcto)

Si calif1=60 y calif2=80 y si entonces en programa se usa
Promedio = calif1 + calif2/2
Dara como resultado promedio = 100

Recordar siempre, que antes de plantear una frmula en un programa se deber
evaluar contra el siguiente:

Orden de operaciones:
1. Parntesis
2. Potencias y races
3. Multiplicaciones y divisiones
4. Sumas y restas
5. Dos o ms de la misma jerarqua u orden, entonces resolver de
izquierda a derecha

Nota: Si se quiere alterar el orden normal de operaciones, entonces usar
parntesis.

Ejemplos de algoritmos:
1. Algoritmo para lavar la ropa blanca

2. Algoritmo para decidir si coger el paraguas


3. Algoritmo para clasificar libros
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:28



ESTRUCTURA GENERAL DE UN PROGRAMA
Un programa se especifica por:
Entradas
Proceso
Salida


RESUMEN
Los procesos se definen por algoritmos
Algoritmos: Conjunto de instrucciones
Tipos de instrucciones:
o Asignacin: x = 2
o Lectura y escritura: leer(a), escribir(b)

Elementos de un lenguaje
Palabras reservadas: si entonces, Algoritmo finalgoritmo, mientras
Identificadores
Caracteres especiales: =, ;, {
Constantes
Variables
Expresiones: a = b * 5 c

Datos y tipos de datos
Datos simples y estructurados
Tipos de datos:
o Numricos
o Lgicos
o Carcter

Datos numricos:
Enteros: -10, 6, 291
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:29

Reales: 1.5, -0.63, 54.4E-10

Datos lgicos:
Booleano
Verdadero / Falso

Datos de tipo carcter
Carcter: a, z, A, Z, 0, 9,+,-,*
Cadena: Ejemplo de cadena.

Constantes y variables
Constantes: valores que no cambian
Numricas: 1.234, -10, 8
Carcter: B, , 4
Cadena: Mesa
Lgicas: verdadero(true), falso(false)
Variable: datos cuyo valor puede cambiar
Posee un nombre y un tipo
Enteras, reales, carcter, lgicas, cadenas
Ejemplos: A124, k, Nombre

Expresiones: Combinaciones de constantes, variables, operaciones, funciones y
parntesis

Tipos de expresiones:
Aritmticas: +, -, *, /, div, mod, ^
(4 + A) * 7 / B
Lgicas: no, y, o, =, <, >, <=, >=,
no (A > B) o (B 10)
Funciones: raz_cuadrada, cos, sen

Expresiones


Entrada y salida de informacin
Dispositivos de entrada: teclado, disco
Operacin de entrada
Leer ( lista variables)

Ejemplos
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:30

Leer (a, b, c) {Lectura de teclado}
Dispositivos de salida: pantalla, impresora, disco
Operacin de salida
Escribir (lista variables)

Ejemplos
Escribir (a, b, c) {Mostrar por pantalla}

PROGRAMACIN ESTRUCTURADA
Introduccin. Teorema de la programacin estructurada
El principio fundamental de la programacin estructurada es que en todo momento
el programador pueda mantener el programa dentro de la cabeza.

Esto se consigue con:
a) Un diseo descendente del programa,
b) Unas estructuras de control limitadas y
c) Un mbito limitado de las estructuras de datos del programa

Entre sus ventajas est el que: hace ms fcil la escritura y verificacin de
programas. Se adapta perfectamente al diseo descendente.

Para realizar un programa estructurado existen tres tipos bsicos de estructuras de
control:
1. Secuencial: Ejecuta una sentencia detrs de otra
2. Condicional: Se evala una expresin y, dependiendo del resultado, se decide
la siguiente sentencia a ejecutar
3. Iterativa: Repetimos un bloque de sentencias hasta que sea verdadera una
determinada condicin

INSTRUCCIN DE DECISIN
La gran mayora de problemas de la vida real tiene una serie de condiciones que
determinan cul es la solucin requerida. Esta solucin est condicionada a
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:31

diferentes posibilidades dependiendo de una u otra particularidad. Para poder
resolver estos problemas los algoritmos ofrecen las siguientes instrucciones.

SI (CONDICIN) ENTONCES
Instrucciones1
SI NO
Instrucciones2

La condicin es una comparacin de dos expresiones que siempre arroja un
resultado, verdadero o falso. Si el resultado de la condicin es verdadera se
ejecutan las Instrucciones1, y si es falsa se ejecutan las Instrucciones2.

EJEMPLOS DE ALGORITMOS
Ejemplo: Hacer un algoritmo para una mquina controladora de personal
empresarial, donde la mquina permita conocer tanto la hora de salida y llegada
de almorzar, como la hora en que finaliza la jornada de cada uno de los
empleados de dicha empresa.
Algoritmo controlador
1. Inicio
2. Escribir(Ingrese la hora de entrada)
3. Leer(HE)
4. SA = he+4
5. LLA = SA+1
6. HS = LLA +4
7. Escribir(Hora de salir a almorzar, SA)
8. Escribir(Hora de entrada de almorzar, LLA)
9. Escribir(Hora de salida, HS)
10.Fin

Ejemplo: En el caso del primer ejemplo se informa que existen dos tipos de
empleados, los obreros y los ejecutivos, cuyas caractersticas son que los
primeros trabajan 8 horas en dos turnos de 4 con 1 hora de almuerzo y los
ejecutivos 10 horas en dos turnos, tambin con una hora de almuerzo.
Algoritmo controlador
1. Inicio
2. Escribir(Ingrese la hora de entrada)
3. Leer(HE)
4. Escribir (Escoja el tipo de empleado OBRERO o EJECUTIVO)
5. Leer(TE)
6. SI (TE = "OBRERO"?) ENTONCES
6.1 SA = HE + 4
6.2 LLA = SA+1
6.3 HS = LLA + 4
SI NO
6.4 SA = HE + 5
6.5 LLA = SA+1
6.6 HS = LLA + 5
FIN_SIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:32

7. Escribir(El empleado del Tipo, TE)
8. Escribir(Hora de salir a almorzar, SA)
9. Escribir(Hora de entrada de almorzar, LLA)
10.Escribir(Hora de salida, HS)
11.Fin.
Ejemplo: S lleg entre las 8 y las 8:15 trabaja 8 horas y tiene dos de almuerzo,
si lleg despus de las 8:15 debe trabajar 9 horas y solo una de almuerzo.
Si lleg antes de las 8 se le define llegada a las 8.
Algoritmo controlador
1. Inicio
2. Escribir(Ingrese la hora de entrada)
3. Leer(HE)
4. SI (HE >= 8 ) AND (HE <= 8:15)? ENTONCES
4.1 SA = HE +4
4.2 LLA = SA+2
4.3 HS = LLA +4
SI NO
4.4 SA = HE + 5
4.5 LLA = SA+1
4.6 HS = LLA +4
FIN_SIN

5. Escribir(Hora de salir a almorzar, SA)
6. Escribir(Hora de entrada de almorzar, LLA)
7. Escribir(Hora de salida, HS)
8. Fin
Ejemplo: Hacer un algoritmo que pida los tres lados de un tringulo, y diga si
el tringulo es Equiltero, Issceles o Escaleno. (Escaleno= tres lados
desiguales. Issceles = dos lados iguales. Equiltero = tres lados iguales.)
Algoritmo tipo_tringulo.
1. Inicio
2. Escribir(Ingrese los lados del tringulo)
3. Leer(L1)
4. Leer(L2)
5. Leer(L3)
6. SI (L1 = L2) AND (L2 = L3)? ENTONCES
6.1 Escribir(Equiltero)
SI NO
6.2 SI (L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
6.2.1 Escribir (Issceles)
SI NO
6.2.2 SI (L1<>L2)AND(L2<>L3)AND(L1<>L3)? ENTONCES
6.2.2.1 Escribir (Escaleno)
FIN_SIN
FIN_SIN
FIN_SIN
7. Fin

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:33

Ejemplo: Variacin del ejemplo anterior sin la condicin de "Escaleno"
Algoritmo tipo_tringulo.
1. Inicio
2. Escribir(Ingrese los lados del tringulo)
3. Leer(L1)
4. Leer(L2)
5. Leer(L3)
6. SI (L1 = L2) AND (L2 = L3)? ENTONCES
6.1 Escribir(Equiltero)
SI NO
6.2 SI (L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
6.2.1 Escribir (Issceles)
SI NO
6.2.2 Escribir (Escaleno)
FIN_SIN
FIN_SIN
7. Fin

Ejemplo: Sumar 3 veces dos nmeros
Algoritmo_sumar
1. Inicio
2. Escribir (Ingrese 2 nmeros)
3. Leer(S1, S2)
4. Total =0
5. Total = S1+S2
6. Total= Total+S1+S2
7 Total= Total+S1+S2
8. Escribir(El total es = , Total)
9. Fin.
Deber:
1. Realizar un algoritmo que lea dos nmero y realice el clculo de suma,
resta multiplicacin y divisin entre dichos nmeros
2. Disear un algoritmo que permita obtener el promedio de 4 notas
3. Disear un algoritmo que permita determinar si un ao es bisiesto. Un
ao es bisiesto si es mltiplo de 4. Los aos mltiplos de 100 no son
bisiestos salvo si ellos son tambin mltiplos de 400 (Ejemplo: 2000 es
bisiesto, 1800 no lo es)
4. Disear un algoritmo que permita ingresar una letra y decir si es o no una
vocal
5. Disear un algoritmo que permita encontrar el mayor de 3 nmeros
6. Disear un algoritmo que permita encontrar el mayor, menor y el nmero
intermedio entre 3 nmeros considere tambin los casos en los que exista
ms de un nmero igual
7. Disear un algoritmo en el que dada la siguiente ecuacin:

0
2
= + + C BX AX

Encontrar:
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:34


A
AC B
B X X
2
4
,
2
2 1

=

Considere los casos:
Si el discriminante es mayor a 0 la respuesta ser dos nmeros reales
distintos
Si el discriminante es igual a 0 la respuesta ser dos nmeros reales
iguales
Si el discriminante es menor a 0 la respuesta ser dos nmeros
imaginarios

ESTRUCTURAS DE REPETICIN O BUCLES O CICLOS
DEFINICIN
Un bucle no es ms que una serie de instrucciones que se repiten.
Podemos tener 3 tipos de bucles segn lo que nos interese comprobar. Tenemos
un bucle que se repite mientras se cumple una condicin determinada, otro
que se realiza hasta que se cumple la condicin que marcamos y un tercero
para cuantas veces ya definidas hay que repetir.

RESUMEN:
ESTRUCTURAS DE REPETICIN:
Mientras- hacer
Repetir- hasta
Desde/Para (for)

A la hora de utilizar un bucle, sea del tipo que sea, debemos ir con cuidado y
pensar cuando debe acabar ya que si no tuviramos en cuenta esto podramos
entrar en un bucle sin fin, o sea que iramos repitiendo las mismas lneas
teniendo que abortar la aplicacin, para poderla finalizar.

Por esto es de suma importancia que pensemos, antes de hacer nada, en qu
momento, como, donde y porque debe acabar el bucle.

ESTRUCTURA MIENTRAS-HACER
En nuestro curso esta estructura bsica de un bucle Mientras se representar
de la siguiente manera:
Mientras (Condicin) Hacer
Instruccin 1
Instruccin 2
Fin_Mientras

Explicaremos lnea a lnea este bucle:
Primera lnea: En esta lnea pondremos la <condicin> que se debe dar
para que se ejecute el bucle. En el momento que la condicin sea Falsa
se terminar el bucle y se continuar con las siguientes instrucciones.
Segunda lnea: Lnea o lneas donde pondremos las instrucciones a
efectuar en caso de que la condicin sea VERDADERA.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:35

Tercera lnea: Fin del bucle Mientras.

De aqu se pasa a la primera lnea del bucle para volver a mirar la condicin.

Ejemplo: Escriba un algoritmo que permita calcular el rea de N tringulos:
Algoritmo_area_tringulo
1. Inicio
2. Escribir(Ingrese el nmero de tringulos a realizar el clculo)
3. Leer (N)
4. I = 1
5. Mientras (I <= N) hacer
5.1 Escribir(Ingrese la base y la altura de tringulo, I)
5.2 Leer (base, altura)
5.3 Area = (base * altura)/2
5.4 Escribir(El rea del tringulo, I, es: ,Area)
5.5 I = I+1
5.6 Fin_Mientras
6. Fin

Ejemplo: Sumar N veces dos nmeros
Algoritmo Sumar_dos_nmeros
1. Inicio
2. Escribir (Ingrese los dos nmeros a sumar y el nmero de veces a
sumarlos)
3. Leer (A,B,N)
4. SI (N>0) AND( N int(N))? ENTONCES
4.1 I=1
4.2 Total =0
4.3 Mientras I<=N? hacer
4.3.1 Total = Total +A+B
4.3.2 I = I+1
4.3.3 Fin de Mientras
4.4 Escribir(El total es ,Total)
5. fin_si
6. Fin.
Ejemplo: Hallar el mximo comn divisor entre dos nmeros
Algoritmo MCD
1. Inicio
2. Escribir (Ingrese los dos nmeros)
3. Leer(a,b)
4. c= a mod b
5. Mientras (c<> 0) hacer
5.1 a=b
5.2 b= c
5.3 c= a mod b
5.4 fin_mientras
6. Escribir(b)
7. Fin
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:36

Deber
1. Escriba el algoritmo que permita obtener los n primeros nmeros impares y su
suma
2. Algoritmo de la multiplicacin
3. Algoritmo de la multiplicacin por sumas sucesivas
4. Algoritmo que permita imprimir el nombre de 2 personas
5. Algoritmo que permita imprimir el nombre de N personas
6. Algoritmo para calcular Y como una funcin de X de acuerdo a la expresin Y=
1.5x+2.5x
2
-9.8x
3
para cada paso imprimir X y Y para valores entre 1 y 9.9 con
un incremento de 0.1.

ESTRUCTURA REPETIR HASTA
Esta es otra estructura de bucle pero tiene un pequeo matiz que la hace
diferente a la ya estudiada anteriormente. Tanto una como la otra se utilizan,
pero cada una de ellas va bien para segn qu caso ya que ese matiz pueden
hacer su uso muy diferente.

Repetir
Instruccin 1
Instruccin 2
HASTA (condicin)

Observe que esta estructura primero ejecutara las instrucciones y despus
mirara si se cumple o no la condicin, con lo que tenemos que tener mucho
cuidado ya que las instrucciones como mnimo se ejecutarn una vez (las veces
restantes ya dependern de la condicin). La condicin se evala despus de
realizar las instrucciones y no antes como pasaba en el caso del Mientras.

Ejemplo: Escriba un algoritmo que permita calcular el rea de N tringulos:

Algoritmo area_tringulo
1. Inicio
2. Escribir(Ingrese el nmero de tringulos a realizar el clculo)
3. Leer (N)
4. I = 1
5. REPETIR
5.1 Escribir(Ingrese la base y la altura de tringulo: ,I)
5.2 Leer(base, altura)
5.3 Area = (base * altura)/2
5.4 Escribir(El rea del tringulo: ,I, es: , Area)
5.5 I = I+1
5.6 HASTA (I > N)
6. Fin

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:37

Deber:
1. Disear un algoritmo que permita encontrar la sumatoria de los n primeros
nmeros primos
2. Disear un algoritmo que permita encontrar la sumatoria de los n primeros
nmeros perfectos. Un nmero es perfecto cuando es igual a la suma de todos
los nmeros para los cuales es divisible excepto el mismo nmero. (6 = 1+2+3)
3. Disear un algoritmo que permita realizar la operacin de multiplicacin de dos
nmeros utilizando sumas sucesivas
4. Disear un algoritmo que permita realizar la operacin de potenciacin utilizando
sumas sucesivas
5. Disear un algoritmo que permita encontrar el factorial de un nmero

ESTRUCTURA DESDE / PARA(FOR)
Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero
de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero
especfico de veces y de modo automtico controla el nmero de interacciones o
pasos a travs del cuerpo del bucle.

La estructura For posee las siguientes partes:

For variable de control, valor inicial, valor final, incremento/decremento
Instruccin 1
Instruccin 2
Fin_For

El funcionamiento del for:
El for es una estructura muy parecida a un mientras hacer con la diferencia de
que no requiere incrementar o decrementar el contador obligatoriamente como
una ms de las instrucciones del bucle ya que se realiza automticamente.

En el caso de que se conozca con anticipacin el nmero de veces a repetir un
bucle, se podr utilizar el for.

Entre las reglas bsicas de su funcionamiento hay que tener en cuenta que el for
requiere de una variable de control que actuar como un contador, su primera
interaccin se realiza cuando la variable de control toma el valor inicial, y la
ltima interaccin del bucle es cuando la variable de control toma el valor final.
Adems en cada interaccin la variable de control se decrementa o incrementa
de acuerdo al valor sealado en la declaracin.

Tanto la variable de control, como el valor inicial y el valor final deben ser del
mismo tipo y el for solo admite trabajar con valores ordinales tales como enteros
o caracter, los nmeros reales no son ordinales.


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:38

Ejemplo: Sumar los 100 primero nmeros enteros
Algoritmo Sumar
1. Inicio
2. Total =0
3. For I,1,100, +1
3.1 Total = Total +I
3.2 Fin_FOR
4. Escribir(El total es ,Total)
5. Fin.

Ejemplo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del 1
al 50
Algoritmo Sumar_rango
1. Inicio
2. Total =0
3. For I,1,50, +1
3.1 SI I mod 3 = 0? ENTONCES
3.1.1 Total = Total +I
Fin si
3.2 Fin_FOR
4. Escribir(El total es ,Total)
5. Fin.

Ejemplo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del
50 al 1
Algoritmo Sumar_multiplos
1. Inicio
2. Total =0
3. For I,50,1, -1
3.1 SI I mod 3 = 0? ENTONCES
3.1.1 Total = Total +I
Fin si
3.2 Fin de FOR
4. Escribir(El total es ,Total)
5. Fin.

Deber
1. Construir un algoritmo que despliegue los nmeros del 20 al 30
2. Desplegar los enteros entre 30 y 50 acompaados de su potencia cuadrada y
raz cbica respectiva
3. Desplegar una tabla de multiplicar que el usuario indique


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:39

DIAGRAMAS DE FLUJO
TCNICAS PARA LA FORMULACIN DE ALGORITMOS
Las dos herramientas utilizadas comnmente para disear algoritmos son:
Diagrama de Flujo
Pseuducodigo

DEFINICIN DE DIAGRAMAS DE FLUJO
Los diagramas de flujo (Flujogramas u ordinogramas) son grficos que permiten
la representacin simblica de la lgica de un algoritmo. Con ello se consigue
ordenar un problema en una sucesin de pasos de manera clara y concisa. Las
operaciones a ejecutarse se representan mediante figuras. Para establecer el
orden de ejecucin de las instrucciones utilizamos DIRECCIONES DE FLUJO, es
decir conectamos las figuras mediante lneas que sirven para indicar la secuencia
de ejecucin de las instrucciones
Es un grfico que muestra el orden en el que se van ejecutando las diferentes
instrucciones
El diagrama de flujo es un grfico en el que se representa el orden en el que se
van ejecutando las diferentes instrucciones que forman el algoritmo
Herramienta que constituye el fundamento de programacin convencional siendo
muy til en los programas de pequeo y mediana complejidad
Un diagrama de flujo es un tipo de notacin grfica algortmica
Un diagrama de flujo es una herramienta grfica de descripcin de algoritmos
que se caracteriza por utilizar un conjunto de smbolos grficos y expresar de
forma clara los flujos de control o el orden lgico en el que se realizan las
acciones de un algoritmo.
ALGORITMO DIAGRAMA DE FLUJO



Algoritmo multiplicar_may_0
1. Inicio
2. Escribir(Ingrese dos
nmeros)
3. Leer(a,b)
4. Si( a< 0)entonces
4.1 Escribir (Error)
Si No
4.2 c= a*b
4.3 Escribir(c)
Fin_si
5. Fin
















Inicio
Escribir(Ingrese
dos nmero)
Leer(a,b)
(a < 0)
Escribir(Error)
c= a*b
Escribir(c)
fin
V F
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:40

SIMBOLOGA BSICA
Aunque existe en la literatura una amplia variedad de representaciones para los
smbolos utilizados en los diagramas de flujo, en este texto se adoptaran los
mismos que se presentan en la ilustracin:



Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre s mediante lneas que indican el
orden en que se deben ejecutar los procesos.

Los smbolos utilizados han sido normalizados por el instituto norteamericano de
normalizacin (ANSI).

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:41


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:42



RECOMENDACIONES PARA EL DISEO DE DIAGRAMAS DE FLUJO
Se deben de usar solamente lneas de flujo horizontales y/o verticales
Se debe evitar el cruce de lneas utilizando los conectores
No deben quedar lneas de flujo sin conectar
Se deben usar conectores solo cuando sea necesario
Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo
y de izquierda a derecha
Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando
el uso de muchas palabras


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:43

Estructura secuencial
La ilustracin muestra el diagrama de flujo que representa a la estructura de control
secuencial.

Ejemplo: Calculo de la suma y producto de dos nmeros. Hallar su algoritmo:

ALGORITMO DIAGRAMA DE FLUJO





Algoritmo suma_mult
1. Incio
2. Leer(a,b)
3. S= a+b
4. P=a*b
5. Escribir (S, P)
6. fin






















Inicio
Escribir(Ingrese
dos nmero)
Leer(a,b)
s= a+b
Escribir(s,P)
fin
P= a*b
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:44

Estructuras de seleccin
La ilustracin muestra los diagramas de flujo de las estructuras de seleccin.



Puede observarse en la figura anterior que en la estructura de seleccin simple se
evala la condicin, y si sta es verdadera, se ejecuta un determinado grupo de
sentencias; en caso contrario, las sentencias son ignoradas.

En la estructura de seleccin doble, cuando la condicin es verdadera, se ejecutar
un determinado grupo de sentencias, y si es falsa se procesar otro grupo diferente
de sentencias.

Por ltimo, en la estructura de seleccin mltiple se ejecutarn unas sentencias u
otras segn sea el valor que se obtenga al evaluar una expresin representada por
el indicador. Se considera que dicho resultado ha de ser de tipo ordinal.


FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:45


CONDICIONES SIMPLES
En general todas las condiciones simples se forman con; variables, operadores
relacinales, y constantes.

sexo = m
sueldo > 300,000

Una condicin simple se define como el conjunto de variables y/o constantes
unidas por los llamados operadores relacinales.

Los operadores relacinales que reconocen en muchos lenguajes como:

Operador Significado
= Igual que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<>, != No es igual o es diferente que

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:46

CONDICIONES COMPUESTAS
En muchas ocasiones es necesario presentar ms de una condicin para su
evaluacin al computador.

Por ejemplo que el computador muestre la boleta de un alumno, si este estudia
la carrera de medicina y su promedio de calificaciones es mayor de 70.

Una condicin compuesta se define como dos o ms condiciones simples unidas
por los llamados operadores lgicos.

Los operadores lgicos que se reconocen son:









Para que el computador evale como CIERTA una condicin compuesta que
contiene el operador lgico "and", las dos condiciones simples deben ser ciertas.


Para que el computador evale como CIERTA una condicin compuesta que
contiene el operador lgico "or", basta con que una de las condiciones simples
sea cierta.

Alternativa doble:
OPERADOR SIGNIFICADO
AND "Y" LOGICO
OR "O" LOGICO
NOT "NO"
NEGACION
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:47



Diagramas de flujo



















Inicio
Escribir(Ingrese
dos nmero)
Leer(a,b)
(a < 0)
Escribir(Error)
c= a*b
Escribir(c)
fin
V F
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:48

Alternativa mltiple:
Tambin existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos, o se usan una condicin compuesta muy
grande o se debe intentar convertir el problema a uno que se pueda resolver
usando la instruccin de seleccin mltiple o case o switch.

La instruccin de decisin mltiple, se busca el valor contenido en una variable
contra una lista de constantes ordinales, cuando el computador encuentra el
valor de igualdad entre variable y constante, entonces ejecuta el grupo de
instrucciones asociados a dicha constante, si no encuentra el valor de igualdad
entre variable y constante, entonces ejecuta un grupo de instrucciones asociados
a un valor por defecto, aunque este ltimo es opcional.


Pseudocdigo:

La expresin ya no es lgica, sino de tipo ordinal.

Una forma de implementar esta estructura es mediante sentencias si entonces
anidadas.

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:49



Conviene tener presente que esta estructura puede contener tambin una
seccin opcional o parte si- no

Reglas:
1. La expresin <selector> se evala y se compara con las constantes; las
constantes son listas de uno o ms posibles valores de <selector> que en
algunos casos pueden ir separados por comas. Ejecutadas la(s)
<instrucciones>, el control se pasa a la primera instruccin a continuacin
del case
2. La clusula si-no es opcional
3. Si el valor de <selector> no est comprendido en ninguna lista de
constantes y no existe la clusula si-no, no sucede nada y sigue el flujo
del programa; si existe la clusula si-no se ejecutan la(s) <instrucciones>
a continuacin de la clusula si-no
4. El selector debe ser un tipo ordinal (entero, caracter, booleano). Los
nmeros reales no pueden ser utilizados ya que no son ordinales
5. Todas las constantes del case deben ser nicas y de un tipo ordinal
compatible con el tipo del selector

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:50

Deber:
1. Disear un diagrama de flujo que permita ingresar 3 notas valoradas cada una
de ellas sobre una nota de 20 puntos. Obtener su promedio e imprimir uno de
los siguientes mensajes:
20-19 Sobresaliente
18-16 Muy buena
15-13 Buena
12-10 Regular
09-0 Insuficiente
2. Disear un diagrama de flujo que permita ingresar un caracter e imprimir un
mensaje que diga si es vocal, consonante, cifra o carcter especial
3. Disear un diagrama de flujo que permita ingresar un nmero que se encuentre
entre 1 y 31 y decir si es un nmero primo o no primo
4. Disear un diagrama de flujo que permita simular el trabajo de una calculadora
en la que se sume, reste, multiplique y divida siempre con un nmero fijo
cualesquiera
5. Disear un diagrama de flujo que permita calcular las funciones trigonomtricas

Estructuras de repeticin
A continuacin se muestran las estructuras de repeticin bsicas.

Estructuras de repeticin en diagrama de flujo a) mientras hacer (while) y b) repetir
hasta (do-while).

REGLAS DE FUNCIONAMIENTO DEL MENTRAS - HACER
1. Permite repetir un bloque de sentencias cero o ms veces dependiendo del
valor que se evala para una expresin booleana
2. Primero se evala la condicin; si la expresin booleana es verdadera se
ejecuta el cuerpo del bucle y se vuelve a evaluar la condicin

Diagrama de flujo del algoritmo de Euclides para encontrar el mximo
comn divisor
La solucin al problema est determinada por el algoritmo de Euclides.

Verdadera
Falso
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:51



CARACTERSTICAS DEL BUCLE REPETIR HASTA
Se ejecutan siempre una vez, por lo menos, y la terminacin del bucle se
produce cuando el valor de la expresin lgica o condicin de salida es
verdadera. Se ejecuta hasta que la expresin es verdadera, es decir, se ejecuta
mientras la expresin sea falsa.

SENTENCIA FOR
Repite la ejecucin de una o varias sentencias un nmero fijo de veces.
Previamente establecido. Necesita una variable de control del bucle que es
necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable
de control toma una serie consecutiva de valores de tipo ordinal, comprendidos
entre dos valores extremos (inferior y superior).

REGLAS DE FUNCIONAMIENTO DEL REPETIR HASTA
1. La condicin se evala al final del bucle, despus de ejecutarse todas las
sentencias
2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas
sus instrucciones
3. Si la condicin es verdadera, se sale del bucle y se ejecuta la siguiente
instruccin despus de la estructura
FOR VC, VI,VF,INC
INSTRUCCIONES
vc
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:52

Ejemplo: Ingresar N notas y obtener su promedio
1. Inicio
2. Escribir(Ingrese el nmero de notas:)
3. Leer(N)
4. Suma = 0
5. For i , 1, N,+1
5.1 Escribir(Ingrese la nota: , i)
5.2 Leer (Nota)
5.3 Suma = Suma + Nota
5.4 Fin del For
6. Promedio = Suma/N
7. Escribir(La respuesta es = , Promedio)
8. Fin




























Caractersticas del bucle FOR:
Aunque a primera vista pueda resultar ms atractivo FOR, en algunos lenguajes
de programacin existen limitaciones en su aplicacin ya que en el bucle FOR
siempre se incrementa o decrementa (de uno en uno) los valores de la variable
de control de bucle y no de dos en dos o de tres en tres, como en otros
lenguajes.
INICIO
FIN
ESCRIBIR (INGRESE EL
NMERO DE NOTAS)
LEER(N)
SUMA =0
FOR I, 1, N, +1
ESCRIBIR(INGRESE LA NOTA: , I)
LEER (NOTA)
SUMA =SUMA + NOTA
i
PROMEDIO = SUMA/N
ESCRIBIR(LA RESPUESTA ES = ,
PROMEDIO)
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:53


El nmero de iteraciones de un bucle FOR siempre es fijo y se conoce de
antemano:

Valor final - Valor inicial +1.

CUNDO UTILIZAR MIENTRAS HACER/REPETIR HASTA/FOR?
Utilizar la sentencia o estructura FOR cuando se conozca el nmero de
iteraciones, y siempre que la variable de control de bucle sea de tipo ordinal
Utilizar la estructura REPETIR HASTA cuando el bucle se realice por lo
menos una vez
En todos los dems casos utilizar la sentencia MIENTRAS HACER.

Bucles anidados
Los bucles, al igual que las sentencias condicionales, tambin se pueden anidar.
Esto es especialmente til para el manejo de matrices, como veremos en los
temas posteriores

Deber:
1. Disear un diagrama de flujo que permita generar la sumatoria de la serie:
.......
)! 3 ( )! 2 ( )! 1 (
+
a a a
a a a

2. Disear un diagrama de flujo que permita generar la sumatoria de la serie:
......
7
6
5
6
5
4
3
4
3
2
2 + + + +

3. Disear un diagrama de flujo que permita generar las tablas de multiplicacin
4. Imprimir todos los caracteres en minsculas que existen entre un intervalo de
maysculas ejemplo: A b c d e f g H

APLICACIN PRCTICA
Uso del MIENTRAS HACER/ REPETIR HASTA / For
Ejemplo:
Disear un diagrama de flujo que permita calcular cuntas palabras
existen en una frase
Probar si una palabra ingresada por el usuario es o no palndromo. Una
palabra es palndromo cuando se lee igual de derecha a izquierda que de
izquierda a derecha ejemplo Ana, Radar, Oso

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:54

Ejemplo: Disear un diagrama de flujo para cambiar a maysculas todas las letras
de una frase


















INICIO
Escribir(ingrese la frase)
Leer(cad)
concatenar(cad, )
n= longitud(cad)
For i,o,(n-1),+1
Cad[i]= mayuscula(cad[i])
i
Escribir(cad)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:55

Ejemplo: Disear un diagrama de flujo para contar las palabras en una frase





INICIO
Escribir(ingrese la frase)
Leer(cad)
concatenar(cad, )
n= longitud(cad)
For i,o,(n-1),+1
Cont=cont+1

Escribir(cont,palabras)
FIN
cont= 0
cad[i]=
V
F
i
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:56

Deber:
1. Disear un diagrama de flujo que permita calcular cuntas vocales existen en
una frase
2. Contar la incidencia de las letras en una palabra. Es decir cuntas veces se
repiten
3. En una frase contar palabras de longitud par y las de longitud impar que
existan en ella
4. Reemplazar las palabras de longitud par en una frase por asteriscos
5. Visualizar las palabras de longitud impar en una frase al revs

DIAGRAMAS DE CAJA
Estos diagramas son tambin llamados diagramas de tcnicas
horizontales, ya que se los realizan en rengln seguido y no necesitan
flechas.
Tambin conocidos como diagramas Nassi-Sheneiderman o Chapin,
corresponden a uno de los tipos de diagramacin estructurada. Las
acciones se escriben en rectngulos o cajas sucesivas. Se pueden escribir
diferentes acciones en una caja. La simbologa utilizada es como vemos
en las siguientes figuras:


ESTRUCTURA SECUENCIAL
Estas estructuras vienen dadas a regln seguido y el diagrama de caja de esta
estructura es la siguiente:

Ejemplo:
INICIO
INSTRUCCIN
INSTRUCCION
INSTRUCCION
FIN

Utilizando diagramas de caja realizar la siguiente operacin: A= B+C
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:57


INICIO
LEER(B,C)
A= B+C
ESCRIBIR(A)
FIN

ESTRUCTURA DE BIFURCACIN SIMPLE
En estas estructuras si la condicin se cumple se ejecutar los procesos por la parte
SI, caso contrario se realizarn los procesos por la parte NO.

Una instruccin condicional es aquella que nos permite "preguntar" sobre el
entorno que nos rodea, pudiendo as actuar segn la respuesta obtenida. Estas
respuestas siempre sern Verdadero o Falso, pudiendo as tomar, en un principio,
dos caminos diferentes.

Pseudocodigo
Si < Condicin> entonces
< accin s11 >
< accin s 12 >
Fin _ si




Alternativa doble (si-entonces-si_no )
Evala la condicin y determina si es verdadera o falsa para ejecutar las acciones
correspondientes.

Acciones:
Si la condicin es verdadera entonces se ejecuta la accin SI (o acciones caso
de ser SI una accin compuesta y constar de varias acciones).
Si la condicin es falsa, entonces se pasar a la accin sino (else o falsa).

Pseudocodigo
Si < Condicin> entonces
< Accin SI >
Si_no
< Accin S2 >
Fin _ si

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:58



Ejemplo: Dados tres nmeros imprimir o escribir cul es el mayor






















Alternativa mltiple (segn _sea, caso de / case)
Es aquella que evala una expresin que podr tomar N valores distintos (1, 2, 3,
4,n) segn que elija uno de estos valores en la condicin, se realizar una de las n
acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino
entre los n posibles.









INICIO
ESCRIBIR(INGRESE TRES VALORES)

LEER(A,B,C)


Verdadero A > B Falso


Verdadero A>C Falso

Verdadero B>C Falso
Escribir(A es
mayor)
Escribir(C
es
mayor)
Escribir(B es
mayor)
Escribir(C es
mayor)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:59

Diagrama de Flujo










Ejemplo: Disear un diagrama de caja para identificar si un carcter ingresado por el
usuario es o no una vocal.
INICIO
ESCRIBIR(Ingresar un carcter)
LEER(op)
op=mayscula(op)
CASO op DE
VALOR A:
Cad=Es una A

VALOR E:
Cad=Es una E

VALOR I:
Cad=Es una I

VALOR O:
Cad=Es una O

VALOR U:
Cad=Es una U

POR DEFECTO:
Cad=no es vocal

FIN CASE
Escribir(cad)
FIN
CASO (EXPRESIN) DE

VALOR 1:



VALOR N:



POR DEFECTO:



FIN CASE

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:60

Estructura repetitiva
Son aquellas en las que especialmente se disea para todas aquellas aplicaciones en
las cuales una operacin o conjunto de ellas deben repetirse muchas veces.

Bucles /lazos: Son estructuras que repiten una secuencia de instrucciones un
nmero determinado de veces.

Interaccin: Es el hecho de repetir la ejecucin de una secuencia de acciones; en
otras palabras el algoritmo repite muchas veces las acciones.

Al utilizar un bucle para sumar una lista de nmeros, se necesita saber cuntos
nmeros se han de sumar, para poder detenerlo en el momento preciso; las dos
principales preguntas a realizarse en el diseo de un bucle son: Qu contiene el
bucle? y Cuntas veces se debe repetir?
Casos generales de estructuras repetitivas
1. La condicin de salida del bucle se realiza al principio del bucle (estructura
mientras)
2. La condicin de salida se origina al final del bucle; el bucle se verifica hasta que
se verifique una cierta condicin
3. La condicin de salida se realiza con un contador que cuente el numero d
interacciones. ( i es un contador que cuenta desde el valor inicial (vi.) hasta el
valor final (vf) con los incrementos que se consideran.)

Estructura mientras - hacer (while).
Es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada
condicin. Cuando se ejecuta la accin mientras, la primera cosa que sucede es
que se evala la condicin (una expresin booleana), si se evala falsa ninguna
accin se tomara; si la expresin booleana es verdadera, entonces se ejecuta el
cuerpo del bucle, despus del cual se evala de nuevo la expresin booleana.

Esta expresin booleana se repite una y otra vez mientras la expresin booleana
(condicin) sea verdadera.




Expresin de un bucle cero veces
En una estructura mientras la primera cosa que sucede es la evaluacin de la
expresin booleana; si es falsa en este punto entonces el cuerpo del bucle nunca se
Mientras (condicin) hacer



FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:61

ejecuta. Puede parecer intil ejecutar el cuerpo del bucle cero veces, ya que no
tendr efecto en ningn valor o salida. Sin embargo no es una accin deseada.

Bucles infinitos
En algunos bucles no existen fin y otros no encuentran el fin por error en su diseo,
el bucle corre siempre; en otras ocasiones el bucle no se termina nunca porque
nunca se cumple la condicin.

Regla prctica
Las pruebas o tesis en las expresiones booleanas es conveniente que sean mayor o
menor que en lugar de pruebas de igualdad o desigualdad. En el caso de la
codificacin en un lenguaje de programacin, esta regla debe seguirse rgidamente
el caso de comparacin de nmeros reales.
Ejemplo: Disee un diagrama de caja que permita generar los 5 primeros nmeros
pares utilizando la estructura Mientras-Hacer














Ejemplo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura Mientras-Hacer.
















INICIO
NUM = 0
I =1
Mientras (I < = 5) hacer
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
INICIO
ESCRIBIR(Ingrese el valor de N)
LEER(N)
NUM = 0
I =1
Mientras (I < = N) hacer
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:62

Estructura repetir (repeat).
Si el valor de la expresin booleana es inicialmente falso, el cuerpo del bucle no se
ejecutara, por ello se necesitan de otros tipos de estructuras dicha estructura se
ejecuta hasta que cumpla una condicin determinada que se comprueba hasta el
final del bucle.














DIFERENCIAS ENTRE LAS ESTRUCTURAS MIENTRAS Y REPETIR
La estructura mientras termina cuando la condicin es falsa, mientras que
repetir termina cuando la condicin es verdadera
En la estructura repetir el cuerpo del bucle se ejecuta siempre al menos una
sola vez; por el contrario mientras es ms general y permite la posibilidad de
que el bucle pueda no ser ejecutado. Para usar la estructura repetir debe estar
seguro de que el cuerpo del bucle se repetir al menos una sola vez

Ejemplo: Disee un diagrama de caja que permita generar los 5 primeros nmeros
pares utilizando la estructura Repetir - Hasta.

















REPETIR



HASTA (CONDICIN)
INICIO
NUM = 0
I = 1
REPETIR
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
HASTA ( I > 5)
FIN
Sentencia(s
Condicin
Verdadero
Falso
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:63

Ejemplo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura Repetir - Hasta

















Estructura desde/para (for)
Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero
de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero
especifico de veces y de modo automtico controla el nmero de interacciones o
pasos a travs del cuerpo del bucle.















La estructura de repeticin FOR, se caracteriza por utilizar:
1. Definir una variable que actuar como contador
2. Establecer el valor inicial para dicha variable
3. Establecer el valor final para el contador
4. Determinar si ser un incremento (+1) o un decremento (-1)


INICIO
ESCRIBIR(INGRESE EL VALOR DE N)
LEER(N)
NUM = 0
I = 1
REPETIR
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
HASTA ( I > N)
FIN
FOR Vc, Vi, Vf, Inc/Dec



FOR VC, VI,VF,INC
INSTRUCCIONES
vc
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:64

Ejemplo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura FOR













Ejemplo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura MIENTRAS-HACER




















INICIO
ESCRIBIR(INGRESE CUNTOS NMEROS QUIERE GENERAR)
LEER(N)
NUM = 0
FOR I, 1, N, +1
NUM = NUM +2
ESCRIBIR (NUM)
FIN
INICIO
I = 1
MIENTRAS ( I < = 100 )HACER
SI I MOD 3 = 0 NO
ESCRIBIR(I, ES
DIVISIBLE PARA 3)

I = I +1
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:65

Ejemplo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura REPETIR HASTA


















Ejemplo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura FOR (Decrementos)

INICIO
FOR I, 100, 1, -1

SI I MOD 3 = 0 NO
ESCRIBIR(I,
ES DIVISIBLE
PARA 3)

FIN


Estructura repetitivas anidadas
Reglas
La estructura interna debe estar incluida dentro de la externa y no puede existir
solapamiento


INICIO
I = 1
REPETIR
SI I MOD 3 = 0 NO
ESCRIBIR(I, ES
DIVISIBLE PARA 3)

I = I +1
HASTA( I > 100)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:66

Tipos de bucles anidados

Bucles anidados Correctos


VECTORES
DEFINCIONES: Arreglos



El tratamiento de algoritmos y diagramas de flujo o de caja admite
agrupaciones de datos, a las cuales denomina "arreglos"

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:67

Un arreglo se compone de elementos de igual tamao almacenados
linealmente en posiciones de memoria consecutiva

Un arreglo es un conjunto finito de posiciones de memoria consecutivas
que tienen el mismo nombre y el mismo tipo de dato. Los arreglos de una
dimensin (unidimensionales) se llaman vectores. Los arreglos de dos
dimensiones (bidimensionales) se llaman matrices



Un vector o array -arreglos en algunas traducciones- es una secuencia de
objetos del mismo tipo almacenados consecutivamente en memoria


EJERCICIOS DE VECTORES
Ejemplo: Disear un diagrama de caja que permita llenar y visualizar los datos
almacenados en un vector
INICIO
ESCRIBIR(Cuntos nmeros va a ingresar)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR(Ingrese el valor de la posicin , i)
LEER(A[i])
For i, 0, N-1, +1
ESCRIBIR(A[i])
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:68

Ejemplo: Disear un diagrama de caja que permita sumar el contenido de un
vector

INICIO
ESCRIBIR(Cuntos nmeros va a ingresar)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR(Ingrese el valor de la posicin , i)
LEER(A[i])
Sum = 0
For i, 0, N-1, +1
Sum = Sum + A[i]
ESCRIBIR(La suma total es: , Sum )
FIN
Ejemplo: Disear un diagrama de caja que permita imprimir cuantos valores que
pertenecen al vector estn en el rango de A y B

INICIO
ESCRIBIR(Cuntos nmeros va a ingresar)
LEER(N)
REPETIR
ESCRIBIR( Ingrese los lmites inferior y
superior )
LEER(A, B)
HASTA(A < B)
For i, 0, N-1, +1
ESCRIBIR(Ingrese el valor de la
posicin , i)
LEER(V[i])
C = 0
For i, 0, N-1, +1
(V[i]>=A) Y (V[i]<=B)
C= C+1

ESCRIBIR(EXISTEN ,C, VALORES ENTRE , A, Y ,B)
FIN
SI NO
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:69

Deber:
1. Disear un diagrama de caja que permita sumar dos vectores de igual
longitud
2. Disear un diagrama de caja que permita sumar dos vectores de distinta
longitud
3. Disear un diagrama de caja que permita buscar el mayor y menor
nmero que se encuentran almacenados en un vector
4. Disear un diagrama de caja que permita ordenar un vector de forma
ascendente y descendente
5. Disear un diagrama de caja que permita reemplazar en un vector todos
los nmeros repetidos por un -5

ARREGLOS MULTIDIMENSIONALES O MATRICES

Los arreglos multidimensionales son secuencias de valores del mismo tipo
que se almacenan en localidades contiguas de memoria, segn el orden de
varios ndices. En el caso de los arreglos de dos dimensiones o matrices
es necesario identificar dos ndices. El primero identifica al nmero de fila
y el segundo el nmero de columna dentro del arreglo

El trmino dimensin representa el nmero de ndices utilizados para
referirse a un elemento particular en el arreglo. Los arreglos de ms de
una dimensin se llaman arreglos multidimensionales



La forma de referenciar un elemento de un vector o matriz es mediante su
ndice, que puede ser una constante, una variable o una expresin, pero
siempre un valor ENTERO. El ndice se expresa entre parntesis, y habr
tantos ndices como dimensiones tenga la agrupacin de datos (1 para
vectores, 2 en matrices, ...)

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:70



EJERCICIOS DE MATRICES
Ejemplo: Disear un diagrama de caja que permita ingresar datos de una matriz

INICIO
ESCRIBIR(INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1

For j, 0,C-1, +1
ESCRIBIR(Ingrese el valor de la posicin , i, j)
LEER(x[i] [j])
FIN

Ejemplo: Disear un diagrama de caja que permita sumar el contenido de una
matriz
INICIO
ESCRIBIR(INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1

For j, 0,C-1, +1
ESCRIBIR(Ingrese el valor de la posicin , i, j)
LEER(x[i] [j])
SUM = 0
For i, 0, F -1, +1

For j, 0,C-1, +1
SUM = SUM +x[i] [j]
ESCRIBIR(LA SUMA TOTAL ES DE : , SUM )
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:71

Ejemplo: Disear un diagrama de caja que permita generar una matriz traspuesta
Ejemplo: Dada una matriz en la que guarden las notas de n estudiantes en sus m
asignaturas. Calcular:
El promedio de notas de cada uno de los n estudiantes
El promedio de notas de cada una de las m asignaturas
INICIO
ESCRIBIR(INGRESE EL NMERO DE ESTUDIANTES Y DE ASIGNATURAS)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR(Ingrese nota del estudiante , i, en la
asignatura, j)
LEER(NOTAS[i][j])
For i, 0, F -1, +1

SUMF=0
For j, 0,C-1, +1
SUMF = SUMF + NOTAS[i][j]
ESCRIBIR(El ESTUDIANTE , i , (SUMF/C))
For j, 0, C -1, +1

SUMC=0
For i, 0,F-1, +1
SUMC = SUMC + NOTAS[i][j]
INICIO
ESCRIBIR(INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1

For j, 0,C-1, +1
ESCRIBIR(Ingrese el valor de la posicin , i, j)
LEER(M[i] [j])
For i, 0, F -1, +1

For j, 0,C-1, +1
T[i] [j] = M[j] [i]
For i, 0, C -1, +1

For j, 0,F-1, +1
ESCRIBIR(T[i] [j] )
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:72

ESCRIBIR(LA ASIGNATURA , j ,(SUMC/F))
FIN

Deber:
1. Disear un diagrama de caja que permita sumar dos matrices de igual
dimensin
2. Disear un diagrama de caja que permita sumar dos matrices de distinta
longitud
3. Disear un diagrama de caja que permita realizar la multiplicacin de
matrices

MANEJO Y DEFINICIN DE PROCEDIMIENTOS Y FUNCIONES
Procedimiento
Es una secuencia de operaciones; el nombre del procedimiento se refiere a
una secuencia de operaciones especfica. Entonces un procedimiento es muy
parecido a un programa, pero est subordinado o es controlado por un
programa. A los procedimientos tambin se los llama como subprogramas.

Un procedimiento es un grupo de sentencias que realizan una tarea concreta.
En lugar de reescribir el cdigo completo de esa tarea cada vez que se
necesite, nicamente se hace una referencia al procedimiento. Por ejemplo,
es muy comn que se quiera visualizar un ttulo determinado varias veces en
un programa, para evitar teclear ese ttulo en nuestro programa fuente todas
las veces que sea necesario creamos un procedimiento llamado "Titulo" que
se encargar de escribirlo. Una vez creado un procedimiento actuar como
una instruccin ms del lenguaje de programacin, y para ejecutarlo
nicamente teclearemos el nombre de dicho procedimiento. Para poder
ejecutar un procedimiento es necesario declararlo antes del programa que se
est utilizando.

Creacin de los procedimientos
El primer paso para crear un procedimiento es saber que queremos que haga. Una
vez definiendo este punto declaramos el procedimiento antes del cuerpo del
programa principal. La palabra reservada para su declaracin es Procedimiento
seguida del nombre o identificador del procedimiento. Ejemplo:

PROCEDIMIENTO NOMBRE(LISTA DE PARAMETROS FORMALES)









INICIO
Instruccin 1
Instruccin 2
..
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:73

PROGRAMA PRINCIPAL










Ejemplo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula.

PROCEDIMIENTO Linea

INICIO
Escribir(*****)
FIN

PROGRAMA PRINCIPAL









PARMETROS
Para poder pasar informacin entre el programa principal y procedimientos, o entre
los mismos procedimientos usamos los parmetros, que son los canales de
comunicacin de datos.

Los parmetros son opcionales y si no se necesitan no se deben usar. Para
utilizarlos es necesario declararlos son la siguiente sintaxis:

PROCEDIMIENTO nombre (lista de parmetros)

La lista de parmetros est compuesta de los nombres de los mismos.
Ejemplo:

PROCEDIMIENTO Linea(n1)

INICIO
Instruccin 1
Llamada al
procedimiento(Lista de
parmetros actuales)
..
FIN
INICIO
Linea
Escribir (ESPOCH)
Escribir(EIE)
Linea
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:74

Para llamar a un procedimiento que utiliza parmetros se pueden utilizar como tales
otras variables o constantes, siempre y cuando sean del mismo tipo que los
declarados. Ejemplo:

Linea(x);

Ejemplo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula e ingresar el nmero de asteriscos que queremos visualizar.

PROCEDIMIENTO Linea(n1)

INICIO
For i, 1, n1, +1

Escribir(*)
FIN

PROGRAMA PRINCIPAL












Ejemplo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula e ingresar el nmero y el carcter a imprimir.

PROCEDIMIENTO Dibuja(num, caracter)

INICIO
For i, 1, num, +1

Escribir(caracter)
FIN


INICIO
Linea(5)
Escribir (ESPOCH)
Escribir(EIE)
Escribir(Ingrese un nmero)
Leer (Longitud)
Linea(Longitud)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:75

PROGRAMA PRINCIPAL











DEFINICIN DE LAS FUNCIONES
Las funciones son, al igual que los procedimientos, un conjunto de sentencias que
se ejecutan constantemente, la diferencia entre stas y los procedimientos es que
las funciones regresan un valor. La declaracin de las funciones se realiza de la
siguiente forma:

FUNCIN NOMBRE (Lista de parmetros formales)

A continuacin se escribe el contenido de la funcin como una sentencia normal
(sencilla o compuesta), normalmente terminando con el valor que regresar o
retornar.

Ejemplo:

FUNCIN NOMBRE (Lista de parmetros formales)

INICIO
Instruccin 1
Instruccin 2
Retornar(valor)
FIN

PROGRAMA PRINCIPAL









Ejemplo: Disear un diagrama de caja utilizando funciones para calcular el factorial
de un nmero.

INICIO
Dibuja(5,@)
Escribir (ESPOCH)
Escribir(EIE)
Escribir(Ingrese un nmero y un carcter)
Leer (n, op)
Dibuja(n, op)
FIN
INICIO
Instruccin 1
Variable = nombre(lista de
parmetros actuales)
..
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:76

FUNCIN factorial(f)

INICIO
S = 1
For i, 1, f, +1

S= S * i
Retornar(S)
FIN

PROGRAMA PRINCIPAL









Ejemplo: Disear un diagrama de caja utilizando procedimientos y funciones para
calcular la sumatoria.

+
_
n!
1
2
-
_
(n -1)!
S
4
.

FUNCIN factorial(x)

INICIO
f = 1
For i, x, 1, -1

f= f * i
Retornar(f)
FIN

FUNCIN potencia(b,c)
INICIO
p = 1
For i, 1, c, +1

p= p * b
Retornar(p)
FIN
INICIO
Escribir(Ingrese un nmero)
Leer(num)
X = factorial(num)
Escribir(La respuesta es , X)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:77

PROCEDIMIENTO ImpRespuesta(y)

INICIO
Escribir(La suma total es de: , y)
FIN


PROGRAMA PRINCIPAL














INICIO
Escribir(Ingrese un nmero de trminos)
Leer(n)
Suma = 0
Sig = 1
Base= 1
Exp = 2
For i, n, 1, -1
Fact =factorial(i)
Pot= potencia(base, exp)
Termino= sqrt(Fact/Pot)
Termino= Termino*sig
Suma= Suma+ Termino
Sig= Sig*(-1)
Base= Base+2
Exp =Exp +2
ImpRespuesta(Suma)
FIN
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:78

GLOSARIO
SIGNIFICADO DE TERMINOS MS UTILIZADAS

AGP Perifrico Avanzado de Grficos. Bus para manejo de video de
alta velocidad, muy utilizado para manejo de grficos en 3D
AT Tecnologa de avanzada. Esta tecnologa esta aplicada en
fuentes de poder, tarjetas principales (Main board) y chasis o
caja metlica
ATAPI Especificacin que permite que las unidades de CD-ROM
acten como Discos Duros, lo cual permite ser conectadas a
interfaces IDE ( correas planas de datos)

ATX

Tecnologa avanzada extendida. la tecnologa ATX es mas
nueva y se aplica de igual forma en los componentes
anteriores de la AT
BINARIO Con solo dos estados o elementos. Pertenece a un sistema
basado en solo 2 unidades o alternativas, utiliza los dgitos
binarios 0 y 1
BIOS Basic INPUT AND OUTPUT SYSTEM (Sistema bsico para el
control de entrada y salida de datos en un computador).
Conjunto de programas grabados en chip de memoria ROM. (
Read Only Memory )
BIT Abreviatura de BINARY DIGIT. Representado por 0,1 unidad
principal de almacenamiento de informacin en la
computadora. A partir de esta unidad surgen las diferentes
unidades de almacenamiento 8 bits componen un BYTE
BYTE Conjunto formado por 8 unos y ceros (bits). Un byte es igual a
un carcter , una letra, un numero, un smbolo etc.
CMOS Complementary Metal Oxide Semiconductor. Tecnologa de
transistores y circuitos integrados de muy bajo consumo de
corriente.
COM ( comunicacin )Puertos de comunicacin serial, y son los
puerto 1 y 2. Un puerto COM es un circuito de entrada y salida
( I/O ) de datos en modo serial
CONSTANTE Dato definido en un programa que presenta un valor
permanente durante su tiempo de vida
DATO Expresin general que describe los objetos con los cuales
opera una computadora
DDR Memoria RAM (DOUBLE DATA RATE SYNCHRONOUS DRAM)
SDRAM
DIMM Dual In Line Memory Modul. ( Modulo de memoria de lnea
interna doble). Modulo estndar de 168 pines que ha
reemplazado a los mdulos de memoria RAM SIMM de 30 y 72
pines.

DIN Deutsche Institut Fur Normung. Organizacin de Normas
Alemanas que propuso un conjunto de configuraciones para
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:79

conectores como el teclado y el ratn tambin el MIDI.
Actualmente hay conector DIN para clones, y MINIDIN para
marca
DMA Direct Memory Access. ( Acceso directo a la memoria ). Es una
tcnica que permite a un dispositivo perifrico entrar o extraer
bloques de datos de la memoria principal del computador sin
que intervenga el microprocesador
EPP Puerto paralelo mejorado
HERTZ ( HZ) Hercio: unidad de medida de la frecuencia de vibracin
de un objeto, tal como una cuerda de guitarra. Un hertz es
igual a un ciclo por segundo.
IDE Integrate drive electronics Intelligent drive electronics.
Tecnologa de discos duros y unidades lectoras de CD-ROM en
la que el control e las operaciones Bsicas esta a cargo de la
circuetera electrnica de la misma unidad. este alto nivel de
integracin acorta las vas de acceso de las seales entre las
unidades y los controladores , permitiendo ms altos niveles
de transferencia de datos.
ISA Arquitectura industrial estndar , estructura de bus o ranura
de expansin
LPT Line Printer ( puerto para impresora )
MEGAHERTZ Megahercio unidad de medida igual a un milln de vibraciones
elctricas o ciclos por segundo se utiliza frecuentemente para
comparar entre computadoras las velocidades de los relojes
generadores de pulsos
PCI Interconexin de componentes perifricos, BUS que corre a 33
mhz
PGA Pines dispuestos en parrilla. (pin grid array). Tipo de
encapsulado para CPU ( MICROPROCESADOR). Conocido como
socket
RAM Random Access Memory ( Memoria de acceso directo a
cualquier celda ) tipo de dispositivo de memorizacin
electrnica de datos binarios ( unos y ceros a manera de
cargas elctricas ). Utilizado para cargar instrucciones de
programas y luego ejecutarlos muy rpidamente desde all
RAMBUS Memoria RAM de alta velocidad
RIMM Memoria RAM para grficos. Es la tercera generacin de
RAMBUS, sus mdulos se denominan RIMM y SO-RIMM. El
RIMM tiene 184 pines y el chip consume 2.5 voltios
ROM Read Only Memory. Memoria de solo lectura, tipo de
dispositivo electrnico para almacenar de manera permanente
datos binarios ( unos y ceros a manera de redes conductoras).
SCSI Small computer. Sistema interfase para computadoras
personales
SETUP Configuracin y ajuste
SIMM Single In Line Memory Module ( Modulo de Memoria En Una
Sola Lnea ). Tarjeta de circuito impreso que contiene varios
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:80

circuitos integrados de memoria RAM para computador
SIPP Single In Line Package. ( Circuito integrado o dispositivo con
sus pastillas de conexin formado por una sola hilera ).
Modulo de memoria RAM para computador
SPP Puerto paralelo estndar
SRAM ( Memoria Ram Esttica ). Chip de memoria esttica que no
requiere refrescamiento peridico de los datos almacenados en
celdas. Es ms rpida y costosa que la RAM
USB Bus Serial Universal. Permite la funcin plug and play (conecte
y empiece a trabajar) permite conectar hasta 126 dispositivos
fsicos
VARIABLE

Dato definido en un programa cuyo valor puede cambiar
durante su tiempo de vida



FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:81

EJERCICIOS PROPUESTOS

SIMPLE SECUENCIA Y SI CONDICIN ENTONCES:
1. Desarrolle un diagrama de caja que permita leer dos valores distintos,
determinar cul de los dos valores es el mayor y escribirlo
2. Desarrolle un diagrama de caja para determinar la hipotenusa de un
tringulo rectngulo conocidas las longitudes de sus dos catetos.
3. Desarrolle un diagrama de caja que permita determinar el rea y
volumen de un cilindro dado su radio (R) y altura (H).
4. Desarrolle un diagrama de caja que permita leer tres valores y
almacenarlos en las variables A, B y C respectivamente. El diagrama
debe imprimir cul es el mayor y cul es el menor. Recuerde constatar
que los tres valores introducidos por el teclado sean valores distintos.
Presente un mensaje de alerta en caso de que se detecte la
introduccin de valores iguales
5. Desarrolle un diagrama de caja que lea cuatro nmeros diferentes y a
continuacin imprima el mayor de los cuatro nmeros introducidos y
tambin el menor de ellos
6. Desarrolle un diagrama de caja que lea los primeros 300 nmeros
enteros y determine cuntos de ellos son impares; al final deber
indicar su sumatoria
7. Desarrolle un diagrama de caja que le permita determinar de una lista
de nmeros:
a) Cuntos estn entre el 50 y 75, ambos inclusive?
b) Cuntos mayores de 80?
c) Cuntos menores de 30?
El diagrama debe finalizar cuando n (el total de nmeros de la lista), sea
igual a 0.
8. Desarrolle un diagrama de caja que permita convertir calificaciones
numricas, segn la siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14
y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota est
comprendida entre 1 y 20.
9. Desarrolle un diagrama de caja que permita leer un valor entero positivo N
y determinar si es primo o no.
10.Capture un nmero cualesquiera e informe si es o no es mayor de 50 y
mltiplo de tres. ( solo escribir el mensaje de respuesta de manera muy
clara)
11.Se calcula que en promedio hay 4.7 nidos en cada rbol en la ESPOCH,
tambin se calcula que en cada nido existen un promedio de 5.8 pjaros, se
pide calcular la cantidad total de nidos y de pjaros en los 227 rboles que
existen en la ESPOCH
12.Realice un diagrama de caja que determine el pago a realizar por la entrada a
un espectculo donde se pueden comprar slo hasta cuatro entradas, donde
al costo de dos entradas se les descuenta el 10%, al de tres entrada el 15% y
a la compra de cuatro tickets se le descuenta el 20 %.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:82

13.El Mircoles de Ceniza es 46 das antes que el Domingo de Resurreccin.
Hacer un diagrama de caja para que dados el da D, el mes M y el ao A del
Domingo de Resurreccin calcule la fecha del Mircoles de Ceniza en ese ao.
Se debe tener en cuenta si el ao es o no bisiesto
14.Disee un diagrama de caja en el que dados tres nmeros, determinar si la
suma de cualquier pareja de ellos es igual al tercer nmero. Si se cumple
esta condicin, escribir Iguales y, en caso contrario, escribir Distintas.
15.En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa. El
presupuesto anual del hospital se reparte conforme a la siguiente tabla:
REA PORCENTAJE DEL PRESUPUESTO
Ginecologa 40%
Traumatologa 30%
Pediatra 30%
Obtener la cantidad de dinero que recibir cada rea, para cualquier
monto presupuestal.
16.En un supermercado se hace una promocin, mediante la cual el cliente
obtiene un descuento dependiendo de un nmero que se escoge al azar. Si el
numero escogido es menor que 74 el descuento es del 15% sobre el total de
la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cunto
dinero se le descuenta.
17.Calcular el nmero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aerbico; la formula que se aplica cuando el sexo es
femenino es: num. pulsaciones = (220 - edad)/10 y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10
18.Tomando como base los resultados obtenidos en un laboratorio de anlisis
clnicos, un mdico determina si una persona tiene anemia o no, o cual
depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo.
Si el nivel de hemoglobina que tiene una persona es menor que el rango que
le corresponde, se determina su resultado como positivo y en caso contrario
como negativo. La tabla en la que el mdico se basa para obtener el
resultado es la siguiente:
EDAD NIVEL HEMOGLOBINA
0 - 1 mes 13 - 26 g%
> 1 y < = 6 meses 10 - 18 g%
> 6 y < = 12 meses 11 - 15 g%
> 1 y < = 5 aos 11.5 - 15 g%
> 5 y < = 10 aos 12.6 - 15.5 g%
> 10 y < = 15 aos 13 - 15.5 g%
mujeres > 15 aos 12 - 16 g%
hombres > 15 aos 14 - 18 g%

CASE
19.Construir un men que contenga el siguiente men
Conversin de pesos a dlares
Conversin de libras a kilogramos
Conversin de kilmetros a millas
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:83

Fin de men
Seleccionar opcin [ ]
20.Evaluar cualquier funcin vista para cuando x =3,-4, 5


MIENTRAS HACER
21.Desarrolle un diagrama de caja que permita calcular Promedio de Notas;
finaliza cuando N = 0
22.Desarrolle un diagrama de caja para la empresa Constructora Tecnovivir
Casas C.A., que le permita calcular e imprimir la nmina para su cancelacin
a un total de 50 obreros calificados a quienes debe cancelar por horas
trabajadas. La hora trabajada se paut en $30,oo
23.Desarrolle un diagrama de caja que permita determinar a partir de un
nmero de das, ingresado por pantalla, Cuntos aos, meses, semanas y
das; constituyen el nmero de das proporcionado utilizando la estructura
mientras hacer.
24.La sucesin de Fibonacci se define de la siguiente forma: a1=1, a2=1 y
an=an-1+an-2 para n>2, es decir los dos primeros son 1 y el resto cada uno
es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ...
Hacer un diagrama de caja para calcular el Nsimo trmino de la sucesin.
25.Hacer un diagrama de caja que simule un reloj.
26.Hacer un diagrama de caja que permita construir la tabla de dividir que el
usuario indique
27.Realizar el diagrama de caja para resolver una ecuacin de segundo grado,
teniendo en cuenta las soluciones complejas.
28.Hacer un diagrama de caja para calcular el mximo comn divisor de dos
nmeros enteros positivos N y M siguiendo el algoritmo de Eucldes, que es el
siguiente:
a. Se divide N por M, sea R el resto.
b. Si R=0, el mximo comn divisor es M y se acaba.
c. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
d. Por qu el mtodo anterior acaba alguna vez? por qu calcula
el mximo comn divisor de N y M?

REPETIR HASTA
29.Hacer un diagrama de caja para convertir un nmero decimal N dado por
teclado a binario.
30.Hacer un diagrama de caja para calcular AB, siendo B un entero, ntese que
B puede ser 0 o negativo
31.Hacer un diagrama de caja para calcular el mximo de N nmeros ledos por
teclado, se debe realizar de dos formas, una almacenando previamente los
nmeros dados por teclado en un array y la otra calculando el mximo
directamente segn se leen los nmeros del teclado.
32.Se desea disear un diagrama de caja que a partir de un nmero (N)
ingresado por el usuario, muestre nmeros sucesivos menores que N. Asuma
que siempre se ingresa un nmero entero positivo
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:84

33.Hacer un diagrama de caja que dados un da D, un mes M y un ao A, calcule
cual es el da siguiente. Se debe tener en cuenta que en los aos bisiestos
Febrero tiene 29 das y en los no bisiestos 28
34.Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco
kilmetros durante 10 das, para determinar si es apto para la prueba de 5
Kilmetros o debe buscar otra especialidad. Para considerarlo apto debe
cumplir por lo menos una de las siguientes condiciones:
- Que en ninguna de las pruebas haga un tiempo mayor a 16
minutos.
- Que al menos en una de las pruebas realice un tiempo mayor a 16
minutos.
- Que su promedio de tiempos sea menor o igual a 15 minutos.
35.Un Zologo pretende determinar el porcentaje de animales que hay en las
siguientes tres categoras de edades: de 0 a 1 ao, de ms de 1 ao y menos
de 3 y de 3 o ms aos. El zoolgico todava no est seguro del animal que
va a estudiar. Si se decide por elefantes solo tomara una muestra de 20 de
ellos; si se decide por las jirafas, tomara 15 muestras, y si son chimpancs
tomara 40.
36.El Departamento de Seguridad Publica y Transito del D.F. desea saber, de los
n autos que entran a la ciudad de Mxico, cuantos entran con calcomana de
cada color. Conociendo el ultimo dgito de la placa de cada automvil se
puede determinar el color de la calcomana utilizando la siguiente Relacin:
DGITO COLOR
1 o 2 amarilla
3 o 4 rosa
5 o 6 roja
7 o 8 verde
9 o 0 azul
37.Una persona que va de compras a la tienda Enano, S.A., decide llevar un
control sobre lo que va comprando, para saber la cantidad de dinero que
tendr que pagar al llegar a la caja. La tienda tiene una promocin del 20%
de descuento sobre aquellos artculos cuya etiqueta sea roja. Determinar la
cantidad de dinero que esta persona deber pagar.
38.Disee un diagrama de caja que lea el valor de un ngulo expresado en
radianes y calcule e imprima el valor del seno de dicho ngulo. Se leer
tambin el nmero de trminos de la serie.
SEN(X) = X - ( X
3
/ 3 ! ) + ( X
5
/ 5 ! ) - (X
7
/ 7!) + .....
39.Disear un diagrama de caja que convierta un nmero del sistema decimal a:
a) sistema binario b) sistema octal c) sistema hexadecimal. Segn se elija.
40.Disear un diagrama de caja que calcule exactamente el nmero de das
vividos por una persona hasta la fecha. Contemplar los aos bisiestos.
41.Disear un diagrama de caja que permita la transformacin de un nmero de
base 10 a cualquier base
42.Disear un diagrama de caja que calcule la siguiente serie:
2
2
2
2
2
2
! 3
) 3 (
! 2
) 2 (
! 1
) 1 (
1

+
X X X

FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:85

FOR
43.Escribir un diagrama de caja que lea una frase y a continuacin visualice cada
palabra de la frase una debajo de otra, seguida cada palabra del nmero de
letras que compone cada palabra.
44.Escribir un diagrama de caja que lea una frase y sustituya todas las
secuencias de dos o ms blancos por un solo blanco y visualice la frase
45.Escribir un diagrama de caja que lea una frase y determine la frecuencia de
aparicin de cada vocal con respecto al total de caracteres de la frase
46.Hallar la sumatoria de la serie que se muestra a continuacin en la que los
signos cambian de la forma ++-++- y X tome los valores del 10 al 15 (todos)
+
(x + 1)
(n)
1! (n)
+
(x +S)
(n-1)
S! (n - 1)
-
(x - S)
(n-2)
S! (n -2)

47.Cuntas palabras palndromo existen en una frase ingresada por el usuario:
ejemplo: El oso de Ana se llama Radar. Respuesta = Existen 3 palabras
palndromos en la frase oso, Ana, Radar
48.Hallar las siguiente sumatoria:
....
))! 2 ( (
)! ) 2 ((
))! 1 ( (
)! ) 1 ((
)! (
)! (
) 2 ( ) 1 (


n X
n
n X
n
n X
n
n n n

Con todos los valores de a entre 1 y 5, b es un valor constantes ingresada el
usuario y n el nmero de trminos entre 1 y 10
49.Con todos los valores de X entre 10 y 20, n el nmero de trminos entre 1 y
5
....
)! 2 (
)) 2 ( ( 15
)! 1 (
)) 1 ( ( 10
!
) ( 5
2 1


n n n
n
n X
n
n X
n
n X

50.Disee un diagrama de caja que permita ingresar una frase por el usuario y
hallar cuantas palabras empiezan y terminan en la misma vocal y son de
longitud impar. Mostrarlas en una fila nueva cada palabra que cumpla con
las condiciones
Ejemplo:
La abeja Anita volar al este
Respuesta
abeja
Anita
51.Disee un diagrama de caja que permita ingresar una frase por el usuario y
averiguar cuantas palabras ingresadas en la frase tienen dos letras iguales y
seguidas y que sean de longitud par. Mostrarlas en una fila nueva cada
palabra que cumpla con la condicin
Ejemplo:
La conveccin de acciones provee igualdad
Respuesta:
Conveccin
Acciones
52.Disee un programa que permita ingresar una frase por el usuario y
averiguar cuantas palabras ingresadas en la frase tienen en sus palabras al
menos una mayscula y cuantas palabras tiene una longitud mltiplo de tres.
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:86

Ejemplo:
S:= Buena Suerte en el exAmen;
Respuesta:
Hay 3 palabras con letras maysculas: Buena, Suerte y exAmen
Hay 2 palabras que su longitud es mltiplo de 3: Suerte, exAmen
53.Disee un diagrama de caja que permita resolver la siguiente sumatoria de
sumatorias
Dada la serie:

........
) 6 )! 2 (( ) 4 )! 1 (( ) 2 ! (
) 2 (
5
) 1 (
3 1

+
+
+
+

n
b
n
b
n
b
n b n b n b

Donde b tomar todos los valores de 1 al 10 y el nmero de trminos (n)
ser dado por el usuario cuyo valor debe ser entre 5 y 8 trminos para todas
las series
54.Disee un diagrama de caja que permita resolver la siguiente situacin.
Dada una frase, como por ejemplo: Las fiestas De Riobamba Han TerMinaDo
. Encontrar:
a) Mostar cada palabra en una fila nueva y al revs:
saL
fiestas
eD
abmaboiR
naH
oDaniMreT
b) Cuntas palabras de la frase tienen al menos una letra mayscula:
Respuesta 5 (Las, De, Riobamba, Han, TerMinaDo)


VECTORES Y MATRICES
55.Capturar las ventas mensuales de una empresa durante un ao determinado
y al final calcule el promedio anual de ventas y muestre el nombre del mes
con la venta mayor as como el mes con la venta menor.
56.Capture los datos de un arreglo de N posiciones de nmeros positivos y
negativos enteros y sustituya los nmeros negativos por cero.
57.Capturar N valores de tipo entero para almacenarlos en un arreglo y
ordenarlo en forma ascendente.
58.Calcular el promedio y la desviacin estndar de un conjunto de N nmeros
ledos del teclado. La desviacin estndar se calcula con la siguiente frmula:

59.Calcular los nmeros primos hasta el N, segn la Criba de Eratstenes, que
consiste en poner todos los nmeros del 2 al N en una tabla e ir tachando los
mltiplos de cada nmero, detalladamente es como sigue:
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:87

1. Escribir los nmeros del 2 al N.
2. Hacer I igual a 2
3. Mirar el nmero I de la tabla.
4. Si esta tachado ir al paso 6.
5. Si no lo est tachar los mltiplos de I en la tabla.
6. Incrementar I.
7. Si I es menor o igual que N ir al paso 3.
8. En otro caso finalizar.
El punto 5 tambin requiere un algoritmo, que es el siguiente:
5.1 Hacer J igual al doble de I (primer mltiplo de I).
5.2 Si J es mayor que N finalizar (el apartado 5).
5.3 En otro caso tachar el elemento J.
5.4 Incrementar J en I (para pasar al siguiente mltiplo de I).
5.5 Volver a 5.2.
Para realizarlo se simular la tabla con nmeros tachados mediante un
array P, y el elemento I estar sin tachar cuando P(I) sea 1 y tachado cuando
sea 0.
60.Hacer un diagrama de caja para ordenar N nmeros ledos por teclado y
almacenados en un array A. El algoritmo es el siguiente:
1. Se lee N y despus los N nmeros al array A.
2. Se busca el mximo de los elementos del 1 al N y su ndice J.
3. Se intercambian los elementos A(J) y A(N).
4. Se decrementa N en 1.
5. Se compara N con 1, si es mayor se vuelve a 2.
6. Si es menor o igual se termina.
61.Hacer el diagrama de caja que dado un array A ordenado de N elementos,
encuentre la posicin de uno B ledo por teclado. El diagrama de caja a
emplear es el siguiente:
1. Se fijan los extremos de la porcin a buscar: I=1, J=N.
2. Se calcula el ndice del elemento medio K=(I+J)/2.
3. Se compara B con el elemento medio A(K).
4. Si es igual se escribe K y se termina.
5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.
6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.
Pensar despus que habr que modificar para que busque tambin
valores de B que no estn en el array A, si se da ese caso y no lo
encuentra debe poner un mensaje diciendo que no esta
62.Hacer un diagrama de caja que adivine el nmero entre 1 y 1000 pensado
por un humano. El diagrama de caja debe ir diciendo nmeros y el humano
responder con los smbolos '<', '>' o '=', segn el nmero pensado sea
menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine
deber poner un mensaje especificando cuantas preguntas ha necesitado y
finalizar. No debe realizar ms de 10 preguntas y debe detectar si el humano
le engaa dicindole cosas imposibles, por ejemplo es mayor que 4 y menor
FUNDAMENTOS DE PROGRAMACIN


Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:88

que 5. Si en lugar de estar el nmero de partida entre 1 y 1000 estuviera
entre 1 y 1000000, cuantas preguntas seran necesarias?
63.Calcular el promedio de 50 valores almacenados en un vector. Determinar
adems cuantos son mayores que el promedio, imprimir el promedio, el
numero de datos mayores que el promedio y una lista de valores mayores
que el promedio
64.Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuntos
son negativos, cuantos positivos. Imprimir adems la suma de los negativos
y la suma de los positivos.
65.Hacer un diagrama de caja que llene una matriz de 10 * 10 y determine la
posicin [rengln, columna] del nmero mayor almacenado en la matriz. Los
nmeros son diferente
66.Hacer un diagrama de caja que llene una matriz de 10 * 10 y que almacene
en la diagonal principal unos y en las dems posiciones ceros.
67.Disee un diagrama de caja que escriba el nmero de la hilera cuya suma sea
mayor que las dems hileras. Suponga que todas las hileras suman diferente
cantidad.
68.Capture las celdas de una matriz de tamao m X N y
Ordnelo en forma ascendente por columna
Ordnelo en forma descendente por rengln
69.El dueo de una cadena de tiendas de artculos deportivos desea controlar
sus ventas por medio de una computadora. Los datos de entrada son:
a) El numero de la tienda (1 a 50)
b) Un numero que indica el deporte del articulo (1 a 20)
c) El costo del artculo.
Hacer un pseudocdigo que escriba al final del da lo siguiente
1. Las ventas totales en el da para cada tienda
2. Las ventas totales para cada uno de los deportes.
3. Las ventas totales de todas las tiendas.
70.Disee un diagrama de caja que llene una matriz de 10 * 10 y determine:
A) El numero mayor almacenado en la matriz
B) El numero mayor almacenado en cada rengln
C) La columna que tuvo la mxima suma
D) El rengln que tuvo la mxima suma
Disee una funcin para cada inciso.
71.Un cuadrado mgico 3 x 3 es una matriz 3 x 3 formada por nmeros del 1 al
9 donde la suma de sus filas, sus columnas y sus diagonales son idnticas.
Crear un diagrama de caja que permita introducir un cuadrado por teclado y
determine si este cuadrado es mgico o no. El diagrama de caja deber
comprobar que los nmeros introducidos son correctos, es decir, estn entre
el 1 y el 9.
72.Se dice que una matriz tiene un punto de silla si alguna posicin de la matriz
es el menor valor de su fila y a la vez el mayor de su columna. Escribir un
diagrama de caja que tenga como entrada una matriz de nmeros enteros y
calcule la posicin de un punto de silla (si es que existe).

You might also like