Вы находитесь на странице: 1из 86

FUNDAMENTOS DE PROGRAMACIN

https://representacioninformacion.wikispaces.com/

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

FIE Pgina N:1


FUNDAMENTOS DE PROGRAMACIN

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)

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.

MARCAS vs CLONES
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.

Marcas
Mac Apple, Compaq, IBM, Acer, NCR, Dell, Gateway, Texas
Instruments, SONY, Toshiba, Samsung, HP

FIE Pgina N:2


FUNDAMENTOS DE PROGRAMACIN

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.Drive 3
11.Fuente (Alimentacin de Voltaje) AT, ATX
12.Unidad de Backup ( SCSI )
13.Puertos Seriales (COM1) Mouse serial, (COM2) o Modem externo
14.Puertos paralelos (LPT1, LPT2) Para impresora
15.Puertos IDE (Conectores)
16.Puertos USB (Conectores)
17.Conectores DIN (CLON) Teclado
18.MINIDIN (PS/2) Para teclado y ratn
19.Ranuras (Bus) Vesa, ISA, PCI, AGP
20.Socket, Slots
21.Tarjeta de Vdeo (ISA, PCI, AGP
22.Tarjeta de Sonido (ISA, PCI)
23.Tarjeta de Red (ISA, PCI)
24.Tarjeta de Mdem (ISA, PCI)
25.Tarjeta controladora SCSI (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:

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.

FIE Pgina N:3


FUNDAMENTOS DE PROGRAMACIN

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.

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:

FIE Pgina N:4


FUNDAMENTOS DE PROGRAMACIN

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

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.

FIE Pgina N:5


FUNDAMENTOS DE PROGRAMACIN

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


FIE Pgina N:6
FUNDAMENTOS DE PROGRAMACIN

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.

FIE Pgina N:7


FUNDAMENTOS DE PROGRAMACIN

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.

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.

FIE Pgina N:8


FUNDAMENTOS DE PROGRAMACIN

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.

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

FIE Pgina N:9


FUNDAMENTOS DE PROGRAMACIN

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
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.
FIE Pgina N:10
FUNDAMENTOS DE PROGRAMACIN

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.

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.

FIE Pgina N:11


FUNDAMENTOS DE PROGRAMACIN

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

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.

FIE Pgina N:12


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:13


FUNDAMENTOS DE PROGRAMACIN

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

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

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

FIE Pgina N:14


FUNDAMENTOS DE PROGRAMACIN

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

A un algoritmo que suministra una solucin buena, pero no


necesariamente ptima, se le denomina algoritmo heurstico

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

FIE Pgina N:15


FUNDAMENTOS DE PROGRAMACIN

CONDICIONES CON LAS QUE DEBE DE CUMPLIR UN ALGORITMO

FIE Pgina N:16


FUNDAMENTOS DE PROGRAMACIN

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:

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

FIE Pgina N:17


FUNDAMENTOS DE PROGRAMACIN

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.

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.


Fin_algoritmo.

FIE Pgina N:18


FUNDAMENTOS DE PROGRAMACIN

DIAGRAMA DE SINTAXIS DE UN IDENTIFICADOR VALIDO


Letra
Identificador
Letra

Dgito

Subrayado

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.

FIE Pgina N:19


FUNDAMENTOS DE PROGRAMACIN

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:
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 AREA = BASE * ALTURA AREA


ALTURA 2

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:

FIE Pgina N:20


FUNDAMENTOS DE PROGRAMACIN

Operador Operacin

+ Suma

- Resta

* Multiplicacin

/ Divisin

Div Divisin entera

Mod Modulo o residuo

OPERADORES LGICOS
Los resultados se ven en la tabla:

Variables lgicas Cond1 OR Cond1 AND NOT


Cond1 Cond2 Cond2 Cond2 (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:

Operador Significado

= Igual que

> Mayor que

< Menor que

>= Mayor o igual que

<= Menor o igual que

<> No es igual o es diferente que

IN Pertenece A

FIE Pgina N:21


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:22


FUNDAMENTOS DE PROGRAMACIN

2. Algoritmo para decidir si coger el paraguas

3. Algoritmo para clasificar libros

ESTRUCTURA GENERAL DE UN PROGRAMA


Un programa se especifica por:
Entradas
Proceso
Salida

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)

FIE Pgina N:23


FUNDAMENTOS DE PROGRAMACIN

Bifurcacin: si condicin entonces accin

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
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, falso
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)
FIE Pgina N:24
FUNDAMENTOS DE PROGRAMACIN

Funciones: raz_cuadrada, cos, sen

Expresiones

Entrada y salida de informacin


Dispositivos de entrada: teclado, disco
Operacin de entrada
Leer ( idDispositivo, lista variables)

Ejemplos
Leer (a, b, c) {Lectura de teclado}
Leer (idFichero, a, b, c) {Lectura de fichero}

Dispositivos de salida: pantalla, impresora, disco


Operacin de salida
Escribir ( idDispositivo, lista variables)

Ejemplos
Escribir (a, b, c) {Mostrar por pantalla}
Escribir (idFichero, a, b, c) {Escritura en fichero}

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
FIE Pgina N:25
FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:26


FUNDAMENTOS DE PROGRAMACIN

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 Si. Ir a 7
6.2 No. Ir a 11
7. SA = HE + 4
8. LLA = SA+1
9. HS = LLA + 4
10.Ir a 14
11.SA = HE + 5
12.LLA = SA+1
13.HS = LLA + 5
14.Escribir(El empleado del Tipo, TE)
15.Escribir(Hora de salir a almorzar, SA)
16.Escribir(Hora de entrada de almorzar, LLA)
17.Escribir(Hora de salida, HS)
18.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 S. Ir a 5
4.2 No. Ir a 9
5. SA = HE +4
6. LLA = SA+2
7. HS = LLA +4
FIE Pgina N:27
FUNDAMENTOS DE PROGRAMACIN

8. Ir a 12
9. SA = HE + 5
10.LLA = SA+1
11.HS = LLA +4
12. Escribir(Hora de salir a almorzar, SA)
13. Escribir(Hora de entrada de almorzar, LLA)
14. Escribir(Hora de salida, HS)
15. 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 Si Ir a 7
6.2 No a 9
7. Escribir(Equiltero)
8. Ir a 14
9. SI (L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
9.1 S. Ir a 10
9.2 No. Ir a 12
10. Escribir (Issceles)
11. Ir a 14
12. SI (L1<>L2)AND(L2<>L3)AND(L1<>L3)? ENTONCES
12.1 Si. Ir a 13
12.2 No. Ir a 14
13. Escribir (Escaleno)
14. Fin.

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 Si Ir a 7
6.2 No a 9
FIE Pgina N:28
FUNDAMENTOS DE PROGRAMACIN

7. Escribir(Equiltero)
8. Ir a 13
9. SI (L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
9.1 S. Ir a 10
9.2 No. Ir a 12
10. Escribir (Issceles)
11. Ir a 13
12. Escribir (Escaleno)
13. 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 no 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:
AX 2 BX C 0
Encontrar:
B 2 4 AC
X 1, X 2 B
2A
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

FIE Pgina N:29


FUNDAMENTOS DE PROGRAMACIN

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

Tercera lnea: Fin del bucle Mientras.

FIE Pgina N:30


FUNDAMENTOS DE PROGRAMACIN

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 de 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 S, Ir a 5
4.2 No, Ir a 2
5. I=1
6. Total =0
7. Mientras I<=N? hacer
7.1 Total = Total +A+B
7.2 I = I+1
7.3 Fin de Mientras
8. Escribir(El total es ,Total)
9. 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
FIE Pgina N:31
FUNDAMENTOS DE PROGRAMACIN

5.3 c= a mod b
5.4 fin del mientras
6. Escribir(b)
7. Fin

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=
2 3
1.5x+2.5x -9.8x 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

FIE Pgina N:32


FUNDAMENTOS DE PROGRAMACIN

6. HASTA (I > N)
7. Fin

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

FIE Pgina N:33


FUNDAMENTOS DE PROGRAMACIN

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 de 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 Si. Total = Total +I
3.2 Fin de 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 Si. Total = Total +I
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

FIE Pgina N:34


FUNDAMENTOS DE PROGRAMACIN

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.

FIE Pgina N:35


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:36


FUNDAMENTOS DE PROGRAMACIN

FIE Pgina N:37


FUNDAMENTOS DE PROGRAMACIN

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

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

FIE Pgina N:38


FUNDAMENTOS DE PROGRAMACIN

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

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

FIE Pgina N:39


FUNDAMENTOS DE PROGRAMACIN

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.

FIE Pgina N:40


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:41


FUNDAMENTOS DE PROGRAMACIN

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:

OPERADOR SIGNIFICADO
AND "Y" LOGICO
OR "O" LOGICO

NOT "NO"
NEGACION

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:

FIE Pgina N:42


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:43


FUNDAMENTOS DE PROGRAMACIN

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.

FIE Pgina N:44


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:45


FUNDAMENTOS DE PROGRAMACIN

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
3. El proceso se repite mientras la condicin resulte cierta en cada evaluacin y
termina cuando la condicin evaluada es falsa

Diagrama de flujo del algoritmo de Euclides para encontrar el mximo


comn divisor
La solucin al problema est determinada por el algoritmo de Euclides.

FIE Pgina N:46


FUNDAMENTOS DE PROGRAMACIN

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

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

FOR VC, VI,VF,INC

INSTRUCCIONES

vc

FIE Pgina N:47


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: Ingresar N notas y obtener su promedio


1. Inicio
INICIO
2. Escribir(Ingrese el nmero de notas: )
3. Leer(N)
4. Suma = 0
5. For i , 1, N,+1 ESCRIBIR (INGRESE EL
5.1 Escribir(Ingrese la nota: , i) NMERO DE NOTAS)
5.2 Leer (Nota)
5.3 Suma = Suma + Nota
5.4 Fin del For LEER(N)
6. Promedio = Suma/N
7. Escribir(La respuesta es = , Promedio)
8. Fin SUMA =0

FOR I, 1, N, +1

ESCRIBIR(INGRESE LA NOTA: , I)

LEER (NOTA)

SUMA =SUMA + NOTA

PROMEDIO = SUMA/N

ESCRIBIR(LA RESPUESTA ES = ,
PROMEDIO)

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.

FIE Pgina N:48


FUNDAMENTOS DE PROGRAMACIN

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:
a (a1)! a (a2)! a (a3)! .......
2. Disear un diagrama de flujo que permita generar la sumatoria de la serie:
2 4 4 6 6
2 ......
3 3 5 5 7
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

FIE Pgina N:49


FUNDAMENTOS DE PROGRAMACIN

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

INICIO

Escribir(ingrese la frase)

Leer(cad)

cad=concatenar(cad, )

n= longitud(cad)

For i,o,(n-1),+1

Cad[i]= mayuscula(cad[i])

Escribir(cad)

FIN

FIE Pgina N:50


FUNDAMENTOS DE PROGRAMACIN

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

INICIO

Escribir(ingrese la frase)

Leer(cad)

Cad= concatenar(cad, )

n= longitud(cad)

cont= 0

For i,o,(n-1),+1

V F
cad[i]=

Cont=cont+1

Escribir(cont,palabras)

FIN

FIE Pgina N:51


FUNDAMENTOS DE PROGRAMACIN

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.

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

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

FIE Pgina N:52


FUNDAMENTOS DE PROGRAMACIN

< 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

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

FIE Pgina N:53


FUNDAMENTOS DE PROGRAMACIN

INICIO
ESCRIBIR(INGRESE TRES VALORES)

LEER(A,B,C)

Verdadero A>B Falso

Verdadero A>C Falso Verdadero B>C Falso


Escribir(A es Escribir(C Escribir(B es Escribir(C es
mayor) es mayor) mayor)
mayor)
FIN

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.

Diagrama de Flujo
CASO (EXPRESIN) DE

VALOR 1:

VALOR N:

POR DEFECTO:

FIN CASE

FIE Pgina N:54


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: Disear un diagrama de caja para identificar si un carcter ingresado por


el usuario es o no una vocal.
INICIO
ESCRIBIR( Ingresar un caracter)
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

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?

FIE Pgina N:55


FUNDAMENTOS DE PROGRAMACIN

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.

Mientras (condicin) hacer

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

FIE Pgina N:56


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: Disee un diagrama de caja que permita generar los 5 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

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

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

FIE Pgina N:57


FUNDAMENTOS DE PROGRAMACIN

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.

Hacer
Sentencia(s
)
V

Condicin
F MIENTRAS (CONDICIN)

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 HACER - MIENTRAS.

INICIO
NUM = 0
I=1
HACER
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
MIENTRAS ( I <= 5)

FIN

FIE Pgina N:58


FUNDAMENTOS DE PROGRAMACIN

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

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

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.

FOR VC, VI,VF,INC


FOR Vc, Vi, Vf, Inc/Dec
INSTRUCCIONES

vc

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)

FIE Pgina N:59


FUNDAMENTOS DE PROGRAMACIN

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

INICIO
ESCRIBIR(INGRESE CUNTOS NMEROS QUIERE GENERAR)
LEER(N)
NUM = 0
FOR I, 1, N, +1
NUM = NUM +2
ESCRIBIR (NUM)
FIN

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

INICIO

I=1

MIENTRAS ( I < = 100 )HACER

SI I MOD 3 = 0 NO

ESCRIBIR(I, ES
DIVISIBLE PARA 3)
I = I +1

FIN

FIE Pgina N:60


FUNDAMENTOS DE PROGRAMACIN

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

INICIO

I=1

REPETIR

SI I MOD 3 = 0 NO

ESCRIBIR(I, ES
DIVISIBLE PARA 3)
I = I +1

HASTA( I > 100)

FIN

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

FIE Pgina N:61


FUNDAMENTOS DE PROGRAMACIN

Tipos de bucles anidados

Bucles anidados Correctos

FIE Pgina N:62


FUNDAMENTOS DE PROGRAMACIN

VECTORES
DEFINCIONES: Arreglos

El tratamiento de algoritmos y diagramas de flujo o de caja admite


agrupaciones de datos, a las cuales denomina "arreglos"

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

FIE Pgina N:63


FUNDAMENTOS DE PROGRAMACIN

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

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

FIE Pgina N:64


FUNDAMENTOS DE PROGRAMACIN

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)
SI NO

C= C+1

ESCRIBIR(EXISTEN ,C, VALORES ENTRE , A, Y ,B)


FIN

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

FIE Pgina N:65


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:66


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:67


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: Disear un diagrama de caja que permita generar una matriz traspuesta

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

FIE Pgina N:68


FUNDAMENTOS DE PROGRAMACIN

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]
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

FIE Pgina N:69


FUNDAMENTOS DE PROGRAMACIN

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

PROGRAMA PRINCIPAL

INICIO
Instruccin 1
Llamada al
procedimiento(Lista de
parmetros actuales)
..
FIN

FIE Pgina N:70


FUNDAMENTOS DE PROGRAMACIN

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


cartula.

PROCEDIMIENTO Linea

INICIO
Escribir(*****)
FIN

PROGRAMA PRINCIPAL
INICIO
Linea
Escribir (ESPOCH)
Escribir(EIE)
Linea
FIN

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)

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.

FIE Pgina N:71


FUNDAMENTOS DE PROGRAMACIN

PROCEDIMIENTO Linea(n1)

INICIO
For i, 1, n1, +1

Escribir(*)
FIN

PROGRAMA PRINCIPAL
INICIO
Linea(5)
Escribir (ESPOCH)
Escribir(EIE)
Escribir(Ingrese un nmero)
Leer (Longitud)
Linea(Longitud)
FIN

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

PROGRAMA PRINCIPAL

INICIO
Dibuja(5,@)
Escribir (ESPOCH)
Escribir(EIE)
Escribir(Ingrese un nmero y un carcter)
Leer (n, op)
Dibuja(n, op)
FIN

FIE Pgina N:72


FUNDAMENTOS DE PROGRAMACIN

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
INICIO
Instruccin 1
Variable = nombre(lista de
parmetros actuales)
..
FIN

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


de un nmero.

FIE Pgina N:73


FUNDAMENTOS DE PROGRAMACIN

FUNCIN factorial(f)

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

S= S * i
Retornar(S)
FIN

PROGRAMA PRINCIPAL
INICIO
Escribir(Ingrese un nmero)
Leer(num)
X = factorial(num)
Escribir(La respuesta es , X)
FIN

Ejemplo: Disear un diagrama de caja utilizando procedimientos y funciones para


calcular la sumatoria.

! ( 1)!
+ 2 .
1 34

FUNCIN factorial(x)

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

f= f * i
Retornar(f)
FIN

FIE Pgina N:74


FUNDAMENTOS DE PROGRAMACIN

FUNCIN potencia(b,c)

INICIO
p=1
For i, 1, c, +1

p= p * b
Retornar(p)
FIN

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

FIE Pgina N:75


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:76


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:77


FUNDAMENTOS DE PROGRAMACIN

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

FIE Pgina N:78


FUNDAMENTOS DE PROGRAMACIN

TAREAS IF
1. Capturar un nmero cualesquiera e informar si es o no es mayor de 100
2. Capturar un nmero entero cualesquiera e informar si es o no es mltiplo de
4 (recordar el operador mod, analizado en el tema de operadores aritmticos)
3. Capturar los cinco datos ms importantes de un Empleado, incluyendo el
sueldo diario y los das trabajados, desplegarle su cheque semanal solo si
gan ms de $500.00 en la semana, en caso contrario desplegarle un bono
de despensa semanal de $150.00
4. Capturar los datos ms importantes de un estudiante incluyendo tres
calificaciones, que no deben ser mayores a 5
5. Capturar los datos ms importantes de unos productos cualesquiera,
incluyendo cantidad, precio, etc., desplegar una orden de compra, solo si el
producto es de origen nacional, en caso contrario no hacer nada

TAREAS IF CON CONDICIONES COMPUESTAS


1. 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
y esto resuelve el problema )
2. Indique si un nmero es un par positivo

TAREAS CASE
1. Construir un men que contenga el siguiente men
Conversin de pesos a dlares
Conversin de libras a kilogramos
Conversin de kilmetros a millas
Fin de men
Seleccionar opcin [ ]
2. Evaluar cualquier funcin vista para cuando x =3,-4, 5

TAREAS IF, CASE


1. Capturar en una lista los sueldos de 6 empleados y desplegarlos en una
segunda lista aumentados en un 30%
2. Capturar una lista los pesos en kilogramos de 6 personas desplegarlos en una
segunda lista convertidos a libras y adems solo los mayores de 100 libras
3. Capturar 4 listas respectivas matricula, nombre y dos calificaciones de 5
alumnos, despus calcular una lista de promedios de calificaciones
4. Capturar listas respectivas nmero de empleado, nombre del empleado, das
trabajados y sueldo diario de 5 empleados, y desplegar la nomina pero solo
de aquellos empleados que ganan ms de $300.00 a la semana

TAREAS WHILE
1. Desplegar los nmeros enteros entre 50 y 80
2. Desplegar mltiplos de 4 entre 60 y 20 acompaados de su logaritmos de
base 10 y base e respectivos
3. Construir la tabla de dividir que el usuario indique

FIE Pgina N:79


FUNDAMENTOS DE PROGRAMACIN

TAREAS VARIOS
1. Convertir la edad en aos de una persona a meses
2. Convertir pesos a dlares
3. Calcular el rea de un crculo
4. Construir los modelos de solucin de los siguientes problemas:
a. Convertir millas a kilmetros
b. Convertir 125 metros a centmetros
5. 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
6. La Sra. Lpez y sus 8 hijos solo compran una vez al mes su mandado en
conocido supermercado, en dicha tienda el kilogramo de frjol cuesta $8.75,
el paquete de tortillas cuesta $3.55 y el frasco de caf vale $14.25, si solo
compran de estos tres productos para su mandado, calcular su gasto total
7. Capturar y desplegar los cinco datos ms importantes de un automvil
8. La distancia Tijuana - Ensenada es de 110 kilmetros. Si un automvil la
recorre a una velocidad constante de 30 millas por hora, cunto tiempo tarda
en llegar. ( 1 milla = 1.609 Km.)
9. Evaluar el factorial de cualquier numero usando la formula: n!=n!-1
10.La distancia que recorre un auto es de 50 kms y su velocidad es de 30 millas
por hora Cunto tiempo tardara en llegar?
11.Encontrar la derivada de x para cualquier valor con la formula(d/dx(x)=1)
12.Calcular l inters que gana un capital de x pesos a una tasa de inters del
15% anual en un periodo de n aos
13.Que aceleracin tiene un tren que parte de Tijuana a 10 km/hr y pasa por
Ensenada una hora despus a 50 km/hr
14.Calcular el nmero de aulas en una escuela que tiene 10 edificios y cada
edificio 3 pisos y cada piso 5 aulas, excepto un edificio que solo tiene dos
pisos
15.Si en una escuela hay 30 maestros y 15 son hombres que atienden a 10
alumnos cada uno. Cuantas maestras hay?
16.Calcular la corriente de un circuito con un voltaje de 15v y una resistencia de
6 ohms. Formula (I= V/R)
17.Calcular la normal estndar(z) dados los datos por el usuario: X=dato,
=media, d=desviacin. Formula (Z = X-M / d)
18.Dado un numero(N) cualesquiera obtener su raz y potencia cuadrada
19.Determinar la media de 5 nmeros diferentes
20.Determinar la velocidad v requerida para recorrer una distancia d en un
tiempo t . Formula (V = d * t)
21.Determinar la pendiente de una recta. Formula (y = m x + b)
22.Calcular la funcin de y= x + 8x + 3 para cualquier x
23.Convertir minutos a horas
24.Aplicar la formula general para a=1, b=2, c=3
25.Se desea instalar un cable de red, el cliente pide 30 pies, considerando que
se venden en metros, cuantos deber comprar

FIE Pgina N:80


FUNDAMENTOS DE PROGRAMACIN

26.Un campesino siembra trigo en un rea cuadrada de 25 mts., cual es el


largo del cerco frontal en cms.?
27.Resolver x + 15x - 8 para cualquier variable (X)
28.Convertir C a F
29.Si cada saln de la escuela tiene 40 alumnos y son 30 salones Cuantos
alumnos son en toda la escuela?
30.Si Juan trabaja 5 das a la semana y descansa 2 Cuantos das trabajo en 4
aos?
31.Si en una oficina se procesan 20 facturas cada 10 minutos cuantas se
procesaran si se trabajan 5 horas?
32.Si una empresa tiene _____ de activo y un pasivo de _____ Cual es su
capital?. Formula (C = A-P)
33.Calcule el voltaje de un circuito dada una intensidad I y una resistencia R.
Formula (V=IR)
34.Calcule la frecuencia de una onda que circula con un tiempo t. Formula
(F=1/t)
35.Calcule la potencia de un circuito con un voltaje V y una intensidad I. Formula
(f = VI)
36.Calcule el total que tendr que pagar una persona que va al cine dependiendo
del nmero de boletos a comprar y el precio
37.Calcule las anualidades que tendr que pagar una persona que pidi un
prstamo. Dependiendo del tiempo que el elija y el inters por ao. Formula
(Anualidad=(Prestamo/Tiempo)+interes)
38.Determinar cunto ganar una persona en base a las horas trabajadas.
Tomando en cuenta el pago por hora.
39.Convertir horas a segundos
40.Calcular la fuerza. Formula (fuerza = trabajo / tiempo)

EJERCICIOS PROPUESTOS DE VECTORES Y MATRICES


Elabore los diagramas de caja para:
1. Capturar las calificaciones de N alumnos y almacenarlas en un arreglo para
posteriormente calcular el promedio.
2. Capturar las calificaciones de N alumnos y almacenarlas en un arreglo para
posteriormente recorrerlo para encontrar la calificacin mayor.
3. 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.
4. Capture los datos de un arreglo de N posiciones de nmeros positivos y
negativos enteros y sustituya los nmeros negativos por cero.
5. Capturar N valores de tipo entero para almacenarlos en un arreglo y
ordenarlo en forma ascendente.
6. 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:

FIE Pgina N:81


FUNDAMENTOS DE PROGRAMACIN

7. Elaborar un diagrama de caja que capture en un vector (T) la temperatura de


cada da de una semana y que realice lo siguiente :
Imprimir la temperatura promedio.
Formar un vector (D) que contenga las diferencias de cada temperatura
con respecto al promedio.
Imprimir la menor temperatura y el nmero de da en que ocurri.
8. Elabore un diagrama de caja que encuentre la mayor diferencia entre 2
nmeros consecutivos y las posiciones de stos, en un vector de N nmeros
enteros.

9. Dado un vector V de N nmeros enteros, cambie cada elemento menor que


10 por 0 y cada elemento mayor que 20 por 1. Encuentre cuntos elementos
quedaron sin cambiar.
Ejemplo :

10. Elaborar un diagrama de caja que capture en una matriz las calificaciones
obtenidas por un grupo de N estudiantes y que realice lo siguiente :

FIE Pgina N:82


FUNDAMENTOS DE PROGRAMACIN

Formar un vector de tamao N que contenga los promedios de cada


estudiante.
Calcular el promedio del grupo en el examen 3.
Imprimir el mayor promedio y el nmero del estudiante que lo obtuvo.
Imprimir el total de alumnos aprobados y reprobados (la calificacin mnima
aprobatoria es 70)
Imprimir el nmero de alumnos que reprobaron el examen 1.
11. Disee un diagrama de caja en que lea un vector desordenado A, compuesto
de n nmeros enteros e imprmase este vector en la misma secuencia, pero
ignorando los valores duplicados que se encuentren en l. Tambin se
necesita saber el nmero de elementos que permanecen (m); por ejemplo,
dado el siguiente vector

MATRICES
12. Realice la suma matricial. El programa debe pedir las dimensiones de las
matrices A y B, validar que se pueda ejecutar la operacin, capturar los
valores de cada una de las matrices, efectuar la operacin y mostrar el
resultado.
13. Desarrollar un diagrama de caja que lea una matriz cuadrada de tamao n y
determine si se trata de una matriz simtrica o no. Una matriz es simtrica si
los valores de cada fila son iguales los de su columna correspondiente; por
ejemplo la siguiente matriz es simtrica:

14. Capture las celdas de una matriz de tamao m X N y


Ordnelo en forma ascendente por columna
Ordnelo en forma descendente por rengln
15. Una empresa de ventas a domicilio maneja 10 artculos diferentes y cuenta
con 50 vendedores. En un arreglo de 50x10 se tienen almacenadas las
cantidades de cada artculo vendidas por cada vendedor. Adems, los precios
de cada artculo estn almacenados en un vector de tamao 10. Se desea
elaborar un diagrama de caja para imprimir lo siguiente :
La cantidad de dinero recopilado por cada vendedor.
El nmero del vendedor que recopil la mayor cantidad de dinero.

FIE Pgina N:83


FUNDAMENTOS DE PROGRAMACIN

El nmero del artculo ms vendido (entre todos los vendedores).


El total de vendedores que no vendieron ningn artculo nmero ocho.

16. Elabore un diagrama de caja y que lea una matriz cuadrada de tamao N de
nmeros enteros, calcule la suma de los elementos de las diagonales
(principal e inversa y guarde estos elementos en dos vectores (DP y DI).

Ejemplo para N=4 :


Suma DP = 20 Suma DI = 23

17. Elabore un diagrama de caja que lea los datos de una matriz cuadrada de
tamao N y realice las siguientes operaciones:
Imprima la suma de los elementos de la diagonal principal
Imprima cuntos "0" hay en la matriz
Imprima una matriz igual pero con las diagonales intercambiadas.
Imprima el nmero mayor de la matriz
18. Elabore un diagrama de caja que lea los datos de una matriz cuadrada de
tamao N, y que intercambie los elementos de la matriz triangular superior
con los elementos correspondientes simtricamente de la matriz triangular
inferior.
EJEMPLO : RESULTADO :

19. Dada una matriz cuadrada de tamao N, encuentre la suma de todos los
elementos que no son de la "periferia" de la matriz.

20. Se tienen los costos de produccin de tres departamentos (dulces, bebidas y


conservas), correspondientes a los 12 meses del ao anterior.

FIE Pgina N:84


FUNDAMENTOS DE PROGRAMACIN

Elaborar un diagrama de caja que pueda proporcionar la siguiente informacin:


a) En que mes (nmero) se registr el mayor costo de produccin de dulces?
b) Promedio anual de los costos de produccin de bebidas.
c) En que mes se registr el menor costo de produccin de bebidas?
d) Cul fue el departamento que tuvo el menor costo de produccin en Agosto?

21. Elaborar un diagrama de caja para controlar las reservaciones y


cancelaciones de boletos para las funciones de una obra de teatro.
- El teatro cuenta con 300 asientos, 200 en la planta baja y 100 en la planta
alta.
- Los asientos estn numerados del 1 al 200 en la planta baja y del 1 al 100 en
la alta.
- Hay 2 funciones, a las 6 y a las 9 de la noche.

Se debe preguntar si se desea planta baja o alta, la funcin deseada y el nmero de


asiento deseado, y se debe imprimir el precio del boleto. Para las cancelaciones,
preguntar el nombre y la funcin.
22. Una lnea area realiza 3 vuelos diarios a Europa, uno a Pars, uno a Madrid
y uno a Londres. Elabore un diagrama de caja que controle las reservaciones
y cancelaciones de lugares.
NOTAS:
- Cuando hay una reservacin, se preguntar el No. de vuelo ( 1 Pars , 2
Madrid , 3 Londres ), el nombre de la persona, y si desea seccin de fumar o
de no fumar.
- Cuando hay una cancelacin, se preguntar el nombre de la persona y el No.
de vuelo.
- Cada vuelo tiene 100 asientos. Del 1 al 50 es la seccin de no fumar, y del 51
al 100 es la seccin de fumar.
- Se asignar el primer asiento que se encuentre desocupado en la seccin
deseada del vuelo correspondiente.

FIE Pgina N:85


FUNDAMENTOS DE PROGRAMACIN

23. La Direccin General de Institutos Tecnolgicos desea conocer una serie de


datos estadsticos referentes a la cantidad de Ingenieros, Masters y Doctores
que laboran en el sistema de tecnolgicos. Entre otros datos se desea saber:
a) Total de Doctores, Masters e Ingenieros por zona.
b) Sueldo promedio de un Dr. en el sistema de tecnolgicos.
c) Total de Doctores en el tecnolgico de Nuevo Laredo.
d) Total de Ingenieros con plaza #3 en la zona centro.
e) El monto total de los sueldos en los tecnolgicos de la zona norte.
Suponga que se cuenta con 2 matrices con los siguientes datos:

NOTAS:
- La clave de empleado puede ser 1,2 o 3. (DR., MC., ING.)
- Las zonas son norte, centro y sur.
- Son 60 tecnolgicos
- Existen 3 plazas (1,2,3) por cada clave de emp.

FIE Pgina N:86