You are on page 1of 12

Pasos para resolver un problema con la Computadora.

Análisis del Problema Es la primera fase de la resolución de un problema por computadora. Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Para poder definir bien un problema es conveniente responder a las siguientes preguntas:    ¿Qué entradas se requieren? ¿Qué salidas se requieren? ¿Qué método produce la salida deseada?

Ejemplo: Problema: Área de un Cuadrado Entrada: Lado > Num Salida: Área > Num Método: Lado2 > Num Diseño del Algoritmo En la etapa de diseño se determina como hace el programa la tarea determinada. Los métodos más eficaces para el proceso de diseño se basan en el conocido "divide y vencerás". Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas, a continuación, dividir estos

Empezar 2. Seudo Código. Los módulos son diseñados de modo descendente.Leer M 4. programación descendente y programación estructurada se introdujeron en la segunda mitad de la década de los sesentas y significa escribir un programa de acuerdo a las siguientes reglas.Ingresar "B" .subproblemas en otros de nivel más bajo. que tiene un solo punto de entrada y uno de salida. Cada módulo se codifica utilizando las tres estructuras de control básicas: secuencia. hasta que pueda ser implementada una solución por computadora. Programación Modular Los términos de programación modular.Ingresar "M" 3. Algoritmo Es un método para resolver un problema mediante una serie de pasos definidos. precisos y finitos. a esto se le llama diseño modular. Cada subprograma es resuelto mediante un módulo. Es una herramienta de programación en donde las instrucciones se escriben en palabras similares al inglés o al español. selección y repetición.    El programa tiene un diseño modular. que facilitan tanto la lectura como la escritura de programas. pero en esencia el seudo código se puede definir como un lenguaje de especificaciones de algoritmos. Ejercicios de seudo código: Problema 1: Área de un Trapecio M = Base Mayor B = Base Menor H = Altura A = Área 1.

normalmente tiene dos salidas respuestas: si o no. etc. y en función del resultado de la misma determina cual de los distintos caminos alternativos del programa se debe seguir. formato o posición de la información almacenada en memoria.Ingresar "H" 7.Escribir A 10Fin Diagramas de Flujo TERMINAL: Indica el inicio y el fin de un Diagrama de Flujo. ENTRADA: Indica la asignación de un valor de una variable tomando este valor desde un dispositivo de entrada.5.Leer B 6. normalmente dos.Leer H 8. PROCESO: Cualquier tipo de operación que pueda originar cambio de valor. de transferencia. pero puede tener más según los casos. operaciones aritméticas. SALIDA: Indica que el resultado será presentado ya sea por pantalla o por impresora.A = ((M + B) * A)/2 9. . DEFINICIÓN DE VARIABLES: Define todas y cada una de las variables que serán utilizadas en el programa representado en el diagrama de flujo. DECISIÓN: Indica operaciones lógicas o de comparación de datos.

. Valor Inicial: Se encuentra asignado a una variable la cual es la que controla el ciclo y debe ser de tipo entero.Ejercicios de Diagramas de Flujo: Problema 1: Área de un triángulo Ciclos Ciclos: Son procesos repetitivos los cuales se ejecutan una o más instrucciones varias veces. además tiene el valor de inicio del ciclo.

Incremento: Representa la frecuencia en que debe aumentarse la variable. Regreso: Indica donde termina el ciclo.Valor Final: Con este valor indicamos la última vez que el ciclo debe ejecutarse. Entrada: Marca el principio o reinicio de las instrucciones que se encuentran dentro del ciclo. Salida: Indica la finalización de la ejecución de un ciclo. en que momento el proceso se repite. Problema 1: Realizar un diagrama de flujo y seudo código que genere y despliegue los números del 1 al 10 .

Será el C++ el que incorporará nuevos cambios. Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores. éste lenguaje llevó a la aparición del C. EL lenguaje C es el resultado de un proceso de desarrollo que inició con un lenguaje denominado BCPL. es decir. estableció un comité en 1983 para crear una definición no ambigua del lenguaje C e independiente de la máquina que pudiera utilizarse en todos los tipos de C. En el momento actual. El lenguaje C inicialmente fue creado para la programación de: -Sistemas operativos -Intérpretes -Editores -Ensambladores -Compiladores -Administradores de bases de datos. por sus siglas en inglés). En los años 70. Actualmente. El C++ se convierte en estándar ISO en 1998. C es un lenguaje de programación de nivel medio ya que combina los elementos del lenguaje de alto nivel con la funcionalidad del ensamblador. A mediados de los ochenta el C se convierte en un estándar internacional ISO. tratamiento de textos. el programa se divide en módulos (funciones) independientes entre sí. es posible adaptar los programas escritos para un tipo de computadora en otra. A mediados de los ochenta se crea el C++. sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C. Otra de sus características principales es el ser estructurado. Con la popularidad de las microcomputadoras muchas compañías comenzaron a implementar su propio C por lo cual surgieron discrepancias entre sí. con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje. extensión de C orientada a objetos. Este influenció a otro llamado B (inventado por Ken Thompson). es decir. . etc. puede ser utilizado para todo tipo de programas. . Su característica principal es ser portable. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada / salida. Por esta razón ANSI (American National Standars Institute. matemáticas. el lenguaje C no va a modificarse más. debido a sus características.Lenguaje C Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX.

que llegó a ser conocida como el C estándar ANSI. Un archivo de inclusión es un archivo separado que contiene información necesaria para el compilador.h. se debe respetar el orden y ubicación de las instrucciones. Con unas pequeñas excepciones. Como el C es un lenguaje muy poderoso y flexible. diferentes organizaciones comenzaron a utilizar sus propias versiones del C. El lenguaje C se llama de esta forma debido a que su predecesor fue llamado B. El lenguaje B fue desarrollado por Kent Thompson también en los laboratorios Bell. las pequeñas diferencias entre las implementaciones comenzaron a dar problemas a los programadores. todos los compiladores de C modernos se adhieren a ese estándar. el instituto nacional de estándares americano (ANSI) formó un comité en 1983 para establecer una definición estándar del C. su uso se difundió rápidamente más allá de los laboratorios Bell. Sin embargo. Desde el principio. sino para un fin específico: El diseño del sistema operativo UNÍS.Una Breve Historia del Lenguaje C El lenguaje C fue creado por Dennis Ritchie en los laboratorios Bell en 1972. Tal vez se imagine fácilmente por que fue llamado B. Estructura de un Programa en C La estructura de un programa en C puede ser flexible conteniendo una o todas las partes de dicha estructura.h. El lenguaje no fue creado por el gusto de hacerlo. Los programadores de todo el mundo comenzaron a utilizarlo para escribir todo tipo de programas. por ejemplo: stdio. Todos los archivos de inclusión (algunas veces llamados archivos de cabecera) deben tener la extensión . Para resolver este problema. .. #include//"Librerías a utilizar" #define//Define los macros o funciones Variables y constantes globales La directiva include: Esta directiva da instrucciones al compilador C para que añada el contenido de un archivo de inclusión al programa durante la compilación. el C tuvo como propósito ser útil. Nunca necesita modificar la información de estos archivos y esta es la razón por la cual se mantienen separados.

y necesitan un amanera para guardar los valores que están usando.La función main(): El único componente obligatorio en cada programa en C es la función main. con muchas opciones para cada una de ellas. El programa utiliza variables para guardar varios tipos de datos durante su ejecución. Sin embargo. En su forma más simple consiste en fig1. una variable debe ser declarada antes de que pueda ser usada. Dentro de las llaves se encuentran las instrucciones que forman el cuerpo principal del programa. Declaración de Variables Una variable es un nombre asignado a una posición de almacenamiento de datos. Tipos de variable Int Char Flota char x[] int x[] Double Entero Carácter Punto Flotante Arreglo de Caracteres Arreglo de Enteros Doble Precisión %d %c %f %s %d %f Rango de los Tipos de Datos Int Char Float Double unsigned char unsigned int 2 1 4 8 1 2 bytes byte bytes bytes byte bytes -32763 a 32762 -128 a 127 3.7E+/-308 (15 dígitos) 0 a 255 0 a 65535 Variables y constantes numéricas Los programas de computadora. Una declaración de variable le informa al compilador el nombre y el tipo de datos que se van a guardar.4E+/. primero necesita saber un poco acerca de la operación de la memoria de la computadora. trabajan con diversos tipos de datos. Una variable es una posición de almacenamiento de datos que tiene un valor fijo que no puede cambiar. El C tiene dos maneras de guardar valores.38 (7 dígitos) 1. variables y constantes. Estas variables pueden ser números o caracteres. En C. .

los nombres "contador" y "Contador" hacen referencia a variables diferentes. Por ejemplo: int numero. Una declaración de variable le informa al compilador el nombre y tipo de la variable. Operadores Operadores Unitarios Operador ++ Descripción Incrementa el operando en 1 Ejemplo x++. Por lo tanto. Variables Una variable es una posición de almacenamiento de datos de la memoria de la computadora que tiene un nombre. 3.inicio.El nombre puede contener letras. el compilador genera un mensaje de error. Como nombrar variables En C. ya que no le importa al compilador de C. lo que significa que es borrada y reemplazada con nueva información tan pronto como se necesita. La volatilidad también significa que la RAM solamente almacena mientras la computadora está encendida y pierde su información cuando se apaga la computadora. el uso de la variable no sería tan claro para cualquier otra persona que vea el código fuente. Declaración de Variables Antes de que pueda usar una variable en un programa C debe declararla. Sin embargo. 2. Una declaración de variable tiene la siguiente forma: tipo nombre de variable. separando los nombres de variables con comas.tipo. La RAM se encuentra en circuitos integrados o chips en el interior de la computadora. la mejora en calidad del programa hace que valga la pena. 4. Por ejemplo. La RAM es volátil. Al usar un nombre de variable en el programa de hecho se está haciendo referencia al dato que se encuentra ahí guardado.Las palabras reservadas del C no pueden usarse como nombres de variables. + . Aunque puede llevar algo más de tiempo nombres de variables descriptivos. y opcionalmente inicia la variable a un valor específico. con esta flexibilidad se pueden crear muchos nombres de variables que reflejen los datos que están siendo guardados. dígitos y el carácter de subrayado. se podría haber creado un nombre de variable x o juan_perez.Tiene importancia el uso de mayúsculas y minúsculas. Palabras Reservadas del C Para muchos compiladores un nombre de variable puede ser hasta de 31 caracteres. los nombres de las variables de deben ajustar a las siguientes reglas: 1.El primer carácter del nombre debe ser una letra.Memoria de la computadora La computadora usa memoria de acceso aleatorio (RAM) para guardar información mientras está funcionando. El carácter de subrayado también es un carácter inicial válido. Se pueden declarar varias variables del mismo tipo en una línea. Si el programa trata de usar una variable que no ha sido declarada.

Cada uno de los doce elementos es el equivalente exacto de una sola variable en float. --x Operador Descripción Ejemplo + Suma dos operandos X+y Resta el segundo operando del primero x-y * Multiplica los dos operandos x*y / Divide el primer operando entre el segundo X/y % Modulo: Da el residuo cuando el primer operando es dividido X%y entre el segundo Operadores Relacionales Operador == < > <= >= ¡= Descripción ¿Es operando 1 igual al operando 2? ¿Es operando 1 menor que el operando 2? ¿Es operando 1 mayor que el operando 2? ¿Es operando 1 menor o igual que el operando 2? ¿Es operando 1 mayor o igual que el operando 2? ¿Es operando 1 diferente del operando 2? Ejemplo x==y X<y x>y x<=y x>=y x!=y Se usan para comparar expresiones. cada posición de almacenamiento de un arreglo es llamado un elemento. es un arreglo que tiene solamente un subíndice. Una expresión que contiene un operador relacional evalúa a verdadero (1) o falso (0) Caracteres de Escape Secuencia Escape \n \t \r \a \\ \" \b \f Descripción Salto de Línea: Coloca el cursor al inicio de la siguiente línea Tabulación horizontal: Mueve el cursor hacia la siguiente tabulación Retorno: Coloca el cursor al inicio de la línea actual Alerta: Hace sonar la campana del sistema Sirve para imprimir el carácter de diagonal invertida Sirve para imprimir el carácter de comillas Retroceso: Mueve el cursor un carácter hacia la izquierda Salto de Página: Pasa a la parte superior de la página siguiente Arreglos Un arreglo es una conexión de posiciones de almacenamiento de datos donde cada uno tiene el mismo tipo de dato y el mismo orden.-Operadores Binarios Decrementa el operando en 1 +x x--. Un arreglo de una solo división. En los arreglos se puede utilizar todos los tipos de datos del "C". Un subíndice es un número encerrado entre corchetes a continuación del nombre del arreglo. Los . haciendo preguntas como "es x mayor que 100" o "es e igual a 0". Como ejemplo se puede utilizar la siguiente línea de programa: float gastos[12].

Cuando se guarda el carácter "a" en una variable tipo char. Sin embargo. recuerda que el primer elemento del arreglo es: gastos [0]. que van de 0 a 255. a=98. Si se usa una variable char en alguna parte de un programa en C donde se espera un carácter. El código asigna valores. signo de puntuación o cualquier otro símbolo. Una cadena es cualquier secuencia de caracteres. que se usan para guardar datos de texto que constan de letras. Caracteres y Cadenas Un carácter es una simple letra. siempre comenzando en 0. es interpretada como número. signos de puntuación y otros símbolos. Por ejemplo. 97 es el código ASCII de la letra "a". por lo que los doce elementos de gastos son números del 0-11. en realidad se está guardando el valor 97. Por ejemplo el enunciado: gastos [6]=10. para las letras mayúsculas y minúsculas. char a=98. a='b'. char es uno de los tipos de datos numéricos enteros del C. Tipo de dato char El C usa el tipo de dato char para guardar caracteres. los signos de puntuación y otros símbolos. Un elemento de arreglo puede ser usado en cualquier parte del programa. Uso de variables char: Es exactamente lo mismo: char a. número. Uso de cadenas . char a. La memoria de la computadora guarda todos los datos en forma numérica. existe un código numérico para cada carácter. seguido del subíndice del elemento encerrado entre los corchetes. los dígitos numéricos. Los elementos individuales de los arreglos son accesados usando el nombre del arreglo. y si se usa una variable char donde se espera un número. guarda el valor 10 en el séptimo elemento del arreglo. es interpretada como carácter. números. Este se llama código ASCII. No hay manera directa de guardar caracteres.elementos del arreglo del "C" son numerados.

En C.'a'. que son una secuencia de caracteres.'z'.'c'. Arreglos de caracteres. Sin embargo. el C maneja este tipo de información con arreglos de caracteres. Aunque no hay un tipo de datos de sesión para las cadenas. char cadena[10]. una cadena está definida por una secuencia de caracteres. un carácter especial representado por \0. También se necesita una manera de guardar cadenas. Este arreglo pudiera ser usado para guardar una cadena de 9 o menos caracteres. declara un arreglo de 10 elementos de tipo char. Por ejemplo. que termina con el carácter nulo. El nombre de una persona o una dirección son ejemplos de cadenas.Las variables de tipo char pueden guardar únicamente un solo carácter. Cuando se inicia de esta manera. el compilador añade automáticamente el carácter nulo de terminación al final de la cadena.'u'. por lo que la cantidad de bytes en las variables de arreglo tipo char es la misma que la cantidad de elementos del arreglo. por lo que tienen una utilidad limitada. . como se muestra aquí: char cadena[10]={'V'. es más conveniente usar una cadena de caracteres encerrada entre comillas dobles: char cadena[10]="Veracruz". Para guardar una cadena de 6 caracteres se necesita declarar un arreglo de tipo char con 7 elementos. Una variable de tipo char es de 1 byte de tamaño.'\0'}. Se puede asignar valor elemento por elemento a los arreglos de caracteres. Aunque es representado por dos caracteres (\0) el carácter nulo es interpretado como un solo carácter. los arreglos de caracteres pueden ser iniciados cuando son declarados.'r'.'e'.'r'. Inicialización de Arreglos de Caracteres De manera similar a otro tipo de datos del C. y tiene el valor ASCII de 0.