Professional Documents
Culture Documents
stituto Tecn
T noló ógicco
de
e Es
studdios Supperiiore
es
de Irap
puatto
Ca
ampus
s- Purrísima
a del Rincó
ón
RE
ECOPIL
LACIÓN
N DE IN
NFORMA ACIÓN
COMPLEMEENTARIIA PARA EL CURSO
C DE
PROGR
RAMAC CIÓN
ENFO
OCADO A PROGR
RAMACIÓ
ÓN EN LENGUAJE
EC
Reco
opilo: MC Cesarr Alejanddro Frausto Dáviila
INDICE: Pág.
CAPITULO I
3
INTRODUCCION A LA PROGRAMACION DE COMPUTADORAS
CAPITULO II
PROCESO PARA LA SOLUCIÓN DE PROBLEMAS CON UNA 24
COMPUTADORA.
CAPITULO III
27
TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS.
CAPITULO IV
32
ESTRUCTURAS ALGORITMICAS
CAPITULO V
ENTIDADES PRIMITIVAS PARA LA CONSTRUCCIÓN DE 41
INSTRUCCIONES (VARIABLES, OPERADORES Y TIPOS DE DATOS).
CAPITULO VI
IMPLEMENTACION DE ALGORITMOS EN LENGUAJE C (ENTRADAS Y
47
SALIDAS, ESTRUCTURAS DE CONTROL SELECTIVAS Y
REPETITIVAS).
CAPITULO VII
MODULARIDAD DEL LENGUAJE C (FUNCIONES, ARREGLOS, 74
APUNTADORES Y ARCHIVOS).
REFERENCIAS:
3.- Diseño Estructurado de Algoritmos/ Cabrera, Fco. & Gómez, Gdo. / SEP-ITL
6.- OOP in C++ / Maysam Rajaati & Farid Bekran / Tabriz University Press
Esta unidad tiene como finalidad dar una breve reseña histórica de los equipos de cómputo, así
como establecer los conceptos básicos y partes principales en un sistema de cómputo, esto
permitirá al usuario tener un mayor entendimiento de los temas a tratar a lo largo del curso.
Cuando hay que contestar a la pregunta “¿para que puedo utilizar yo una computadora?”, resulta
muy difícil hacerlo, pues si se responde “para lo que quieras”, el que recibe la respuesta no queda
muy satisfecho, pues piensa que se le esta contestando para salir del paso. Sin embargo, la
respuesta es correcta, ya que la limitación de sus aplicaciones reside solamente en el ingenio del
usuario.
Nuestra era ha sido nombrada de distintas maneras dependiendo el énfasis en alguno de los
desarrollos tecnológicos productos de este siglo, algunos ejemplos:
• Era atómica
• Era de la televisión
• Era de los plásticos
• Era de la informática
• Era de la telefonía celular
• Era de la cibernética
En este documento trataremos temas concernientes a la informática, una discusión mas extensa al
respecto se puede encontrar en las referencias 1,2 y 4.
Así, como la maquina de vapor dio lugar a lo que se llamo posteriormente la Revolución
Industrial, la computadora inicio lo que algunos han calificado de Segunda Revolución
Industrial, cuyo término y consecuencias aún no se vislumbran.
La maquina de vapor sustituye al hombre como ente capaz de realizar trabajo mecánico. El
hombre no trata de competir con la maquina, sino que, manteniendo sus características propias,
cuida de ella, la maneja y le busca aplicaciones.
La computadora sustituye al hombre como ente capaz de manejar información. Tampoco debe el
hombre tratar de competir con la computadora, sino que debe mantener nuevamente, y en forma
más precisa, la característica que le es propia: la actividad intelectual creadora. Asimismo debe
cuidar de este dispositivo, manejarlo y buscarle aplicaciones. Esto no es posible sin una adecuada
instrucción al respecto.
La computadora posee aspectos mucho más peligrosos para el hombre que la maquina de vapor.
Al sociólogo corresponde analizar cómo un simple artefacto puede cambiar la vida del
conglomerado humano.
Si nuestra única fuente de información fuesen las películas (Viaje a las estrellas (Star Trek),
Odisea 2000, Matrix ó Yo Robot), los mensajes promocionales en nuestro celular, ipod o e-mail
es normal que nuestra respuesta sea similar, pero como parte medular de la sociedad, un
profesionista debe tener un mayor entendimiento de estos dispositivos que han expandido su
presencia en una gran variedad de áreas de uso común. La computadora, o mejor dicho los que la
gobiernan, bien pueden dominar al hombre, siempre que éste por ignorancia lo permita. Es por
ello importante recordar la frase extraída de un documento de la ONU “El hombre debe recibir
en su educación general la suficiente información general acerca de las computadoras de modo
que no se encuentre a merced de quienes gobiernan las maquinas”.
La computadora se ha desarrollado en paralelo con las crecientes necesidades del género humano
de más rápidos y precisos cálculos, pudiendo encontrarse a sus ancestros tres mil años atrás.
La realización de cálculos aritméticos mediante las cuatro operaciones básicas (suma, resta,
multiplicación y división) no es dificultad para nosotros empleando el método de numeración
decimal pero. ¿Seria también igual de fácil con cifras romanas?
Las necesidades del cálculo por parte del hombre datan desde hace miles de años. En la antigua
civilización egipcia se agrupaban piedrecillas en montones de diez con el objeto de contar. El
sistema de base 10 proviene del uso de los 10 dedos de las manos como elementos de cálculo, y
no olvidemos la contribución valiosa a los números arábigos del cero maya.
Tablillas que contienen tablas de multiplicar y de recíprocos han sido encontrados cerca de
Babilonia y se cree que fueron escritas alrededor de 1700 años antes de Cristo. Los babilónicos
utilizaban un sistema sexagesimal (60, de hay nuestro sistema de numeración del tiempo) y
existen evidencias de solución de ecuaciones algebraicas por parte de ellos y desarrollaron
algoritmos de solución de problemas prototipo. Predecían eclipses con precisión, 500 años antes
de Cristo.
Desde los antiguos tiempos el hombre ha tenido conciencia de sus limitaciones con respecto a
sus capacidades mentales de cálculo, por lo que ha ido desarrollando las más diversas
herramientas de apoyo, que van desde las muy simples hasta las mas complejas.
En 1833 mejora la maquina bautizándola como “maquina analítica” (Figura siguiente). Dicha
maquina mecánica posee muchas de las características de las computadoras electrónicas actuales,
nunca se construyo completamente por limitaciones tecnológicas. Fue diseñada para calcular e
imprimir tablas matemáticas, tales como las de logaritmos y raíces cúbicas.
Herman Hollerith, estadista del U.S. Census Bureau durante el censo de 1880 concibió la idea de
que los datos del censo fueran perforados y tabulados automáticamente por maquinas
especialmente diseñadas (Figura siguiente), debido a la reducción de tiempo que se obtuvo
durante el análisis de los resultados el uso de estas maquinas se extendió a empresas de seguros y
agencias de gobierno. Durante la decada de 1890-1900 abandona el Census Bureau e inicia la
Tabulating Machines Company, que posteriormente llegaria a ser la International Machines
Company IBM que en 1930 fabrica en gran escala equipos de procesamiento de datos a base de
tarjetas perforadas.
No obstante la máquina Mark I era relativamente lenta, pues su velocidad de operación dependía
de la rapidez de sus numerosos componentes electromecánicos. La compañía IBM emprendió la
construcción de la calculadora de Aiken y la primera máquina fue presentada a la Universidad de
Harvard en 1944.
La primera de este tipo (una IBM 7070, figura siguiente) se instalo en México en 1960 al
servicio del Instituto Mexicano del Seguro Social. En esta época surge una nueva aplicación de
las computadoras: el control automático de procesos industriales que se consigue con la adición
de sensores y actuadores junto con programas adecuados: la Texaco empleó por primera vez este
sistema en 1959 y diez años después lo uso la NASA para su primer alunizaje tripulado, en
México, la paraestatal Petróleos Mexicanos ya contaba con este tipo de sistemas en la década de
1970.
Los programas preparados para una computadora de una serie dada eran igualmente admitidos
por los modelos más avanzados de la misma serie. Esta cualidad era exclusiva de la tercera
generación. La mayoría de los sistemas de la tercera generación fueron diseñados para el
procesamiento de datos tanto científicos como comerciales con igual facilidad. La aparición de
las computadoras de la tercera generación popularizo el uso de la palabra nanosegundo. Un
nanosegundo es la milmillonésima parte (10 -9) del segundo. Algunas velocidades de proceso
(por ejemplo el tiempo de conmutación y la duración de un ciclo) inicialmente se expresaban en
esta unidad. En la actualidad hay docenas de fabricantes de computadoras de alta velocidad
cuyas velocidades de procesamiento se indican en Giga hertz (mil millones de veces por
segundo).
Dentro de la literatura se puede encontrar una clasificación aun no homogenizada respecto a las
generaciones posteriores a la tercera generación, algunas de ellas se mencionan a continuación:
El uso de lo que se conoce como computación suave que comprende las técnicas conocidas como
inteligencia artificial para la programación de computadoras ha dado pie a considerar dicho
evento como iniciador de la cuarta generación de computadoras.
El mayor competidor del sistema operativo Windows es Linux. Este nombre se deriva de Linus
(por Linus Torvalds, quien desarrolló Linux) y UNIX (el sistema operativo en el cual está basado
Linux); este último se desarrolló en los laboratorios Bell y está escrito en el lenguaje de
programación C. Linux es un sistema operativo gratuito, de código fuente abierto. A diferencia
de Windows, que es propietario (Microsoft posee los derechos de propiedad y el control); el
código fuente de Linux está disponible sin costo para los usuarios, y pueden modificarlo para
ajustarlo a sus necesidades.
CONCEPTOS BASICOS
Proceso de datos: Serie de acciones y operaciones lógicas y/o matemáticas sobre determinados
datos con el fin de llegar a una información deseada. Transformación de datos de entrada, a
través de un proceso, a fin de obtener un producto (información) que puede ser útil sin
transformaciones ulteriores.
Conversión de datos: Cambio de código original en que están los datos, a un código acorde con
los medios de proceso y almacenamiento del sistema.
Transmisión de datos: Proceso de mover datos desde una localidad a otra, físicamente.
Internet: Red global de computadoras, se inicio hace casi cuatro décadas, con fondos
suministrados por el Departamento de Defensa de los Estados unidos. Aunque originalmente se
diseño para conectarse con los principales sistems computacionales de aproximadamente una
docena de universidades y organizaciones de investigación, actualmente se emplea como un
medio de comunicación fácil y rápido a través de lo que se conoce como correo electrónico (e-
mail).
World Wide Web: Permite a los usuarios de computadora localizar y ver, a través de Internet,
documentos basados en multimedia, sobre cualquier tema. A pesar de que Internet se desarrolló
Procesador Central: Esta parte es conocida también como unidad central de procesamiento o
CPU. Formada a su vez por la unidad de control y la unidad aritmética y lógica.
El procesador cuenta con una serie de celdas de memoria que se utilizan con mucha frecuencia y
que, por ende, forman parte de la CPU. Estas celdas son conocidas con el nombre de registros.
Un procesador puede tener una docena o dos de estos registros. Los registros son conjuntos de 8,
16, 32 y/o 64 flip-flops (basculadores o bi-estables).
Un flip-flop es un dispositivo capaz de almacenar dos niveles de voltaje, uno bajo, regularmente
de 0.5 volts y otro alto comúnmente de 5 volts. El nivel bajo de energía en el flip-flop se
interpreta como apagado o 0, y el nivel alto como prendido o 1. A estos estados se les conoce
usualmente como bits, que son la unidad más pequeña de información en una computadora. A un
grupo de 16 bits se le conoce como palabra, una palabra puede ser dividida en grupos de 8 bits
llamados bytes, y a los grupos de 4 bits se les llama nibbles. Las computadoras personales
pueden clasificarse por lo que se conoce como tamaño de palabra, esto es, la cantidad de bits
que el procesador puede manejar a la vez.
Las funciones de la unidad de control consisten en leer y escribir contenidos de las celdas de
memoria, llevar y traer datos entre celdas de memoria y registros especiales y decodificar y
ejecutar las instrucciones de un programa.
La unidad aritmética y lógica de la CPU realiza las operaciones relacionadas con los cálculos
numéricos y simbólicos. Típicamente estas unidades sólo tienen capacidad de efectuar
operaciones muy elementales como: suma y resta de dos números de punto fijo, multiplicación y
división de punto fijo, manipulación de bits de los registros y comparación del contenido de dos
registros.
Esto lleva a la creación de memorias cuya información no se pierda cuando se apaga el sistema.
Estas memorias reciben el nombre de Read Only Memory (Memoria de solo lectura) o ROM.
Unidades de Entrada y Salida: Para que una computadora sea útil es necesario que el
procesador se comunique al exterior por medio de interfaces que permiten la entrada y la salida
de datos del procesador y la memoria. Haciendo uso de estas comunicaciones es posible
introducir datos para su procesamiento y la posterior visualización de los datos ya procesados.
Algunas de las unidades de entrada mas comunes son teclados, escáner, cámaras, mouse, etc. Las
unidades de salida más comunes son las terminales de vídeo y las impresoras.
Estos y otros inconvenientes dan lugar a la creación de unidades periféricas de memoria que
reciben el nombre de memoria auxiliar o secundaria. De estas unidades periféricas las más
comunes son las cintas y los discos magnéticos. La información almacenada en estos medios
magnéticos recibe el nombre de archivo. Un archivo está formado por un número variable de
registros, generalmente de tamaño fijo; los registros pueden contener datos o programas.
Programa: Es una secuencia precisa de pasos para resolver un problema particular. Conjunto de
actividades a ser ejecutadas en un determinado orden (planeado, organizado, poniendo atención a
pequeños detalles y sin ambigüedades).
Software: En términos de computación es todo aquel proceso o programa que utiliza los recursos
de la computadora para lograr el objetivo trazado por su diseñador o programador.
Compilar: Traducir un programa desarrollado en un lenguaje de alto nivel a uno de bajo nivel,
con el fin de ser ejecutado posteriormente.
Algoritmo: Proceso descrito en forma general para resolver una categoría de problemas.
Error de sintaxis: Error en un programa que le hace imposible ser compilado, debido a la
presencia de errores ortográficos en la redacción del programa, o estructuras de programa
incorrectas.
Error en tiempo real: Error en un programa que le hace fallar al momento de ejecutarse.
Error Lógico: Error en un programa por el que hace algo distinto a lo deseado por el
programador.
ARQUITECTURA DE LA COMPUTADORA
Esta sección tiene como finalidad hacer una breve reseña de las partes principales de una
computadora y los principios bajo los cuales funcionan, culminando con un ejemplo de
conversión de cantidades entre los distintos sistemas de numeración empleados en programación.
Las partes principales de una computadora (figura en página siguiente) y la función de cada una
de dichas partes se describe a continuación:
Un programa se debe cargar primero a la RAM antes de que se pueda ejecutar. Durante la
ejecución, la primera de una secuencia de instrucciones del programa se transfiere de la RAM a
la UC, donde el decodificador, la decodifica e interpreta.
La Unidad Aritmética Lógica, realiza todos los cálculos (+,-,*,/) y todas las operaciones lógicas
(comparaciones).
Los Dispositivos de entrada, proporcionan los medios por los cuales los datos son transmitidos a
la computadora. Ejemplos: tarjetas perforadas, escaners, cámaras o teclados.
Los Dispositivos de Salida, los dispositivos de salida permiten mostrar los datos. Ejemplo:
impresoras, pantallas.
Un Programa, es una serie de instrucciones que orientan al CPU en el desarrollo de los cálculos.
El Program Counter (PC), está en la unidad de control e indica en qué celda va la memoria.
CPU
Unidad de Control
PC
Unidad Aritmética
Lógica AC
Dispositivo Dispositivo de
de entrada Leer Almacenamiento Salida
Primario Escribir
Almacenamiento
Secundario
Para reducir, por lo menos en parte, la confusión de ver sólo 1 y 0 en la salida, el sistema de
numeración Hexadecimal (de base 16) se usa como una simbología para presentar el contenido
binario tanto del almacenamiento primario como el almacenamiento secundario, pero no
confundir, por que las computadoras no operan ni trabajan con el sistema Hexadecimal, ejemplo:
Esto es un volcado de memoria Hexadecimal. Cada uno de los renglones es una representación
Hexadecimal del contenido del almacenamiento primario.
Decimal empaquetado
01011000
Binario 2 0,1 2 1
Octal 8 0,1,2,3,4,5,6,7 8 7
Hexadecimal 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 16 F
Binario a Decimal
El sistema binario está basado en únicamente dos condiciones o estados, ya sea encendido (1) o
apagado (0), por lo tanto su base es dos.
Binario: 1 1 0 0 1
Decimal a Binario
Existen varios métodos de conversión de números decimales a binarios; aquí solo se analizará
uno. El método que se explicará utiliza la división sucesiva entre dos, considerando la parte
entera del cociente, guardando el residuo como dígito binario y el resultado como la siguiente
cantidad a dividir. Tomemos como ejemplo el número 43 decimal.
43/2 = 21 y su residuo es 1
21/2 = 10 y su residuo es 1
10/2 = 5 y su residuo es 0
5/2 = 2 y su residuo es 1
2/2 = 1 y su residuo es 0
1/2 = 0 y su residuo es 1
Armando el número de abajo hacia arriba tenemos que el resultado en binario es 101011
Hexadecimal a Binario
En la base hexadecimal tenemos 16 dígitos que van del 0 al 9 y de la letra A hasta la F (estas
letras representan los números del 10 al 15). Por lo tanto, contamos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E y F.
La conversión entre numeración binaria y hexadecimal es sencilla. Lo primero que se hace para
una conversión de un número binario a hexadecimal es dividirlo en grupos de 4 bits, empezando
de derecha a izquierda. En caso de que el último grupo (el que quede mas a la izquierda) sea
menor de 4 bits se rellenan los faltantes con ceros. Tomando como ejemplo el número binario
101011 lo dividimos en grupos de 4 bits y nos queda:
10; 1011
0010; 1011
0010 = 2; 1011 = 11
Pero como no podemos representar este número hexadecimal como 211 porque sería un error,
tenemos que sustituir todos los valores mayores a 9 por su respectiva representación en
hexadecimal, con lo que obtenemos: 2BH (Donde la H representa la base hexadecimal)
Para convertir un número de hexadecimal a binario solo es necesario invertir estos pasos: se
toma el primer dígito hexadecimal y se convierte a binario, y luego el segundo, y así
sucesivamente hasta completar el número.
- Byte: es una combinación de 8 bits, por lo cual existen 256 combinaciones de estos en un
byte ejemplos de combinaciones
0→ A 00 → A 000 → A
1→ B 01 → B 001 → B
10 → C 010 → C
11 → D 100 → D
011 → E
101 → F
110 → G
111→H
Las computadoras hacen lo que se les indica que hagan y no necesariamente lo que el usuario
quiere que haga. En la programación clásica, no debe haber ambigüedad en las instrucciones que
se le proporcionen a la computadora en los programas, ni posibilidad de otras interpretaciones.
La computadora siempre genera una respuesta durante su actividad o trabajo, por lo que debe
tenerse cuidado de que exista una sola alternativa, de modo que el resultado que se obtenga sea
efectivamente el que se desea.
Un problema se puede resolver en una computadora si éste se puede escribir como una secuencia
finita de operaciones explícitas. Se debe considerar la factibilidad económica. El uso de una
computadora se hace particularmente útil en aplicaciones que involucran una serie de
operaciones que calculan resultados de manera repetitiva (calculo de nominas, evaluación de
solución a ecuaciones).
La mayor parte de los problemas interesantes parecen ser muy complejos desde el punto de vista
de la programación. Para algunos problemas (como los que emplean matemáticas complejas para
su evaluación), la complejidad puede ser inherente al problema mismo; sin embargo, en muchos
casos la dificultad radica en otros factores que pueden estar bajo el control del programador: por
ejemplo, la especificación incompleta o poco clara del problema. La complejidad no siempre es
un problema si se la sabe controlar. La programación de computadoras es una actividad compleja
que combina muchos procesos mentales. Sin embargo, el trabajo del programador puede hacerse
más manejable al dividirlo sistemáticamente en gran cantidad de trabajos más sencillos (mientras
mas simple mas entendible).
Fase de Diseño
PROBLEMA
Fase de
Construcción
SOLUCIÓN VÍA
COMPUTADORA
Un algoritmo puede entenderse como una secuencia ordenada de pasos exenta de ambigüedades,
que lleva a la solución de un tipo general de problemas. Se usa la palabra algoritmo en homenaje
al matemático Uzbeo Al-Kuaritzmi que en el siglo IX (año 880) escribió un libro en el cual, por
primera vez en la historia, se expresaban los métodos precisos para efectuar las cuatro
operaciones aritméticas más comunes: suma, resta, multiplicación y división. Las reglas que
explico Al-Kuaritzmi son aún hoy en día las que se usan en la enseñanza primaria.
PROCESO DE SOLUCION
Con esto se indica que se debe identificar perfectamente el problema y sus limitaciones, las
variables que intervienen y los resultados deseados. En otras palabras, éste paso demanda
claramente un conocimiento completo del problema y por lo general la computadora puede hacer
muy poco para ayudarnos con esta etapa.
Programación
Este paso consiste en traducir el método de análisis o algoritmo de solución, expresándolo como
una serie detallada de operaciones. La programación se considera dividida en dos partes: en la
primera, la sucesión de operaciones se presenta en forma gráfica en un diagrama de bloques o
diagrama de flujo, que permite dar una idea grafica precisa de lo que se desea hacer, y en la
segunda parte, que se denomina codificación, el diagrama anterior se traduce a un lenguaje de
programación accesible a la máquina.
Validación ó Depuración
Es la prueba exhaustiva del programa para eliminar todos los errores que tenga, de manera que se
efectúe lo que se desea. Los resultados de prueba se comparan con soluciones conocidas de
problemas ya resueltos.
Documentación
Consiste en preparar un instructivo del programa, de manera que cualquier otra persona pueda
conocer y utilizar el programa. Un programa documentado permite posteriormente su revisión
con el objeto de efectuarle mejoras o cambios al mismo, ya sea por la persona que desarrollo el
programa o por otra persona.
Ejecución
Es la última etapa en la que sólo se proporcionan datos de entrada del programa, obteniéndose
las soluciones correspondientes. En general, se pueden introducir varios grupos de datos
referentes a distintas condiciones del problema problemas, produciéndose las respuestas
correspondientes, sin que sea necesaria la intervención del operador entre los distintos grupos de
datos.
Interpretación
Los resultados desplegados por la computadora no siempre constituyen una respuesta final al
problema. El usuario de la computadora debe interpretar los resultados para ver lo que significan
en términos de las combinaciones de metas, del sistema propuesto. A menudo es necesario
repetir algunos o todos los pasos anteriores para que el problema quede realmente resuelto.
Un algoritmo tiene que ser un reflejo del tipo de programación que se esté utilizando y es la base
para el desarrollo de una aplicación computacional, tal como se muestra en la siguiente figura.
Programa fuente
Programa
escrito en un
Programa
Objeto Programa
lenguaje de Programa
Compilador ó
(escrito en Ejecutable
programación. Enlazador
Programa
Lenguaje
(Código ASCII) (Linker)
Intérprete
de máquina)
(Código de
(traductor)
texto)
Validación del
Algoritmo
Aplicación del Programa
Nota:
Todos los pasos a seguir en la Fase de Diseño, están realizados por una persona física, o sea, el
programador.
En la fase de construcción, el primer paso de arriba hacia abajo esta hecho por una persona
física, el segundo paso, por la computadora y el tercero y cuarto paso, esta hecho tanto por el
programador como por al computadora.
Flujo de la
información. Orden
en que se realizan las
funciones.
Como:
- Recetas
- Descripción narrada - Manuales
- Instrucciones
TÉCNICAS PARA
LA FORMULACIÓN - Pseudocódigo
DE ALGORITMOS
- Diagrama de flujo
Un diagrama de bloques, enuncia operaciones que pueden ser más detalladas. Por el contrario el
diagrama de flujo se define como la representación grafica que busca una traducción directa al
lenguaje de programación de la maquina.
El diagrama de bloque es útil en cuanto a la concepción global de un problema del cual puede
derivarse el diagrama de flujo, que permite la codificación de instrucciones que la computadora
puede ejecutar. Así pues, un diagrama de flujo es una representación gráfica de lo que se desea
que la computadora haga.
Puede decirse que cuando se desarrolla un diagrama de flujo se tiene más de la mitad realizada
en el proceso de solución.
Las frases usadas en los bloques de los diagramas de flujo no precisan de ninguna formalidad.
Cualesquier palabra que se use es buena, con tal que expresen claramente qué es lo que la
computadora debe hacer. Los siguientes ejemplos expresan la misma idea:
Asigna 2 a R
Haz R igual a 2
Inicializa R con valor 2
Por 2 en R
R=2
2→R
Actividad
Como ejercicio de repaso obtenga el diagrama de flujo para resolver el siguiente problema:
Supongamos que se tienen tres artículos de venta: un refrigerador por $ 550, un televisor por
$375 y un aire acondicionado por $2500. Si se ha asignado una comisión del 15% para el primer
articulo, 12% para el segundo y 7.5% para el tercero, ¿Cómo podríamos calcular las comisiones
obtenidas por un vendedor usando una computadora?
1. Secuenciales (lineales).
3. Repetitivas (cíclicas)
Estructuras secuenciales
Forma:
INICIO
Int, dato1,
dato2
dato1,dato2
Suma=dato1+dato2
suma
fin
ESTRUCTURAS CONDICIONALES
Una Rama
- Simple
Dos Ramas
Estructuras - Anidadas
Condicionales
Simples
- Selección
Múltiple Anidadas
Condición Condición
V F V F
Sent 1 Sent 1
Condición
Cond1
Cond2 Sent1
Cond3 Cond4
Sent1
Las estructuras de selección múltiple están controladas por variables selectoras. Para que ejecute una
rama de la estructura de selección múltiple, el valor de la variable selectora debe ser exactamente igual
al valor de la etiqueta de esa rama. Si ningún valor de las etiquetas es igual al valor actual de la
variable selectora, se ejecutara la rama de falso. En la estructura de selección múltiple puede o no
usarse la rama de falso. Toda variable selectora puede ser únicamente del tipo entero o tipo carácter
inicio
Variable selectora
Variable selectora
fin
- Toda variable Centinela sirve para detectar si el flujo del procesamiento pasó por alguna
rama de una condición dada y para evaluar con ella si debe o no ejecutarse la rama de esa
condición.
- Toda variable Centinela debe ser de tipo entero y solamente puede tomar 2 valores, 0 y 1; a
esos valores se les conoce como “valores Centinelas”. Toda Centinela debe inicializarse ya
sea con 1 ó con 0.
- While
- Do-while
- For
Estructura while.
INICIO
Inicialización de la variable
Variable de control que controla el ciclo (antes
del ciclo del ciclo)
Cont = 0
Límite
Cont < 3
Condición del control del
ciclo
C C
U D I
E EC “Hola” Fin
R L L
P O
Tarea a
O realizar en
Cont = cont + 1 el ciclo
Actualización o modificación
de la variable que controla el
ciclo.
Estructura do-while.
CARACTERÍSTICAS:
Existe la posibilidad de que se ejecute al menos una vez el cuerpo del ciclo.
Inicio
Cont = 0
“Hola”
Cont = Cont +1
Cont < 3
Fin
Se usa la técnica para el control de un ciclo por tarea cuando se sabe a priori el número de veces
que se va a ejecutar el ciclo.
Se usa una técnica para controlar el ciclo por centinela cuando desconozco desde antes el número
de veces que se ejecutará el ciclo.
Se usa una estructura while cuando existe una posibilidad dentro de la lógica del programa que la
tarea del ciclo no se ejecute alguna vez.
Condición compuesta.
No Not ! 1°
Y And && 2°
O Or || 3°
Tabla de verdad
V V V V F F
V F F V F V
F V F V V F
F F F F V V
Ciclos anidados.
INICIO
n<1
Cont = 0
“Hola”
Cont = Cont + 1
cont < n
Resp
Resp!=’s’&&Resp!=’n’
Resp = = ‘s’
Fin
Estructura for.
CARACTERÍSTICA:
Inicio
Cont=1 Fin
Cont<n
Cont= cont+1
Hola