Académique Documents
Professionnel Documents
Culture Documents
INGENIERA ELECTROMECNICA
INTRODUCCIN A LA PROGRAMACIN
Pgina | 1
INTRODUCCIN
El lenguaje C es uno de los lenguajes ms rpidos y potentes que existen hoy en da con
una sintaxis sumamente compacta y de alta portabilidad.
Un mdulo es cada una de las partes de un programa que resuelve uno de los su problemas
en que se divide el problema complejo original. Cada uno de estos mdulos tiene una tarea
bien definida y algunos necesitan de otros para poder operar. En caso de que un mdulo
necesite de otro, puede comunicarse con ste mediante una interfaz de comunicacin que
tambin debe estar bien definida.
Pgina | 2
Contenido
INTRODUCCIN ................................................................................................................................... 2
Unidad 1 Introduccin a la programacin por computadora........................................................... 4
1.1. Desarrollo histrico. ................................................................................................................... 4
1.2. Componentes bsicos de una computadora. ........................................................................ 5
1.3. Introduccin a los Algoritmos. .................................................................................................. 8
1.4. Diagramas de flujo................................................................................................................... 11
1.5. Metodologa para la solucin de problemas basados en computadora.......................... 13
Unidad 2 El lenguaje y su entorno integrado de desarrollo. ......................................................... 15
2.1. Introduccin al lenguaje y a su entorno de desarrollo. ...................................................... 15
2.2. Estructuras condicionales. ..................................................................................................... 24
2.3. Variables y constantes ............................................................................................................ 26
2.4. Operadores aritmticos, lgicos y relacionales .................................................................. 28
2.5. Estructuras selectivas (uso y aplicacin). ............................................................................ 29
2.6. Bucles repetitivos (uso y aplicacin). ................................................................................... 30
2.7. Casos de uso en solucin de problemas aplicada a la industria. .................................... 31
Unidad 3 Programacin modular ...................................................................................................... 32
3.1 Declaracin de funciones ........................................................................................................ 32
3.1.1. Funciones Simples ........................................................................................................... 35
3.1.2. Funciones Con parmetros............................................................................................. 35
3.2 Uso de bibliotecas de funciones ............................................................................................. 36
3.2.1. Entrada y salida ................................................................................................................ 38
3.2.2. Archivos ............................................................................................................................. 42
3.2.3. Cadenas ............................................................................................................................. 45
Unidad 4 Programacin de interfaces. ............................................................................................. 49
4.1 Programacin de puertos de la computadora. ..................................................................... 49
4.2 Elaboracin de interfaces. ....................................................................................................... 50
4.3 Control de interfaces a travs de computadora. .................................................................. 52
4.4 Aplicacin en la industria. ........................................................................................................ 53
BIBLIOGRAFA .................................................................................................................................... 57
Pgina | 3
Unidad 1 Introduccin a la programacin por computadora.
Era una computadora mecnica de propsito general, ms que nada utilizada para
realizar clculos de todo tipo. La mquina trabajaba con tarjetas perforadas para
recibir instrucciones, y segn los orificios estratgicamente ubicados en la tarjeta, los
dispositivos mecnicos de aquel engendro lean los datos de entrada y operaban
hasta llegar al resultado.
Pgina | 4
primera programadora del mundo. Varias dcadas despus, existi un lenguaje de
programacin llamado ADA, en honor a su trabajo.
Pero esto no tom vuelo sino hasta despus de la invencin de las computadoras
digitales. En 1954 se cre FORTRAN, el primer lenguaje de programacin de alto
nivel, que inclua un compilador. Como estaba muy orientado a la ingeniera, le dej
el campo abierto a COBOL, que durante mucho tiempo fue el principal lenguaje
usado para desarrollar aplicaciones de negocios. Seguramente hoy queden restos en
algn banco pueblerino.
1: Monitor
2: Placa base
3: Procesador
4: Puertos ATA
Pgina | 5
6: Placas de expansin
7: Fuente de alimentacin
10: Teclado
11: Ratn
Pgina | 6
Los dispositivos de Entrada/Salida sirven a la computadora para obtener
informacin del mundo exterior y/o comunicar los resultados generados por el
computador al exterior. Hay una gama muy extensa de dispositivos E/S como
teclados, monitores, unidades de disco flexible o cmaras web.
Monitor
Teclado
Pgina | 7
que se utilizaron como los teclados de los primeros ordenadores y dispositivos de
almacenamiento (grabadoras de cinta de papel y tarjetas perforadas). Aunque
fsicamente hay una mirada de formas, se suelen clasificar principalmente por la
distribucin de teclado de su zona alfanumrica, pues salvo casos muy especiales es
comn a todos los dispositivos y fabricantes (incluso para teclados rabes y
japoneses).
Ratn
Pgina | 8
Una secuencia de pasos que conducen a la realizacin de una tarea.
Pgina | 9
Un algoritmo es un conjunto finito de pasos definidos, estructurados en el
tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que
proveen un procedimiento para dar la solucin o indicar la falta de esta a un
problema en un tiempo determinado.
Caractersticas:
Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin
a realizar sin criterios de interpretacin.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso,
no usando nada ms ni nada menos que aquello que se requiera para y en su
ejecucin.
Pgina | 10
1.4. Diagramas de flujo.
Un diagrama de flujo es una representacin grfica de un algoritmo o proceso. Se
utiliza en disciplinas como la programacin, la economa, los procesos industriales y
la psicologa cognitiva. Estos diagramas utilizan smbolos con significados bien
definidos que representan los pasos del algoritmo, y representan el flujo de ejecucin
mediante flechas que conectan los puntos de inicio y de fin de proceso.
Caractersticas Comunes:
Pgina | 11
Construir el diagrama respetando la secuencia cronolgica y asignando los
correspondientes smbolos.
Asignar un ttulo al diagrama y verificar que est completo y describa con
exactitud el proceso elegido.
Pgina | 12
1.5. Metodologa para la solucin de problemas basados en
computadora.
La solucin de un problema por computadora, requiere de siete pasos, dispuestos de
tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata
de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en
su elaboracin. Los siete pasos de la metodologa son los siguientes:
1. Definicin del Problema: Esta fase est dada por el enunciado del problema, el
cual requiere una definicin clara y precisa. Es importante que se conozca lo que se
desea que realice la computadora; mientras esto no se conozca del todo no tiene
mucho caso continuar con la siguiente etapa.
Pgina | 13
instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en un
lenguaje de programacin o lenguaje de alto nivel.
Manual del Usuario: Describe paso a paso la manera cmo funciona el programa,
con el fin de que el usuario obtenga el resultado deseado.
Pgina | 14
para que siga trabajando de manera correcta. Para poder realizar este trabajo se
requiere que el programa este correctamente documentado.
Adems este lenguaje sirve de puente a otros, lo que quiere decir que sabiendo
lenguaje C, sabrs defenderte fcilmente con cualquier otro lenguaje de
programacin estructurada, solo tendrs que cambiar las palabras reservadas y poco
ms.
Para verificar la importancia y magnitud de este lenguaje solo hay que observar que
el sistema operativo Linux el cual ha sido desarrollado en su prctica totalidad con el
C. Adems vemos que en las universidades y ciclos formativos referentes a la
informtica exigen el aprendizaje absoluto de este lenguaje, en muchos casos por
encima del resto.
Pgina | 15
programacin basada en windows. C++ incorpora el potencial de C al servicio de una
programacin basada en el SO de Microsoft.
Pero no todo es oro lo que reluce en este lenguaje, es lgico que con tanto potencial
halla determinados puntos oscuros, nos referimos pues a que el lenguaje en C es
de caso sensible, lo que quiere decir que distingue entre maysculas y minsculas
y otros casos.
Volvindonos locos por ser un lenguaje pelin quisquilloso. Pero su potencial obliga a
ello.
Por otro lado, todas las instrucciones que damos en C, se separan o finalizan con el
; (punto y coma).
3. Eficacia.
8. Flexibilidad
Pgina | 16
9. Muy POTENTE
Compilador de lenguaje C
Profundizando ms:
binario, son los encargados de programar a ms bajo nivel las funciones de los
microprocesadores.
Ahora es aqu donde entran los lenguajes como el C, delphi, basic, etc. Estos
lenguajes lo que hacen es poner a nuestro alcance una serie de instrucciones que
nosotros podemos entender con facilidad. Funciones racionales para el hombre. Aqu
se encuentran las palabras reservadas (if, goto, else, while...). Una vez escrito todo el
programa mediante estas reglas racionales que nos sirve el lenguaje que usemos,
tendremos lo que se llama el cdigo fuente. Pero este solo lo entienden los
programadores no el ordenador, que como habamos visto solo entenda ceros y
unos. Es aqu donde acta el compilador. Este es el encargado de pasar nuestro
Pgina | 17
cdigo fuente (ordenes racionales) a cdigo binario (lenguaje que entiende el
ordenador). Y es as como de nuestro cdigo fuente podemos obtener un ejecutable.
Un fichero que el ordenador podr interpretar y ejecutar, los llamados (*.exe), otros
ficheros ejecutables serian (*.bat, *.con).
Ventajas y desventajas
El editor
Pgina | 18
compilarlo con algn compilador. Pero el DJGPP, ya tiene su propio editor integrado,
el llamado RHIDE.
Una vez que tengamos nuestro cdigo fuente, nuestro cdigo del programa,
debemos compilarlo, para ello acudimos al men del DJGPP
Pgina | 19
Comentarios en el cdigo fuente.
A la hora de compilar un cdigo el compilador una vez que detecta los cometarios,
(los detecta por la inclusin de unos signos especficos) lo que hace es pasar de
largo seguir leyendo o procesando.
Ejemplo:
#include stdio.h
main () {
En este ejemplo observamos que no hara falta poner el comentario puesto que ya es
claro la funcin del printf pero hay otros casos en los que se realizan bucles o ciertas
operaciones en las que si seria de mucha utilidad poner comentarios aclaratorios.
Vamos a exponer el mtico programa que se suele hacer como primera aproximacin
a cualquier lenguaje de programacin.
Pgina | 20
El, Hola Mundo!!!
#include <stdio.h>
Main () {
Include es una directriz que se encarga de meter libreras de funciones. En este caso
metemos la librera stdio Esta librera contiene funciones de consola. Funciones de
entrada y salida de datos, es donde se encuentra la funcin printf, posteriormente
usada. Es la librera por excelencia de C. Y la que siempre nos veremos obligados a
incluir.
A continuacin viene la funcin main (). Esta funcin es el cuerpo principal del
programa como su propio nombre indica. Es el punto de partida y de salida de un
programa.
Dentro del main metemos la funcin printf funcin que est en la biblioteca stdio y
lo que hace es mostrar por pantalla el texto que tenemos entre comillas. No
olvidemos terminar la instruccin de la funcin con un ;. Y cerramos la llave que
finaliza el conjunto de rdenes a realizar por el main. Las rdenes que se encuentran
dentro del main siempre se ejecutaran puesto que es el cuerpo principal del
Pgina | 21
programa. Vendra a ser como el tronco de un rbol, las ramificaciones de ese rbol
seria otras funciones fuera del main.
El lenguaje C se caracteriza entre otras cosas por seguir un orden muy claro y
estricto. Todos los programas deben presentar una anatoma comn.
1. Aadir todas las directrices o directivas que incluyan ficheros que contengan otras
funciones que necesitemos para nuestro programa. Siempre o casi siempre
deberemos insertar la librera stdio, puesto que es la que contiene las funciones
principales de toma (scanf) y muestreo de datos (printf). A la hora de aadir una
librera siempre se siguen la misma sintaxis: #include
<NombreDeLaLibreria>
5. Se definen las funciones si es que las hay, anteriormente declaradas antes del
main.
En todo programa que realicemos sobre este lenguaje C. Debemos tener muy en
cuenta, el principio y el final de las cosas, y su orden y prioridad de ejecucin. En C
las ordenes se compilan de forma lineal y secuencial (de arriba a abajo y de una en
una). En la programacin est mal visto que se pierda el ciclo de proceso de un
programa, siempre debemos saber porque punto pasa el programa, como vara y
cuando finaliza.
Pgina | 22
Estructura de datos
Matrices: Es una secuencia de elementos del mismo tipo relacionados unos con
otros por el orden en el que estn definidos
Listas: Conjunto de elementos en el que cada uno est relacionado con el elemento
anterior y siguiente. Los hay circulares.
Colas: Es un tipo especial de listas llamada FIFO (first imput first out)
rbol: Es una estructura en la que un elemento va a estar relacionado con otro o con
varios ms.
Pgina | 23
Recordemos siempre que el C distingue entre nomenclaturas, o sea diferencia entre
minsculas y maysculas.
Simples:
Las estructuras condicionales simples se les conocen como Tomas de decisin.
Estas tomas de decisin tienen la siguiente forma:
Dnde:
Si: Indica el comando de comparacin
Condicin: Indica la condicin a evaluar
Entonces: Precede a las acciones a realizar cuando se cumple la condicin
Instruccin(es): Son las acciones a realizar cuando se cumple o no la condicin
si no: Precede a las acciones a realizar cuando no se cumple la condicin
Pgina | 24
Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o ms
acciones.
Mltiples:
Las estructuras de comparacin mltiples, son tomas de decisin especializadas que
permiten comparar una variable contra distintos posibles resultados, ejecutando para
cada caso una serie de instrucciones especficas. La forma comn es la siguiente:
Pgina | 25
2.3. Variables y constantes
Variables en C.
Tanto las variables como las constantes las utilizamos a la hora de programar para
almacenar en ellas unos datos determinados y poder nombrarlas en cualquier parte
de nuestro cdigo-programa para que nos devuelvan esos datos anteriormente
introducidos.
Pgina | 26
esto es as porque es necesario que se reserve en memoria un espacio limitado ms
o menos grande dependiendo del tipo de dato que vaya a albergar dicha variable.
Ante esa sintaxis, decimos que donde cualificador podemos poner opcionalmente
uno de los disponibles que se encargan de variar o alterar el tipo de dato (ser
explicado a continuacin), posteriormente ira el tipo de dato, ya sea entero, decimal
etc., y por ltimo el identificador o nombre de la variable.
Tipos de datos en C.
1) Int: Almacenan nmeros enteros (sin decimales). Este tipo limita el rango
numrico de 32767 a -32767. Este tipo reserva en memoria 16 bits o lo que es
lo mismo 2 bytes.
Pgina | 27
2) Char: Almacena un carcter o caracteres, en realidad lo que hace es
almacenar un numero de 0 al 255 que son los nmeros que identifican a un
carcter que corresponde a la tabal ASCII. Este tipo ocupa una memoria 1
byte.
3) Float: Tipo para definir que una variable almacenara nmeros decimales.
Su rango numrico es de 3.4E-38 a -3.4E38. Su espacio de 4 bytes.
4) Double: igual que la anterior pero es capaz de almacenar mayores
cadenas numricas. Su rango es 1.7E-307 a 1.7E307.
Operadores Aritmticos
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales.
Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado
es real.
Pgina | 28
Operadores Relacionales
Se utilizan para establecer una relacin entre dos valores. Luego compara estos
valores entre si y esta comparacin produce un resultado de certeza o falsedad
(verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo (numricos o
cadenas). Estos tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacinales tiene menor prioridad que los aritmticos.
! = Diferente
= = Igual
Operadores Lgicos
Estos operadores se utilizan para establecer relaciones entre valores lgicos. Estos
valores pueden ser resultado de una expresin relacional.
a) Simples
b) Dobles
c) Compuestas
d) Mltiples
Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que
escribir varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro
y facilita su modificacin en el futuro.
Pgina | 30
era establecer una sentencia jump (que en los lenguajes de programacin fue
sustituida por el "ir a" o GOTO).
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.
Pgina | 31
de calidad sobre las operaciones desde el diseo. Hasta que se obtiene el producto
final e inclusive se habla de la calidad en la atencin al cliente.
El camino que nos lleva hacia la Calidad Total crea una nueva cultura, establece y
mantiene un liderazgo, desarrolla al personal y lo hace trabajar en equipo, adems
de enfocar los esfuerzos de calidad total hacia el cliente y a planificar cada uno de
los pasos para lograr la excelencia en sus operaciones.
El hacer esto exige vencer obstculos que se irn presentando a lo largo del camino.
Estos obstculos traducidos en problemas se deben resolver conforme se presentan
evitando con esto las variaciones del proceso. Para esto es necesario basarse en
hechos y no dejarse guiar solamente por el sentido comn, la experiencia o la
audacia. Basarse en estos tres elementos puede ocasionar que al momento de
obtener un resultado contrario al esperado nadie quiera asumir responsabilidades.
En este caso se declara la funcin cubo que recibe como parmetro una variable de
tipo entero (numero) y devuelve un valor del mismo tipo. En ningn momento
estamos especificando qu se va a hacer con el variable nmero, slo declaramos
las caractersticas de la funcin cubo.
Pgina | 32
Cabe sealar que el nombre de los parmetros es opcional y se utiliza para mejorar
la comprensin del cdigo fuente. De esta manera, el prototipo de la funcin cubo
podra expresarse de la siguiente manera:
Los prototipos de las funciones son utilizados por el compilador para verificar que se
accede a la funcin de la manera adecuada con respecto al nmero y tipo de
parmetros, y al tipo de valor de retorno de la misma. Veamos algunos ejemplos de
prototipos de funciones:
#include <stdio.h>
printf("%d\n",num);
Pgina | 33
funcin(); /* llamada */
void funcion(void)
printf("%d\n",num);
Para enviar un valor por referencia se utiliza el smbolo & ( ampersand ) delante de
la variable enviada. Esto le indica al compilador que la funcin que se ejecutar
tendr que obtener la direccin de memoria en que se encuentra la variable.
En el siguiente ejemplo podrs ver como las variables intercambian su valor tras la
llamada de la funcin (paso por referencia).
Las variables con un * son conocidas como punteros, el nico dato en 'C' que puede
almacenar una direccin de memoria.
Pgina | 34
3.1.1. Funciones Simples
Los prototipos de las funciones que se utilizan en un programa se incluyen
generalmente en la cabecera del programa y presentan la siguiente sintaxis:
En este caso se declara la funcin cubo que recibe como parmetro una variable de
tipo entero (numero) y devuelve un valor del mismo tipo. En ningn momento
estamos especificando qu se va a hacer con el variable nmero, slo declaramos
las caractersticas de la funcin cubo.
Estos valores que se pasan del cuerpo principal del programa o de un procedimiento
a otros procedimientos se llaman parametros.
{ cuerpo de instrucciones;};
Pgina | 35
3.2 Uso de bibliotecas de funciones
Las funciones estndar se dividen en grupos, todas las funciones que pertenecen al
mismo grupo estn declaradas en el archivo de cabecera (aquel que dice xxx.h), la
letra "h" significa header en ingls y es lo que se llama cabecera.
C ofrece un conjunto de funciones estndar que dan soporte a las operaciones que
se utilizan con ms frecuencia. Estas funciones estn agrupadas en bibliotecas. Para
utilizar cualquiera de las funciones que forman parte de las bibliotecas estndar de C,
slo hace falta realizar una llamada a dicha funcin.
Math es el nombre de una librera que incorpora funciones matemticas. Para poder
utilizar dichas funciones hay que aadir la instruccin #include <math.h> al principio
del cdigo de nuestro archivo. Cada directiva include se coloca en una lnea
separada y no requiere punto y coma al ser una indicacin al compilador y no una
instruccin de verdad .Esta librera contiene las siguientes funciones (se indican los
prototipos y uso);
Pgina | 36
Identificacin y organizacin de archivos
En los sistemas informticos modernos, los archivos siempre tienen nombres. Los
archivos se ubican en directorios. El nombre de un archivo debe ser nico en ese
directorio. En otras palabras, no puede haber dos archivos con el mismo nombre en
el mismo directorio.
Pgina | 37
las aplicaciones a nivel de usuario crear archivos cuyos nombres difieran solamente
en si los caracteres estn en maysculas o minsculas. Microsoft Windows reconoce
varios sistemas de archivos, cada uno con diferentes polticas en cuanto a la
distincin entre maysculas y minsculas. El popular antiguo sistema de archivos
FAT puede tener varios archivos cuyos nombres difieran nicamente en las
maysculas y minsculas si el usuario utiliza un editor de discos para editar los
nombres de archivo en las entradas de directorio. Las aplicaciones de usuario, sin
embargo, normalmente no permitirn al usuario crear varios archivos con el mismo
nombre pero con diferentes letras en maysculas y minsculas.
- Entrada/salida estndar
- Matemticas
- De conversin
- Diagnstico
- De manipulacin de memoria
- Control de proceso
Pgina | 38
- Ordenacin
- Directorios
- Fecha y hora
- Bsqueda
- Manipulacin de cadenas
- Grficos
- Etctera
Podemos incluir tantos ficheros de cabecera como nos haga falta, incluyendo los ficheros de
cabecera que hemos creado y donde hemos definido nuestras funciones. En el resto de este
apartado veremos algunas de las funciones de la entrada/salida estndar ms utilizadas.
En C no existe ninguna palabra clave para realizar la entrada y salida de datos (E/S). Se
realizan a travs de funciones de biblioteca (concretamente, la biblioteca stdio.h,).
Las funciones principales que realizan la entrada y salida sin formato son: getchar (): Lee un
carcter del teclado. Espera hasta que se pulsa una tecla y entonces devuelve su valor.
gets(): Lee una cadena de caracteres introducida por el teclado y la sita en una direccin
apuntada por su argumento de tipo puntero a carcter.
El siguiente fragmento de cdigo lee un carcter del teclado y lo muestra por pantalla. A
continuacin lee una cadena (de 10 caracteres incluido el carcter nulo) y tambin la
muestra por pantalla:
#include <stdio.h>
Pgina | 39
main()
charcadena[10];
int i;
i=getchar();
putchar(i);
gets(cadena);
puts(cadena);
Las funciones principales que realizan la entrada y salida con formato, es decir, se pueden
leer y escribir en distintas formas controladas, son:
En la funcin printf() (con scanf() no), entre las comillas se pueden poner rtulos literales
mezclados con los caracteres de transmisin.
Pgina | 40
%NsChar *: una cadena de caracteres
%% Escribe un signo de %
Donde aparecen las letras N.D o no se pone nada o sern en realidad dos nmeros que
dicen que la transmisin total del valor al menos ocupar N posiciones (si el nmero necesita
ms de N las tomar, si usa menos las dejara en blancos, a menos que se quiera rellenar
con ceros, entonces se pone 0N) y que la parte decimal tendr como mximo las D
posiciones despus de un punto.
Una l precediendo a N (p.e. %l5d) significa que transmitiremos un longint : si, por el contrario,
es una h significa que transmitiremos un short int.
Existe otro tipo de carcter especial, los caracteres de escape, que tienen un significado
especial. Los caracteres de escape son los siguientes:
\n Nueva lnea
Pgina | 41
\t Tabulador
\b Espacio atrs
\r Retorno de carro
\f Comienzo de pgina
\a Pitido sonoro
\ Comilla simple
\\ Barra invertida
La lista de argumentos estar separada por comas. Debe existir una correspondencia
biyectiva entre los caracteres de transmisin (aquellos que comienzan con un %) y la lista de
argumentos a transmitir.
Cabe destacar una diferencia en la lista de argumentos entre las funciones printf() y scanf().
En estultima funcin (scanf()), la lista de argumentos va precedida por el operador de
direccin(&), puesto que scanf() requiere que los argumentos sean las direcciones de las
variables, en lugar de ellas mismas.
(&), puesto que scanf() requiere que los argumentos sean las direcciones de las variables,
en lugar de ellas mismas.
3.2.2. Archivos
En C un archivo puede ser cualquier cosa, desde un archivo de disco a un terminal o una
impresora. Se asocia una secuencia con un archivo especfico realizando una operacin de
apertura, una vez que est abierto, la informacin puede ser intercambiada entre ste y el
programa. El puntero a un archivo es el hilo que unifica el sistema de E/S con buffer. Un
Pgina | 42
puntero a un archivo es un puntero a una informacin que define varias cosas sobre l,
incluyendo el nombre, el estado y la posicin actual del archivo. En esencia, el puntero a un
archivo identifica un archivo en disco especfico y utiliza la secuencia asociada para dirigir el
funcionamiento de las funciones de E/S con buffer. Para obtener una variable de tipo puntero
a archivo se debe utilizar una sentencia como la siguiente:FILE *punt;
La funcin fopen() abre una secuencia para que pueda ser utilizada y le asocia a un archivo.
Su prototipo es: FILE *fopen(constchar *nombre_archivo, constchar *modo); Donde
nombre_archivo es un puntero a una cadena de caracteres que representan un nombre
vlido del archivo y puede incluir una especificacin de directorio. La cadena que apunta
modo determina cmo se abre el archivo. Los modos son los siguientes:
La funcin fclose() cierra una secuencia que fue abierta mediante una llamada a fopen().
Escribe toda la informacin que todava se encuentre en el buffer del disco y realiza un cierre
formal del archivo a nivel del sistema operativo. Tambin libera el bloque de control de
archivo asociado con la secuencia, dejndolo libre para su reutilizacin. A veces es
necesario cerrar algn archivo para poder abrir otro, debido a la existencia de un lmite del
sistema operativo en cuanto al nmero de archivos abiertos. Su prototipo es: intfclose(FILE
*fp);
La funcin putc() escribe caracteres en un archivo que haya sido abierto previamente para
operaciones de escritura, utilizando la funcin fopen(). Su prototipo es: intputc(int car, FILE
*pf);
Pgina | 43
La funcin getc() escribe caracteres en un archivo que haya sido abierto, en modo lectura,
mediante fopen(). Su prototipo es: intgetc(FILE *pf);La funcin fputs() escribe la cadena en la
secuencia especificada. Su prototipo es: fputs() escribe la cadena en la secuencia
especificada. Su prototipo es: intfputs(constchar *cad, FILE *pf);La funcin fgets() lee una
cadena de la secuencia especificada hasta que se lee un carcter de salto de lnea o hasta
que se han ledo longitud-1 caracteres.
La funcin rewind() inicia el indicador de posicin al principio del archivo indicado por su
argumento. Su prototipo es: rewind() inicia el indicador de posicin al principio del archivo
indicado por su argumento. Su prototipo es: voidrewind(FILE *pf);
Existen otras muchas funciones en la biblioteca estndar de C (ver captulo 13) como
pueden serremove(): Borra el archivo especificado.
fclose() cierra una secuencia que fue abierta mediante una llamada a fopen().
putc() escribe caracteres en un archivo que haya sido abierto previamente para
operaciones de escritura, utilizando la funcin fopen().
La funcin getc() escribe caracteres en un archivo que haya sido abierto, en modo lectura,
mediante fopen(). Su prototipo es:
Pgina | 44
La funcin fputs() escribe la cadena en la secuencia especificada. Su prototipo es:
intfputs(constchar *cad, FILE *pf);
La funcin fgets() lee una cadena de la secuencia especificada hasta que se lee un carcter
de salto de lnea o hasta que se han ledo longitud-1 caracteres. Su prototipo es: fgets() lee
una cadena de la secuencia especificada hasta que se lee un carcter de salto de lnea o
hasta que se han ledo longitud-1 caracteres. Su prototipo es:intfgets(char *cad, FILE *pf);
3.2.3. Cadenas
Manejo de cadenas <string.h>
Recordando la presentacin de arreglos hecha en donde las cadenas estn definidas como
un arreglo de caracteres o un apuntador a una porcin de memoria conteniendo caracteres
ASCII. Una cadena en C es una secuencia de cero o ms caracteres seguidas por un
caracter NULL o \0:
Es importante preservar el caracter de terminacin NULL, ya que con ste es como C define
y maneja las longitudes de las cadenas. Todas las funciones de la biblioteca estndar de C
lo requieren para una operacin satisfactoria.
#include<string.h>
Pgina | 45
intstrcmp(constchar *s1, constchar *s2) -- Compara las dos cadenas de caracteres s1
y s2. Devuelve un entero menor, igual o mayor que cero si se encuentra que s1 es,
respectivamente, menor que, igual a, o mayor que s2.
Observar que tanto strcat() y strcopy() regresan una copia de su primer argumento, el cual es
el arreglo destino. Observar tambin que orden de los argumentos es arreglo destino
seguido por arreglo fuente lo cual a veces es una situacin para hacerlo incorrectamente.
Pgina | 46
Cero -- si s1 y s2 son lxicamente iguales;
Las funciones de copiado strncat(), strncmp() y strncpy() son versiones ms restringidas que
sus contrapartes ms generales. Realizan una tarea similar, pero solamente para los
primerosn caracteres. Observar que el caracter de terminacin NULL podra ser violado
cuando se usa estas funciones, por ejemplo:
Es importante preservar el caracter de terminacin NULL, ya que con ste es como C define
y maneja las longitudes de las cadenas. Todas las funciones de la biblioteca estndar de C
lo requieren para una operacin satisfactoria.
#include<string.h>
Pgina | 47
intstrcmp(constchar *s1, constchar *s2) -- Compara las dos cadenas de caracteres s1
y s2. Devuelve un entero menor, igual o mayor que cero si se encuentra que s1 es,
respectivamente, menor que, igual a, o mayor que s2.
Observar que tanto strcat() y strcopy() regresan una copia de su primer argumento, el cual es
el arreglo destino. Observar tambin que orden de los argumentos es arreglo destino
seguido por arreglo fuente lo cual a veces es una situacin para hacerlo incorrectamente.
Pgina | 48
Cero -- si s1 y s2 son lxicamente iguales;
Las funciones de copiado strncat(), strncmp() y strncpy() son versiones ms restringidas que
sus contrapartes ms generales. Realizan una tarea similar, pero solamente para los
primerosn caracteres. Observar que el caracter de terminacin NULL podra ser violado
cuando se usa estas funciones, por ejemplo:
Pgina | 49
hembra estar montado en la computadora y el conector macho estar integrado en
los dispositivos cables. Vara la velocidad de transmisin de datos y la forma fsica
del puerto acorde al estndar y al momento tecnolgico.
Anteriormente los puertos venan integrados exclusivamente en tarjetas de
expansin denominadas tarjetas controladoras, posteriormente se integraron en la
tarjeta principal "Motherboard" y tales controladoras 37 perdieron competencia en el
mercado, pero actualmente se siguen comercializando sobre todo para servidores.
Tipos de Interfaces
Pgina | 50
El interface es de dos tipos que ellos son:
Interface Paralelo
Interface Consecutivo
Pgina | 51
y consecutiva requerida. Los dos registros y las banderas de estado son incluidos en
el chip.
Puede empezar por aprender a usar el puerto paralelo y puerto serie. MIDI-puerto de
juegos tambin tiene lo suficiente para ayudarle a comenzar, aprender interfaces
informticas en el hogar.
Intente un pequeo experimento fcil de RS-232 del sensor de temperatura Powered.
Esto puede empezar tambin.
Los pocos ejemplos de arriba muestran una instrumentacin - Analizador Lgico
'Like' de interfaz y un circuito de control del rel de visualizacin. Son ejemplos he
intentado por los estudiantes a probar y aprender.
Pgina | 53
Berkeley consider que la prioridad nmero uno en investigacin y desarrollo debera
concentrarse en IHC(Canny, 2006).
Algunos de estos escenarios son el objeto de estudio del presente Documento, entre
los que cabe destacar los siguientes:
Pgina | 54
- Atencin a las glosas o textos: cada vez que se necesite colocar un texto en
pantalla, ya sea para reforzar el concepto de un componente o para entregar una
instruccin o advertencia, este deber ser cuidadosamente escrito, procurando
utilizar siempre el mismo tamao, color y fuente de letra, dejando fuera el uso de
"negrita" , "cursiva" o cualquier otro elemento que sobrecargue la pantalla ms de lo
necesario. Aunque suene obvio, los textos debern ser siempre lo ms concisos y
claros posibles, intentando idealmente localizarlos de acuerdo a la regin geogrfica
donde vayan a ser utilizados.
- Evitar dilogos innecesarios: existen aplicaciones que ante una accin reiterativa
muestran un cuadro de dilogo con un mensaje de xito. Esto puede resultar
extremadamente molesto para un usuario que ya conoce las consecuencias de su
accin. Por eso se recomienda el uso de cuadros de dilogo slo para advertencias o
sugerencias crticas (relacionadas a acciones no reversibles).
Pgina | 55
posibles; adems debe cuidar que cada accin crtica del programa pueda ser
revertida en caso de ser requerido.
Pgina | 56
BIBLIOGRAFA
https://sites.google.com/site/basesdelaprogramacion/unidad-iii
https://sites.google.com/site/basesdelaprogramacion/unidad-iv
https://sites.google.com/site/basesdelaprogramacion/
https://sites.google.com/site/mimadeo/articulos/programacion-modular-c
Pgina | 57