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

Pasos para resolver un problema con la Computadora.

Anlisis del Problema Es la primera fase de la resolucin de un problema por computadora. Esta fase requiere una clara definicin donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Para poder definir bien un problema es conveniente responder a las siguientes preguntas: Qu entradas se requieren? Qu salidas se requieren? Qu mtodo produce la salida deseada?

Ejemplo: Problema: rea de un Cuadrado Entrada: Lado > Num Salida: rea > Num Mtodo: Lado2 > Num Diseo del Algoritmo En la etapa de diseo se determina como hace el programa la tarea determinada. Los mtodos ms eficaces para el proceso de diseo se basan en el conocido "divide y vencers". Es decir, la resolucin de un problema complejo se realiza dividiendo el problema en subproblemas, a continuacin, dividir estos

subproblemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin por computadora. Cada subprograma es resuelto mediante un mdulo, que tiene un solo punto de entrada y uno de salida; a esto se le llama diseo modular. Programacin Modular Los trminos de programacin modular, programacin descendente y

programacin estructurada se introdujeron en la segunda mitad de la dcada de los sesentas y significa escribir un programa de acuerdo a las siguientes reglas. El programa tiene un diseo modular. Los mdulos son diseados de modo descendente. Cada mdulo se codifica utilizando las tres estructuras de control bsicas:

secuencia, seleccin y repeticin. Algoritmo Es un mtodo para resolver un problema mediante una serie de pasos definidos, precisos y finitos. Seudo Cdigo. Es una herramienta de programacin en donde las instrucciones se escriben en palabras similares al ingls o al espaol, que facilitan tanto la lectura como la escritura de programas, pero en esencia el seudo cdigo se puede definir como un lenguaje de especificaciones de algoritmos. Ejercicios de seudo cdigo: Problema 1: rea de un Trapecio M = Base Mayor B = Base Menor H = Altura A = rea 1- Empezar 2- Ingresar "M" 3- Leer M 4- Ingresar "B"

5- Leer B 6- Ingresar "H" 7- Leer H 8- A = ((M + B) * A)/2 9- Escribir A 10Fin Diagramas de Flujo TERMINAL: Indica el inicio y el fin de un Diagrama de Flujo.

DEFINICIN DE VARIABLES: Define todas y cada una de las variables que sern utilizadas en el programa representado en el diagrama de flujo. PROCESO: Cualquier tipo de operacin que pueda originar cambio de valor, formato o posicin de la informacin almacenada en memoria, operaciones aritmticas, de transferencia, etc. DECISIN: Indica operaciones lgicas o de comparacin de datos, normalmente dos, y en funcin del resultado de la misma determina cual de los distintos caminos alternativos del programa se debe seguir; normalmente tiene dos salidas respuestas: si o no, pero puede tener ms segn los casos.

ENTRADA: Indica la asignacin de un valor de una variable tomando este valor desde un dispositivo de entrada.

SALIDA: Indica que el resultado ser presentado ya sea por pantalla o por impresora.

Ejercicios de Diagramas de Flujo:

Problema 1: rea de un tringulo

Ciclos

Ciclos: Son procesos repetitivos los cuales se ejecutan una o ms instrucciones varias veces. Valor Inicial: Se encuentra asignado a una variable la cual es la que controla el ciclo y debe ser de tipo entero, adems tiene el valor de inicio del ciclo.

Valor Final: Con este valor indicamos la ltima vez que el ciclo debe ejecutarse. Incremento: Representa la frecuencia en que debe aumentarse la variable. Entrada: Marca el principio o reinicio de las instrucciones que se encuentran dentro del ciclo. Regreso: Indica donde termina el ciclo, en que momento el proceso se repite. Salida: Indica la finalizacin de la ejecucin de un ciclo.

Problema 1: Realizar un diagrama de flujo y seudo cdigo que genere y despliegue los nmeros del 1 al 10

Lenguaje C Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el cdigo del sistema operativo UNIX. Desde su nacimiento se fue implantando como el lenguaje de programacin de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstraccin de los lenguajes de alto nivel con la eficiencia del lenguaje mquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh tambin utilizaban C, con lo cual la prctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX est escrita en este lenguaje. A mediados de los ochenta el C se convierte en un estndar internacional ISO. Este estndar incluye tanto la definicin del lenguaje como una enorme biblioteca de funciones para entrada / salida, tratamiento de textos, matemticas, etc. A mediados de los ochenta se crea el C++, extensin de C orientada a objetos. El C++ se convierte en estndar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse ms. Ser el C++ el que incorporar nuevos cambios. EL lenguaje C es el resultado de un proceso de desarrollo que inici con un lenguaje denominado BCPL. Este influenci a otro llamado B (inventado por Ken Thompson). En los aos 70; ste lenguaje llev a la aparicin del C. Con la popularidad de las microcomputadoras muchas compaas comenzaron a implementar su propio C por lo cual surgieron discrepancias entre s. Por esta razn ANSI (American National Standars Institute, por sus siglas en ingls), estableci un comit en 1983 para crear una definicin no ambigua del lenguaje C e independiente de la mquina que pudiera utilizarse en todos los tipos de C. . C es un lenguaje de programacin de nivel medio ya que combina los elementos del lenguaje de alto nivel con la funcionalidad del ensamblador. Su caracterstica principal es ser portable, es decir, es posible adaptar los programas escritos para un tipo de computadora en otra. Otra de sus caractersticas principales es el ser estructurado, es decir, el programa se divide en mdulos (funciones) independientes entre s. El lenguaje C inicialmente fue creado para la programacin de: -Sistemas operativos -Intrpretes -Editores -Ensambladores -Compiladores -Administradores de bases de datos. Actualmente, debido a sus caractersticas, puede ser utilizado para todo tipo de programas.

Una Breve Historia del Lenguaje C El lenguaje C fue creado por Dennis Ritchie en los laboratorios Bell en 1972. El lenguaje no fue creado por el gusto de hacerlo, sino para un fin especfico: El diseo del sistema operativo UNS. Desde el principio, el C tuvo como propsito ser til. Como el C es un lenguaje muy poderoso y flexible, su uso se difundi rpidamente ms all de los laboratorios Bell. Los programadores de todo el mundo comenzaron a utilizarlo para escribir todo tipo de programas. Sin embargo, diferentes organizaciones comenzaron a utilizar sus propias versiones del C, las pequeas diferencias entre las implementaciones comenzaron a dar problemas a los programadores,. Para resolver este problema, el instituto nacional de estndares americano (ANSI) form un comit en 1983 para establecer una definicin estndar del C, que lleg a ser conocida como el C estndar ANSI. Con unas pequeas excepciones, todos los compiladores de C modernos se adhieren a ese estndar. El lenguaje C se llama de esta forma debido a que su predecesor fue llamado B. El lenguaje B fue desarrollado por Kent Thompson tambin en los laboratorios Bell. Tal vez se imagine fcilmente 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, se debe respetar el orden y ubicacin de las instrucciones. #include//"Libreras a utilizar" #define//Define los macros o funciones Variables y constantes globales La directiva include: Esta directiva da instrucciones al compilador C para que aada el contenido de un archivo de inclusin al programa durante la compilacin. Un archivo de inclusin es un archivo separado que contiene informacin necesaria para el compilador. Nunca necesita modificar la informacin de estos archivos y esta es la razn por la cual se mantienen separados. Todos los archivos de inclusin (algunas veces llamados archivos de cabecera) deben tener la extensin .h, por ejemplo: stdio.h.

La funcin main(): El nico componente obligatorio en cada programa en C es la funcin main. En su forma ms simple consiste en fig1. Dentro de las llaves se encuentran las instrucciones que forman el cuerpo principal del programa.

Declaracin de Variables Una variable es un nombre asignado a una posicin de almacenamiento de datos. El programa utiliza variables para guardar varios tipos de datos durante su ejecucin. En C, una variable debe ser declarada antes de que pueda ser usada. Una declaracin de variable le informa al compilador el nombre y el tipo de datos que se van a guardar. Tipos de variable Int Char Flota char x[] int x[] Double Entero Carcter Punto Flotante Arreglo de Caracteres Arreglo de Enteros Doble Precisin %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.4E+/.38 (7 dgitos) 1.7E+/-308 (15 dgitos) 0 a 255 0 a 65535

Variables y constantes numricas Los programas de computadora, trabajan con diversos tipos de datos, y necesitan un amanera para guardar los valores que estn usando. Estas variables pueden ser nmeros o caracteres. El C tiene dos maneras de guardar valores, variables y constantes, con muchas opciones para cada una de ellas. Una variable es una posicin de almacenamiento de datos que tiene un valor fijo que no puede cambiar. Sin embargo, primero necesita saber un poco acerca de la operacin de la memoria de la computadora.

Memoria de la computadora La computadora usa memoria de acceso aleatorio (RAM) para guardar informacin mientras est funcionando. La RAM se encuentra en circuitos integrados o chips en el interior de la computadora. La RAM es voltil, lo que significa que es borrada y reemplazada con nueva informacin tan pronto como se necesita. La volatilidad tambin significa que la RAM solamente almacena mientras la computadora est encendida y pierde su informacin cuando se apaga la computadora. Variables Una variable es una posicin de almacenamiento de datos de la memoria de la computadora que tiene un nombre. Al usar un nombre de variable en el programa de hecho se est haciendo referencia al dato que se encuentra ah guardado. Como nombrar variables En C, los nombres de las variables de deben ajustar a las siguientes reglas: 1- El nombre puede contener letras, dgitos y el carcter de subrayado. 2- El primer carcter del nombre debe ser una letra. El carcter de subrayado tambin es un carcter inicial vlido. 3- Tiene importancia el uso de maysculas y minsculas. Por lo tanto, los nombres "contador" y "Contador" hacen referencia a variables diferentes. 4- Las palabras reservadas del C no pueden usarse como nombres de variables. Palabras Reservadas del C Para muchos compiladores un nombre de variable puede ser hasta de 31 caracteres, con esta flexibilidad se pueden crear muchos nombres de variables que reflejen los datos que estn siendo guardados. Por ejemplo, se podra haber creado un nombre de variable x o juan_perez, ya que no le importa al compilador de C. Sin embargo, el uso de la variable no sera tan claro para cualquier otra persona que vea el cdigo fuente. Aunque puede llevar algo ms de tiempo nombres de variables descriptivos, la mejora en calidad del programa hace que valga la pena. Declaracin de Variables Antes de que pueda usar una variable en un programa C debe declararla. Una declaracin de variable le informa al compilador el nombre y tipo de la variable, y opcionalmente inicia la variable a un valor especfico. Si el programa trata de usar una variable que no ha sido declarada, el compilador genera un mensaje de error. Una declaracin de variable tiene la siguiente forma: tipo nombre de variable. Se pueden declarar varias variables del mismo tipo en una lnea, separando los nombres de variables con comas. Por ejemplo: int numero,inicio,tipo; Operadores Operadores Unitarios Operador ++ Descripcin Incrementa el operando en 1 Ejemplo x++, +

-Operadores Binarios

Decrementa el operando en 1

+x x--, --x

Operador Descripcin 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 == < > <= >= = Descripcin 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, haciendo preguntas como "es x mayor que 100" o "es e igual a 0". Una expresin que contiene un operador relacional evala a verdadero (1) o falso (0) Caracteres de Escape Secuencia Escape \n \t \r \a \\ \" \b \f Descripcin Salto de Lnea: Coloca el cursor al inicio de la siguiente lnea Tabulacin horizontal: Mueve el cursor hacia la siguiente tabulacin Retorno: Coloca el cursor al inicio de la lnea actual Alerta: Hace sonar la campana del sistema Sirve para imprimir el carcter de diagonal invertida Sirve para imprimir el carcter de comillas Retroceso: Mueve el cursor un carcter hacia la izquierda Salto de Pgina: Pasa a la parte superior de la pgina siguiente Arreglos Un arreglo es una conexin de posiciones de almacenamiento de datos donde cada uno tiene el mismo tipo de dato y el mismo orden, cada posicin de almacenamiento de un arreglo es llamado un elemento. Un arreglo de una solo divisin, es un arreglo que tiene solamente un subndice. Un subndice es un nmero encerrado entre corchetes a continuacin del nombre del arreglo. Como ejemplo se puede utilizar la siguiente lnea de programa: float gastos[12]; Cada uno de los doce elementos es el equivalente exacto de una sola variable en float. En los arreglos se puede utilizar todos los tipos de datos del "C". Los

elementos del arreglo del "C" son numerados, siempre comenzando en 0, por lo que los doce elementos de gastos son nmeros del 0-11. Un elemento de arreglo puede ser usado en cualquier parte del programa. Los elementos individuales de los arreglos son accesados usando el nombre del arreglo, seguido del subndice del elemento encerrado entre los corchetes. Por ejemplo el enunciado: gastos [6]=10; guarda el valor 10 en el sptimo elemento del arreglo, recuerda que el primer elemento del arreglo es: gastos [0]. Caracteres y Cadenas Un carcter es una simple letra, nmero, signo de puntuacin o cualquier otro smbolo. Una cadena es cualquier secuencia de caracteres, que se usan para guardar datos de texto que constan de letras, nmeros, signos de puntuacin y otros smbolos. Tipo de dato char El C usa el tipo de dato char para guardar caracteres, char es uno de los tipos de datos numricos enteros del C. La memoria de la computadora guarda todos los datos en forma numrica. No hay manera directa de guardar caracteres. Sin embargo, existe un cdigo numrico para cada carcter. Este se llama cdigo ASCII. El cdigo asigna valores, que van de 0 a 255, para las letras maysculas y minsculas, los dgitos numricos, los signos de puntuacin y otros smbolos. Por ejemplo, 97 es el cdigo ASCII de la letra "a". Cuando se guarda el carcter "a" en una variable tipo char, en realidad se est guardando el valor 97. Si se usa una variable char en alguna parte de un programa en C donde se espera un carcter, es interpretada como carcter, y si se usa una variable char donde se espera un nmero, es interpretada como nmero. Uso de variables char: Es exactamente lo mismo: char a; a='b'; char a; a=98; char a=98;

Uso de cadenas

Las variables de tipo char pueden guardar nicamente un solo carcter, por lo que tienen una utilidad limitada. Tambin se necesita una manera de guardar cadenas, que son una secuencia de caracteres. El nombre de una persona o una direccin son ejemplos de cadenas. Aunque no hay un tipo de datos de sesin para las cadenas, el C maneja este tipo de informacin con arreglos de caracteres. Arreglos de caracteres. Para guardar una cadena de 6 caracteres se necesita declarar un arreglo de tipo char con 7 elementos. Por ejemplo, char cadena[10]; declara un arreglo de 10 elementos de tipo char. Este arreglo pudiera ser usado para guardar una cadena de 9 o menos caracteres, En C, una cadena est definida por una secuencia de caracteres, que termina con el carcter nulo, un carcter especial representado por \0. Aunque es representado por dos caracteres (\0) el carcter nulo es interpretado como un solo carcter, y tiene el valor ASCII de 0. Una variable de tipo char es de 1 byte de tamao, por lo que la cantidad de bytes en las variables de arreglo tipo char es la misma que la cantidad de elementos del arreglo. Inicializacin de Arreglos de Caracteres De manera similar a otro tipo de datos del C, los arreglos de caracteres pueden ser iniciados cuando son declarados. Se puede asignar valor elemento por elemento a los arreglos de caracteres, como se muestra aqu: char cadena[10]={'V','e','r','a','c','r','u','z','\0'}; Sin embargo, es ms conveniente usar una cadena de caracteres encerrada entre comillas dobles: char cadena[10]="Veracruz"; Cuando se inicia de esta manera, el compilador aade automticamente el carcter nulo de terminacin al final de la cadena.