proyecto final
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PROYECTO FINAL<br />
DE PROGRAMACIÓN I<br />
PRESENTADO<br />
POR:<br />
LORENA<br />
BARRIOS<br />
MORALES<br />
LICENCIATURA<br />
EN<br />
INFORMÁTICA<br />
CON ÉNFASIS<br />
EN<br />
TELECOMUNI-<br />
CACIONES<br />
CÉDULA: 8-<br />
734-1221<br />
INF 0117<br />
PROFESORA:<br />
CARMEN<br />
ROVIRA<br />
2
INTRODUCCIÓN<br />
Este es mi portafolio digital que es un compendio de todos los conocimientos de<br />
programación I que hemos adquirido en este cuatrimestre. Este tiene 12 capítulos de<br />
diferentes contenidos, en este portafolio he incluido varias herramientas como lo son los<br />
mapas conceptuales, videos, diapositivas, prácticas en Dev++, línea del tiempo,<br />
documentos PDF.<br />
Los temas van desde la introducción a las computadoras, tipos de lenguajes de<br />
programación, introducción del C, los operadores y expresiones, entrada y salida de<br />
datos, los punteros, preparación de un programa, las funciones en programación, las<br />
diferentes instrucciones de control, archivo de datos, estructuras y uniones.<br />
Este trabajo <strong>final</strong> me ha permitido investigar los temas que en clase se<br />
mencionaron y que no me habían quedado claros por falta de tiempo.<br />
Espero sea de su agrado, y que además de aprender obtenga una alta calificación.<br />
3
CONTENIDO<br />
INTRODUCCIÓN<br />
1. Conceptos básicos<br />
1.1.1. Introducción a las computadoras<br />
1.1.2. Características de las computadoras<br />
1.1.3. Modos de operación<br />
1.1.4. Tipos de lenguajes de programación<br />
2. Introducción al C<br />
2.1. Algunos programas sencillos en C<br />
2.2. Características deseables de un programa<br />
2.3. Conceptos básicos de C<br />
2.4. El conjunto de caracteres de C<br />
2.5. Identificadores y palabras reservadas<br />
2.6. Tipos de datos<br />
2.7. Constantes<br />
2.8. Variables y arrays<br />
2.9. Declaraciones<br />
2.10. Expresiones<br />
2.11. Instrucciones<br />
2.12. Constantes simbólicas<br />
3. Operadores y expresiones<br />
3.1.1. Operadores aritméticos<br />
3.1.2. Operadores unarios<br />
3.1.3. Operadores relacionales y lógicos<br />
3.1.4. Operadores de asignación<br />
3.1.5. El operador condicional<br />
3.1.6. Funciones de biblioteca<br />
4
4. Entrada y salida de datos<br />
4.1 Introducción<br />
4.2. Entrada de un carácter - La función getchar<br />
4.3. Salida de un carácter - La función putchar<br />
4.4. Introducción de datos - La función scanf<br />
4.5. Más sobre la función scanf<br />
4.6. Escritura de datos - La función printf<br />
4.7. Más sobre la función printf<br />
4.8. Las funciones gets y puts<br />
4.9. Programación interactiva (conversacional)<br />
5. Preparación y ejecución de un programa en C<br />
5.1. Planificación de un programa en C<br />
5.2. Escritura de un programa en C<br />
5.3. Introducción de un programa en la computadora<br />
5.4. Compilación y ejecución de un programa<br />
5.5. Mensajes de error<br />
5.6. Técnicas de depuración<br />
6. Instrucciones de control<br />
6.1. Introducción<br />
6.2. Ejecución condicional: La instrucción if - else<br />
6.3. Bucles: la instrucción while<br />
6.4. Más sobre bucles: la instrucción do - while<br />
5
6.5. Más aún sobre bucles: la instrucción for<br />
6.6. Estructuras de control anidadas<br />
6.7. La instrucción switch<br />
6.8. La instrucción break<br />
6.9. La instrucción continue<br />
6.10. El operador coma<br />
6.11. La instrucción gota<br />
7. Funciones<br />
7.1. Introducción<br />
7.2. Definición de una función<br />
7.3. Acceso a una función<br />
7.4. Prototipos de funciones<br />
7.5. Paso de argumentos a una función<br />
7.6. Recursividad<br />
8. Estructura de un programa<br />
8.1. Tipos de almacenamiento<br />
8.2. Variables automáticas<br />
8.3. Variables externas (globales)<br />
8.4. Variables estáticas<br />
8.5. Programas de varios archivos<br />
8.6. Más sobre funciones de biblioteca<br />
9. Arrays<br />
6
9.1. Definición de un array<br />
9.2. Procesamiento de un array<br />
9.3. Paso de arrays a funciones<br />
9.4. Arrays multidimensionales<br />
9.5. Arrays y cadenas de caracteres<br />
10. Punteros<br />
10.1. Conceptos básicos<br />
10.2. Declaración de punteros<br />
10.3. Paso de punteros a una función<br />
10A. Punteros y arrays unidimensionales.<br />
10.5. Asignación dinámica de memoria<br />
10.6. Operaciones con punteros<br />
10.7. Punteros y arrays mu1tidimensiona1es<br />
10.8. Arrays de punteros<br />
10.9. Paso de funciones a otras funciones<br />
10.10. Más sobre declaraciones de punteros<br />
11. Estructuras y uniones<br />
11.1. Definición de una estructura<br />
11.2. Procesamiento de una estructura<br />
11.3. Tipos de datos definidos por el usuario (typedef)<br />
11.4. Estructuras y punteros<br />
11.5. Paso de estructuras a una función<br />
7
11.6. Estructuras autorreferenciadoras<br />
11.7. Uniones<br />
12. Archivos de datos<br />
12.1. Apertura y cierre de un archivo<br />
12.2. Creación de un archivo<br />
12.3. Procesamiento de un archivo<br />
12.4. Archivos sin formato<br />
8
9
GENERALIDADES DE LAS COMPUTADORAS<br />
10
EVOLUCIÓN DE LA COMPUTADORA TANTO DEL HADWARE<br />
Y SOFWARE<br />
11
MAPA CONCEPTUAL DE LAS GENERACIONES DE LAS<br />
COMPUTADORAS<br />
12
MAPA CONCEPTUAL DE LENGUAJES DE PROGRAMACIÓN<br />
13
CAPÍTULO 2<br />
INTRODUCCIÓN AL C<br />
14
Tema 2--<br />
Introducción a la programación en C<br />
EL CONJUNTO DE CARACTERES DE C<br />
Para formar los elementos básicos del programa (constantes, variables, operadores,<br />
expresiones, etc.), C utiliza como bloques de construcción las letras mayúsculas de la A a la<br />
z, las minúscula de la a la z, los dígitos del O al 9 y ciertos caracteres especiales. Se presenta<br />
continuación una lista de estos caracteres especiales:<br />
+<br />
<<br />
? ><br />
* / "<br />
= % & # \ I ] { } (espacio en blanco)<br />
La mayoría de las versiones del lenguaje también permiten que otros caracteres, como@ y<br />
$, se incluyan en cadenas de caracteres y comentarios. C utiliza ciertas combinaciones de<br />
estos caracteres, como \b, \n y \ t, para representar elementos especiales como el retroceso<br />
de un espacio, nueva línea y un tabulador, respectivamente. Estas combinaciones de<br />
caracteres se conocen como secuencias de escape. Trataremos las secuencias de escape en<br />
la sección 2.4. Por ahora nos limitaremos a decir que cada secuencia de escape representa<br />
un solo carácter, aun cuando se escriba con dos o más caracteres.<br />
15
IDENTIFICADORES Y PALABRAS RESERVADAS<br />
Los identificadores son nombres que se les da a varios elementos de un programa, como<br />
variables, funciones y formaciones. Un identificador está formado por letras y dígitos, en<br />
cualquier orden, excepto el primer carácter, que debe ser una letra. Se pueden utilizar<br />
mayúsculas y minúsculas, aunque es costumbre utilizar minúsculas para la mayoría de los<br />
identificadores. No se pueden intercambiar mayúsculas y minúsculas (esto es, una letra<br />
mayúscula no es equivalente a la correspondiente minúscula.) El carácter de subrayado L)<br />
se puede incluir también, y es considerado como una letra. Se suele utilizar este carácter en<br />
medio de los identificadores. Un identificador también puede comenzar con un carácter de<br />
subrayado, aunque en la práctica no se suele hacer.<br />
EJEMPLO 2.1. Los siguientes nombres son identificadores válidos.<br />
x nombres<br />
y12 area<br />
_temperatura TABLA<br />
Los siguientes nombres no son identificadores válidos por las razones señaladas.<br />
16
4num "XII orden-no indicador error<br />
el primer carácter debe ser una letra caracteres ilegales (n) carácter ilegal (-) carácter ilegal<br />
(espacio en blanco)<br />
NO hay límite para la longitud de los identificadores. Algunas implementaciones de C<br />
reconocen sólo los ocho primeros caracteres, aunque la mayoría de ellas reconocen más<br />
(típicamente, 31 caracteres). El resto de los caracteres son utilizados para la comodidad del<br />
programador.<br />
TIPOS DE DATOS<br />
C ofrece distintos tipos de datos, cada uno de los cuales se puede encontrar representado<br />
de forma diferente en la memoria de la computadora. A continuación se presenta una lista<br />
de los tipos de datos básicos. También se dan los requerimientos de memoria típicos. (El<br />
requerimiento de memoria para cada tipo de datos numéricos determinará el rango<br />
permisible de valores para ese tipo de datos. Hay que señalar que las necesidades de<br />
memoria para cada tipo de datos pueden variar de un compilador de C a otro.)<br />
Tipo de datos Descripción<br />
int Cantidad entera<br />
char Carácter<br />
float Número en coma flotante (un número que incluye punto decimal y/o exponente)<br />
Requisito típico de memoria<br />
2 bytes o una palabra (varía de un compilador a otro)<br />
1 byte<br />
1 palabra (4 bytes)<br />
CONSTANTES<br />
C tiene cuatro tipos básicos de constantes: constantes enteras, constantes en coma<br />
flotante, constantes de carácter y constantes de cadena de caracteres (hay también<br />
constantes enumeradas, que se tratan en la sección 14.1). Es más, hay distintas ciases de<br />
constantes enteras y en coma flotante, como se discute a continuación. Las constantes<br />
enteras y en coma flotante representan números. Se las denomina, en general, constantes<br />
de tipo numérico. Las siguientes reglas se pueden aplicar a todas las constantes numéricas.<br />
l. No se pueden incluir comas ni espacios en blanco en la constante. 2. Si se desea, la<br />
constante puede ir precedida de un signo menos (-). (Realmente, el signo menos es un<br />
operador que cambia el signo de una constante positiva, aunque se puede ver como parte<br />
de la constante misma.) 3. El valor de una constante no puede exceder un límite máximo y<br />
17
un mínimo especificados. Para cada tipo de constante, estos límites varían de un compilador<br />
de C a otro.<br />
Veamos cada tipo de constante individualmente.<br />
Constantes enteras<br />
Una constante entera es un número con un valor entero, consistente en una secuencia de<br />
dígitos. Las constantes enteras se pueden escribir en tres sistemas numéricos diferentes:<br />
decimal (base 10), octal (base 8) y hexadecimal (base 16). Normalmente, los programadores<br />
que se están iniciando no utilizarán más que las constantes enteras decimales. Una<br />
constante entera decimal puede ser cualquier combinación de dígitos tomados del conjunto<br />
de Oa 9. Si la constante tiene dos o más dígitos, el primero de ellos debe ser distinto de O.<br />
EJEMPLO 2.4. A continuación se muestran varias constantes enteras decimales.<br />
o 1 743 5280 32767 9999<br />
Las siguientes constantes enteras decimales están escritas incorrectamente por las razones<br />
que se indican. 12,245 36.0 10 20 30 123-45-6789 0900 carácter ilegal (. ). carácter ilegal (.<br />
). carácter ilegal(espacio en blanco);· carácter ilegal (~). el primer dígito no puede ser cero.<br />
2.5. VARIABLESY ARRAYS<br />
Una variable es un identificador que se l1tiliza para representar cierto tipo de información<br />
dentro de una determinada parte del programa. En su forma más sencilla, una variable es<br />
un identificador que se utiliza para representar un dato individual; es decir, una cantidad<br />
numérica o una constante de carácter. En alguna parte del programa se asigna el dato a la<br />
variable. Este valor .se puede recuperar después en el programa con simplemente hacer<br />
referencia al nombre de la variable. A una variable se le pueden asignar diferentes valores<br />
en distintas partes del programa. De esta forma la información representada puede cambiar<br />
durante la ejecución del programa. Sin embargo, el tipo de datos asociado a la variable no<br />
puede cambiar.<br />
44 PROGRAMACIÓN EN C<br />
EJEMPLO 2.18. Un programa en e contiene las siguientes líneas:<br />
int a, b, c; char d;<br />
a = 3 ; b = 5 ; e = a + b; d = 'a' ;<br />
a = 4 ; b = 2 . , e = a - b; d = 'W' ;<br />
Las dos primeras líneas son declaraciones de tipo, en las cuales se establece que a, b y e son<br />
variables enteras y que d es una variable de tipo carácter. De esta forma a, b y e<br />
representarán sendas cantidades enteras y d representará un carácter. Estas declaraciones<br />
de tipo se mantienen para todo el programa (más sobre esto en la sección 2.6). Las<br />
18
siguientes cuatro líneas hacen lo siguiente: a a se le asigna la cantidad entera 3, a b se le<br />
asigna 5 yac se le asigna la suma de a + b (es decir 8). A d se le asigna el carácter 'a' . En la<br />
tercera línea de este grupo puede verse cómo se accede a los valores de las variables a y b<br />
simplemente escribiéndolas a la derecha del signo igual. Las últimas cuatro líneas cambian<br />
los valores asignados a las variables de la forma siguiente: la cantidad entera 4 es asignada<br />
a a, sustituyendo el anterior valor 3; después se asigna 2 a b, reemplazando al valor anterior,<br />
5; se le asigna a e la diferencia entre a y b (es decir, 2), reemplazando al anterior valor, 8.<br />
Finalmente, se le asigna a d el carácter 'W', sustituyendo al anterior carácter, 'a'.<br />
El array es otra clase de variable que se utiliza con frecuencia en C. Un array es un<br />
identificador que referencia una colección de datos con el mismo nombre. Los datos deben<br />
ser del mismo tipo (por ejemplo, todos enteros, todos caracteres, etc.). Cada uno de estos<br />
datos es representado por su elemento del array correspondiente (por ejemplo, el primer<br />
dato es representado por el primer elemento del array, etc.). Los elementos individuales<br />
del array se distinguen unos de otros por el valor que se le asigna al índice.<br />
2.6. DECLARACIONES<br />
Tema 3<br />
Declaraciones<br />
Una declaración asocia un tipo de datos especificado a un grupo de variables. Se deben<br />
declarar todas las variables antes de que aparezcan en las instrucciones ejecutables. Una<br />
declaración consta de untipo de datos, seguido de uno o más nombres de variables,<br />
<strong>final</strong>izando con un punto y coma. (Los tipos de datos pennitidos se han discutido en la sec<br />
46 PROGRAMACIÓN EN C<br />
19
ción 2.3.) Cada variable array debe ir seguida de un par de corchetes, con un entero positivo<br />
dentro de éstos que especifica el tamaño (el número de elementos) del array.<br />
EJEMPLO 2.21. Un programa en e contiene las siguientes declaraciones de tipos:<br />
int a, b, e;<br />
float raizl, raiz2; char indicador, texto[80];<br />
De esta forma se declaran a, b y c como variables enteras, raizl y raiz2 son variables en coma<br />
flotante, indicador una variable de tipo carácter y texto un array de tipo carácter de 80<br />
elementos. Observe los corchetes que delimitan la especificación de tamaño de texto.<br />
También se podrían haber escrito las declaraciones anteriores como sigue:<br />
int a¡ int b; int c¡ float raizl; float raiz2; char indicador i char texto [80];<br />
INSTRUCCIONES<br />
Una instrucción hace que la computadora efectúe alguna acción. Hay tres tipo diferentes<br />
de instrucciones en C. Éstas son las instrucciones de expresión, instrucciones compuestas e<br />
instrucciones de control. Una instrucción de expresión consiste en una expresión seguida<br />
de un punto y coma. La ejecución de una instrucción de expresión hace que se evalúe la<br />
expresión.<br />
EJEMPLO 2.28. A continuación se muestran varias instrucciones de expresión.<br />
a ::::; 3; e = a + b; ++i¡ printf(UArea - %fllrarea)¡<br />
2.9. CONSTANTES SIMBÓLICAS<br />
Una constante simbólica es un nombre que sustituye una secuencia de caracteres. Los<br />
caracteres pueden representar una constante numérica, una constante de carácter o una<br />
constante de cadena de caracteres. Por tanto, una .constante simbólica permite que<br />
aparezca un nombre en lugar de una constante numérica, una constante de carácter o una<br />
constante de cadena de caracteres. Cuando se compila un programa, cada aparición de una<br />
constante simbólica es reemplazada por su correspondiente secuencia de caracteres. Las<br />
constantes simbólicas se suelen definir al comienzo del programa. Las constantes simbólicas<br />
pueden entonces aparecer después en el programa en lugar de las. constantes numéricas,<br />
las constantes de carácter, etc., que representan dichas constantes simbólicas. Se define<br />
una constante simbólica escribiendo<br />
#define nombre texto<br />
en donde nombre representa un nombre simbólico, que se suele escribir en letras<br />
mayúsculas, y texto representa)a secuencia de caracteres asociada al nombre simbólico.<br />
Adviértase que texto no acaba con un punto y coma, ya que la definición de una constante<br />
simbólica no es una verdadera instrucción de C. Es más, si texto acabase con un punto y<br />
20
coma, este punto y coma se trataría como si fuese parte de la constante numérica, la<br />
constante de carácter o la constante de cadena de caracteres que se sustituye por el<br />
nombre simbólico.<br />
PROGRAMACIÓN EN C<br />
EJEMPLO 2.31. Un programa en e contiene las siguientes definiciones de constantes<br />
simbólicas:<br />
#define INTERES 0.23<br />
#define PI 3.141593<br />
#define TRUE 1 #define FALSE O<br />
#define AMIGA 11 Susana 11<br />
Nótese que los nombres simbólicos están escritos en mayúsculas, para distinguirlos de los<br />
identificadores ordinarios de C. Adviértase también que las definiciones no acaban en punto<br />
y coma.<br />
21
22
23
CAPÍTULO 3<br />
OPERADORES Y<br />
EXPRESIONES<br />
24
Tema 4b<br />
Operadores<br />
25
26
27
CAPÍTULO 4<br />
ENTRADA Y SALIDA DE<br />
DATOS<br />
28
29
PRÁCTICA CON ENTRADA DE DATOS CON GETCHAR<br />
30
FUNCIÓN SCANF<br />
Mediante la función<br />
scanf podemos introducir<br />
cualquier combinación de<br />
valores numéricos, caracteres<br />
sueltos y cadenas de<br />
caracteres a través del<br />
teclado. En<br />
definitiva, scanf lee datos<br />
formateados de la entrada<br />
estandar. ... La función<br />
devolverá el número de datos<br />
que se han introducido<br />
correctamente.<br />
31
FUNCIÓN PRINTF<br />
Complementariamente a scanf,<br />
printf puede escribir cualquier<br />
combinación de valores<br />
numéricos, caracteres sueltos y<br />
cadenas de caracteres. La función<br />
printf transporta datos desde la<br />
memoria a la pantalla, a<br />
diferencia de scanf, que envía<br />
datos desde el teclado para<br />
almacenarlos en la memoria.<br />
32
PRÁCTICA CON USO DE IF Y PRINTF<br />
33
PRÁCTICA CON SENTENCIA IF<br />
34
35
FUNCIONES GETS Y PUTS<br />
Un par de funciones mas que se pueden utilizar<br />
en la entrada y salida de datos serie RS232 son<br />
las funciones gets() y puts().<br />
gets(string): esta función lee los caracteres que<br />
se introducen por el teclado hasta que encuentra<br />
un retorno de carro (tecla Enter).<br />
puts(string): esta función envía la cadena de<br />
texto contenida dentro de los paréntesis al pin<br />
que hayamos configurado en el parámetro XMIT<br />
de la directiva #use RS232, en el ejemplo de<br />
abajo el pin RD4. Una vez enviada la cadena<br />
añade un retorno SENTENCIA de carro. IF ELSE<br />
36
37
SENTENCIA IF….ELSE<br />
38
39
40
CAPÍTULO 6<br />
INSTRUCCIONES DE<br />
CONTROL<br />
41
PRÁCTICA CON USO DE While<br />
42
PRÁCTICA CON IF…ELSE<br />
43
44
Estructuras de Control<br />
Corina Flores Villarroel<br />
UMSS - Programa MEMI<br />
Corina Flores V<br />
Programa MEMI<br />
45
CAPÍTULO 7<br />
FUNCIONES<br />
46
Funciones en lenguaje C<br />
47
CAPÍTULO 8<br />
ESTRUCTURA DE UN<br />
PROGRAMA<br />
48
Tema 2<br />
Estructura de un programa en C<br />
49
CAPÍTULO 9<br />
ARRAYS<br />
50
Universidad tecnológica Oteima<br />
Trabajo de:<br />
Programación<br />
Tema<br />
“arreglos”<br />
Docente<br />
Carmen Rovira<br />
Integrantes<br />
Lorena Barrios<br />
Keiry Hernández<br />
Grupo LINF-0117<br />
Licenciatura en Informática con<br />
Énfasis en Redes y telecomunicación<br />
Tema 8b<br />
Búsqueda y ordenación en arreglos<br />
51
CAPÍTULO 10<br />
PUNTEROS<br />
52
NO TIENEN<br />
VALOR<br />
ESPECÍFICO<br />
VARIABLES<br />
PUNTEROS<br />
MANIPULAR<br />
COLAS<br />
MANIPULAR<br />
LISTAS<br />
ENLAZADAS<br />
MANIPULAR<br />
PILAS<br />
53
54
PRÁCTICA DE PUNTEROS<br />
55
56
CAPÍTULO 11<br />
ESTRUCTURA Y<br />
UNIONES<br />
57
1343616647.EstructyUniones1_14.pdf<br />
Ilustración 1ESTRUCTURA Y UNIONES<br />
58
CAPÍTULO 12<br />
ARCHIVOS DE DATOS<br />
59
ARCHIVO DE DATOS.pdf<br />
Tema 10b<br />
Manejo de archivos de caracteres en<br />
C<br />
60
INFOGRAFÍA<br />
UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN Ingeniería<br />
Electrónica – Guía de Estudios de Informática I – 1R2 - Año 2014 Tema: Estructuras y<br />
Uniones en C<br />
https://www.inf.utfsm.cl/~mcloud/iwi-131/diapositivas.html<br />
61