Apuntes de Turbo ´C´

1.- CARACTERISTICAS DEL LENGUAJE C
El lenguaje C se conoce como un lenguaje compilado. Existen dos tipos de lenguaje:
interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente
para funcionar (P.ej: Basic). Los compilados convierten el código fuente en un fichero objeto y
éste en un fichero ejecutable. Este es el caso del lenguaje C.
Podemos decir que el lenguaje C es un lenguaje de nivel medio, ya que combina elementos
de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Es un lenguaje
estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos.
Hay que destacar que el C es un lenguaje portable, ya que permite utilizar el mismo código en
diferentes equipos y sistemas informáticos: el lenguaje es independiente de la arquitectura de
cualquier máquina en particular.
Por último solo queda decir que el C es un lenguaje relativamente pequeño; se puede
describir en poco espacio y aprender rápidamente. Este es sin duda el objetivo de éste curso.
No pretende ser un completo manual de la programación, sinó una base útil para que
cualquiera pueda introducirse en este apasionante mundo.
Aunque en principio cualquier compilador de C es válido, para seguir este curso se
recomienda utilizar el compilador Turbo C/C++ o bien el Borland C++ 5.0.

2.- ESTRUCTURA DE UN PROGRAMA EN C
2.1.- Estructura
Todo programa en C consta de una o más funciones, una de las cuales se llama main. El
programa comienza en la función main, desde la cual es posible llamar a otras funciones.
Cada función estará formada por la cabecera de la función, compuesta por el nombre de la
misma y la lista de argumentos (si los hubiese), la declaración de las variables a utilizar y la
secuencia de sentencias a ejecutar.
Ejemplo./* Declaraciones globales */
main( )
{
}

variables locales
bloque

funcion1( ) {
variables locales
bloque
}

Ing. Pablo M. Navarro Álvarez

Pag. # 1

Apuntes de Turbo ´C´
2.2.- Comentarios
A la hora de programar es conveniente añadir comentarios (cuantos más mejor) para poder
saber que función tiene cada parte del código, en caso de que no lo utilicemos durante algún
tiempo. Además facilitaremos el trabajo a otros programadores que puedan utilizar nuestro
archivo fuente.
Para poner comentarios en un programa escrito en C usamos los símbolos /* y */:
/* Este es un ejemplo de comentario */
/* Un comentario también puede
estar escrito en varias líneas */
El símbolo /* se coloca al principio del comentario y el símbolo */ al final.
El comentario, contenido entre estos dos símbolos, no será tenido en cuenta por el
compilador.
2.3.- Palabras Clave
Existen una serie de indicadores reservados, con una finalidad determinada, que no
podemos utilizar como identificadores.
A continuación vemos algunas de estas palabras clave:
char
else
short
continue

int
do
long
break

float
while
extern
register

double
for
static
sizeo

if
switch
default

Ejemplos de identificadores válidos y no válidos:
Válidos

No válidos

_num

1num

var1

número2

fecha_nac

año_nac

3.- TIPOS DE DATOS
3.1.- Tipos
En 'C' existen básicamente cuatro tipos de datos, aunque como se verá después, podremos
definir nuestros propios tipos de datos a partir de estos cuatro. A continuación se detalla su
nombre, el tamaño que ocupa en memoria y el rango de sus posibles valores.

Ing. Pablo M. Navarro Álvarez

Pag. # 2

Apuntes de Turbo ´C´
TIPO

Tamaño

Rango de valores

char

1 byte

-128 a 127

int

2 bytes

-32768 a 32767

float

4 bytes

3'4 E-38 a 3'4 E+38

double

8 bytes

1'7 E-308 a 1'7 E+308

3.2.- Calificadores de Tipo
Los calificadores de tipo tienen la misión de modificar el rango de valores de un
determinado tipo de variable. Estos calificadores son cuatro:
Signed
Le indica a la variable que va a llevar signo. Es el utilizado por defecto.
signed char
signed int

Tamaño
1 byte
2 bytes

Rango de Valores
-128 a 127
-32768 a 32767

unsigned
Le indica a la variable que no va a llevar signo (valor absoluto).
unsigned char
unsigned int

Tamaño
1 byte
2 bytes

Rango de Valores
0 a 255
0 a 65535

short
Rango de valores en formato corto (limitado). Es el utilizado por defecto.
short char 1 byte
short int

Tamaño
2 bytes

Rango de Valores
-128 a 127
-32768 a 32767

long
Rango de valores en formato largo (ampliado).
long int
long double

Tamaño
4 bytes
10 bytes

Rango de Valores
-2.147.483.648 a 2.147.483.647
-3'36 E-4932 a 1'18 E+4932

También es posible combinar calificadores entre sí:
Signed long int = long int = long
unsigned long int = unsigned long

Ing. Pablo M. Navarro Álvarez

4 bytes

0 a 4.294.967.295
(El mayor entero permitido en 'C')

Pag. # 3

Navarro Álvarez Pag.<nombre4>. # 4 . printf("\nEl valor de num3 es %d". a=5. printf("\nnum1 + num3 = %d". printf("\na es global y vale %d". Puede ser utilizada en cualquier parte del programa y se destruye al finalizar éste.<nombre2>=<valor>.4.num2). Una variable sólo puede pertenecer a un tipo de dato.num3=6.. Pablo M. El identificador (nombre de la variable) no puede ser una palabra clave y los caracteres que podemos utilizar son las letras: a-z y A-Z (ojo! la ñ o Ñ no está permitida). referenciado mediante un identificador (que es el nombre de la variable)./* Uso de las variables */ #include <stdio. num2=num1+num3.num2. Sólo existe dentro de la función en que se declara y se destruye al finalizar dicha función. printf("El valor de num1 es %d".num1). printf("b es local y vale %d". } 3.Apuntes de Turbo ´C´ 3.. La variable local se declara después de la main( ).a).Las Variables Una variable es un tipo de dato. Su contenido podrá ser modificado a lo largo del programa.h> int a./* Declaración de variables */ #include <stdio.b). Ejemplo. Ejemplo. Para poder utilizar una variable. main() /* Muestra dos valores */ { int b=4.3. en la función en que vaya a ser utilizada.num3). los números: 0-9 y el símbolo de subrayado _.¿Dónde se Declaran? Las variables pueden ser de dos tipos según el lugar en que las declaremos: globales o locales. } Ing.h> main() /* Suma dos valores */ { int num1=4. primero tiene que ser declarada: [calificador] <tipo> <nombre> Es posible inicializar y declarar más de una variable del mismo tipo en la misma sentencia: [calificador] <tipo> <nombre1>. Además hay que tener en cuenta que el primer caracter no puede ser un número. La variable global se declara antes de la main( ).

El valor de una constante no puede ser modificado de ninguna manera. } 3. escribe("El perímetro es: %f".Secuencias de Escape Ciertos caracteres no representados gráficamente se pueden representar mediante lo que se conoce como secuencia de escape.h> #define pi 3. printf("\nRetroceso\b").6. # 5 .Constantes Al contrario que las variables.Apuntes de Turbo ´C´ 3.1416 #define escribe printf main() /* Calcula el perímetro */ { int r. printf("\n\tEsto ha sido todo"). } Ing./* Uso de las constantes */ #include <stdio.&r).. scanf("%d". A continuación vemos una tabla de las más significativas: \n \b \t \v salto de línea retroceso tabulación horizontal tabulación vertical \ \f

###BOT_TEXT###quot; ###BOT_TEXT### contrabarra salto de página apóstrofe comillas dobles fin de una cadena de caracteres Ejemplo. usaremos la directiva #define: #define <identificador> <valor> Observa que no se indica el punto y coma de final de sentencia ni tampoco el tipo de dato../* Uso de las secuencias de escape */ #include <stdio. las constantes mantienen su valor a lo largo de todo el programa. Ejemplo.2*pi*r).h> main() /* Escribe diversas sec. Navarro Álvarez Pag. Pablo M.5. printf("\nHa salido la letra

Related Interests

L

Related Interests

"). Para indicar al compilador que se trata de una constante. escribe("Introduce el radio: "). printf("\nDirección: C\ Mayor 25"). La directiva #define no sólo nos permite sustituir un nombre por un valor numérico. sinó también por una cadena de caracteres. de escape */ { printf("Me llamo ###BOT_TEXT###quot;Nemo###BOT_TEXT###quot; el grande").

7. Pablo M.Apuntes de Turbo ´C´ 3. #include <misfunc. # 6 . Ing..h> 4. 4.OPERADORES ARITMETICOS Y DE ASIGNACION A continuación se explican los tipos de operadores (aritméticos y de asignación) que permiten realizar operaciones matemáticas en lenguaje C. Indicándole al compilador la ruta donde se encuentra el fichero. Navarro Álvarez Pag. Para ello utilizamos la directiva #include. Indicando que se encuentran en el directorio por defecto del compilador. 1.1...h" 2. Para indicar al compilador que vamos a incluir ficheros externos podemos hacerlo de dos maneras (siempre antes de las declaraciones). <operador><variable>.Inclusión de Ficheros En la programación en C es posible utilizar funciones que no esten incluídas en el propio programa. que nos permite añadir librerías o funciones que se encuentran en otros ficheros a nuestro programa. #include "misfunc.Operadores aritméticos Existen dos tipos de operadores aritméticos: Los binarios: + * Suma Resta Multiplicación / % División Módulo y los unarios: ++ -- Incremento (suma 1) Decremento (resta 1) Cambio de signo Su sintaxis es: binarios: <variable1><operador><variable2> unarios: <variable><operador> y al revés.h" #include "c:\includes\misfunc.

r.1 = %d\n".b=2. printf("c . } Ing.a. expresiones del tipo: n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 Ejemplo. printf("b * 3 = %d".%d = %d\n".r). # 7 .a.a).Operadores de asignación La mayoría de los operadores aritméticos binarios explicados en el capítulo anterior tienen su correspondiente operador de asignación: = += -= *= /= %= Asignación simple Suma Resta Multiplicación División Módulo (resto) Con estos operadores se pueden escribir. printf("a + 5 = %d\n".c=3. r=c-a. printf("b + 1 = %d". de forma más breve. } 4. c-=1.Apuntes de Turbo ´C´ Ejemplo. Navarro Álvarez Pag. printf("%d . r=a+b.r).h> main() /* Realiza varias operaciones */ { int a=1. Pablo M.b).r. a+=5. printf("%d + %d = %d\n". b*=3./* Uso de los operadores de asignación */ #include <stdio.c.c=3. b++.b).2.c).h> main() /* Realiza varias operaciones */ { int a=1.b./* Uso de los operadores aritméticos */ #include <stdio..b=2.

caracteres y cadenas de texto por pantalla. Lo mismo ocurre con la suma y la resta.arg2. Si en una operación encontramos signos del mismo nivel de precedencia..z. dicha operación se realiza de izquierda a derecha.1. z=x+y.y.Apuntes de Turbo ´C´ 4. Navarro Álvarez Pag. % +. /. r=z-e. 2.Sentencia printf( ) La rutina printf permite la aparición de valores numéricos. En la cadena de control indicamos la forma en que se mostrarán los argumentos posteriores.. .Jerarquía de los Operadores Será importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos: () Mayor precedencia ++.r.x). printf("%d * %d = %d\n".d=2.y. Ing.a.arg1. } 5.x.d.b.z). 3.a*b+c/d-e).h> main() /* Realiza una operación */ { int a=6. 4. Ejemplo. printf("%d / %d = %d\n". El prototipo de la sentencia printf es el siguiente: printf(control. así como secuencias de escape...r. Pablo M.SALIDA / ENTRADA 5. printf("%d = %d".3. a*b resultado = x c/d resultado = y x+y resultado = z z-e Fijarse que la multiplicación se resuelve antes que la división ya que está situada más a la izquierda en la operación. # 8 .y). printf("%d + %d = %d\n".*. Menor precendencia Las operaciones con mayor precedencia se realizan antes que las de menor precedencia. A continuación se muestra un ejemplo sobre ello: a*b+c/d-e 1./* Jerarquía de los operadores */ #include <stdio.c=4.e=1. También podemos introducir una cadena de texto ( sin necesidad de argumentos ). x=a*b.x.b=5.. y=c/d. o combinar ambas posibilidades.).c.

. printf("Por tanto %d+%d=%d". por regla general.b. printf("Introduce tu edad: "). } 5. int edad.. El prototipo de la sentencia scanf es el siguiente: scanf(control. */ #include <stdio. } Ing. Al igual que en la sentencia printf los modificadores estarán formados por el caracter % seguido de un caracter de conversión. En la cadena de control indicaremos.&edad).. los modificadores que harán referencia al tipo de dato de los argumentos. scanf("%s". printf("Introduce tu nombre: ")./* Uso de la sentencia printf() 1. La principal característica de la sentencia scanf es que necesita saber la posición de la memoria del ordenador en que se encuentra la variable para poder almacenar la información obtenida. Ejemplo. Pablo M.b). las variables.b=10.a+b).2.). Los argumentos indicados serán.Apuntes de Turbo ´C´ En el caso de que utilicemos argumentos deberemos indicar en la cadena de control tantos modificadores como argumentos vayamos a presentar.h> main() /* Saca por pantalla una suma */ { int a=20. nuevamente. printf("El valor de a es %d\n". Navarro Álvarez Pag. Para indicarle esta posición utilizaremos el símbolo ampersand ( & ).h> main() /* Solicita dos datos */ { char nombre[10]. # 9 .arg2. que indica de que tipo de dato se trata. Ejemplo.arg1.a. printf("El valor de b es %d\n"./* Uso de la sentencia scanf(). que colocaremos delante del nombre de cada variable. */ #include <stdio. (Esto no será necesario en los arrays).a).nombre). El modificador está compuesto por el caracter % seguido por un caracter de conversión.Sentencia scanf( ) La rutina scanf permite entrar datos en la memoria del ordenador a través del teclado. scanf("%d".

Ing..ELSE Sintaxis: if (condición) sentencia. Otro formato: if (condición) sentencia1./* Uso de los operadores relacionales. Pablo M. */ #include <stdio. Si hay más de un operador se evalúan de izquierda a derecha.. En C existen seis operadores relacionales básicos: > < >= <= == != Mayor que Menor que Mayor o igual que Menor o igual que Igual que Distinto que El resultado que devuelven estos operadores es 1 para Verdadero y 0 para Falso. printf("Introduce el valor de A: "). else printf("A y B son iguales"). printf("Introduce el valor de B: ").1. scanf("%d"..&b). Ejemplo. else if(a<b) printf("B es mayor que A").. En caso contrario el programa sigue su curso sin ejecutar la sentencia. Además los operadores == y != están por debajo del resto en cuanto al orden de precedencia.h> main() /* Compara dos números entre ellos */ { int a. } 7. scanf("%d". La sentencia solo se ejecuta si se cumple la condición.SENTENCIAS CONDICIONALES Este tipo de sentencias permiten variar el flujo del programa en base a unas determinadas condiciones..OPERADORES RELACIONALES Los operadores relacionales se utilizan para comparar el contenido de dos variables.&a). Existen varias estructuras diferentes: 7.Estructura IF. # 10 .b. Navarro Álvarez Pag.Apuntes de Turbo ´C´ 6. if(a>b) printf("A es mayor que B"). else sentencia2.

else printf("Acceso denegado"). Con este formato el flujo del programa únicamente entra en una de las condiciones. else printf("Eres adulto"). Ejemplo. } Otro formato: if (condición) sentencia1. Navarro Álvarez Pag. else if (condición) sentencia3. Existe la posibilidad de utilizar llaves para ejecutar más de una sentencia dentro de la misma condición. Pablo M. else sentencia4. else if (edad<3) printf("Eres un bebé"). } Ing. else if (edad<13) printf("Eres un niño"). # 11 .")./* Uso de la sentencia condicional IF. niño o adulto */ { int edad.. scanf("%d".clave=18276. Ejemplo.h> main() /* Escribe bebé. se ejecuta la sentencia correspondiente y salta hasta el final de la estructura para continuar con el programa. el programa continuará a partir de la sentencia2. else if (condición) sentencia2./* Uso de la sentencia condicional ELSE. */ #include <stdio. sinó ejecutará la sentencia2. if(usuario==clave) printf("Acceso permitido").h> main() /* Simula una clave de acceso */ { int usuario. scanf("%d". Si una de ellas se cumple. */ #include <stdio.. printf("Introduce tu clave: ").&usuario).&edad).IF. if (edad<1) printf("Lo siento. En cualquier caso. te has equivocado.Apuntes de Turbo ´C´ Si se cumple la condición ejecutará la sentencia1. printf("Introduce tu edad: ").

printf("Introduce el día: "). de manera que según la opción seleccionada se ejecuten una serie de sentencias.. default: sentencias. Su sintaxis es: switch (variable) { case contenido_variable1: sentencias. break. break. case 3: printf("Miércoles"). break.Apuntes de Turbo ´C´ 7. case 6: printf("Sábado"). */ #include <stdio. switch(dia) { case 1: printf("Lunes")./* Uso de la sentencia condicional SWITCH. en caso de que la opción escogida no exista. Pablo M.2. default ejecutará las sentencias que incluya. } Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves. Navarro Álvarez Pag. break.Estructura SWITCH Esta estructura se suele utilizar en los menús.OPERADORES LOGICOS Los operadores lógicos básicos son tres: && || ! AND OR NOT (El valor contrario) Ing.&dia). break. Ejemplo. # 12 . scanf("%d". case 2: printf("Martes"). break. case 5: printf("Viernes"). case 7: printf("Domingo").. case 4: printf("Jueves"). break. case contenido_variable2: sentencias.h> main() /* Escribe el día de la semana */ { int dia. ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La variable evaluada sólo puede ser de tipo entero o caracter. } 8. break. break.

lógicos AND. Permiten unir expresiones lógicas simples formando otras más complejas. printf("Introduce un número: "). Con esta sentencia se controla la condición antes de entrar en el bucle. Pablo M. si en el interior del bucle hay más de una sentencia. 9. else if((numero<25)||(numero>100)) printf("El número no está entre 25 y 100"). Ing. éstas deberán ir entre llaves para que se ejecuten como un bloque.Sentencia WHILE Su sintaxis es: while (condición) sentencia. Naturalmente. if(!(numero>=0)) printf("El número es negativo").BUCLES Los bucles son estructuras que permiten ejecutar partes del código de forma repetida mientras se cumpla una condición. OPERANDOS AND V V F F V F V F OR V F F F V V V F Ejemplo./* Uso de los op.Apuntes de Turbo ´C´ Estos operadores actúan sobre expresiones lógicas.1. else if((numero<=100)&&(numero>=25)) printf("El número está entre 25 y 100").&numero). } 9.. Si ésta no se cumple.OR.h> main() /* Compara un número introducido */ { int numero.NOT.. scanf("%d". # 13 . Navarro Álvarez Pag. */ #include <stdio. Esta condición puede ser simple o compuesta de otras condiciones unidas por operadores lógicos. el programa no entrará en el bucle.

} } 9. el programa vuelve a ejecutar las sentencias del bucle...numero). Con esta sentencia se controla la condición al final del bucle..while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez..Apuntes de Turbo ´C´ Ejemplo. }while (condición).WHILE. Navarro Álvarez Pag.. Ejemplo.Sentencia DO. case '2':printf("Opción 2"). */ #include <stdio.. seleccion=getchar(). printf("4. while(numero<=10) { printf("%d\n".h> main() /* Escribe los números del 1 al 10 */ { int numero=1..Abrir\n").h> main() /* Muestra un menú si no se pulsa 4 */ { char seleccion. do{ printf("1./* Uso de la sentencia WHILE..Grabar\n"). Pablo M.Comenzar\n"). sentencia2./* Uso de la sentencia DO.WHILE Su sintaxis es: do{ sentencia1. case '3':printf("Opción 3"). */ #include <stdio. numero++. # 14 . La única diferencia entre las sentencias while y do. Ing.. printf("2. printf("3. break. break. printf("Escoge una opción: ").Salir\n"). switch(seleccion){ case '1':printf("Opción 1"). } } }while(seleccion!='4').2.. Si ésta se cumple..

condición.incremento){ sentencia1.num./* Uso de la sentencia FOR. printf("\n%d por %d = %d\n". for (x=0. Pablo M.result.b=100.4. GOTO. Si hay más. } La inicialización indica una variable (variable de control) que condiciona la repetición del bucle. Ing. printf("Introduce un número: ").x.x++){ result=num*x..&num). van separadas por comas: for (a=1.a!=b.h> main() /* Escribe la tabla de multiplicar */ { int num. Existe otra sentencia.a++. Y aquí termina el capítulo dedicado a los bucles.Sentencia CONTINUE Se utiliza dentro de un bucle.. # 15 ..3.Apuntes de Turbo ´C´ 9.5. Es una sentencia muy mal vista en la programación en 'C'.x<=10. que permite al programa saltar hacia un punto identificado con una etiqueta. Cuando el programa llega a una sentencia CONTINUE no ejecuta las líneas de código que hay a continuación y salta a la siguiente iteración del bucle.b.result). 9. sentencia2. pero el buen programador debe prescindir de su utilización.Sentencia FOR Su sintaxis es: for (inicialización. } } 9.x. scanf("%d".-){ El flujo del bucle FOR transcurre de la siguiente forma: <<dibujo>> Ejemplo. */ #include <stdio. Navarro Álvarez Pag.Sentencia BREAK Esta sentencia se utiliza para terminar la ejecución de un bucle o salir de una sentencia SWITCH.

Cuando el programa llega a una sentencia CONTINUE no ejecuta las líneas de código que hay a continuación y salta a la siguiente iteración del bucle. Existe otra sentencia. } } 9.numero). Ejemplo./* Uso de la sentencia CONTINUE.numero).h> main() /* Escribe del 1 al 100 menos el 25 */ { int numero=1. */ #include <stdio.5. } printf("%d\n"./* Uso de la sentencia CONTINUE.4. Navarro Álvarez Pag.h> main() /* Escribe del 1 al 100 menos el 25 */ { int numero=1. GOTO. continue. } printf("%d\n". continue. */ #include <stdio. 9. # 16 . Es una sentencia muy mal vista en la programación en 'C'. pero el buen programador debe prescindir de su utilización. numero++.Sentencia BREAK Esta sentencia se utiliza para terminar la ejecución de un bucle o salir de una sentencia SWITCH. Y aquí termina el capítulo dedicado a los bucles.Apuntes de Turbo ´C´ Ejemplo.. Pablo M.. que permite al programa saltar hacia un punto identificado con una etiqueta. while(numero<=100) { if (numero==25) { numero++. while(numero<=100) { if (numero==25) { numero++.Sentencia CONTINUE Se utiliza dentro de un bucle. } } Ing. numero++.

cada una de las cuáles tendrá una tarea determinada. */ #include <stdio. nombre_función: Es el nombre que le daremos a la función. tienen el mismo nombre. main() /* Escribe dos cifras */ { int num2=10.1.FUNCIONES 10./* Variables globales y locales. la función devolverá un valor de tipo entero ( int ). printf("%d\n".2. Al finalizar la función desaparecen de la memoria.num2). Ing. Dos variables locales pueden tener el mismo nombre siempre que estén declaradas en funciones diferentes.Tiempo de vida de los datos Según el lugar donde son declaradas puede haber dos tipos de variables. Ejemplo. } 10. Por defecto. Navarro Álvarez Pag. Si dos variables.Funciones Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas. Se crean al iniciarse éste y se destruyen de la memoria al finalizar. tipo y nombre de argumentos: Son los parámetros que recibe la función.Apuntes de Turbo ´C´ 10. la local prevalecerá sobre la global dentro de la función en que ha sido declarada. Pueden existir funciones que no reciban argumentos. El valor devuelto por la función será de este tipo... Globales: Las variables permanecen activas durante todo el programa.. Este valor se lo enviamos al hacer la llamada a la función. Locales: Las variables son creadas cuando el programa llega a la función en la que están definidas. Su sintaxis es: tipo_función nombre_función (tipo y nombre de argumentos) { bloque de sentencias } tipo_función: Puede ser de cualquier tipo de los que conocemos. si no indicamos el tipo.num1). printf("%d\n". Los argumentos de una función no son más que variables locales que reciben un valor. Si no queremos que retorne ningún valor deberemos indicar el tipo vacío ( void ). es decir.h> int num1=1. Pablo M. una global y una local. # 17 . Pueden ser utilizadas en cualquier función.

} 10. funcion(). Por tanto la función escribirá los números 10 y 5.num). el valor se perderá. La forma de retornar un valor es la siguiente: return ( valor o expresión ). ésta tendrá preferencia sobre la global.Apuntes de Turbo ´C´ bloque de sentencias: Es el conjunto de sentencias que serán ejecutadas cuando se realice la llamada a la función.h> void funcion(void).. Ya en la función main encontramos una variable local llamada num. /* prototipo */ int num=5. Las funciones pueden ser llamadas desde la función main o desde otras funciones.. Ejemplo. De lo contrario. Pablo M. Esta variable es reconocible en todas las funciones del programa. 10. está declarada como void en ambos lados. /* llamada */ } void funcion(void) { printf("%d\n". Esto es lo que se conoce como prototipo de una función. Al no recibir ni retornar ningún valor. Por último recalcar que los argumentos de la función y sus variables locales se destruirán al finalizar la ejecución de la misma./* Declaración de funciones. las funciones también han de ser declaradas. # 18 . Los prototipos de las funciones pueden escribirse antes de la función main o bién en otro fichero. En este último caso se lo indicaremos al compilador mediante la directiva #include.Declaración de las funciones Al igual que las variables. las funciones pueden retornar un valor. */ #include <stdio. Al ser una variable local. Esto se hace mediante la instrucción return. También vemos que existe una variable global llamada num. Para que un programa en C sea compatible entre distintos compiladores es imprescindible escribir los prototipos de las funciones. Ing. Navarro Álvarez Pag.4. devolviendo o no un valor.Paso de parámetros a una función Como ya hemos visto. El valor devuelto por la función debe asignarse a una variable.3. que finaliza la ejecución de la función. /* variable global */ main() /* Escribe dos números */ { int num=10. En una misma función podemos tener más de una instrucción return. En el ejemplo adjunto podremos ver la declaración de una función ( prototipo ). Nunca se debe llamar a la función main desde otro lugar del programa.num). /* variable local */ printf("%d\n".

t=suma(a.h> int suma(int.int). Cualquier modificación SI afectará a las variables utilizadas en la llamada. main() /* Intercambio de valores */ { int a=1.h> void intercambio(int. /* guardamos el valor */ printf("%d=%d". # 19 . intercambio(a. no con el original. Es como si trabajaramos con una copia. Ejemplo.Apuntes de Turbo ´C´ En el ejemplo puedes ver lo que ocurre si no guardamos el valor en una variable. /* llamada */ printf("a=%d y b=%d".suma(a.b). */ #include <stdio. No es posible enviar por valor arrays. Navarro Álvarez Pag./* Paso de parámetros.a. Fíjate que a la hora de mostrar el resultado de la suma.int b) { return (a+b).b). Por referencia: lo que hacemos es enviar a la función la dirección de memoria donde se encuentra la variable o dato. /* prototipo */ main() /* Realiza una suma */ { int a=10.b=25. Ejemplo. } Ahora veremos lo que se conoce como paso de parámetros. NO afectará al valor original de las variables utilizadas en la llamada.t. en el printf. } Ing. también podemos llamar a la función. deberemos hacerlo por referencia. Pablo M.a. /* el valor se pierde */ } int suma(int a. Trabajamos directamente con el original.b). Existen dos formas de enviar parámetros a una función: Por valor: cualquier cambio que se realice dentro de la función en el argumento enviado. printf("a=%d y b=%d". */ #include <stdio.t)./* Paso por valor.int).b=2.b).b). suma(a.b).

Ing.b).b=2.a.int y) { int aux. la función main no podía ser menos y también puede recibir argumentos. Ejemplo.x. } Los argumentos de la función main Ya hemos visto que las funciones pueden recibir argumentos.*x. y=aux. En el ejemplo anterior podrás comprobar que antes y después de la llamada. /* llamada */ printf("a=%d y b=%d".y). */ #include <stdio.*y). printf("a=%d y b=%d". aux=*x. Pues bién. Esto le indica al compilador que la función que se ejecutará tendra que obtener la dirección de memoria en que se encuentra la variable. Navarro Álvarez Pag. Vamos a fijarnos en los ejemplos. aux=x. } void intercambio (int *x. # 20 . printf("a=%d y b=%d".a. Solamente se modifica en la función intercambio ( paso por valor ). En el siguiente ejemplo podrás ver como las variables intercambian su valor tras la llamada de la función ( paso por referencia )./* Paso por referencia. en este caso desde el exterior. *x=*y. *y=aux.Apuntes de Turbo ´C´ void intercambio (int x.int *).h> void intercambio(int *. el único dato en 'C' que puede almacenar una dirección de memoria. printf("a=%d y b=%d". x=y.b). Pablo M.int *y) { int aux. main() /* Intercambio de valores */ { int a=1. } Para enviar un valor por referencia se utiliza el símbolo & ( ampersand ) delante de la variable enviada. Las variables con un * son conocidas como punteros. intercambio(&a.&b). las variables mantienen su valor.

En el ejemplo puedes observar que la variable i es utilizada como índice. exit(1).Copyright (c) 1997-2001. # 21 . printf("Programa de ejemplo.h> main(int argc.Vectores Un vector es un array unidimensional. podremos crear un conjunto de datos de ese tipo y utilizar uno u otro con sólo cambiar el índice que lo referencia. /* fin */ } printf("Hola %s". contando el nombre del programa que es el primer argumento. /* Argumentos de la main. sólo utiliza un índice para referenciar a cada uno de los elementos. El tipo puede ser cualquiera de los ya conocidos y el tamaño indica el número de elementos del vector (se debe indicar entre corchetes [ ]). Ejemplo./* Declaración de un array.char *argv[]) /* argumentos */ { printf("\nCurso de Programación en C .\n\n").argv[1]). if (argc<2) { printf("Teclee: funcion6 su_nombre"). Su valor es igual al número de argumentos escritos en la línea de comandos. argv: es un puntero a un array de cadenas de caracteres que contiene los argumentos. En C los arrays comienzan por la posición 0. Como ves. Sergio Pacho\n"). 11.ARRAYS Un array es un identificador que referencia un conjunto de datos del mismo tipo.9 */ Ing. */ #include <stdio.. Su declaración será: tipo nombre [tamaño]. las posiciones van de 0 a 9 (total 10 elementos). Pablo M.Apuntes de Turbo ´C´ Los argumentos que puede recibir son: argc: es un contador. } 11. Imagina un tipo de dato int. uno por cadena.. Navarro Álvarez Pag. */ #include <stdio. el primer for sirve para rellenar el vector y el segundo para visualizarlo.h> main() /* Rellenamos del 0 . es decir. En este ejemplo vamos a ver un pequeño programa que escribirá un saludo por pantalla. El índice será un valor entero y positivo.1.

i<19 && cadena[i-1]!=13.i. Pablo M. En caso contrario tenemos el else. Si lo hacemos así no es necesario indicar el tamaño.'g'. Ing. char vector[]="programador".i<10. valor 2. Ejemplo.i++) cadena[i]=getche( ).Que no se hayan rellenado todos los elementos (i<19). Ahora veremos un ejemplo de como se rellena un vector de tipo char..2.3. que se encuentra en conio. Esta función permite la entrada de un caracter por teclado.'d'.. */ #include <stdio. que asigna el caracter nulo al elemento que almacenó el caracter ENTER.cadena). char vector[]={'p'. que comprueba si se ha rellenado todo el vector. Si es cierto.7. cuyo código ASCII es 13.Que el usuario no haya pulsado la tecla ENTER.'a'.5.Apuntes de Turbo ´C´ { int vector[10]. es que deberemos indicar en que elemento se encuentra el fin de la cadena mediante el caracter nulo (###BOT_TEXT###).6.8}. debemos asignar el caracter nulo a vector[5]. } Podemos ver que en el for se encuentran dos condiciones: 1. # 22 . hasta vector[8]. printf("\n%s". es decir. (cadena[x-i]!=13).'o'.h> main() /* Rellenamos un vector char */ { char cadena[20]. Por tanto.4. hasta vector[4].'a'.'m'.'r'}. Su sintaxis es: Ejemplos: tipo nombre []={ valor 1. if (i==19) cadena[i]='###BOT_TEXT###'. Una particularidad con los vectores de tipo char (cadena de caracteres)./* Vector de tipo char. for (i=0. int i.'r'.'o'. Después se encuentra un if. else cadena[i-1]='###BOT_TEXT###'. Navarro Álvarez Pag. También podemos observar una nueva función llamada getche( ). 2. .. } Podemos inicializar (asignarle valores) un vector en el momento de declararlo. for (i=0. Si sólo rellenamos los 5 primeros.'r'. en un vector de 10 elementos de tipo char podremos rellenar un máximo de 9. Esto no lo controla el compilador. coloca el caracter nulo en el elemento nº20 (cadena[19]).h..i<10.i++) printf(" %d".vector[i]). for (i=0.} int vector[]={1. y tendremos que ser nosotros los que insertemos este caracter al final de la cadena. Es muy sencillo: vector[5]='###BOT_TEXT###'.i++) vector[i]=i.

Navarro Álvarez Pag.i. */ #include <stdio.2. Ejemplo. Una matriz bidimensional se podría representar gráficamente como una tabla con filas y columnas. 11. La matriz tridimensional se utiliza. aunque funciona exactamente igual: Declaración O Prototipo void visualizar(int *). el argumento de la función deberá ser un puntero.Apuntes de Turbo ´C´ En resumen: al declarar una cadena deberemos reservar una posición más que la longitud que queremos que tenga dicha cadena. } En el ejemplo se puede apreciar la forma de enviar un array por referencia. Se definen igual que los vectores excepto que se requiere un índice por cada dimensión. En el ejemplo puedes ver como se rellena y visualiza una matriz bidimensional.2. Su sintaxis es la siguiente: tipo nombre [tamaño 1][tamaño 2]. /* prototipo */ main() /* rellenamos y visualizamos */ { int array[25]. scanf("%d".Llamadas a funciones con arrays Como ya se comentó en el tema anterior.i++) printf("%d".Matrices Una matriz es un array multidimensional.. } visualizar(&array[0]). La función se podía haber declarado de otra manera. Para ello deberemos enviar la dirección de memoria del primer elemento del array..i+1)..i<25. } void visualizar(int array[]) /* desarrollo */ { int i. los arrays únicamente pueden ser enviados a una función por referencia. for (i=0. # 23 ./* Envío de un array a una función. para trabajos gráficos con objetos 3D. Se necesitan Ing. Pablo M. for (i=0.i++) { printf("Elemento nº %d".array[i]). Por tanto.&array[i]).h> void visualizar(int []). por ejemplo. Desarrollo De La Función void visualizar(int *array) 11..i<25..

i++) scanf("%d". naturalmente.. Ing. */ #include <stdio.&numeros[x][i]).x++) for (i=0. } Si al declarar una matriz también queremos inicializarla.dias[i]). 12. Se utilizan para pasar información entre una función y sus puntos de llamada.Declaración Su sintaxis es la siguiente: tipo *nombre."jueves".10. Un bucle controla las filas y otro las columnas.12}."sábado".i<4.9. Ejemplo.11.PUNTEROS Un puntero es una variable que contiene la dirección de memoria de otra variable.2.i++) printf("%d".i.x<3. /* rellenamos la matriz */ for (x=0./* Matriz bidimensional.6. Para referirnos a cada palabra bastaría con el primer índice: printf("%s".x++) for (i=0.h> main() /* Rellenamos una matriz */ { int x.1."martes". /* visualizamos la matriz */ for (x=0.3.8. 12."domingo"}.Apuntes de Turbo ´C´ dos bucles para cada una de las operaciones. Veamos algunos ejemplos: int numeros[3][4]={1. el nombre de la variable.. # 24 . Donde nombre es.7.numeros[3][4].x<3.i<4. y tipo es el tipo del elemento cuya dirección almacena el puntero. Pablo M. habrá que tener encuenta el orden en el que los valores son asignados a los elementos de la matriz.numeros[x][i]). Navarro Álvarez Pag."miércoles".4. quedarían asignados de la siguiente manera: numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4 numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8 numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12 También se pueden inicializar cadenas de texto: char dias[7][10]={"lunes"."viernes".5.

si queremos guardar en el puntero x la dirección de memoria de la variable num. El programa ejemplo mostrará las direcciones contenidas en p1 y p2. Por ejemplo. Si tenemos un puntero ( p1 ) de tipo int ( 2 bytes ). Pablo M. de distinto tipo... resta. p2=p1. deberemos hacer lo siguiente: x=&num./* Asignaciones de punteros.h> main() /* Asignamos direcciones */ { int a. en la variable a: a=*x. # 25 .. es decir num. Ing.-). -. Ejemplo. ++.1.ESTRUCTURAS 13.Asignación Los punteros se asignan igual que el resto de las variables.. ya que están especialmente indicadas para el trabajo con registros o fichas. Su utilización más habitual es para la programación de bases de datos. apuntando a la posición 30000 y hacemos: p1=p1+5. agrupadas bajo un mismo nombre para que su manejo sea más sencillo. 13. */ #include <stdio. porque apunta 5 enteros por encima ( 10 bytes más ). int *p1. 12.4. } 12. el puntero almacenará la posición 30010. printf("%p %p".2. que será la misma en ambos punteros. El primero devuelve la dirección de memoria de su operando.p1.Apuntes de Turbo ´C´ 12.p2). incremento y decremento (+.*p2. p1=&a.3.Concepto de estructura Una estructura es un conjunto de una o más variables.. . Navarro Álvarez Pag. Para ello podemos usar los operadores de suma.Aritmética de direcciones Es posible desplazar un puntero recorriendo posiciones de memoria. El segundo devuelve el valor de la variable cuya dirección es contenida por el puntero. Este ejemplo sitúa el contenido de la variable apuntada por x.Operadores Existen dos operadores especiales para trabajar con punteros: & y *.

Apuntes de Turbo ´C´ La sintaxis de su declaración es la siguiente: struct tipo_estructura { tipo_variable nombre_variable1. tipo_variable nombre_variable3. La forma de acceder a estos campos es la siguiente: variable. El problema del segundo método es que no podremos declarar más variables de este tipo a lo largo del programa. char apellidos[40]. char apellidos[40]. char puesto[10]. Se debe declarar antes de la función main. tipo_variable nombre_variable2. Lo veremos mejor con un ejemplo basado en la estructura del capítulo 13. temporal. Para poder declarar una variable de tipo estructura. int edad. # 26 . Otra forma: struct trabajador { char nombre[20]. aunque las dos más utilizadas son éstas: Una forma de definir la estructura: struct trabajador { char nombre[20]. Lo que estamos haciendo es almacenar el valor 25 en el campo edad de la variable temporal de tipo trabajador. }fijo. Por último. y campo es el nombre de la variable que forma parte de la estructura. int edad.1: temporal.campo. temporal. las declaramos. Pablo M. El manejo de las estructuras es muy sencillo. así como el acceso a los campos (o variables) de estas estructuras. struct trabajador fijo. y en el momento en que necesitamos las variables.edad=25. Donde tipo_estructura es el nombre del nuevo tipo de dato que hemos creado. Navarro Álvarez Pag. }. la estructura tiene que estar declarada previamente. En el primer caso declaramos la estructura. }. tipo_variable y nombre_variable son las variables que forman parte de la estructura. char puesto[10]. Ing. Donde variable es el nombre de la variable de tipo estructura que hemos creado. En el segundo las declaramos al mismo tiempo que la estructura. Para definir variables del tipo que acabamos de crear lo podemos hacer de varias maneras.

6. Al igual que con los otros tipos de datos. struct notas alumno={"Carlos Pérez". }. # 27 . Después declararíamos la variable fijo y su llamada sería: visualizar(fijo). void visualizar(struct trabajador).7."Hernández Suárez". Ing.9. int edad./* Paso de una estructura por valor. 32. Por último.. también es posible inicializar variables de tipo estructura en el momento de su declaración: struct trabajador fijo={"Pedro".{8. "gerente"}.Estructuras y funciones Podemos enviar una estructura a una función de las dos maneras conocidas: 1. int notas[5]. 13. los valores de la inicialización deberán ir entre llaves: struct notas { char nombre[30]. char puesto[10]. Navarro Álvarez Pag.h> struct trabajador { char nombre[20]. */ #include <stdio.2. Si uno de los campos de la estructura es un array de números. Pablo M.. el desarrollo de la función sería: void visualizar(struct trabajador datos) Ejemplo. }.10}}. siempre que sean del mismo tipo naturalmente: fijo=temporal.Apuntes de Turbo ´C´ Otra característica interesante de las estructuras es que permiten pasar el contenido de una estructura a otra.Por valor: su declaración sería: void visualizar(struct trabajador). char apellidos[40].

h> struct trabajador { char nombre[20]. Ing.puesto).fijo. printf("\nEdad: %d". main() /* Rellenar y visualizar */ { struct trabajador fijo.nombre).datos. } 2.datos. # 28 .puesto). } void visualizar(struct trabajador datos) { printf("Nombre: %s". el desarrollo de la función será: void visualizar(struct trabajador *datos) Fíjate que en la función visualizar. Por último. }.datos. printf("\nPuesto: "). Después declararemos la variable fijo y su llamada será: visualizar(&fijo). Se consigue con el signo menos seguido de mayor que.nombre). printf("\nEdad: ").&fijo.fijo.apellidos).apellidos). printf("Nombre: "). void visualizar(struct trabajador *).Por referencia: su declaración sería: void visualizar(struct trabajador *).. printf("Nombre: "). scanf("%s". visualizar(fijo).edad).datos./* Paso de una estructura por referencia. Ejemplo. char puesto[10]. scanf("%s". Navarro Álvarez Pag.edad). el acceso a los campos de la variable datos se realiza mediante el operador ->. ya que tratamos con un puntero. printf("\nPuesto: %s". scanf("%d". int edad. printf("\nApellidos: %s". printf("\nApellidos: "). scanf("%s". */ #include <stdio. Pablo M.Apuntes de Turbo ´C´ main() /* Rellenar y visualizar */ { struct trabajador fijo. char apellidos[40]. En estos casos siempre utilizaremos el operador ->.fijo.

b=3.46}}. Así podremos almacenar los datos de 20 trabajadores. Navarro Álvarez Pag.29}.4.. visualizar(&fijo).Apuntes de Turbo ´C´ } scanf("%s". printf("\nEdad: ").nombre[2].puesto). char apellidos[40]. Ejemplos sobre como acceder a los campos y sus elementos: para ver el nombre del cuarto trabajador..datos->puesto). } 13. fijo[3]. fijo[3].Typedef Es posible agrupar un conjunto de elementos de tipo estructura en un array.datos->apellidos). Para inicializar la variable en el momento de declararla lo haremos de esta manera: struct trabajador fijo[20]={{"José". /* declaramos dos variables de este tipo */ Su empleo con estructuras está especialmente indicado. printf("\nApellidos: %s". void visualizar(struct trabajador *datos) { printf("Nombre: %s". /* acabamos de crear un tipo de dato llamado entero */ entero a."Herrero Martínez". Ejemplos: typedef int entero."García Sánchez".nombre).datos->nombre).fijo.3.Arrays de estructuras Es posible agrupar un conjunto de elementos de tipo estructura en un array. scanf("%d".&fijo. Pablo M.nombre.{"Luis".fijo. printf("\nEdad: %d".. printf("\nPuesto: "). Esto se conoce como array de estructuras: El lenguaje 'C' dispone de una declaración llamada typedef que permite la creación de nuevos tipos de datos. scanf("%s". Esto se conoce como array de estructuras: struct trabajador { char nombre[20]. # 29 .edad). scanf("%s". struct trabajador fijo[20]. printf("\nPuesto: %s".fijo. printf("\nApellidos: "). 13.datos->edad). }.apellidos). Para ver la tercera letra del nombre del cuarto trabajador.. Se puede hacer de varias formas: Ing. int edad.

Ing. }. Un archivo puede ser abierto en dos modos diferentes. Otra forma: typedef struct { char nombre[20].Apuntes de Turbo ´C´ Una forma de hacerlo: struct trabajador { char nombre[20]. Este nombre debe ir encerrado entre comillas."w").. }datos. char apellidos[40]. 14. Su sintaxis es: FILE *puntero.FICHEROS Ahora veremos la forma de almacenar datos que podremos recuperar cuando deseemos. puntero = fopen ( nombre del fichero. con el que trabajaremos durante todo el proceso. int edad. # 30 . typedef struct trabajador datos. Algunos ejemplos: puntero=fopen("DATOS. "modo de apertura" ).1. así como las funciones para leer y escribir en él.Apertura Antes de abrir un fichero necesitamos declarar un puntero de tipo FILE. Donde puntero es la variable de tipo FILE. en modo texto o en modo binario. Navarro Álvarez Pag.TXT"."r"). char apellidos[40]. datos fijo.temporal. A continuación lo veremos con más detalle. También podemos especificar la ruta donde se encuentra o utilizar un array que contenga el nombre del archivo (en este caso no se pondrán las comillas). Para abrir el fichero utilizaremos la función fopen( ). datos fijo.DAT". Estudiaremos los distintos modos en que podemos abrir un fichero.. int edad.temporal. Pablo M. 14. puntero=fopen("C:\TXT\SALUDO. nombre del fichero es el nombre que daremos al fichero que queremos crear o abrir.

crea un fichero de lectura y escritura.3. abre un fichero de lectura.2.Apuntes de Turbo ´C´ Modo texto w w+ a a+ r r+ crea un fichero de escritura. Por esta razón es mejor controlar las posibles causas de error a la hora de programar.Escritura y lectura Ing... Un ejemplo ilustrativo aunque de poca utilidad: FILE *pf. freopen( ) Esta función cierra el fichero apuntado por el puntero y reasigna este puntero a un fichero que será abierto. Si al intentar abrir el fichero se produjese un error ( por ejemplo si no existe y lo estamos abriendo en modo lectura ). abre o crea un fichero para añadir datos al final del mismo. abre un fichero de lectura.DAT". 14. Si ya existe lo crea de nuevo. 14. Los ficheros se cierran al finalizar el programa pero el número de estos que pueden estar abiertos es limitado. if ( pf == NULL ) printf ("Error al abrir el fichero").txt". Si ya existe lo crea de nuevo. Modo binario wb w+b ab a+b rb r+b crea un fichero de escritura. como ya hemos visto. cuyo puntero le indicamos como parámetro."modo de apertura". Si el fichero se cierra con éxito devuelve 0. abre o crea un fichero para leer y añadir datos al final del mismo. Donde nombre del fichero es el nombre del nuevo fichero que queremos abrir. luego el modo de apertura. Pablo M. # 31 . fclose(puntero)..Cierre Una vez que hemos acabado nuestro trabajo con un fichero es recomendable cerrarlo."r"). pf=fopen("datos. Esta función cierra el fichero. abre un fichero de lectura y escritura.puntero). Un ejemplo: FILE *pf. else fclose(pf). Si ya existe lo crea de nuevo. Para cerrar los ficheros utilizaremos la función fclose( ). Si ya existe lo crea de nuevo. if (pf == NULL) printf("Error al abrir el fichero")."rb"). Navarro Álvarez Pag. un puntero de tipo FILE. Su sintaxis es: freopen(nombre del fichero. crea un fichero de lectura y escritura. abre o crea un fichero para leer y añadir datos al final del mismo. La función fopen devuelve. la función fopen devolvería NULL. pf=fopen("AGENDA. abre un fichero de lectura y escritura. y finalmente el puntero que va a ser reasignado. abre o crea un fichero para añadir datos al final del mismo.

/* abandonamos el programa */ } else { fputw(num. int num=3. Un caracter fputc( variable_caracter . Ejemplo: FILE *pf. Pablo M. exit(0).txt".txt"."w"))) /* otra forma de controlar si se produce un error */ { printf("Error al abrir el fichero").pf). puntero_fichero ). fclose(pf). exit(0). fclose(pf). char letra='a'.txt"."wb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). # 32 . if (!(pf=fopen("datos. Deberemos guardarlo en una variable. exit(0). puntero_fichero ). Un ejemplo: FILE *pf. Escribimos un caracter en un fichero ( abierto en modo escritura ). Navarro Álvarez Pag. /* también directamente: fputw(3. Escribe un número entero en formato binario en el fichero. printf("%c". char letra. } getw( puntero_fichero ).pf). Lee un caracter de un fichero ( abierto en modo lectura ).letra).pf). Un ejemplo: FILE *pf."r"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). if (!(pf=fopen("datos.^b fgetc( puntero_fichero ).Apuntes de Turbo ´C´ A continuación veremos las funciones que se podrán utilizar dependiendo del dato que queramos escribir y/o leer en el fichero. } Un número entero putw( variable_entera. Ing. /* abandonamos el programa */ } else { letra=fgetc(pf). /* abandonamos el programa */ } else fputc(letra. if (!(pf=fopen("datos. */ fclose(pf).

pf). avanzando dos bytes después de cada lectura.cad). Lee una cadena de caracteres del fichero y la almacena en variable_array. /* o también así: fputs("Me llamo Vicente". char cad[80]."w"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). /* abandonamos el programa */ } else { fgets(cad. char cad="Me llamo Vicente".pf). exit(0). Ejemplo: FILE *pf. if (!(pf=fopen("datos. Pablo M.txt". Navarro Álvarez Pag. fclose(pf). exit(0). } Una cadena de caracteres fputs( variable_array. La variable_entera indica la longitud máxima de caracteres que puede leer. # 33 . /* abandonamos el programa */ } else { fputs(cad. Un ejemplo: FILE *pf.pf). puntero_fichero ).txt". printf("%d". int num.Apuntes de Turbo ´C´ Lee un número entero de un fichero. if (!(pf=fopen("datos. printf("%s". } Con formato Ing. fclose(pf). } fgets( variable_array. exit(0). Un ejemplo: FILE *pf. variable_entera.80."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero").txt".num)."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). puntero_fichero ). Escribe una cadena de caracteres en el fichero. /* abandonamos el programa */ } else { num=getw(pf). if (!(pf=fopen("datos. */ fclose(pf).

nombre. fread( *buffer."w"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). en el archivo IMAGECAT. formato."%20s%2d\n"."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero").edad). Se utiliza para leer bloques de texto o de datos de un fichero. /* abandonamos el programa */ } else { fprintf(pf. if (!(pf=fopen("datos. nº de veces.&edad). char nombre[20]. fclose(pf). int edad. puntero_fichero ). /* abandonamos el programa */ } else { fscanf(pf. En esta función. *buffer es la dirección de memoria en la que se almacenan los datos. puntero_fichero ). Se trata de un programa que crea un catálogo Ing. será el número de elementos del tamaño indicado que se leerán. Pablo M.nombre. int edad=34. Al igual que con un scanf.txt".C. el tamaño en bytes que ocupan esos datos y nº de veces. en un fichero. # 34 . el tamaño en bytes que ocupan esos datos y nº de veces. Se utiliza para escribir bloques de texto o de datos. En esta función. Funciona igual que un printf pero guarda la salida en un fichero. *buffer será la dirección de memoria de la cuál se recogerán los datos. tamaño. tamaño. así como de la lectura y escritura de datos. } Estructuras fwrite( *buffer. Lee los argumentos del fichero. fclose(pf).nombre.txt". exit(0). será el número de elementos del tamaño indicado que se escribirán."%20s%2d###BOT_TEXT###quot;. nº de veces. formato. tamaño. argumentos ).Apuntes de Turbo ´C´ fprintf( puntero_fichero. argumentos). printf("Nombre: %s Edad: %d". estructuras. Puedes encontrar ejemplos sobre la apertura y cierre de ficheros. } fscanf( puntero_fichero.edad). exit(0). tamaño. if (!(pf=fopen("datos. Ejemplo: FILE *pf. deberemos indicar la dirección de memoria de los argumentos con el símbolo & ( ampersand ). Navarro Álvarez Pag. Un ejemplo: FILE *pf. char nombre[20]="Santiago".

Para este fin disponemos de la función feof( ). Ing. Pablo M. Navarro Álvarez Pag. Sitúa el puntero en la posicion que le indiquemos. long posicion. remove( nombre ). Como origen podremos poner: 0 o SEEK_SET. fwrite( ) y fread( ). Espero que no haya sido muy pesado. Otras funciones para ficheros rewind( puntero_fichero ). el principio del fichero 1 o SEEK_CUR. y un valor diferente de 0 si lo ha alcanzado. nombre2. No es necesario que te aprendas todas las funciones de memoria. Como la función del DOS del. Esta función retorna 0 si no ha llegado al final. Su función es exactamente la misma que la que conocemos en MS-DOS. int origen ). # 35 . fprintf( ). el final del fichero rename( nombre1. de lo contrario podrían producirse errores de lectura no deseados. podremos eliminar el archivo indicado en nombre. fgets( ).Apuntes de Turbo ´C´ en formato HTML a partir de las imágenes que se encuentran en un directorio determinado. Detección de final de fichero feof( puntero_fichero ). Céntrate sobre todo en las funciones fputs( ). Con estas cinco se pueden gestionar los ficheros perfectamente. fseek( puntero_fichero. la posición actual 2 o SEEK_END. Pues con esto llegamos al final del tema. Sitúa el puntero al principio del archivo. Siempre deberemos controlar si hemos llegado al final de fichero cuando estemos leyendo. Cambia el nombre del fichero nombre1 por un nuevo nombre. nombre2 ).

Related Interests

###BOT_TEXT###quot; ###BOT_TEXT### contrabarra salto de página apóstrofe comillas dobles fin de una cadena de caracteres Ejemplo. usaremos la directiva #define: #define <identificador> <valor> Observa que no se indica el punto y coma de final de sentencia ni tampoco el tipo de dato../* Uso de las secuencias de escape */ #include <stdio. las constantes mantienen su valor a lo largo de todo el programa. Ejemplo.2*pi*r).h> main() /* Escribe diversas sec. Navarro Álvarez Pag. Pablo M.5. printf("\nHa salido la letra ","doc_promotions_enabled":false,"static_promo_banner_cta_url":""},"eligible_for_exclusive_trial_roadblock":false,"eligible_for_seo_roadblock":false,"exclusive_free_trial_roadblock_props_path":"/doc-page/exclusive-free-trial-props/259291412","flashes":[],"footer_props":{"urls":{"about":"/about","press":"/press","blog":"http://literally.scribd.com/","careers":"/careers","contact":"/contact","plans_landing":"/subscribe","referrals":"/referrals?source=footer","giftcards":"/giftcards","faq":"/faq","accessibility":"/accessibility-policy","faq_paths":{"accounts":"https://support.scribd.com/hc/sections/202246346","announcements":"https://support.scribd.com/hc/sections/202246066","copyright":"https://support.scribd.com/hc/sections/202246086","downloading":"https://support.scribd.com/hc/articles/210135046","publishing":"https://support.scribd.com/hc/sections/202246366","reading":"https://support.scribd.com/hc/sections/202246406","selling":"https://support.scribd.com/hc/sections/202246326","store":"https://support.scribd.com/hc/sections/202246306","status":"https://support.scribd.com/hc/en-us/articles/360001202872","terms":"https://support.scribd.com/hc/sections/202246126","writing":"https://support.scribd.com/hc/sections/202246366","adchoices":"https://support.scribd.com/hc/articles/210129366","paid_features":"https://support.scribd.com/hc/sections/202246306","failed_uploads":"https://support.scribd.com/hc/en-us/articles/210134586-Troubleshooting-uploads-and-conversions","copyright_infringement":"https://support.scribd.com/hc/en-us/articles/210128946-DMCA-copyright-infringement-takedown-notification-policy","end_user_license":"https://support.scribd.com/hc/en-us/articles/210129486","terms_of_use":"https://support.scribd.com/hc/en-us/articles/210129326-General-Terms-of-Use"},"publishers":"/publishers","static_terms":"/terms","static_privacy":"/privacy","copyright":"/copyright","ios_app":"https://itunes.apple.com/us/app/scribd-worlds-largest-online/id542557212?mt=8&uo=4&at=11lGEE","android_app":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0&hl=en","books":"/books","sitemap":"/directory"}},"global_nav_props":{"header_props":{"logo_src":"/images/landing/home2_landing/scribd_logo_horiz_small.svg","root_url":"https://www.scribd.com/","search_term":"","small_logo_src":"/images/logos/scribd_s_logo.png","uploads_url":"/upload-document","search_props":{"redirect_to_app":true,"search_url":"/search","query":"","search_page":false}},"user_menu_props":null,"sidebar_props":{"urls":{"bestsellers":"https://www.scribd.com/bestsellers","home":"https://www.scribd.com/","saved":"/saved","subscribe":"/archive/pmp_checkout?doc=259291412&metadata=%7B%22context%22%3A%22pmp%22%2C%22action%22%3A%22start_trial%22%2C%22logged_in%22%3Afalse%2C%22platform%22%3A%22web%22%7D","top_charts":"/bestsellers","upload":"https://www.scribd.com/upload-document"},"categories":{"book":{"icon":"icon-ic_book","icon_filled":"icon-ic_book_fill","url":"https://www.scribd.com/books","name":"Books","type":"book"},"news":{"icon":"icon-ic_articles","icon_filled":"icon-ic_articles_fill","url":"https://www.scribd.com/news","name":"News","type":"news"},"audiobook":{"icon":"icon-ic_audiobook","icon_filled":"icon-ic_audiobook_fill","url":"https://www.scribd.com/audiobooks","name":"Audiobooks","type":"audiobook"},"magazine":{"icon":"icon-ic_magazine","icon_filled":"icon-ic_magazine_fill","url":"https://www.scribd.com/magazines","name":"Magazines","type":"magazine"},"document":{"icon":"icon-ic_document","icon_filled":"icon-ic_document_fill","url":"https://www.scribd.com/docs","name":"Documents","type":"document"},"sheet_music":{"icon":"icon-ic_songbook","icon_filled":"icon-ic_songbook_fill","url":"https://www.scribd.com/sheetmusic","name":"Sheet Music","type":"sheet_music"}},"categories_array":["mixed","book","audiobook","magazine","news","document","sheet_music"],"selected_content_type":"mixed","username":"","search_overlay_props":{"search_input_props":{"focused":false,"keep_suggestions_on_blur":false}}}},"recommenders":{"related_titles_recommender":{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880,375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":null,"track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"RTghUCNG2o5PNhHW1DACmpiHahE=","widget_name":"right sidebar","track_id":"flattened_recommender"}},"footer_recommenders":{"recommenders":[{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880],"title_link":null,"title":"Documents Similar To apuntesDeC","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"vSlbRWlB5OImX+SZ4x5To/JPg1Y=","widget_name":"document_carousel"}},{"ids":[375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":"More From amra_26721","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"PW3fjfb5l6G/zCRD+WUjUluZr2s=","widget_name":"document_carousel"}}]},"seo_new_docs_recommenders":{"recommenders":[]},"documents":{"2892757":{"type":"document","id":2892757,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/2892757/108x144/a6b0c6fd66/1379542897?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/2892757/216x288/5d801b2cbb/1379542897?v=1","title":"Unidad 4: Programación estructurada en C","short_title":"Unidad 4","author":"infobits","tracking":{"object_type":"document","object_id":2892757,"track":"flattened_recommender","doc_uuid":"mXWbT9l+4Fqh7wO0uH36y73HhLE="},"url":"https://www.scribd.com/document/2892757/Unidad-4-Programacion-estructurada-en-C"},"49847050":{"type":"document","id":49847050,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/49847050/108x144/64e2985044/1369320639?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/49847050/216x288/5e05aa2ec8/1369320639?v=1","title":"introCsharp_version097","short_title":"introCsharp_version097","author":"d-fbuser-54152323","tracking":{"object_type":"document","object_id":49847050,"track":"flattened_recommender","doc_uuid":"W2UdoTFjL+yc+eTi+k4opNDhgd8="},"url":"https://www.scribd.com/document/49847050/introCsharp-version097"},"51940909":{"type":"document","id":51940909,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/108x144/50afaf8ba7/1313951641?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/216x288/e90edc9004/1313951641?v=1","title":"clases","short_title":"clases","author":"mushuruko","tracking":{"object_type":"document","object_id":51940909,"track":"flattened_recommender","doc_uuid":"o9W2PB0LsDejMKuPgb5QNQpxfLA="},"url":"https://www.scribd.com/presentation/51940909/clases"},"53691790":{"type":"document","id":53691790,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53691790/108x144/31cb499638/1417044263?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53691790/216x288/a1e0c82b68/1417044263?v=1","title":"Capitulo 0","short_title":"Capitulo 0","author":"juankmtya","tracking":{"object_type":"document","object_id":53691790,"track":"flattened_recommender","doc_uuid":"dzMInOmjSpaSZtSI4L+nO8TAJhs="},"url":"https://www.scribd.com/document/53691790/Capitulo-0"},"53821007":{"type":"document","id":53821007,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53821007/108x144/8a2941e56c/1372552300?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53821007/216x288/6edad3ab03/1372552300?v=1","title":"Tutorial de Java","short_title":"Tutorial de Java","author":"Jorge Bracca","tracking":{"object_type":"document","object_id":53821007,"track":"flattened_recommender","doc_uuid":"zylIe6ATvndsUafLp3jm4FP+ryc="},"url":"https://www.scribd.com/document/53821007/Tutorial-de-Java"},"56781709":{"type":"document","id":56781709,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/56781709/108x144/b2c293dea4/1351042013?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/56781709/216x288/3c6a792195/1351042013?v=1","title":"Caracteristicas de Java","short_title":"Caracteristicas de Java","author":"Ninci Serrano","tracking":{"object_type":"document","object_id":56781709,"track":"flattened_recommender","doc_uuid":"CgoMfRCeKPXuc0qItHpn8+o3jKk="},"url":"https://www.scribd.com/document/56781709/Caracteristicas-de-Java"},"66309322":{"type":"document","id":66309322,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/66309322/108x144/9f92fa7619/1334722425?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/66309322/216x288/135ab4ae16/1334722425?v=1","title":"ELEMENTOS DE PROGRAMACION","short_title":"ELEMENTOS DE PROGRAMACION","author":"Jimmy Rodriguez","tracking":{"object_type":"document","object_id":66309322,"track":"flattened_recommender","doc_uuid":"tI5B1sQgY0BNmSIXdZvxG2Eqd5U="},"url":"https://www.scribd.com/document/66309322/ELEMENTOS-DE-PROGRAMACION"},"109636894":{"type":"document","id":109636894,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109636894/108x144/e8e249dc3e/1349904109?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/109636894/216x288/b2ab6fcd90/1349904109?v=1","title":"Parametrizaciones MR","short_title":"Parametrizaciones MR","author":"AmIn20122","tracking":{"object_type":"document","object_id":109636894,"track":"flattened_recommender","doc_uuid":"FatMocTLbhJ/4in7BH4qDH0dXIU="},"url":"https://www.scribd.com/document/109636894/Parametrizaciones-MR"},"109764309":{"type":"document","id":109764309,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/108x144/e2e3b1b133/1422386648?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/216x288/b17273d04c/1422386648?v=1","title":"Info II Lenguaje de Programación","short_title":"Info II Lenguaje de Programación","author":"Francisco Jiménez Mendoza.","tracking":{"object_type":"document","object_id":109764309,"track":"flattened_recommender","doc_uuid":"mPSmoslov1WDWDEKubxPUHSEPQY="},"url":"https://www.scribd.com/presentation/109764309/Info-II-Lenguaje-de-Programacion"},"111517160":{"type":"document","id":111517160,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/111517160/108x144/535c41f7ed/1362571357?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/111517160/216x288/0a98897e1b/1362571357?v=1","title":"explicación de c++","short_title":"explicación de c++","author":"Michael Beltran","tracking":{"object_type":"document","object_id":111517160,"track":"flattened_recommender","doc_uuid":"pZ/C6/+lvcnbBgqiLjju7nqBw/I="},"url":"https://www.scribd.com/document/111517160/explicacion-de-c"},"124488292":{"type":"document","id":124488292,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/108x144/940fc5b87e/1397865317?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/216x288/69995525a4/1397865317?v=1","title":"1 - lenguaje C - Características generales Estrutura dun programa en C","short_title":"1 - lenguaje C - Características generales Estrutura dun programa en C","author":"Juan Elías Iglesias Leiro","tracking":{"object_type":"document","object_id":124488292,"track":"flattened_recommender","doc_uuid":"1Fycx0yvBZMJL6T9I+OLBL+e26Y="},"url":"https://www.scribd.com/document/124488292/1-lenguaje-C-Caracteristicas-generales-Estrutura-dun-programa-en-C"},"132334064":{"type":"document","id":132334064,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/108x144/6777146ab5/1403056172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/216x288/3ea926f01c/1403056172?v=1","title":"TAREA ALGORITMOS","short_title":"TAREA ALGORITMOS","author":"Gaddiel Ruiz","tracking":{"object_type":"document","object_id":132334064,"track":"flattened_recommender","doc_uuid":"kXBTfTN9G4oiFRZmxr/jj1bS+ns="},"url":"https://www.scribd.com/document/132334064/TAREA-ALGORITMOS"},"145700039":{"type":"document","id":145700039,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/108x144/a3b7e3c446/1437862030?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/216x288/1c7a9266ce/1437862030?v=1","title":"Tipos de Datos","short_title":"Tipos de Datos","author":"Xannya Salgado","tracking":{"object_type":"document","object_id":145700039,"track":"flattened_recommender","doc_uuid":"iYbu8OArsThi1Y71uqEwrg3PnDs="},"url":"https://www.scribd.com/document/145700039/Tipos-de-Datos"},"145939409":{"type":"document","id":145939409,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/108x144/3a8757d47d/1410071159?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/216x288/4f5c7f3320/1410071159?v=1","title":"Programación en Lenguaje C","short_title":"Programación en Lenguaje C","author":"Veruska San Miguel","tracking":{"object_type":"document","object_id":145939409,"track":"flattened_recommender","doc_uuid":"cD4TtjrxuKwml7Uc8Xb5rWnAJW8="},"url":"https://www.scribd.com/document/145939409/Programacion-en-Lenguaje-C"},"152582877":{"type":"document","id":152582877,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/108x144/cb9e21755c/1418751213?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/216x288/e34bf63dd4/1418751213?v=1","title":"estructura portafolio","short_title":"estructura portafolio","author":"Mabel Navarrete","tracking":{"object_type":"document","object_id":152582877,"track":"flattened_recommender","doc_uuid":"oniXOwrYb/9UmihyaTs1+XVb8Sc="},"url":"https://www.scribd.com/document/152582877/estructura-portafolio"},"181047083":{"type":"document","id":181047083,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/108x144/be8efb0bb1/1383426492?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/216x288/0e11081ef5/1383426492?v=1","title":"VALERIA FRANCO SANCHEZ SENA (1).docx","short_title":"VALERIA FRANCO SANCHEZ SENA (1).docx","author":"Valeria Franco","tracking":{"object_type":"document","object_id":181047083,"track":"flattened_recommender","doc_uuid":"qdSB2WUgB5/UpHUljjbVKIWNLxA="},"url":"https://www.scribd.com/document/181047083/VALERIA-FRANCO-SANCHEZ-SENA-1-docx"},"189438574":{"type":"document","id":189438574,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/189438574/108x144/4631cb6779/1431977115?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/189438574/216x288/38d6e1549f/1431977115?v=1","title":"Introducción al Lenguaje C++","short_title":"Introducción al Lenguaje C++","author":"Christopher Jesús Guerrero Carbajal","tracking":{"object_type":"document","object_id":189438574,"track":"flattened_recommender","doc_uuid":"qQMhw376FlhuqQZfBsr0nUCwvK8="},"url":"https://www.scribd.com/document/189438574/Introduccion-al-Lenguaje-C"},"198951966":{"type":"document","id":198951966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/108x144/493c39b3c7/1434075009?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/216x288/1885f13bf2/1434075009?v=1","title":"3AM-Informatica-ProgramacionI","short_title":"3AM-Informatica-ProgramacionI","author":"Eric Batther","tracking":{"object_type":"document","object_id":198951966,"track":"flattened_recommender","doc_uuid":"xbOUxCd4HhzgukdjIVkbSrs7qpM="},"url":"https://www.scribd.com/document/198951966/3AM-Informatica-ProgramacionI"},"238556602":{"type":"document","id":238556602,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/238556602/108x144/7b5ee4d690/1409767207?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/238556602/216x288/1ca7b7dcfb/1409767207?v=1","title":"Programación - Lenguaje - Computador","short_title":"Programación - Lenguaje - Computador","author":"Alexander Díaz","tracking":{"object_type":"document","object_id":238556602,"track":"flattened_recommender","doc_uuid":"Y1Rt3Pj6ERHJj7tdyz8Du9my6qc="},"url":"https://www.scribd.com/document/238556602/Programacion-Lenguaje-Computador"},"240502063":{"type":"document","id":240502063,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/108x144/a6dccdafd9/1411352807?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/216x288/ac8dfca799/1411352807?v=1","title":"Fortran2 Ele 1","short_title":"Fortran2 Ele 1","author":"Carrion Santos","tracking":{"object_type":"document","object_id":240502063,"track":"flattened_recommender","doc_uuid":"ERrDKJcnGbfoh6myORfvWK2YLQI="},"url":"https://www.scribd.com/document/240502063/Fortran2-Ele-1"},"242572211":{"type":"document","id":242572211,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/108x144/ed78426463/1412984491?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/216x288/01fb7eebfe/1412984491?v=1","title":"507101004.pdf","short_title":"507101004.pdf","author":"javicevallos","tracking":{"object_type":"document","object_id":242572211,"track":"flattened_recommender","doc_uuid":"TWPNDF7ydJbRVcDCmsQ21RjjLY0="},"url":"https://www.scribd.com/document/242572211/507101004-pdf"},"244321341":{"type":"document","id":244321341,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/244321341/108x144/2827ab8cdf/1414198895?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/244321341/216x288/7736e9916b/1414198895?v=1","title":"Lenguaje de programación.pdf","short_title":"Lenguaje de programación.pdf","author":"LeninValle","tracking":{"object_type":"document","object_id":244321341,"track":"flattened_recommender","doc_uuid":"lbGMRAzyhm3mhlNLfkMnz8qSRGA="},"url":"https://www.scribd.com/document/244321341/Lenguaje-de-programacion-pdf"},"250586500":{"type":"document","id":250586500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/108x144/611bbf9b40/1432501926?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/216x288/2b0e00c848/1432501926?v=1","title":"Programar en C","short_title":"Programar en C","author":"Ed Marti","tracking":{"object_type":"document","object_id":250586500,"track":"flattened_recommender","doc_uuid":"ouXSAZcMFR5w/mbW1jV+AAyftWI="},"url":"https://www.scribd.com/document/250586500/Programar-en-C"},"271255341":{"type":"document","id":271255341,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/108x144/278466de6e/1436628980?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/216x288/1ae53d53a1/1436628980?v=1","title":"Lenguaje de Programación 1","short_title":"Lenguaje de Programación 1","author":"RosalyMullisacaValencia","tracking":{"object_type":"document","object_id":271255341,"track":"flattened_recommender","doc_uuid":"RLtpk3kvIJ+v1Zcq3p2XJ/1zBf8="},"url":"https://www.scribd.com/document/271255341/Lenguaje-de-Programacion-1"},"288088959":{"type":"document","id":288088959,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/108x144/1e3508ae3d/1446380716?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/216x288/2d6e39aca9/1446380716?v=1","title":"Plan de Estudio","short_title":"Plan de Estudio","author":"Sebastian Sandon","tracking":{"object_type":"document","object_id":288088959,"track":"flattened_recommender","doc_uuid":"OjaZISSVCqqCyVSN1s+K79i9Wy4="},"url":"https://www.scribd.com/document/288088959/Plan-de-Estudio"},"299139643":{"type":"document","id":299139643,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/108x144/7e7cd2b3ff/1455335325?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/216x288/9b6249250c/1455335325?v=1","title":"Tipo de Dato Estructurado","short_title":"Tipo de Dato Estructurado","author":"Cristian Daniel","tracking":{"object_type":"document","object_id":299139643,"track":"flattened_recommender","doc_uuid":"5yLPRugZ7X8Gb/Ub3jCmvIiDfKU="},"url":"https://www.scribd.com/document/299139643/Tipo-de-Dato-Estructurado"},"317122326":{"type":"document","id":317122326,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/317122326/108x144/a2db4eb140/1467280718?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/317122326/216x288/521439a9d5/1467280718?v=1","title":"programacion java introduccion","short_title":"programacion java introduccion","author":"Koralae","tracking":{"object_type":"document","object_id":317122326,"track":"flattened_recommender","doc_uuid":"hIl87q4PyZctG7RpS4yD8wdtF/k="},"url":"https://www.scribd.com/document/317122326/programacion-java-introduccion"},"338399880":{"type":"document","id":338399880,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/338399880/108x144/750f0a4df2/1486221519?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/338399880/216x288/a2360364ef/1486221519?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Edwin Escalante Navarro","tracking":{"object_type":"document","object_id":338399880,"track":"flattened_recommender","doc_uuid":"zjpqYze3f5FELIb3p4h12VhrbwE="},"url":"https://www.scribd.com/document/338399880/Lenguaje-de-Programacion"},"339157780":{"type":"document","id":339157780,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/108x144/42ffad1dc6/1486950706?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/216x288/727a97fc3d/1486950706?v=1","title":"folleto-portainer","short_title":"folleto-portainer","author":"amra_26721","tracking":{"object_type":"document","object_id":339157780,"track":"flattened_recommender","doc_uuid":"Rx1VrniqocLkuyVSr+ldXyZWdsw="},"url":"https://www.scribd.com/document/339157780/folleto-portainer"},"344168853":{"type":"document","id":344168853,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/344168853/108x144/0b397e3532/1491416906?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/344168853/216x288/7c7fa2401c/1491416906?v=1","title":"bibliografia TGS","short_title":"bibliografia TGS","author":"amra_26721","tracking":{"object_type":"document","object_id":344168853,"track":"flattened_recommender","doc_uuid":"TtVteixi+wh2GC/FATxfCKvtHCg="},"url":"https://www.scribd.com/document/344168853/bibliografia-TGS"},"358290451":{"type":"document","id":358290451,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/358290451/108x144/52a95f973c/1504818172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/358290451/216x288/4c4d4d8878/1504818172?v=1","title":"Mexico Educativo","short_title":"Mexico Educativo","author":"amra_26721","tracking":{"object_type":"document","object_id":358290451,"track":"flattened_recommender","doc_uuid":"vlI9m/1tzVkoZwOAfVgwhZHwrgg="},"url":"https://www.scribd.com/document/358290451/Mexico-Educativo"},"360198661":{"type":"document","id":360198661,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/360198661/108x144/f800a776a0/1507075464?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/360198661/216x288/5fd42c0c8e/1507075464?v=1","title":"mamposteria_lared.pdf","short_title":"mamposteria_lared.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":360198661,"track":"flattened_recommender","doc_uuid":"yuxgZYKgC4WUX4pYbz0PGt050n8="},"url":"https://www.scribd.com/document/360198661/mamposteria-lared-pdf"},"363261500":{"type":"document","id":363261500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/108x144/ca2c355c05/1509596160?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/216x288/3f8da6bd28/1509596160?v=1","title":"manualconstruccion.pdf","short_title":"manualconstruccion.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363261500,"track":"flattened_recommender","doc_uuid":"Ccj4m+dqzewWzwkVVQxpws87ymU="},"url":"https://www.scribd.com/document/363261500/manualconstruccion-pdf"},"363269698":{"type":"document","id":363269698,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/108x144/d0a6944668/1509603414?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/216x288/cf3b9f0bf1/1509603414?v=1","title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","short_title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363269698,"track":"flattened_recommender","doc_uuid":"oJ4lzFS459+Tr0kWKcpGpt99TzA="},"url":"https://www.scribd.com/document/363269698/MANUAL-DETALLADO-PARA-PLANOS-ARQUITECTONICOS-Y-CONSTRUCTIVOS-PARA-TALLER-DE-CONSTRUCCION-pdf"},"363270090":{"type":"document","id":363270090,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/108x144/7db1d029da/1509603764?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/216x288/a4b6a43c38/1509603764?v=1","title":"TechosVerdes_Gernot Minke.pdf","short_title":"TechosVerdes_Gernot Minke.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363270090,"track":"flattened_recommender","doc_uuid":"1AkeY4TQVHAcymmFdUT6hhKtl/8="},"url":"https://www.scribd.com/document/363270090/TechosVerdes-Gernot-Minke-pdf"},"363270211":{"type":"document","id":363270211,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/108x144/d2d191ea03/1509603883?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/216x288/ca59b79d43/1509603883?v=1","title":"contenedores informatuca (2)","short_title":"contenedores informatuca (2)","author":"amra_26721","tracking":{"object_type":"document","object_id":363270211,"track":"flattened_recommender","doc_uuid":"xrxWRGoEaZHSb5/TMX3pwZ9bu8c="},"url":"https://www.scribd.com/document/363270211/contenedores-informatuca-2"},"366234931":{"type":"document","id":366234931,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/108x144/8c3550dca9/1512361624?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/216x288/d5df40e1df/1512361624?v=1","title":"Gestion Integral de La Costa","short_title":"Gestion Integral de La Costa","author":"amra_26721","tracking":{"object_type":"document","object_id":366234931,"track":"flattened_recommender","doc_uuid":"7sHVe/fe0C6C3lSOOyAMkH8dTDk="},"url":"https://www.scribd.com/document/366234931/Gestion-Integral-de-La-Costa"},"366612961":{"type":"document","id":366612961,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/108x144/933a95b639/1512688393?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/216x288/055fe6ea26/1512688393?v=1","title":"GUIA_PRACTICA_TELEDETECCION.pdf","short_title":"GUIA_PRACTICA_TELEDETECCION.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366612961,"track":"flattened_recommender","doc_uuid":"xvFJFITzOiGkk37fGbv6im6JjxI="},"url":"https://www.scribd.com/document/366612961/GUIA-PRACTICA-TELEDETECCION-pdf"},"366613051":{"type":"document","id":366613051,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613051/108x144/ada75372a1/1512688440?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366613051/216x288/eb49d8c4c4/1512688440?v=1","title":"Python.pdf","short_title":"Python.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613051,"track":"flattened_recommender","doc_uuid":"R5WqNcZhb7/jrNSNbhP48kgiENI="},"url":"https://www.scribd.com/document/366613051/Python-pdf"},"366613059":{"type":"document","id":366613059,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/108x144/66835d1bd9/1512688405?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/216x288/c6dbbb06da/1512688405?v=1","title":"clase1.pdf","short_title":"clase1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613059,"track":"flattened_recommender","doc_uuid":"NckDbXzHe4qDvjq9AfCr4mzCtko="},"url":"https://www.scribd.com/document/366613059/clase1-pdf"},"366613081":{"type":"document","id":366613081,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/108x144/3f6b043089/1512688446?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/216x288/0e9d015b47/1512688446?v=1","title":"TutorialPython2.pdf","short_title":"TutorialPython2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613081,"track":"flattened_recommender","doc_uuid":"nV8Kcd5JQx2epvvctIMQygbzzrU="},"url":"https://www.scribd.com/document/366613081/TutorialPython2-pdf"},"369856881":{"type":"document","id":369856881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/108x144/d9b4475ff8/1516771232?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/216x288/d5fae967c8/1516771232?v=1","title":"conteiners.pdf","short_title":"conteiners.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856881,"track":"flattened_recommender","doc_uuid":"AOPCih6qa/1Wv2z2VOcloCoO60U="},"url":"https://www.scribd.com/document/369856881/conteiners-pdf"},"369856910":{"type":"document","id":369856910,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/369856910/108x144/a8e0d4a6b0/1516771262?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856910/216x288/cb1bb054f7/1516771262?v=1","title":"01_FichaSeminario_modelos_hidraulicos.pdf","short_title":"01_FichaSeminario_modelos_hidraulicos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856910,"track":"flattened_recommender","doc_uuid":"EiCCKCsXUgsJ5CIg/AYU5f8W/9A="},"url":"https://www.scribd.com/document/369856910/01-FichaSeminario-modelos-hidraulicos-pdf"},"369857881":{"type":"document","id":369857881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/108x144/4a3723badf/1516771927?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/216x288/3c5dfac76b/1516771927?v=1","title":"Apuntesmaquinaria TP","short_title":"Apuntesmaquinaria TP","author":"amra_26721","tracking":{"object_type":"document","object_id":369857881,"track":"flattened_recommender","doc_uuid":"mDGtTcMZUy4+Yy/JrdMV3gEQ/zY="},"url":"https://www.scribd.com/document/369857881/Apuntesmaquinaria-TP"},"374152444":{"type":"document","id":374152444,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/108x144/41a48e5e1a/1521355785?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/216x288/9e5284c250/1521355785?v=1","title":"resueltos_b1_t1.pdf","short_title":"resueltos_b1_t1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152444,"track":"flattened_recommender","doc_uuid":"zOPj+gvwA6VxZVw6laSVNczxmvs="},"url":"https://www.scribd.com/document/374152444/resueltos-b1-t1-pdf"},"374152555":{"type":"document","id":374152555,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152555/108x144/ca9ee1fb53/1521356053?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152555/216x288/8b80dd7be3/1521356053?v=1","title":"cap2.pdf","short_title":"cap2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152555,"track":"flattened_recommender","doc_uuid":"ehFI+UGMDd+8IFAynrxmKL6W9+k="},"url":"https://www.scribd.com/document/374152555/cap2-pdf"},"374152585":{"type":"document","id":374152585,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/108x144/25dfaa3a3f/1521356029?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/216x288/c144480fe5/1521356029?v=1","title":"prinprog-teorico07.pdf","short_title":"prinprog-teorico07.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152585,"track":"flattened_recommender","doc_uuid":"iniZdYgPaP7serctYNl2wnS/h8Q="},"url":"https://www.scribd.com/document/374152585/prinprog-teorico07-pdf"},"374152735":{"type":"document","id":374152735,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152735/108x144/8435b79c0c/1521356263?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152735/216x288/76aefa774a/1521356263?v=1","title":"Programa Vigas Continuas","short_title":"Programa Vigas Continuas","author":"amra_26721","tracking":{"object_type":"document","object_id":374152735,"track":"flattened_recommender","doc_uuid":"n6aIsgfgrWu6veyxS4K8Nvk944A="},"url":"https://www.scribd.com/document/374152735/Programa-Vigas-Continuas"},"374465297":{"type":"document","id":374465297,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/108x144/5a2aab28d9/1521596166?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/216x288/c257b87791/1521596166?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Rafael Espinoza","tracking":{"object_type":"document","object_id":374465297,"track":"flattened_recommender","doc_uuid":"IzfxR5r/ibzGYhInT3kji8SLf5k="},"url":"https://www.scribd.com/document/374465297/Lenguaje-de-Programacion"},"375783270":{"type":"document","id":375783270,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/108x144/14d1aadd2f/1523142280?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/216x288/5d6159aa06/1523142280?v=1","title":"PrimerParcialEjsResueltos.pdf","short_title":"PrimerParcialEjsResueltos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375783270,"track":"flattened_recommender","doc_uuid":"VHXyDZ29kgzByjNl4nCe9LHwiK4="},"url":"https://www.scribd.com/document/375783270/PrimerParcialEjsResueltos-pdf"},"375783301":{"type":"document","id":375783301,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/108x144/6f02b4502b/1523142337?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/216x288/3ecea6008d/1523142337?v=1","title":"Ejercicio 1","short_title":"Ejercicio 1","author":"amra_26721","tracking":{"object_type":"document","object_id":375783301,"track":"flattened_recommender","doc_uuid":"uAGxCdU/bw2vRsXSrnj86GPReAw="},"url":"https://www.scribd.com/document/375783301/Ejercicio-1"},"375859776":{"type":"document","id":375859776,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859776/108x144/68a77d03bc/1523238319?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859776/216x288/f905b0fbab/1523238319?v=1","title":"Números Adimencionales","short_title":"Números Adimencionales","author":"amra_26721","tracking":{"object_type":"document","object_id":375859776,"track":"flattened_recommender","doc_uuid":"dOGQvSvYznUzb57HQpNFQopKmw0="},"url":"https://www.scribd.com/document/375859776/Numeros-Adimencionales"},"375859966":{"type":"document","id":375859966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859966/108x144/2345637718/1523238528?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859966/216x288/53f8409b80/1523238528?v=1","title":"Tarea 2 temas previos mecánica de fluidos","short_title":"Tarea 2 temas previos mecánica de fluidos","author":"amra_26721","tracking":{"object_type":"document","object_id":375859966,"track":"flattened_recommender","doc_uuid":"i5hTwkn3UfTwSTA6AR3j+xFOc/w="},"url":"https://www.scribd.com/document/375859966/Tarea-2-temas-previos-mecanica-de-fluidos"},"375862470":{"type":"document","id":375862470,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/108x144/16328ebcc0/1523240790?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/216x288/fd177d99df/1523240790?v=1","title":"Tarea 2.pdf","short_title":"Tarea 2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862470,"track":"flattened_recommender","doc_uuid":"Qw5EhqqCq5mlolXs6VGaqNqmQl0="},"url":"https://www.scribd.com/document/375862470/Tarea-2-pdf"},"375862652":{"type":"document","id":375862652,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862652/108x144/e4ed04c134/1523240949?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862652/216x288/01b0682e32/1523240949?v=1","title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","short_title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862652,"track":"flattened_recommender","doc_uuid":"XzURtZBlq28wj+TpJDrAueoTDaM="},"url":"https://www.scribd.com/document/375862652/OLEAJE-NORMAL-ATLOOM-TECOLUTLA-pdf"},"375862824":{"type":"document","id":375862824,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862824/108x144/45978e330e/1523241098?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862824/216x288/4c8acb43ff/1523241098?v=1","title":"Representación de Las Ondas de Gerstner","short_title":"Representación de Las Ondas de Gerstner","author":"amra_26721","tracking":{"object_type":"document","object_id":375862824,"track":"flattened_recommender","doc_uuid":"vColMQ8TDjGFrub4fx+WKT4sh3I="},"url":"https://www.scribd.com/document/375862824/Representacion-de-Las-Ondas-de-Gerstner"},"378234131":{"type":"document","id":378234131,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/378234131/108x144/12562becd1/1525488150?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/378234131/216x288/ccc192c6c6/1525488150?v=1","title":"Transferencia de Calor","short_title":"Transferencia de Calor","author":"amra_26721","tracking":{"object_type":"document","object_id":378234131,"track":"flattened_recommender","doc_uuid":"7mk8MEIhhUKxgt1jbqmkmwbFHX8="},"url":"https://www.scribd.com/document/378234131/Transferencia-de-Calor"},"380578352":{"type":"document","id":380578352,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/108x144/2e749cd2b3/1527698866?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/216x288/24cfde4e1d/1527698866?v=1","title":"mecanica fluidos temas alternos","short_title":"mecanica fluidos temas alternos","author":"amra_26721","tracking":{"object_type":"document","object_id":380578352,"track":"flattened_recommender","doc_uuid":"U4/nFf+f5QW9FaXE15PkcNUyWsY="},"url":"https://www.scribd.com/document/380578352/mecanica-fluidos-temas-alternos"},"381106304":{"type":"document","id":381106304,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/381106304/108x144/ddfc27db2f/1528247494?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/381106304/216x288/fd3bc10322/1528247494?v=1","title":"Campo de Aceleración","short_title":"Campo de Aceleración","author":"amra_26721","tracking":{"object_type":"document","object_id":381106304,"track":"flattened_recommender","doc_uuid":"Tg8AjOD6/oWDThR290CxXjRFJ4c="},"url":"https://www.scribd.com/document/381106304/Campo-de-Aceleracion"},"385965028":{"type":"document","id":385965028,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/108x144/81ee613ec9/1534027911?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/216x288/3c73bd013d/1534027911?v=1","title":"Gestión de Datos","short_title":"Gestión de Datos","author":"Majo Jiménez Gedeón","tracking":{"object_type":"document","object_id":385965028,"track":"flattened_recommender","doc_uuid":"9pMDw4ZH6CzCr9VwToR6OWdhK1I="},"url":"https://www.scribd.com/document/385965028/Gestion-de-Datos"}}},"seo_roadblock_props_path":"/doc-page/seo-roadblock-props/259291412","signup_context":null,"toolbar":{"search_path":"/search-4gen?allowed_pages=1%2C2%2C3&auth_token=PZrZtm4dr6g%2Bv1npBAcH%2FHMoheY%3D&authenticity_token=uQ92IFOSkSWaN%2BCkYa6mcTRf%2F9XwYneKzDvtXbgbNJX9u1NIbHq4XaXiDTtmzpuAM6KxbeHt9VWb28yq2e%2FGIA%3D%3D&expires=1538362651&wordDocumentId=259291412&wordUploadId=264052325"},"renewal_nag_props":null}-->
L","doc_promotions_enabled":false,"static_promo_banner_cta_url":""},"eligible_for_exclusive_trial_roadblock":false,"eligible_for_seo_roadblock":false,"exclusive_free_trial_roadblock_props_path":"/doc-page/exclusive-free-trial-props/259291412","flashes":[],"footer_props":{"urls":{"about":"/about","press":"/press","blog":"http://literally.scribd.com/","careers":"/careers","contact":"/contact","plans_landing":"/subscribe","referrals":"/referrals?source=footer","giftcards":"/giftcards","faq":"/faq","accessibility":"/accessibility-policy","faq_paths":{"accounts":"https://support.scribd.com/hc/sections/202246346","announcements":"https://support.scribd.com/hc/sections/202246066","copyright":"https://support.scribd.com/hc/sections/202246086","downloading":"https://support.scribd.com/hc/articles/210135046","publishing":"https://support.scribd.com/hc/sections/202246366","reading":"https://support.scribd.com/hc/sections/202246406","selling":"https://support.scribd.com/hc/sections/202246326","store":"https://support.scribd.com/hc/sections/202246306","status":"https://support.scribd.com/hc/en-us/articles/360001202872","terms":"https://support.scribd.com/hc/sections/202246126","writing":"https://support.scribd.com/hc/sections/202246366","adchoices":"https://support.scribd.com/hc/articles/210129366","paid_features":"https://support.scribd.com/hc/sections/202246306","failed_uploads":"https://support.scribd.com/hc/en-us/articles/210134586-Troubleshooting-uploads-and-conversions","copyright_infringement":"https://support.scribd.com/hc/en-us/articles/210128946-DMCA-copyright-infringement-takedown-notification-policy","end_user_license":"https://support.scribd.com/hc/en-us/articles/210129486","terms_of_use":"https://support.scribd.com/hc/en-us/articles/210129326-General-Terms-of-Use"},"publishers":"/publishers","static_terms":"/terms","static_privacy":"/privacy","copyright":"/copyright","ios_app":"https://itunes.apple.com/us/app/scribd-worlds-largest-online/id542557212?mt=8&uo=4&at=11lGEE","android_app":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0&hl=en","books":"/books","sitemap":"/directory"}},"global_nav_props":{"header_props":{"logo_src":"/images/landing/home2_landing/scribd_logo_horiz_small.svg","root_url":"https://www.scribd.com/","search_term":"","small_logo_src":"/images/logos/scribd_s_logo.png","uploads_url":"/upload-document","search_props":{"redirect_to_app":true,"search_url":"/search","query":"","search_page":false}},"user_menu_props":null,"sidebar_props":{"urls":{"bestsellers":"https://www.scribd.com/bestsellers","home":"https://www.scribd.com/","saved":"/saved","subscribe":"/archive/pmp_checkout?doc=259291412&metadata=%7B%22context%22%3A%22pmp%22%2C%22action%22%3A%22start_trial%22%2C%22logged_in%22%3Afalse%2C%22platform%22%3A%22web%22%7D","top_charts":"/bestsellers","upload":"https://www.scribd.com/upload-document"},"categories":{"book":{"icon":"icon-ic_book","icon_filled":"icon-ic_book_fill","url":"https://www.scribd.com/books","name":"Books","type":"book"},"news":{"icon":"icon-ic_articles","icon_filled":"icon-ic_articles_fill","url":"https://www.scribd.com/news","name":"News","type":"news"},"audiobook":{"icon":"icon-ic_audiobook","icon_filled":"icon-ic_audiobook_fill","url":"https://www.scribd.com/audiobooks","name":"Audiobooks","type":"audiobook"},"magazine":{"icon":"icon-ic_magazine","icon_filled":"icon-ic_magazine_fill","url":"https://www.scribd.com/magazines","name":"Magazines","type":"magazine"},"document":{"icon":"icon-ic_document","icon_filled":"icon-ic_document_fill","url":"https://www.scribd.com/docs","name":"Documents","type":"document"},"sheet_music":{"icon":"icon-ic_songbook","icon_filled":"icon-ic_songbook_fill","url":"https://www.scribd.com/sheetmusic","name":"Sheet Music","type":"sheet_music"}},"categories_array":["mixed","book","audiobook","magazine","news","document","sheet_music"],"selected_content_type":"mixed","username":"","search_overlay_props":{"search_input_props":{"focused":false,"keep_suggestions_on_blur":false}}}},"recommenders":{"related_titles_recommender":{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880,375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":null,"track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"RTghUCNG2o5PNhHW1DACmpiHahE=","widget_name":"right sidebar","track_id":"flattened_recommender"}},"footer_recommenders":{"recommenders":[{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880],"title_link":null,"title":"Documents Similar To apuntesDeC","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"vSlbRWlB5OImX+SZ4x5To/JPg1Y=","widget_name":"document_carousel"}},{"ids":[375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":"More From amra_26721","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"PW3fjfb5l6G/zCRD+WUjUluZr2s=","widget_name":"document_carousel"}}]},"seo_new_docs_recommenders":{"recommenders":[]},"documents":{"2892757":{"type":"document","id":2892757,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/2892757/108x144/a6b0c6fd66/1379542897?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/2892757/216x288/5d801b2cbb/1379542897?v=1","title":"Unidad 4: Programación estructurada en C","short_title":"Unidad 4","author":"infobits","tracking":{"object_type":"document","object_id":2892757,"track":"flattened_recommender","doc_uuid":"mXWbT9l+4Fqh7wO0uH36y73HhLE="},"url":"https://www.scribd.com/document/2892757/Unidad-4-Programacion-estructurada-en-C"},"49847050":{"type":"document","id":49847050,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/49847050/108x144/64e2985044/1369320639?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/49847050/216x288/5e05aa2ec8/1369320639?v=1","title":"introCsharp_version097","short_title":"introCsharp_version097","author":"d-fbuser-54152323","tracking":{"object_type":"document","object_id":49847050,"track":"flattened_recommender","doc_uuid":"W2UdoTFjL+yc+eTi+k4opNDhgd8="},"url":"https://www.scribd.com/document/49847050/introCsharp-version097"},"51940909":{"type":"document","id":51940909,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/108x144/50afaf8ba7/1313951641?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/216x288/e90edc9004/1313951641?v=1","title":"clases","short_title":"clases","author":"mushuruko","tracking":{"object_type":"document","object_id":51940909,"track":"flattened_recommender","doc_uuid":"o9W2PB0LsDejMKuPgb5QNQpxfLA="},"url":"https://www.scribd.com/presentation/51940909/clases"},"53691790":{"type":"document","id":53691790,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53691790/108x144/31cb499638/1417044263?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53691790/216x288/a1e0c82b68/1417044263?v=1","title":"Capitulo 0","short_title":"Capitulo 0","author":"juankmtya","tracking":{"object_type":"document","object_id":53691790,"track":"flattened_recommender","doc_uuid":"dzMInOmjSpaSZtSI4L+nO8TAJhs="},"url":"https://www.scribd.com/document/53691790/Capitulo-0"},"53821007":{"type":"document","id":53821007,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53821007/108x144/8a2941e56c/1372552300?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53821007/216x288/6edad3ab03/1372552300?v=1","title":"Tutorial de Java","short_title":"Tutorial de Java","author":"Jorge Bracca","tracking":{"object_type":"document","object_id":53821007,"track":"flattened_recommender","doc_uuid":"zylIe6ATvndsUafLp3jm4FP+ryc="},"url":"https://www.scribd.com/document/53821007/Tutorial-de-Java"},"56781709":{"type":"document","id":56781709,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/56781709/108x144/b2c293dea4/1351042013?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/56781709/216x288/3c6a792195/1351042013?v=1","title":"Caracteristicas de Java","short_title":"Caracteristicas de Java","author":"Ninci Serrano","tracking":{"object_type":"document","object_id":56781709,"track":"flattened_recommender","doc_uuid":"CgoMfRCeKPXuc0qItHpn8+o3jKk="},"url":"https://www.scribd.com/document/56781709/Caracteristicas-de-Java"},"66309322":{"type":"document","id":66309322,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/66309322/108x144/9f92fa7619/1334722425?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/66309322/216x288/135ab4ae16/1334722425?v=1","title":"ELEMENTOS DE PROGRAMACION","short_title":"ELEMENTOS DE PROGRAMACION","author":"Jimmy Rodriguez","tracking":{"object_type":"document","object_id":66309322,"track":"flattened_recommender","doc_uuid":"tI5B1sQgY0BNmSIXdZvxG2Eqd5U="},"url":"https://www.scribd.com/document/66309322/ELEMENTOS-DE-PROGRAMACION"},"109636894":{"type":"document","id":109636894,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109636894/108x144/e8e249dc3e/1349904109?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/109636894/216x288/b2ab6fcd90/1349904109?v=1","title":"Parametrizaciones MR","short_title":"Parametrizaciones MR","author":"AmIn20122","tracking":{"object_type":"document","object_id":109636894,"track":"flattened_recommender","doc_uuid":"FatMocTLbhJ/4in7BH4qDH0dXIU="},"url":"https://www.scribd.com/document/109636894/Parametrizaciones-MR"},"109764309":{"type":"document","id":109764309,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/108x144/e2e3b1b133/1422386648?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/216x288/b17273d04c/1422386648?v=1","title":"Info II Lenguaje de Programación","short_title":"Info II Lenguaje de Programación","author":"Francisco Jiménez Mendoza.","tracking":{"object_type":"document","object_id":109764309,"track":"flattened_recommender","doc_uuid":"mPSmoslov1WDWDEKubxPUHSEPQY="},"url":"https://www.scribd.com/presentation/109764309/Info-II-Lenguaje-de-Programacion"},"111517160":{"type":"document","id":111517160,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/111517160/108x144/535c41f7ed/1362571357?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/111517160/216x288/0a98897e1b/1362571357?v=1","title":"explicación de c++","short_title":"explicación de c++","author":"Michael Beltran","tracking":{"object_type":"document","object_id":111517160,"track":"flattened_recommender","doc_uuid":"pZ/C6/+lvcnbBgqiLjju7nqBw/I="},"url":"https://www.scribd.com/document/111517160/explicacion-de-c"},"124488292":{"type":"document","id":124488292,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/108x144/940fc5b87e/1397865317?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/216x288/69995525a4/1397865317?v=1","title":"1 - lenguaje C - Características generales Estrutura dun programa en C","short_title":"1 - lenguaje C - Características generales Estrutura dun programa en C","author":"Juan Elías Iglesias Leiro","tracking":{"object_type":"document","object_id":124488292,"track":"flattened_recommender","doc_uuid":"1Fycx0yvBZMJL6T9I+OLBL+e26Y="},"url":"https://www.scribd.com/document/124488292/1-lenguaje-C-Caracteristicas-generales-Estrutura-dun-programa-en-C"},"132334064":{"type":"document","id":132334064,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/108x144/6777146ab5/1403056172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/216x288/3ea926f01c/1403056172?v=1","title":"TAREA ALGORITMOS","short_title":"TAREA ALGORITMOS","author":"Gaddiel Ruiz","tracking":{"object_type":"document","object_id":132334064,"track":"flattened_recommender","doc_uuid":"kXBTfTN9G4oiFRZmxr/jj1bS+ns="},"url":"https://www.scribd.com/document/132334064/TAREA-ALGORITMOS"},"145700039":{"type":"document","id":145700039,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/108x144/a3b7e3c446/1437862030?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/216x288/1c7a9266ce/1437862030?v=1","title":"Tipos de Datos","short_title":"Tipos de Datos","author":"Xannya Salgado","tracking":{"object_type":"document","object_id":145700039,"track":"flattened_recommender","doc_uuid":"iYbu8OArsThi1Y71uqEwrg3PnDs="},"url":"https://www.scribd.com/document/145700039/Tipos-de-Datos"},"145939409":{"type":"document","id":145939409,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/108x144/3a8757d47d/1410071159?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/216x288/4f5c7f3320/1410071159?v=1","title":"Programación en Lenguaje C","short_title":"Programación en Lenguaje C","author":"Veruska San Miguel","tracking":{"object_type":"document","object_id":145939409,"track":"flattened_recommender","doc_uuid":"cD4TtjrxuKwml7Uc8Xb5rWnAJW8="},"url":"https://www.scribd.com/document/145939409/Programacion-en-Lenguaje-C"},"152582877":{"type":"document","id":152582877,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/108x144/cb9e21755c/1418751213?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/216x288/e34bf63dd4/1418751213?v=1","title":"estructura portafolio","short_title":"estructura portafolio","author":"Mabel Navarrete","tracking":{"object_type":"document","object_id":152582877,"track":"flattened_recommender","doc_uuid":"oniXOwrYb/9UmihyaTs1+XVb8Sc="},"url":"https://www.scribd.com/document/152582877/estructura-portafolio"},"181047083":{"type":"document","id":181047083,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/108x144/be8efb0bb1/1383426492?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/216x288/0e11081ef5/1383426492?v=1","title":"VALERIA FRANCO SANCHEZ SENA (1).docx","short_title":"VALERIA FRANCO SANCHEZ SENA (1).docx","author":"Valeria Franco","tracking":{"object_type":"document","object_id":181047083,"track":"flattened_recommender","doc_uuid":"qdSB2WUgB5/UpHUljjbVKIWNLxA="},"url":"https://www.scribd.com/document/181047083/VALERIA-FRANCO-SANCHEZ-SENA-1-docx"},"189438574":{"type":"document","id":189438574,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/189438574/108x144/4631cb6779/1431977115?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/189438574/216x288/38d6e1549f/1431977115?v=1","title":"Introducción al Lenguaje C++","short_title":"Introducción al Lenguaje C++","author":"Christopher Jesús Guerrero Carbajal","tracking":{"object_type":"document","object_id":189438574,"track":"flattened_recommender","doc_uuid":"qQMhw376FlhuqQZfBsr0nUCwvK8="},"url":"https://www.scribd.com/document/189438574/Introduccion-al-Lenguaje-C"},"198951966":{"type":"document","id":198951966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/108x144/493c39b3c7/1434075009?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/216x288/1885f13bf2/1434075009?v=1","title":"3AM-Informatica-ProgramacionI","short_title":"3AM-Informatica-ProgramacionI","author":"Eric Batther","tracking":{"object_type":"document","object_id":198951966,"track":"flattened_recommender","doc_uuid":"xbOUxCd4HhzgukdjIVkbSrs7qpM="},"url":"https://www.scribd.com/document/198951966/3AM-Informatica-ProgramacionI"},"238556602":{"type":"document","id":238556602,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/238556602/108x144/7b5ee4d690/1409767207?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/238556602/216x288/1ca7b7dcfb/1409767207?v=1","title":"Programación - Lenguaje - Computador","short_title":"Programación - Lenguaje - Computador","author":"Alexander Díaz","tracking":{"object_type":"document","object_id":238556602,"track":"flattened_recommender","doc_uuid":"Y1Rt3Pj6ERHJj7tdyz8Du9my6qc="},"url":"https://www.scribd.com/document/238556602/Programacion-Lenguaje-Computador"},"240502063":{"type":"document","id":240502063,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/108x144/a6dccdafd9/1411352807?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/216x288/ac8dfca799/1411352807?v=1","title":"Fortran2 Ele 1","short_title":"Fortran2 Ele 1","author":"Carrion Santos","tracking":{"object_type":"document","object_id":240502063,"track":"flattened_recommender","doc_uuid":"ERrDKJcnGbfoh6myORfvWK2YLQI="},"url":"https://www.scribd.com/document/240502063/Fortran2-Ele-1"},"242572211":{"type":"document","id":242572211,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/108x144/ed78426463/1412984491?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/216x288/01fb7eebfe/1412984491?v=1","title":"507101004.pdf","short_title":"507101004.pdf","author":"javicevallos","tracking":{"object_type":"document","object_id":242572211,"track":"flattened_recommender","doc_uuid":"TWPNDF7ydJbRVcDCmsQ21RjjLY0="},"url":"https://www.scribd.com/document/242572211/507101004-pdf"},"244321341":{"type":"document","id":244321341,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/244321341/108x144/2827ab8cdf/1414198895?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/244321341/216x288/7736e9916b/1414198895?v=1","title":"Lenguaje de programación.pdf","short_title":"Lenguaje de programación.pdf","author":"LeninValle","tracking":{"object_type":"document","object_id":244321341,"track":"flattened_recommender","doc_uuid":"lbGMRAzyhm3mhlNLfkMnz8qSRGA="},"url":"https://www.scribd.com/document/244321341/Lenguaje-de-programacion-pdf"},"250586500":{"type":"document","id":250586500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/108x144/611bbf9b40/1432501926?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/216x288/2b0e00c848/1432501926?v=1","title":"Programar en C","short_title":"Programar en C","author":"Ed Marti","tracking":{"object_type":"document","object_id":250586500,"track":"flattened_recommender","doc_uuid":"ouXSAZcMFR5w/mbW1jV+AAyftWI="},"url":"https://www.scribd.com/document/250586500/Programar-en-C"},"271255341":{"type":"document","id":271255341,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/108x144/278466de6e/1436628980?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/216x288/1ae53d53a1/1436628980?v=1","title":"Lenguaje de Programación 1","short_title":"Lenguaje de Programación 1","author":"RosalyMullisacaValencia","tracking":{"object_type":"document","object_id":271255341,"track":"flattened_recommender","doc_uuid":"RLtpk3kvIJ+v1Zcq3p2XJ/1zBf8="},"url":"https://www.scribd.com/document/271255341/Lenguaje-de-Programacion-1"},"288088959":{"type":"document","id":288088959,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/108x144/1e3508ae3d/1446380716?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/216x288/2d6e39aca9/1446380716?v=1","title":"Plan de Estudio","short_title":"Plan de Estudio","author":"Sebastian Sandon","tracking":{"object_type":"document","object_id":288088959,"track":"flattened_recommender","doc_uuid":"OjaZISSVCqqCyVSN1s+K79i9Wy4="},"url":"https://www.scribd.com/document/288088959/Plan-de-Estudio"},"299139643":{"type":"document","id":299139643,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/108x144/7e7cd2b3ff/1455335325?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/216x288/9b6249250c/1455335325?v=1","title":"Tipo de Dato Estructurado","short_title":"Tipo de Dato Estructurado","author":"Cristian Daniel","tracking":{"object_type":"document","object_id":299139643,"track":"flattened_recommender","doc_uuid":"5yLPRugZ7X8Gb/Ub3jCmvIiDfKU="},"url":"https://www.scribd.com/document/299139643/Tipo-de-Dato-Estructurado"},"317122326":{"type":"document","id":317122326,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/317122326/108x144/a2db4eb140/1467280718?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/317122326/216x288/521439a9d5/1467280718?v=1","title":"programacion java introduccion","short_title":"programacion java introduccion","author":"Koralae","tracking":{"object_type":"document","object_id":317122326,"track":"flattened_recommender","doc_uuid":"hIl87q4PyZctG7RpS4yD8wdtF/k="},"url":"https://www.scribd.com/document/317122326/programacion-java-introduccion"},"338399880":{"type":"document","id":338399880,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/338399880/108x144/750f0a4df2/1486221519?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/338399880/216x288/a2360364ef/1486221519?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Edwin Escalante Navarro","tracking":{"object_type":"document","object_id":338399880,"track":"flattened_recommender","doc_uuid":"zjpqYze3f5FELIb3p4h12VhrbwE="},"url":"https://www.scribd.com/document/338399880/Lenguaje-de-Programacion"},"339157780":{"type":"document","id":339157780,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/108x144/42ffad1dc6/1486950706?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/216x288/727a97fc3d/1486950706?v=1","title":"folleto-portainer","short_title":"folleto-portainer","author":"amra_26721","tracking":{"object_type":"document","object_id":339157780,"track":"flattened_recommender","doc_uuid":"Rx1VrniqocLkuyVSr+ldXyZWdsw="},"url":"https://www.scribd.com/document/339157780/folleto-portainer"},"344168853":{"type":"document","id":344168853,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/344168853/108x144/0b397e3532/1491416906?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/344168853/216x288/7c7fa2401c/1491416906?v=1","title":"bibliografia TGS","short_title":"bibliografia TGS","author":"amra_26721","tracking":{"object_type":"document","object_id":344168853,"track":"flattened_recommender","doc_uuid":"TtVteixi+wh2GC/FATxfCKvtHCg="},"url":"https://www.scribd.com/document/344168853/bibliografia-TGS"},"358290451":{"type":"document","id":358290451,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/358290451/108x144/52a95f973c/1504818172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/358290451/216x288/4c4d4d8878/1504818172?v=1","title":"Mexico Educativo","short_title":"Mexico Educativo","author":"amra_26721","tracking":{"object_type":"document","object_id":358290451,"track":"flattened_recommender","doc_uuid":"vlI9m/1tzVkoZwOAfVgwhZHwrgg="},"url":"https://www.scribd.com/document/358290451/Mexico-Educativo"},"360198661":{"type":"document","id":360198661,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/360198661/108x144/f800a776a0/1507075464?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/360198661/216x288/5fd42c0c8e/1507075464?v=1","title":"mamposteria_lared.pdf","short_title":"mamposteria_lared.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":360198661,"track":"flattened_recommender","doc_uuid":"yuxgZYKgC4WUX4pYbz0PGt050n8="},"url":"https://www.scribd.com/document/360198661/mamposteria-lared-pdf"},"363261500":{"type":"document","id":363261500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/108x144/ca2c355c05/1509596160?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/216x288/3f8da6bd28/1509596160?v=1","title":"manualconstruccion.pdf","short_title":"manualconstruccion.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363261500,"track":"flattened_recommender","doc_uuid":"Ccj4m+dqzewWzwkVVQxpws87ymU="},"url":"https://www.scribd.com/document/363261500/manualconstruccion-pdf"},"363269698":{"type":"document","id":363269698,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/108x144/d0a6944668/1509603414?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/216x288/cf3b9f0bf1/1509603414?v=1","title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","short_title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363269698,"track":"flattened_recommender","doc_uuid":"oJ4lzFS459+Tr0kWKcpGpt99TzA="},"url":"https://www.scribd.com/document/363269698/MANUAL-DETALLADO-PARA-PLANOS-ARQUITECTONICOS-Y-CONSTRUCTIVOS-PARA-TALLER-DE-CONSTRUCCION-pdf"},"363270090":{"type":"document","id":363270090,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/108x144/7db1d029da/1509603764?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/216x288/a4b6a43c38/1509603764?v=1","title":"TechosVerdes_Gernot Minke.pdf","short_title":"TechosVerdes_Gernot Minke.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363270090,"track":"flattened_recommender","doc_uuid":"1AkeY4TQVHAcymmFdUT6hhKtl/8="},"url":"https://www.scribd.com/document/363270090/TechosVerdes-Gernot-Minke-pdf"},"363270211":{"type":"document","id":363270211,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/108x144/d2d191ea03/1509603883?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/216x288/ca59b79d43/1509603883?v=1","title":"contenedores informatuca (2)","short_title":"contenedores informatuca (2)","author":"amra_26721","tracking":{"object_type":"document","object_id":363270211,"track":"flattened_recommender","doc_uuid":"xrxWRGoEaZHSb5/TMX3pwZ9bu8c="},"url":"https://www.scribd.com/document/363270211/contenedores-informatuca-2"},"366234931":{"type":"document","id":366234931,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/108x144/8c3550dca9/1512361624?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/216x288/d5df40e1df/1512361624?v=1","title":"Gestion Integral de La Costa","short_title":"Gestion Integral de La Costa","author":"amra_26721","tracking":{"object_type":"document","object_id":366234931,"track":"flattened_recommender","doc_uuid":"7sHVe/fe0C6C3lSOOyAMkH8dTDk="},"url":"https://www.scribd.com/document/366234931/Gestion-Integral-de-La-Costa"},"366612961":{"type":"document","id":366612961,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/108x144/933a95b639/1512688393?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/216x288/055fe6ea26/1512688393?v=1","title":"GUIA_PRACTICA_TELEDETECCION.pdf","short_title":"GUIA_PRACTICA_TELEDETECCION.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366612961,"track":"flattened_recommender","doc_uuid":"xvFJFITzOiGkk37fGbv6im6JjxI="},"url":"https://www.scribd.com/document/366612961/GUIA-PRACTICA-TELEDETECCION-pdf"},"366613051":{"type":"document","id":366613051,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613051/108x144/ada75372a1/1512688440?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366613051/216x288/eb49d8c4c4/1512688440?v=1","title":"Python.pdf","short_title":"Python.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613051,"track":"flattened_recommender","doc_uuid":"R5WqNcZhb7/jrNSNbhP48kgiENI="},"url":"https://www.scribd.com/document/366613051/Python-pdf"},"366613059":{"type":"document","id":366613059,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/108x144/66835d1bd9/1512688405?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/216x288/c6dbbb06da/1512688405?v=1","title":"clase1.pdf","short_title":"clase1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613059,"track":"flattened_recommender","doc_uuid":"NckDbXzHe4qDvjq9AfCr4mzCtko="},"url":"https://www.scribd.com/document/366613059/clase1-pdf"},"366613081":{"type":"document","id":366613081,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/108x144/3f6b043089/1512688446?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/216x288/0e9d015b47/1512688446?v=1","title":"TutorialPython2.pdf","short_title":"TutorialPython2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613081,"track":"flattened_recommender","doc_uuid":"nV8Kcd5JQx2epvvctIMQygbzzrU="},"url":"https://www.scribd.com/document/366613081/TutorialPython2-pdf"},"369856881":{"type":"document","id":369856881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/108x144/d9b4475ff8/1516771232?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/216x288/d5fae967c8/1516771232?v=1","title":"conteiners.pdf","short_title":"conteiners.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856881,"track":"flattened_recommender","doc_uuid":"AOPCih6qa/1Wv2z2VOcloCoO60U="},"url":"https://www.scribd.com/document/369856881/conteiners-pdf"},"369856910":{"type":"document","id":369856910,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/369856910/108x144/a8e0d4a6b0/1516771262?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856910/216x288/cb1bb054f7/1516771262?v=1","title":"01_FichaSeminario_modelos_hidraulicos.pdf","short_title":"01_FichaSeminario_modelos_hidraulicos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856910,"track":"flattened_recommender","doc_uuid":"EiCCKCsXUgsJ5CIg/AYU5f8W/9A="},"url":"https://www.scribd.com/document/369856910/01-FichaSeminario-modelos-hidraulicos-pdf"},"369857881":{"type":"document","id":369857881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/108x144/4a3723badf/1516771927?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/216x288/3c5dfac76b/1516771927?v=1","title":"Apuntesmaquinaria TP","short_title":"Apuntesmaquinaria TP","author":"amra_26721","tracking":{"object_type":"document","object_id":369857881,"track":"flattened_recommender","doc_uuid":"mDGtTcMZUy4+Yy/JrdMV3gEQ/zY="},"url":"https://www.scribd.com/document/369857881/Apuntesmaquinaria-TP"},"374152444":{"type":"document","id":374152444,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/108x144/41a48e5e1a/1521355785?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/216x288/9e5284c250/1521355785?v=1","title":"resueltos_b1_t1.pdf","short_title":"resueltos_b1_t1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152444,"track":"flattened_recommender","doc_uuid":"zOPj+gvwA6VxZVw6laSVNczxmvs="},"url":"https://www.scribd.com/document/374152444/resueltos-b1-t1-pdf"},"374152555":{"type":"document","id":374152555,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152555/108x144/ca9ee1fb53/1521356053?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152555/216x288/8b80dd7be3/1521356053?v=1","title":"cap2.pdf","short_title":"cap2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152555,"track":"flattened_recommender","doc_uuid":"ehFI+UGMDd+8IFAynrxmKL6W9+k="},"url":"https://www.scribd.com/document/374152555/cap2-pdf"},"374152585":{"type":"document","id":374152585,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/108x144/25dfaa3a3f/1521356029?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/216x288/c144480fe5/1521356029?v=1","title":"prinprog-teorico07.pdf","short_title":"prinprog-teorico07.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152585,"track":"flattened_recommender","doc_uuid":"iniZdYgPaP7serctYNl2wnS/h8Q="},"url":"https://www.scribd.com/document/374152585/prinprog-teorico07-pdf"},"374152735":{"type":"document","id":374152735,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152735/108x144/8435b79c0c/1521356263?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152735/216x288/76aefa774a/1521356263?v=1","title":"Programa Vigas Continuas","short_title":"Programa Vigas Continuas","author":"amra_26721","tracking":{"object_type":"document","object_id":374152735,"track":"flattened_recommender","doc_uuid":"n6aIsgfgrWu6veyxS4K8Nvk944A="},"url":"https://www.scribd.com/document/374152735/Programa-Vigas-Continuas"},"374465297":{"type":"document","id":374465297,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/108x144/5a2aab28d9/1521596166?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/216x288/c257b87791/1521596166?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Rafael Espinoza","tracking":{"object_type":"document","object_id":374465297,"track":"flattened_recommender","doc_uuid":"IzfxR5r/ibzGYhInT3kji8SLf5k="},"url":"https://www.scribd.com/document/374465297/Lenguaje-de-Programacion"},"375783270":{"type":"document","id":375783270,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/108x144/14d1aadd2f/1523142280?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/216x288/5d6159aa06/1523142280?v=1","title":"PrimerParcialEjsResueltos.pdf","short_title":"PrimerParcialEjsResueltos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375783270,"track":"flattened_recommender","doc_uuid":"VHXyDZ29kgzByjNl4nCe9LHwiK4="},"url":"https://www.scribd.com/document/375783270/PrimerParcialEjsResueltos-pdf"},"375783301":{"type":"document","id":375783301,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/108x144/6f02b4502b/1523142337?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/216x288/3ecea6008d/1523142337?v=1","title":"Ejercicio 1","short_title":"Ejercicio 1","author":"amra_26721","tracking":{"object_type":"document","object_id":375783301,"track":"flattened_recommender","doc_uuid":"uAGxCdU/bw2vRsXSrnj86GPReAw="},"url":"https://www.scribd.com/document/375783301/Ejercicio-1"},"375859776":{"type":"document","id":375859776,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859776/108x144/68a77d03bc/1523238319?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859776/216x288/f905b0fbab/1523238319?v=1","title":"Números Adimencionales","short_title":"Números Adimencionales","author":"amra_26721","tracking":{"object_type":"document","object_id":375859776,"track":"flattened_recommender","doc_uuid":"dOGQvSvYznUzb57HQpNFQopKmw0="},"url":"https://www.scribd.com/document/375859776/Numeros-Adimencionales"},"375859966":{"type":"document","id":375859966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859966/108x144/2345637718/1523238528?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859966/216x288/53f8409b80/1523238528?v=1","title":"Tarea 2 temas previos mecánica de fluidos","short_title":"Tarea 2 temas previos mecánica de fluidos","author":"amra_26721","tracking":{"object_type":"document","object_id":375859966,"track":"flattened_recommender","doc_uuid":"i5hTwkn3UfTwSTA6AR3j+xFOc/w="},"url":"https://www.scribd.com/document/375859966/Tarea-2-temas-previos-mecanica-de-fluidos"},"375862470":{"type":"document","id":375862470,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/108x144/16328ebcc0/1523240790?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/216x288/fd177d99df/1523240790?v=1","title":"Tarea 2.pdf","short_title":"Tarea 2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862470,"track":"flattened_recommender","doc_uuid":"Qw5EhqqCq5mlolXs6VGaqNqmQl0="},"url":"https://www.scribd.com/document/375862470/Tarea-2-pdf"},"375862652":{"type":"document","id":375862652,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862652/108x144/e4ed04c134/1523240949?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862652/216x288/01b0682e32/1523240949?v=1","title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","short_title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862652,"track":"flattened_recommender","doc_uuid":"XzURtZBlq28wj+TpJDrAueoTDaM="},"url":"https://www.scribd.com/document/375862652/OLEAJE-NORMAL-ATLOOM-TECOLUTLA-pdf"},"375862824":{"type":"document","id":375862824,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862824/108x144/45978e330e/1523241098?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862824/216x288/4c8acb43ff/1523241098?v=1","title":"Representación de Las Ondas de Gerstner","short_title":"Representación de Las Ondas de Gerstner","author":"amra_26721","tracking":{"object_type":"document","object_id":375862824,"track":"flattened_recommender","doc_uuid":"vColMQ8TDjGFrub4fx+WKT4sh3I="},"url":"https://www.scribd.com/document/375862824/Representacion-de-Las-Ondas-de-Gerstner"},"378234131":{"type":"document","id":378234131,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/378234131/108x144/12562becd1/1525488150?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/378234131/216x288/ccc192c6c6/1525488150?v=1","title":"Transferencia de Calor","short_title":"Transferencia de Calor","author":"amra_26721","tracking":{"object_type":"document","object_id":378234131,"track":"flattened_recommender","doc_uuid":"7mk8MEIhhUKxgt1jbqmkmwbFHX8="},"url":"https://www.scribd.com/document/378234131/Transferencia-de-Calor"},"380578352":{"type":"document","id":380578352,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/108x144/2e749cd2b3/1527698866?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/216x288/24cfde4e1d/1527698866?v=1","title":"mecanica fluidos temas alternos","short_title":"mecanica fluidos temas alternos","author":"amra_26721","tracking":{"object_type":"document","object_id":380578352,"track":"flattened_recommender","doc_uuid":"U4/nFf+f5QW9FaXE15PkcNUyWsY="},"url":"https://www.scribd.com/document/380578352/mecanica-fluidos-temas-alternos"},"381106304":{"type":"document","id":381106304,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/381106304/108x144/ddfc27db2f/1528247494?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/381106304/216x288/fd3bc10322/1528247494?v=1","title":"Campo de Aceleración","short_title":"Campo de Aceleración","author":"amra_26721","tracking":{"object_type":"document","object_id":381106304,"track":"flattened_recommender","doc_uuid":"Tg8AjOD6/oWDThR290CxXjRFJ4c="},"url":"https://www.scribd.com/document/381106304/Campo-de-Aceleracion"},"385965028":{"type":"document","id":385965028,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/108x144/81ee613ec9/1534027911?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/216x288/3c73bd013d/1534027911?v=1","title":"Gestión de Datos","short_title":"Gestión de Datos","author":"Majo Jiménez Gedeón","tracking":{"object_type":"document","object_id":385965028,"track":"flattened_recommender","doc_uuid":"9pMDw4ZH6CzCr9VwToR6OWdhK1I="},"url":"https://www.scribd.com/document/385965028/Gestion-de-Datos"}}},"seo_roadblock_props_path":"/doc-page/seo-roadblock-props/259291412","signup_context":null,"toolbar":{"search_path":"/search-4gen?allowed_pages=1%2C2%2C3&auth_token=PZrZtm4dr6g%2Bv1npBAcH%2FHMoheY%3D&authenticity_token=uQ92IFOSkSWaN%2BCkYa6mcTRf%2F9XwYneKzDvtXbgbNJX9u1NIbHq4XaXiDTtmzpuAM6KxbeHt9VWb28yq2e%2FGIA%3D%3D&expires=1538362651&wordDocumentId=259291412&wordUploadId=264052325"},"renewal_nag_props":null}-->
"). Para indicar al compilador que se trata de una constante. escribe("Introduce el radio: "). printf("\nDirección: C\ Mayor 25"). La directiva #define no sólo nos permite sustituir un nombre por un valor numérico. sinó también por una cadena de caracteres. de escape */ { printf("Me llamo ###BOT_TEXT###quot;Nemo###BOT_TEXT###quot; el grande").

7. Pablo M.Apuntes de Turbo ´C´ 3. #include <misfunc. # 6 . Ing..h> 4. 4.OPERADORES ARITMETICOS Y DE ASIGNACION A continuación se explican los tipos de operadores (aritméticos y de asignación) que permiten realizar operaciones matemáticas en lenguaje C. Indicándole al compilador la ruta donde se encuentra el fichero. Navarro Álvarez Pag. Para ello utilizamos la directiva #include. Indicando que se encuentran en el directorio por defecto del compilador. 1.1...h" 2. Para indicar al compilador que vamos a incluir ficheros externos podemos hacerlo de dos maneras (siempre antes de las declaraciones). <operador><variable>.Inclusión de Ficheros En la programación en C es posible utilizar funciones que no esten incluídas en el propio programa. que nos permite añadir librerías o funciones que se encuentran en otros ficheros a nuestro programa. #include "misfunc.Operadores aritméticos Existen dos tipos de operadores aritméticos: Los binarios: + * Suma Resta Multiplicación / % División Módulo y los unarios: ++ -- Incremento (suma 1) Decremento (resta 1) Cambio de signo Su sintaxis es: binarios: <variable1><operador><variable2> unarios: <variable><operador> y al revés.h" #include "c:\includes\misfunc.

r.1 = %d\n".b=2. printf("c . } Ing.a. expresiones del tipo: n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 Ejemplo. printf("b * 3 = %d".%d = %d\n".r). # 7 .a.a).Operadores de asignación La mayoría de los operadores aritméticos binarios explicados en el capítulo anterior tienen su correspondiente operador de asignación: = += -= *= /= %= Asignación simple Suma Resta Multiplicación División Módulo (resto) Con estos operadores se pueden escribir. printf("a + 5 = %d\n".c=3. r=c-a. printf("b + 1 = %d". de forma más breve. } 4. c-=1.Apuntes de Turbo ´C´ Ejemplo. Navarro Álvarez Pag. printf("%d . r=a+b.r).h> main() /* Realiza varias operaciones */ { int a=1. Pablo M.b).r. a+=5. printf("%d + %d = %d\n". b*=3./* Uso de los operadores de asignación */ #include <stdio.c.c=3. b++.b).2.c).h> main() /* Realiza varias operaciones */ { int a=1.b./* Uso de los operadores aritméticos */ #include <stdio..b=2.

caracteres y cadenas de texto por pantalla. Lo mismo ocurre con la suma y la resta.arg2. Si en una operación encontramos signos del mismo nivel de precedencia..z. dicha operación se realiza de izquierda a derecha.1. z=x+y.y.Apuntes de Turbo ´C´ 4. Navarro Álvarez Pag. % +. /. r=z-e. 2.Sentencia printf( ) La rutina printf permite la aparición de valores numéricos. En la cadena de control indicamos la forma en que se mostrarán los argumentos posteriores.. .Jerarquía de los Operadores Será importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos: () Mayor precedencia ++.r.x). printf("%d * %d = %d\n".d=2.y. Ing.a.arg1. } 5.x.d.b.z). 3.a*b+c/d-e).h> main() /* Realiza una operación */ { int a=6. 4. Ejemplo. printf("%d / %d = %d\n". El prototipo de la sentencia printf es el siguiente: printf(control. así como secuencias de escape...r. Pablo M.SALIDA / ENTRADA 5. printf("%d = %d".3. a*b resultado = x c/d resultado = y x+y resultado = z z-e Fijarse que la multiplicación se resuelve antes que la división ya que está situada más a la izquierda en la operación. # 8 .y). printf("%d + %d = %d\n".*. Menor precendencia Las operaciones con mayor precedencia se realizan antes que las de menor precedencia. A continuación se muestra un ejemplo sobre ello: a*b+c/d-e 1./* Jerarquía de los operadores */ #include <stdio.c=4.e=1. También podemos introducir una cadena de texto ( sin necesidad de argumentos ). x=a*b.x.b=5.. y=c/d. o combinar ambas posibilidades.).c.

. printf("Por tanto %d+%d=%d". por regla general.b. printf("Introduce tu edad: "). } 5. int edad.. El prototipo de la sentencia scanf es el siguiente: scanf(control. */ #include <stdio. } Ing. Al igual que en la sentencia printf los modificadores estarán formados por el caracter % seguido de un caracter de conversión. En la cadena de control indicaremos.&edad).. los modificadores que harán referencia al tipo de dato de los argumentos. scanf("%s". printf("Introduce tu nombre: ")./* Uso de la sentencia printf() 1. La principal característica de la sentencia scanf es que necesita saber la posición de la memoria del ordenador en que se encuentra la variable para poder almacenar la información obtenida. Ejemplo. Pablo M.b). las variables.b=10.a+b).2.). Los argumentos indicados serán.Apuntes de Turbo ´C´ En el caso de que utilicemos argumentos deberemos indicar en la cadena de control tantos modificadores como argumentos vayamos a presentar.h> main() /* Saca por pantalla una suma */ { int a=20. nuevamente. printf("El valor de a es %d\n". Navarro Álvarez Pag. Para indicarle esta posición utilizaremos el símbolo ampersand ( & ).h> main() /* Solicita dos datos */ { char nombre[10]. # 9 .arg2. que indica de que tipo de dato se trata. Ejemplo.arg1.a. printf("El valor de b es %d\n"./* Uso de la sentencia scanf(). que colocaremos delante del nombre de cada variable. */ #include <stdio. (Esto no será necesario en los arrays).a).nombre). El modificador está compuesto por el caracter % seguido por un caracter de conversión.Sentencia scanf( ) La rutina scanf permite entrar datos en la memoria del ordenador a través del teclado. scanf("%d".

Ing..ELSE Sintaxis: if (condición) sentencia. Otro formato: if (condición) sentencia1./* Uso de los operadores relacionales. Pablo M. */ #include <stdio. Si hay más de un operador se evalúan de izquierda a derecha.. En C existen seis operadores relacionales básicos: > < >= <= == != Mayor que Menor que Mayor o igual que Menor o igual que Igual que Distinto que El resultado que devuelven estos operadores es 1 para Verdadero y 0 para Falso. printf("Introduce el valor de A: "). else printf("A y B son iguales"). printf("Introduce el valor de B: ").1. scanf("%d"..&b). Ejemplo. else if(a<b) printf("B es mayor que A").. En caso contrario el programa sigue su curso sin ejecutar la sentencia. Además los operadores == y != están por debajo del resto en cuanto al orden de precedencia.h> main() /* Compara dos números entre ellos */ { int a. } 7. scanf("%d". La sentencia solo se ejecuta si se cumple la condición.SENTENCIAS CONDICIONALES Este tipo de sentencias permiten variar el flujo del programa en base a unas determinadas condiciones..OPERADORES RELACIONALES Los operadores relacionales se utilizan para comparar el contenido de dos variables.&a). Existen varias estructuras diferentes: 7.Estructura IF. # 10 .b. Navarro Álvarez Pag.Apuntes de Turbo ´C´ 6. if(a>b) printf("A es mayor que B"). else sentencia2.

else printf("Acceso denegado"). Con este formato el flujo del programa únicamente entra en una de las condiciones. else printf("Eres adulto"). Ejemplo. } Otro formato: if (condición) sentencia1. Navarro Álvarez Pag. else if (condición) sentencia3. Existe la posibilidad de utilizar llaves para ejecutar más de una sentencia dentro de la misma condición. Pablo M. else sentencia4. else if (edad<3) printf("Eres un bebé"). } Ing. else if (edad<13) printf("Eres un niño"). # 11 .")./* Uso de la sentencia condicional IF. niño o adulto */ { int edad.. scanf("%d".clave=18276. Ejemplo.h> main() /* Escribe bebé. se ejecuta la sentencia correspondiente y salta hasta el final de la estructura para continuar con el programa. el programa continuará a partir de la sentencia2. else if (condición) sentencia2./* Uso de la sentencia condicional ELSE. */ #include <stdio. sinó ejecutará la sentencia2. if(usuario==clave) printf("Acceso permitido").h> main() /* Simula una clave de acceso */ { int usuario. scanf("%d". Si una de ellas se cumple. */ #include <stdio.. printf("Introduce tu clave: ").&usuario).&edad).IF. if (edad<1) printf("Lo siento. En cualquier caso. te has equivocado.Apuntes de Turbo ´C´ Si se cumple la condición ejecutará la sentencia1. printf("Introduce tu edad: ").

printf("Introduce el día: "). de manera que según la opción seleccionada se ejecuten una serie de sentencias.. default: sentencias. Su sintaxis es: switch (variable) { case contenido_variable1: sentencias. break. break. case 3: printf("Miércoles"). break.Apuntes de Turbo ´C´ 7. case 6: printf("Sábado"). */ #include <stdio. switch(dia) { case 1: printf("Lunes")./* Uso de la sentencia condicional SWITCH. en caso de que la opción escogida no exista. Pablo M.2. default ejecutará las sentencias que incluya. } Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves. Navarro Álvarez Pag. break.Estructura SWITCH Esta estructura se suele utilizar en los menús.OPERADORES LOGICOS Los operadores lógicos básicos son tres: && || ! AND OR NOT (El valor contrario) Ing.&dia). break. Ejemplo. # 12 . scanf("%d". case 2: printf("Martes"). break. case 5: printf("Viernes"). case 7: printf("Domingo").. case 4: printf("Jueves"). break. case contenido_variable2: sentencias.h> main() /* Escribe el día de la semana */ { int dia. ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La variable evaluada sólo puede ser de tipo entero o caracter. } 8. break. break.

lógicos AND. Permiten unir expresiones lógicas simples formando otras más complejas. printf("Introduce un número: "). Con esta sentencia se controla la condición antes de entrar en el bucle. Pablo M. si en el interior del bucle hay más de una sentencia. 9. else if((numero<25)||(numero>100)) printf("El número no está entre 25 y 100"). Ing. éstas deberán ir entre llaves para que se ejecuten como un bloque.Sentencia WHILE Su sintaxis es: while (condición) sentencia. Naturalmente. if(!(numero>=0)) printf("El número es negativo").BUCLES Los bucles son estructuras que permiten ejecutar partes del código de forma repetida mientras se cumpla una condición. OPERANDOS AND V V F F V F V F OR V F F F V V V F Ejemplo./* Uso de los op.Apuntes de Turbo ´C´ Estos operadores actúan sobre expresiones lógicas.1. else if((numero<=100)&&(numero>=25)) printf("El número está entre 25 y 100").&numero). } 9.. Si ésta no se cumple.OR.h> main() /* Compara un número introducido */ { int numero.NOT.. scanf("%d". # 13 . Navarro Álvarez Pag. */ #include <stdio. Esta condición puede ser simple o compuesta de otras condiciones unidas por operadores lógicos. el programa no entrará en el bucle.

} } 9. el programa vuelve a ejecutar las sentencias del bucle...numero). Con esta sentencia se controla la condición al final del bucle..while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez..Apuntes de Turbo ´C´ Ejemplo. }while (condición).WHILE. Navarro Álvarez Pag.. Ejemplo.Sentencia DO. case '2':printf("Opción 2"). */ #include <stdio.. seleccion=getchar(). printf("4. while(numero<=10) { printf("%d\n".h> main() /* Escribe los números del 1 al 10 */ { int numero=1..Abrir\n").h> main() /* Muestra un menú si no se pulsa 4 */ { char seleccion. do{ printf("1./* Uso de la sentencia WHILE..Grabar\n"). Pablo M.Comenzar\n"). sentencia2./* Uso de la sentencia DO.WHILE Su sintaxis es: do{ sentencia1. case '3':printf("Opción 3"). */ #include <stdio. numero++. # 14 . La única diferencia entre las sentencias while y do. Ing.. printf("2. printf("3. break. break. printf("Escoge una opción: ").Salir\n"). switch(seleccion){ case '1':printf("Opción 1"). } } }while(seleccion!='4').2.. Si ésta se cumple..

condición.incremento){ sentencia1.num./* Uso de la sentencia FOR. printf("\n%d por %d = %d\n". for (x=0. Pablo M.result.b=100.4. GOTO. Si hay más. } La inicialización indica una variable (variable de control) que condiciona la repetición del bucle. Ing. printf("Introduce un número: ").x.x++){ result=num*x..&num). van separadas por comas: for (a=1.a!=b.h> main() /* Escribe la tabla de multiplicar */ { int num. Existe otra sentencia.a++. Y aquí termina el capítulo dedicado a los bucles.Sentencia CONTINUE Se utiliza dentro de un bucle.. # 15 ..3.Apuntes de Turbo ´C´ 9.5. Es una sentencia muy mal vista en la programación en 'C'.x<=10. que permite al programa saltar hacia un punto identificado con una etiqueta. Cuando el programa llega a una sentencia CONTINUE no ejecuta las líneas de código que hay a continuación y salta a la siguiente iteración del bucle.b.result). 9. sentencia2. pero el buen programador debe prescindir de su utilización.Sentencia FOR Su sintaxis es: for (inicialización. } } 9.x. scanf("%d".-){ El flujo del bucle FOR transcurre de la siguiente forma: <<dibujo>> Ejemplo. */ #include <stdio. Navarro Álvarez Pag.Sentencia BREAK Esta sentencia se utiliza para terminar la ejecución de un bucle o salir de una sentencia SWITCH.

Cuando el programa llega a una sentencia CONTINUE no ejecuta las líneas de código que hay a continuación y salta a la siguiente iteración del bucle. Existe otra sentencia. } } 9.numero). Ejemplo./* Uso de la sentencia CONTINUE.numero).h> main() /* Escribe del 1 al 100 menos el 25 */ { int numero=1. */ #include <stdio.5. } printf("%d\n"./* Uso de la sentencia CONTINUE.4. Navarro Álvarez Pag.h> main() /* Escribe del 1 al 100 menos el 25 */ { int numero=1. GOTO. continue. } printf("%d\n". continue. */ #include <stdio. 9. # 16 . Es una sentencia muy mal vista en la programación en 'C'. pero el buen programador debe prescindir de su utilización. numero++.Sentencia BREAK Esta sentencia se utiliza para terminar la ejecución de un bucle o salir de una sentencia SWITCH. Y aquí termina el capítulo dedicado a los bucles.Apuntes de Turbo ´C´ Ejemplo.. Pablo M.. que permite al programa saltar hacia un punto identificado con una etiqueta. while(numero<=100) { if (numero==25) { numero++. while(numero<=100) { if (numero==25) { numero++.Sentencia CONTINUE Se utiliza dentro de un bucle. } } Ing. numero++.

cada una de las cuáles tendrá una tarea determinada. */ #include <stdio. nombre_función: Es el nombre que le daremos a la función. tienen el mismo nombre. main() /* Escribe dos cifras */ { int num2=10.1.FUNCIONES 10./* Variables globales y locales. la función devolverá un valor de tipo entero ( int ). printf("%d\n".2. Al finalizar la función desaparecen de la memoria.num2). Ing. Dos variables locales pueden tener el mismo nombre siempre que estén declaradas en funciones diferentes.Tiempo de vida de los datos Según el lugar donde son declaradas puede haber dos tipos de variables. Ejemplo. } 10. Por defecto. Navarro Álvarez Pag. Si dos variables.Funciones Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas. Se crean al iniciarse éste y se destruyen de la memoria al finalizar. tipo y nombre de argumentos: Son los parámetros que recibe la función.Apuntes de Turbo ´C´ 10. la local prevalecerá sobre la global dentro de la función en que ha sido declarada. Pueden existir funciones que no reciban argumentos. El valor devuelto por la función será de este tipo... Globales: Las variables permanecen activas durante todo el programa.. Este valor se lo enviamos al hacer la llamada a la función. Locales: Las variables son creadas cuando el programa llega a la función en la que están definidas. Su sintaxis es: tipo_función nombre_función (tipo y nombre de argumentos) { bloque de sentencias } tipo_función: Puede ser de cualquier tipo de los que conocemos. si no indicamos el tipo.num1). printf("%d\n". Los argumentos de una función no son más que variables locales que reciben un valor. Si no queremos que retorne ningún valor deberemos indicar el tipo vacío ( void ). es decir.h> int num1=1. Pablo M. una global y una local. # 17 . Pueden ser utilizadas en cualquier función.

} 10. funcion(). Por tanto la función escribirá los números 10 y 5.num). el valor se perderá. La forma de retornar un valor es la siguiente: return ( valor o expresión ). ésta tendrá preferencia sobre la global.Apuntes de Turbo ´C´ bloque de sentencias: Es el conjunto de sentencias que serán ejecutadas cuando se realice la llamada a la función.h> void funcion(void).. Ya en la función main encontramos una variable local llamada num. /* prototipo */ int num=5. Las funciones pueden ser llamadas desde la función main o desde otras funciones.. Ejemplo. De lo contrario. Pablo M. Esta variable es reconocible en todas las funciones del programa. 10. está declarada como void en ambos lados. /* llamada */ } void funcion(void) { printf("%d\n". Esto es lo que se conoce como prototipo de una función. Al no recibir ni retornar ningún valor. Por último recalcar que los argumentos de la función y sus variables locales se destruirán al finalizar la ejecución de la misma./* Declaración de funciones. las funciones también han de ser declaradas. # 18 . Los prototipos de las funciones pueden escribirse antes de la función main o bién en otro fichero. En este último caso se lo indicaremos al compilador mediante la directiva #include.Declaración de las funciones Al igual que las variables. las funciones pueden retornar un valor. */ #include <stdio. Al ser una variable local. Esto se hace mediante la instrucción return. También vemos que existe una variable global llamada num. Para que un programa en C sea compatible entre distintos compiladores es imprescindible escribir los prototipos de las funciones. Ing. Navarro Álvarez Pag.4. devolviendo o no un valor.Paso de parámetros a una función Como ya hemos visto. El valor devuelto por la función debe asignarse a una variable.3. que finaliza la ejecución de la función. /* variable global */ main() /* Escribe dos números */ { int num=10. En una misma función podemos tener más de una instrucción return. En el ejemplo adjunto podremos ver la declaración de una función ( prototipo ). Nunca se debe llamar a la función main desde otro lugar del programa.num). /* variable local */ printf("%d\n".

t=suma(a.h> int suma(int.int). Cualquier modificación SI afectará a las variables utilizadas en la llamada. main() /* Intercambio de valores */ { int a=1.h> void intercambio(int. /* guardamos el valor */ printf("%d=%d". # 19 . intercambio(a. no con el original. Es como si trabajaramos con una copia. Ejemplo.Apuntes de Turbo ´C´ En el ejemplo puedes ver lo que ocurre si no guardamos el valor en una variable. /* llamada */ printf("a=%d y b=%d".suma(a.b). */ #include <stdio. No es posible enviar por valor arrays. Navarro Álvarez Pag./* Paso de parámetros.a. Fíjate que a la hora de mostrar el resultado de la suma.int b) { return (a+b).b). Por referencia: lo que hacemos es enviar a la función la dirección de memoria donde se encuentra la variable o dato. /* prototipo */ main() /* Realiza una suma */ { int a=10.b=25. Ejemplo. } Ahora veremos lo que se conoce como paso de parámetros. NO afectará al valor original de las variables utilizadas en la llamada.t. en el printf. } Ing. también podemos llamar a la función. deberemos hacerlo por referencia. Pablo M.a. /* el valor se pierde */ } int suma(int a. Trabajamos directamente con el original.b). Existen dos formas de enviar parámetros a una función: Por valor: cualquier cambio que se realice dentro de la función en el argumento enviado. printf("a=%d y b=%d". */ #include <stdio.t)./* Paso por valor.int).b=2.b).b). suma(a.b).

Ing.b).b=2.a.int y) { int aux. la función main no podía ser menos y también puede recibir argumentos. Ejemplo.x. } Los argumentos de la función main Ya hemos visto que las funciones pueden recibir argumentos.*x. y=aux. En el ejemplo anterior podrás comprobar que antes y después de la llamada. /* llamada */ printf("a=%d y b=%d".y). */ #include <stdio.*y). printf("a=%d y b=%d". aux=*x. Pues bién. Esto le indica al compilador que la función que se ejecutará tendra que obtener la dirección de memoria en que se encuentra la variable. Navarro Álvarez Pag. Vamos a fijarnos en los ejemplos. aux=x. } void intercambio (int *x. # 20 . printf("a=%d y b=%d".a. Solamente se modifica en la función intercambio ( paso por valor ). En el siguiente ejemplo podrás ver como las variables intercambian su valor tras la llamada de la función ( paso por referencia )./* Paso por referencia. en este caso desde el exterior. *x=*y. *y=aux.Apuntes de Turbo ´C´ void intercambio (int x.int *).h> void intercambio(int *. el único dato en 'C' que puede almacenar una dirección de memoria. printf("a=%d y b=%d". x=y.b). Pablo M.int *y) { int aux. main() /* Intercambio de valores */ { int a=1. } Para enviar un valor por referencia se utiliza el símbolo & ( ampersand ) delante de la variable enviada. Las variables con un * son conocidas como punteros. intercambio(&a.&b). las variables mantienen su valor.

En el ejemplo puedes observar que la variable i es utilizada como índice. exit(1).Copyright (c) 1997-2001. # 21 . printf("Programa de ejemplo.h> main(int argc.Vectores Un vector es un array unidimensional. podremos crear un conjunto de datos de ese tipo y utilizar uno u otro con sólo cambiar el índice que lo referencia. /* fin */ } printf("Hola %s". contando el nombre del programa que es el primer argumento. /* Argumentos de la main. sólo utiliza un índice para referenciar a cada uno de los elementos. El tipo puede ser cualquiera de los ya conocidos y el tamaño indica el número de elementos del vector (se debe indicar entre corchetes [ ]). Ejemplo./* Declaración de un array.char *argv[]) /* argumentos */ { printf("\nCurso de Programación en C .\n\n").argv[1]). if (argc<2) { printf("Teclee: funcion6 su_nombre"). Su valor es igual al número de argumentos escritos en la línea de comandos. argv: es un puntero a un array de cadenas de caracteres que contiene los argumentos. En C los arrays comienzan por la posición 0. Como ves. Sergio Pacho\n"). 11.ARRAYS Un array es un identificador que referencia un conjunto de datos del mismo tipo.9 */ Ing. */ #include <stdio.. Su declaración será: tipo nombre [tamaño]. las posiciones van de 0 a 9 (total 10 elementos). Pablo M.Apuntes de Turbo ´C´ Los argumentos que puede recibir son: argc: es un contador. } 11. Imagina un tipo de dato int. uno por cadena.. Navarro Álvarez Pag. */ #include <stdio. el primer for sirve para rellenar el vector y el segundo para visualizarlo.h> main() /* Rellenamos del 0 . es decir. En este ejemplo vamos a ver un pequeño programa que escribirá un saludo por pantalla. El índice será un valor entero y positivo.1.

i<19 && cadena[i-1]!=13.i. Pablo M. En caso contrario tenemos el else. Si lo hacemos así no es necesario indicar el tamaño.'g'. Ing. char vector[]="programador".i<10. valor 2. Ejemplo.i++) cadena[i]=getche( ).Que no se hayan rellenado todos los elementos (i<19). Ahora veremos un ejemplo de como se rellena un vector de tipo char..2.3. que se encuentra en conio. Esta función permite la entrada de un caracter por teclado.'d'.. */ #include <stdio. que asigna el caracter nulo al elemento que almacenó el caracter ENTER.cadena). char vector[]={'p'. que comprueba si se ha rellenado todo el vector. Si es cierto.7. cuyo código ASCII es 13.Que el usuario no haya pulsado la tecla ENTER.'a'.5.Apuntes de Turbo ´C´ { int vector[10]. es que deberemos indicar en que elemento se encuentra el fin de la cadena mediante el caracter nulo (###BOT_TEXT###).6.8}. debemos asignar el caracter nulo a vector[5]. } Podemos ver que en el for se encuentran dos condiciones: 1. # 22 . hasta vector[8]. printf("\n%s". es decir. (cadena[x-i]!=13).'o'.h> main() /* Rellenamos un vector char */ { char cadena[20]. Por tanto.4. hasta vector[4].'a'.'m'.'r'}. Su sintaxis es: Ejemplos: tipo nombre []={ valor 1. if (i==19) cadena[i]='###BOT_TEXT###'. Una particularidad con los vectores de tipo char (cadena de caracteres)./* Vector de tipo char. for (i=0. int i.'r'.'o'. Después se encuentra un if. else cadena[i-1]='###BOT_TEXT###'. Navarro Álvarez Pag. También podemos observar una nueva función llamada getche( ). 2. .. } Podemos inicializar (asignarle valores) un vector en el momento de declararlo. for (i=0. Si sólo rellenamos los 5 primeros.'r'. en un vector de 10 elementos de tipo char podremos rellenar un máximo de 9. Esto no lo controla el compilador. coloca el caracter nulo en el elemento nº20 (cadena[19]).h..i<10.i++) printf(" %d".vector[i]). for (i=0.} int vector[]={1. y tendremos que ser nosotros los que insertemos este caracter al final de la cadena. Es muy sencillo: vector[5]='###BOT_TEXT###'.i++) vector[i]=i.

Navarro Álvarez Pag.i. */ #include <stdio.2. Ejemplo. Una matriz bidimensional se podría representar gráficamente como una tabla con filas y columnas. 11. La matriz tridimensional se utiliza. aunque funciona exactamente igual: Declaración O Prototipo void visualizar(int *). el argumento de la función deberá ser un puntero.Apuntes de Turbo ´C´ En resumen: al declarar una cadena deberemos reservar una posición más que la longitud que queremos que tenga dicha cadena. } En el ejemplo se puede apreciar la forma de enviar un array por referencia. Se definen igual que los vectores excepto que se requiere un índice por cada dimensión. En el ejemplo puedes ver como se rellena y visualiza una matriz bidimensional.2. Su sintaxis es la siguiente: tipo nombre [tamaño 1][tamaño 2]. /* prototipo */ main() /* rellenamos y visualizamos */ { int array[25]. scanf("%d".Llamadas a funciones con arrays Como ya se comentó en el tema anterior.i++) printf("%d".Matrices Una matriz es un array multidimensional.. } visualizar(&array[0]). La función se podía haber declarado de otra manera. Para ello deberemos enviar la dirección de memoria del primer elemento del array..i+1)..i<25. } void visualizar(int array[]) /* desarrollo */ { int i. los arrays únicamente pueden ser enviados a una función por referencia. for (i=0. # 23 ./* Envío de un array a una función. para trabajos gráficos con objetos 3D. Se necesitan Ing. Pablo M. for (i=0.i++) { printf("Elemento nº %d".array[i]). Por tanto.&array[i]).h> void visualizar(int []). por ejemplo. Desarrollo De La Función void visualizar(int *array) 11..i<25..

i++) scanf("%d". naturalmente.. Ing. */ #include <stdio.&numeros[x][i]).x++) for (i=0. } Si al declarar una matriz también queremos inicializarla.dias[i]). 12. Se utilizan para pasar información entre una función y sus puntos de llamada.Declaración Su sintaxis es la siguiente: tipo *nombre."jueves".10. Un bucle controla las filas y otro las columnas.12}."sábado".i<4.9. Ejemplo.11.PUNTEROS Un puntero es una variable que contiene la dirección de memoria de otra variable.2.i++) printf("%d".i.x<3. /* rellenamos la matriz */ for (x=0./* Matriz bidimensional.6. Para referirnos a cada palabra bastaría con el primer índice: printf("%s".x++) for (i=0.h> main() /* Rellenamos una matriz */ { int x.1."martes". /* visualizamos la matriz */ for (x=0.3.8. 12."domingo"}.Apuntes de Turbo ´C´ dos bucles para cada una de las operaciones. Veamos algunos ejemplos: int numeros[3][4]={1. el nombre de la variable.. # 24 . Donde nombre es.7.numeros[3][4].x<3.i<4. y tipo es el tipo del elemento cuya dirección almacena el puntero. Pablo M. habrá que tener encuenta el orden en el que los valores son asignados a los elementos de la matriz.numeros[x][i]). Navarro Álvarez Pag."miércoles".4. quedarían asignados de la siguiente manera: numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4 numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8 numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12 También se pueden inicializar cadenas de texto: char dias[7][10]={"lunes"."viernes".5.

si queremos guardar en el puntero x la dirección de memoria de la variable num. El programa ejemplo mostrará las direcciones contenidas en p1 y p2. Por ejemplo. Si tenemos un puntero ( p1 ) de tipo int ( 2 bytes ). Pablo M. de distinto tipo... resta. p2=p1. deberemos hacer lo siguiente: x=&num./* Asignaciones de punteros.h> main() /* Asignamos direcciones */ { int a. en la variable a: a=*x. # 25 .. es decir num. Ing.-). -. Ejemplo. ++.1.ESTRUCTURAS 13.Asignación Los punteros se asignan igual que el resto de las variables.. ya que están especialmente indicadas para el trabajo con registros o fichas. Su utilización más habitual es para la programación de bases de datos. apuntando a la posición 30000 y hacemos: p1=p1+5. agrupadas bajo un mismo nombre para que su manejo sea más sencillo. 13. */ #include <stdio. porque apunta 5 enteros por encima ( 10 bytes más ). int *p1. 12.4. } 12. el puntero almacenará la posición 30010. printf("%p %p".2. que será la misma en ambos punteros. El primero devuelve la dirección de memoria de su operando.p1.Apuntes de Turbo ´C´ 12.p2). incremento y decremento (+.*p2. p1=&a.3.Concepto de estructura Una estructura es un conjunto de una o más variables.. . Navarro Álvarez Pag. Para ello podemos usar los operadores de suma.Aritmética de direcciones Es posible desplazar un puntero recorriendo posiciones de memoria. El segundo devuelve el valor de la variable cuya dirección es contenida por el puntero. Este ejemplo sitúa el contenido de la variable apuntada por x.Operadores Existen dos operadores especiales para trabajar con punteros: & y *.

Apuntes de Turbo ´C´ La sintaxis de su declaración es la siguiente: struct tipo_estructura { tipo_variable nombre_variable1. tipo_variable nombre_variable3. La forma de acceder a estos campos es la siguiente: variable. El problema del segundo método es que no podremos declarar más variables de este tipo a lo largo del programa. char apellidos[40]. char apellidos[40]. char puesto[10]. Se debe declarar antes de la función main. tipo_variable nombre_variable2. Lo veremos mejor con un ejemplo basado en la estructura del capítulo 13. temporal. Para poder declarar una variable de tipo estructura. int edad. # 26 . Otra forma: struct trabajador { char nombre[20]. aunque las dos más utilizadas son éstas: Una forma de definir la estructura: struct trabajador { char nombre[20]. Lo que estamos haciendo es almacenar el valor 25 en el campo edad de la variable temporal de tipo trabajador. }fijo. Por último. y campo es el nombre de la variable que forma parte de la estructura. int edad.1: temporal.campo. temporal. las declaramos. Pablo M. El manejo de las estructuras es muy sencillo. así como el acceso a los campos (o variables) de estas estructuras. struct trabajador fijo. y en el momento en que necesitamos las variables.edad=25. Donde tipo_estructura es el nombre del nuevo tipo de dato que hemos creado. Navarro Álvarez Pag. }. la estructura tiene que estar declarada previamente. En el primer caso declaramos la estructura. }. tipo_variable y nombre_variable son las variables que forman parte de la estructura. char puesto[10]. Ing. Donde variable es el nombre de la variable de tipo estructura que hemos creado. En el segundo las declaramos al mismo tiempo que la estructura. Para definir variables del tipo que acabamos de crear lo podemos hacer de varias maneras.

6. Al igual que con los otros tipos de datos. struct notas alumno={"Carlos Pérez". }. # 27 . Después declararíamos la variable fijo y su llamada sería: visualizar(fijo). void visualizar(struct trabajador).7."Hernández Suárez". Ing.9. int edad./* Paso de una estructura por valor. 32. Por último.. también es posible inicializar variables de tipo estructura en el momento de su declaración: struct trabajador fijo={"Pedro".{8. "gerente"}.Estructuras y funciones Podemos enviar una estructura a una función de las dos maneras conocidas: 1. int notas[5]. 13. los valores de la inicialización deberán ir entre llaves: struct notas { char nombre[30]. char puesto[10]. Navarro Álvarez Pag.h> struct trabajador { char nombre[20]. */ #include <stdio.2. Si uno de los campos de la estructura es un array de números. Pablo M.. el desarrollo de la función sería: void visualizar(struct trabajador datos) Ejemplo. }.10}}. siempre que sean del mismo tipo naturalmente: fijo=temporal.Apuntes de Turbo ´C´ Otra característica interesante de las estructuras es que permiten pasar el contenido de una estructura a otra.Por valor: su declaración sería: void visualizar(struct trabajador). char apellidos[40].

h> struct trabajador { char nombre[20]. Ing.puesto).fijo. printf("\nEdad: %d". main() /* Rellenar y visualizar */ { struct trabajador fijo.nombre).datos. } 2.datos. # 28 .puesto). } void visualizar(struct trabajador datos) { printf("Nombre: %s". el desarrollo de la función será: void visualizar(struct trabajador *datos) Fíjate que en la función visualizar. Por último. }.datos. printf("\nPuesto: "). Después declararemos la variable fijo y su llamada será: visualizar(&fijo). Se consigue con el signo menos seguido de mayor que.nombre). printf("\nEdad: ").&fijo.fijo.apellidos).apellidos). printf("Nombre: "). void visualizar(struct trabajador *).Por referencia: su declaración sería: void visualizar(struct trabajador *).. printf("Nombre: "). scanf("%s". visualizar(fijo).edad).datos./* Paso de una estructura por referencia. Ejemplo. char puesto[10]. scanf("%s". Navarro Álvarez Pag.edad). el acceso a los campos de la variable datos se realiza mediante el operador ->. ya que tratamos con un puntero. printf("\nPuesto: %s". scanf("%d". int edad. printf("\nApellidos: %s". printf("\nApellidos: "). scanf("%s". */ #include <stdio. Pablo M.Apuntes de Turbo ´C´ main() /* Rellenar y visualizar */ { struct trabajador fijo. char apellidos[40]. En estos casos siempre utilizaremos el operador ->.fijo.

b=3.46}}. Así podremos almacenar los datos de 20 trabajadores. Navarro Álvarez Pag.29}.4.. visualizar(&fijo).Apuntes de Turbo ´C´ } scanf("%s". printf("\nEdad: ").nombre[2].puesto). char apellidos[40]. Ejemplos sobre como acceder a los campos y sus elementos: para ver el nombre del cuarto trabajador..datos->puesto). } 13. fijo[3]. fijo[3].Typedef Es posible agrupar un conjunto de elementos de tipo estructura en un array.datos->apellidos). Para inicializar la variable en el momento de declararla lo haremos de esta manera: struct trabajador fijo[20]={{"José". /* declaramos dos variables de este tipo */ Su empleo con estructuras está especialmente indicado. printf("\nApellidos: %s". void visualizar(struct trabajador *datos) { printf("Nombre: %s". /* acabamos de crear un tipo de dato llamado entero */ entero a."Herrero Martínez". Ejemplos: typedef int entero."García Sánchez".nombre).datos->nombre).fijo.3.Arrays de estructuras Es posible agrupar un conjunto de elementos de tipo estructura en un array. scanf("%d".&fijo. Pablo M.nombre.{"Luis".fijo. printf("\nEdad: %d".. printf("\nPuesto: "). Esto se conoce como array de estructuras: El lenguaje 'C' dispone de una declaración llamada typedef que permite la creación de nuevos tipos de datos. scanf("%s". Esto se conoce como array de estructuras: struct trabajador { char nombre[20]. # 29 .edad). scanf("%s". struct trabajador fijo[20]. printf("\nPuesto: %s".fijo. printf("\nApellidos: "). 13.datos->edad). }.apellidos). Para ver la tercera letra del nombre del cuarto trabajador.. Se puede hacer de varias formas: Ing. int edad.

Ing. }. Un archivo puede ser abierto en dos modos diferentes. Otra forma: typedef struct { char nombre[20].Apuntes de Turbo ´C´ Una forma de hacerlo: struct trabajador { char nombre[20]. Este nombre debe ir encerrado entre comillas."w").. }datos. char apellidos[40]. 14. Su sintaxis es: FILE *puntero.FICHEROS Ahora veremos la forma de almacenar datos que podremos recuperar cuando deseemos. puntero = fopen ( nombre del fichero. con el que trabajaremos durante todo el proceso. int edad. # 30 . typedef struct trabajador datos. Algunos ejemplos: puntero=fopen("DATOS. "modo de apertura" ).1. así como las funciones para leer y escribir en él.Apertura Antes de abrir un fichero necesitamos declarar un puntero de tipo FILE. Donde puntero es la variable de tipo FILE. en modo texto o en modo binario. Navarro Álvarez Pag.TXT"."r"). char apellidos[40]. datos fijo.temporal. A continuación lo veremos con más detalle. También podemos especificar la ruta donde se encuentra o utilizar un array que contenga el nombre del archivo (en este caso no se pondrán las comillas). Para abrir el fichero utilizaremos la función fopen( ). datos fijo.DAT". Estudiaremos los distintos modos en que podemos abrir un fichero.. int edad.temporal. Pablo M. 14. puntero=fopen("C:\TXT\SALUDO. nombre del fichero es el nombre que daremos al fichero que queremos crear o abrir.

crea un fichero de lectura y escritura.3. abre un fichero de lectura.2.Apuntes de Turbo ´C´ Modo texto w w+ a a+ r r+ crea un fichero de escritura. Por esta razón es mejor controlar las posibles causas de error a la hora de programar.Escritura y lectura Ing... Un ejemplo ilustrativo aunque de poca utilidad: FILE *pf. freopen( ) Esta función cierra el fichero apuntado por el puntero y reasigna este puntero a un fichero que será abierto. Si al intentar abrir el fichero se produjese un error ( por ejemplo si no existe y lo estamos abriendo en modo lectura ). abre o crea un fichero para añadir datos al final del mismo. abre un fichero de lectura.DAT". 14. Si ya existe lo crea de nuevo. 14. Los ficheros se cierran al finalizar el programa pero el número de estos que pueden estar abiertos es limitado. if ( pf == NULL ) printf ("Error al abrir el fichero").txt". Si ya existe lo crea de nuevo. Modo binario wb w+b ab a+b rb r+b crea un fichero de escritura. como ya hemos visto. cuyo puntero le indicamos como parámetro."modo de apertura". Si el fichero se cierra con éxito devuelve 0. abre o crea un fichero para leer y añadir datos al final del mismo. Donde nombre del fichero es el nombre del nuevo fichero que queremos abrir. luego el modo de apertura. Pablo M. # 31 . fclose(puntero)..Cierre Una vez que hemos acabado nuestro trabajo con un fichero es recomendable cerrarlo."r"). pf=fopen("datos. Esta función cierra el fichero. abre un fichero de lectura y escritura.puntero). Un ejemplo: FILE *pf. else fclose(pf). Si ya existe lo crea de nuevo. Para cerrar los ficheros utilizaremos la función fclose( ). Si ya existe lo crea de nuevo. if (pf == NULL) printf("Error al abrir el fichero")."rb"). Navarro Álvarez Pag. un puntero de tipo FILE. Su sintaxis es: freopen(nombre del fichero. crea un fichero de lectura y escritura. abre o crea un fichero para leer y añadir datos al final del mismo. La función fopen devuelve. la función fopen devolvería NULL. pf=fopen("AGENDA. abre un fichero de lectura y escritura. y finalmente el puntero que va a ser reasignado. abre o crea un fichero para añadir datos al final del mismo.

/* abandonamos el programa */ } else { fputw(num. int num=3. Un caracter fputc( variable_caracter . Ejemplo: FILE *pf. Pablo M. exit(0).txt".txt"."w"))) /* otra forma de controlar si se produce un error */ { printf("Error al abrir el fichero").pf). puntero_fichero ). fclose(pf). exit(0). fclose(pf). char letra='a'.txt"."wb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). # 32 . if (!(pf=fopen("datos. Deberemos guardarlo en una variable. exit(0). puntero_fichero ). Un ejemplo: FILE *pf. Escribimos un caracter en un fichero ( abierto en modo escritura ). Navarro Álvarez Pag. /* también directamente: fputw(3. Escribe un número entero en formato binario en el fichero. printf("%c". char letra. } getw( puntero_fichero ).pf). Lee un caracter de un fichero ( abierto en modo lectura ).letra).pf). Un ejemplo: FILE *pf."r"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). if (!(pf=fopen("datos.^b fgetc( puntero_fichero ).Apuntes de Turbo ´C´ A continuación veremos las funciones que se podrán utilizar dependiendo del dato que queramos escribir y/o leer en el fichero. } Un número entero putw( variable_entera. Ing. /* abandonamos el programa */ } else { letra=fgetc(pf). /* abandonamos el programa */ } else fputc(letra. if (!(pf=fopen("datos. */ fclose(pf).

pf). avanzando dos bytes después de cada lectura.cad). Lee una cadena de caracteres del fichero y la almacena en variable_array. /* o también así: fputs("Me llamo Vicente". char cad[80]."w"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). /* abandonamos el programa */ } else { fgets(cad. char cad="Me llamo Vicente".pf). exit(0). Ejemplo: FILE *pf. if (!(pf=fopen("datos. Pablo M.txt". Navarro Álvarez Pag. fclose(pf). exit(0). } Una cadena de caracteres fputs( variable_array. La variable_entera indica la longitud máxima de caracteres que puede leer. # 33 . /* abandonamos el programa */ } else { fputs(cad. Un ejemplo: FILE *pf.pf). puntero_fichero ).txt". printf("%d". int num.Apuntes de Turbo ´C´ Lee un número entero de un fichero. if (!(pf=fopen("datos. printf("%s". } Con formato Ing. fclose(pf). } fgets( variable_array. exit(0). Un ejemplo: FILE *pf. variable_entera.80."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero").txt".num)."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). puntero_fichero ). Escribe una cadena de caracteres en el fichero. /* abandonamos el programa */ } else { num=getw(pf). if (!(pf=fopen("datos. */ fclose(pf).

nombre. fread( *buffer."w"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero"). en el archivo IMAGECAT. formato."%20s%2d\n"."rb"))) /* controlamos si se produce un error */ { printf("Error al abrir el fichero").edad). Se utiliza para leer bloques de texto o de datos de un fichero. /* abandonamos el programa */ } else { fprintf(pf. if (!(pf=fopen("datos. nº de veces.&edad). char nombre[20]. fclose(pf). int edad. puntero_fichero ). /* abandonamos el programa */ } else { fscanf(pf. En esta función. *buffer es la dirección de memoria en la que se almacenan los datos. puntero_fichero ). Se trata de un programa que crea un catálogo Ing. será el número de elementos del tamaño indicado que se leerán. Pablo M.nombre. int edad=34. Al igual que con un scanf.txt".C. el tamaño en bytes que ocupan esos datos y nº de veces. en un fichero. # 34 . el tamaño en bytes que ocupan esos datos y nº de veces. Se utiliza para escribir bloques de texto o de datos. En esta función. Funciona igual que un printf pero guarda la salida en un fichero. *buffer será la dirección de memoria de la cuál se recogerán los datos. tamaño. tamaño. así como de la lectura y escritura de datos. } Estructuras fwrite( *buffer. Lee los argumentos del fichero. fclose(pf).nombre.txt". exit(0). será el número de elementos del tamaño indicado que se escribirán."%20s%2d###BOT_TEXT###quot;. nº de veces. formato. tamaño. argumentos ).Apuntes de Turbo ´C´ fprintf( puntero_fichero. argumentos). printf("Nombre: %s Edad: %d". estructuras. Puedes encontrar ejemplos sobre la apertura y cierre de ficheros. } fscanf( puntero_fichero.edad). exit(0). tamaño. if (!(pf=fopen("datos. Ejemplo: FILE *pf. deberemos indicar la dirección de memoria de los argumentos con el símbolo & ( ampersand ). Navarro Álvarez Pag. Un ejemplo: FILE *pf. char nombre[20]="Santiago".

Para este fin disponemos de la función feof( ). Ing. Pablo M. Navarro Álvarez Pag. Sitúa el puntero en la posicion que le indiquemos. long posicion. remove( nombre ). Como origen podremos poner: 0 o SEEK_SET. fwrite( ) y fread( ). Espero que no haya sido muy pesado. Otras funciones para ficheros rewind( puntero_fichero ). el principio del fichero 1 o SEEK_CUR. y un valor diferente de 0 si lo ha alcanzado. nombre2. No es necesario que te aprendas todas las funciones de memoria. Como la función del DOS del. Esta función retorna 0 si no ha llegado al final. Su función es exactamente la misma que la que conocemos en MS-DOS. int origen ). # 35 . fprintf( ). el final del fichero rename( nombre1. de lo contrario podrían producirse errores de lectura no deseados. podremos eliminar el archivo indicado en nombre. fgets( ).Apuntes de Turbo ´C´ en formato HTML a partir de las imágenes que se encuentran en un directorio determinado. Detección de final de fichero feof( puntero_fichero ). Céntrate sobre todo en las funciones fputs( ). Con estas cinco se pueden gestionar los ficheros perfectamente. fseek( puntero_fichero. la posición actual 2 o SEEK_END. Pues con esto llegamos al final del tema. Sitúa el puntero al principio del archivo. Siempre deberemos controlar si hemos llegado al final de fichero cuando estemos leyendo. Cambia el nombre del fichero nombre1 por un nuevo nombre. nombre2 ).

","doc_promotions_enabled":false,"static_promo_banner_cta_url":""},"eligible_for_exclusive_trial_roadblock":false,"eligible_for_seo_roadblock":false,"exclusive_free_trial_roadblock_props_path":"/doc-page/exclusive-free-trial-props/259291412","flashes":[],"footer_props":{"urls":{"about":"/about","press":"/press","blog":"http://literally.scribd.com/","careers":"/careers","contact":"/contact","plans_landing":"/subscribe","referrals":"/referrals?source=footer","giftcards":"/giftcards","faq":"/faq","accessibility":"/accessibility-policy","faq_paths":{"accounts":"https://support.scribd.com/hc/sections/202246346","announcements":"https://support.scribd.com/hc/sections/202246066","copyright":"https://support.scribd.com/hc/sections/202246086","downloading":"https://support.scribd.com/hc/articles/210135046","publishing":"https://support.scribd.com/hc/sections/202246366","reading":"https://support.scribd.com/hc/sections/202246406","selling":"https://support.scribd.com/hc/sections/202246326","store":"https://support.scribd.com/hc/sections/202246306","status":"https://support.scribd.com/hc/en-us/articles/360001202872","terms":"https://support.scribd.com/hc/sections/202246126","writing":"https://support.scribd.com/hc/sections/202246366","adchoices":"https://support.scribd.com/hc/articles/210129366","paid_features":"https://support.scribd.com/hc/sections/202246306","failed_uploads":"https://support.scribd.com/hc/en-us/articles/210134586-Troubleshooting-uploads-and-conversions","copyright_infringement":"https://support.scribd.com/hc/en-us/articles/210128946-DMCA-copyright-infringement-takedown-notification-policy","end_user_license":"https://support.scribd.com/hc/en-us/articles/210129486","terms_of_use":"https://support.scribd.com/hc/en-us/articles/210129326-General-Terms-of-Use"},"publishers":"/publishers","static_terms":"/terms","static_privacy":"/privacy","copyright":"/copyright","ios_app":"https://itunes.apple.com/us/app/scribd-worlds-largest-online/id542557212?mt=8&uo=4&at=11lGEE","android_app":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0&hl=en","books":"/books","sitemap":"/directory"}},"global_nav_props":{"header_props":{"logo_src":"/images/landing/home2_landing/scribd_logo_horiz_small.svg","root_url":"https://www.scribd.com/","search_term":"","small_logo_src":"/images/logos/scribd_s_logo.png","uploads_url":"/upload-document","search_props":{"redirect_to_app":true,"search_url":"/search","query":"","search_page":false}},"user_menu_props":null,"sidebar_props":{"urls":{"bestsellers":"https://www.scribd.com/bestsellers","home":"https://www.scribd.com/","saved":"/saved","subscribe":"/archive/pmp_checkout?doc=259291412&metadata=%7B%22context%22%3A%22pmp%22%2C%22action%22%3A%22start_trial%22%2C%22logged_in%22%3Afalse%2C%22platform%22%3A%22web%22%7D","top_charts":"/bestsellers","upload":"https://www.scribd.com/upload-document"},"categories":{"book":{"icon":"icon-ic_book","icon_filled":"icon-ic_book_fill","url":"https://www.scribd.com/books","name":"Books","type":"book"},"news":{"icon":"icon-ic_articles","icon_filled":"icon-ic_articles_fill","url":"https://www.scribd.com/news","name":"News","type":"news"},"audiobook":{"icon":"icon-ic_audiobook","icon_filled":"icon-ic_audiobook_fill","url":"https://www.scribd.com/audiobooks","name":"Audiobooks","type":"audiobook"},"magazine":{"icon":"icon-ic_magazine","icon_filled":"icon-ic_magazine_fill","url":"https://www.scribd.com/magazines","name":"Magazines","type":"magazine"},"document":{"icon":"icon-ic_document","icon_filled":"icon-ic_document_fill","url":"https://www.scribd.com/docs","name":"Documents","type":"document"},"sheet_music":{"icon":"icon-ic_songbook","icon_filled":"icon-ic_songbook_fill","url":"https://www.scribd.com/sheetmusic","name":"Sheet Music","type":"sheet_music"}},"categories_array":["mixed","book","audiobook","magazine","news","document","sheet_music"],"selected_content_type":"mixed","username":"","search_overlay_props":{"search_input_props":{"focused":false,"keep_suggestions_on_blur":false}}}},"recommenders":{"related_titles_recommender":{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880,375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":null,"track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"RTghUCNG2o5PNhHW1DACmpiHahE=","widget_name":"right sidebar","track_id":"flattened_recommender"}},"footer_recommenders":{"recommenders":[{"ids":[145939409,145700039,299139643,109764309,152582877,240502063,242572211,374465297,189438574,385965028,53821007,51940909,198951966,111517160,124488292,49847050,250586500,2892757,66309322,132334064,109636894,56781709,53691790,244321341,271255341,317122326,238556602,181047083,288088959,338399880],"title_link":null,"title":"Documents Similar To apuntesDeC","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"vSlbRWlB5OImX+SZ4x5To/JPg1Y=","widget_name":"document_carousel"}},{"ids":[375783270,375859966,375862470,374152555,375859776,375783301,369857881,375862652,381106304,378234131,374152735,374152444,374152585,380578352,375862824,369856881,363261500,363270211,366613051,358290451,360198661,366234931,339157780,366612961,363269698,363270090,366613059,369856910,366613081,344168853],"title_link":null,"title":"More From amra_26721","track_opts":{"compilation_id":"IWREtaRbynREtyAvyeTQ+AA6B08=","module_id":"PW3fjfb5l6G/zCRD+WUjUluZr2s=","widget_name":"document_carousel"}}]},"seo_new_docs_recommenders":{"recommenders":[]},"documents":{"2892757":{"type":"document","id":2892757,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/2892757/108x144/a6b0c6fd66/1379542897?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/2892757/216x288/5d801b2cbb/1379542897?v=1","title":"Unidad 4: Programación estructurada en C","short_title":"Unidad 4","author":"infobits","tracking":{"object_type":"document","object_id":2892757,"track":"flattened_recommender","doc_uuid":"mXWbT9l+4Fqh7wO0uH36y73HhLE="},"url":"https://www.scribd.com/document/2892757/Unidad-4-Programacion-estructurada-en-C"},"49847050":{"type":"document","id":49847050,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/49847050/108x144/64e2985044/1369320639?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/49847050/216x288/5e05aa2ec8/1369320639?v=1","title":"introCsharp_version097","short_title":"introCsharp_version097","author":"d-fbuser-54152323","tracking":{"object_type":"document","object_id":49847050,"track":"flattened_recommender","doc_uuid":"W2UdoTFjL+yc+eTi+k4opNDhgd8="},"url":"https://www.scribd.com/document/49847050/introCsharp-version097"},"51940909":{"type":"document","id":51940909,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/108x144/50afaf8ba7/1313951641?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/51940909/216x288/e90edc9004/1313951641?v=1","title":"clases","short_title":"clases","author":"mushuruko","tracking":{"object_type":"document","object_id":51940909,"track":"flattened_recommender","doc_uuid":"o9W2PB0LsDejMKuPgb5QNQpxfLA="},"url":"https://www.scribd.com/presentation/51940909/clases"},"53691790":{"type":"document","id":53691790,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53691790/108x144/31cb499638/1417044263?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53691790/216x288/a1e0c82b68/1417044263?v=1","title":"Capitulo 0","short_title":"Capitulo 0","author":"juankmtya","tracking":{"object_type":"document","object_id":53691790,"track":"flattened_recommender","doc_uuid":"dzMInOmjSpaSZtSI4L+nO8TAJhs="},"url":"https://www.scribd.com/document/53691790/Capitulo-0"},"53821007":{"type":"document","id":53821007,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/53821007/108x144/8a2941e56c/1372552300?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/53821007/216x288/6edad3ab03/1372552300?v=1","title":"Tutorial de Java","short_title":"Tutorial de Java","author":"Jorge Bracca","tracking":{"object_type":"document","object_id":53821007,"track":"flattened_recommender","doc_uuid":"zylIe6ATvndsUafLp3jm4FP+ryc="},"url":"https://www.scribd.com/document/53821007/Tutorial-de-Java"},"56781709":{"type":"document","id":56781709,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/56781709/108x144/b2c293dea4/1351042013?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/56781709/216x288/3c6a792195/1351042013?v=1","title":"Caracteristicas de Java","short_title":"Caracteristicas de Java","author":"Ninci Serrano","tracking":{"object_type":"document","object_id":56781709,"track":"flattened_recommender","doc_uuid":"CgoMfRCeKPXuc0qItHpn8+o3jKk="},"url":"https://www.scribd.com/document/56781709/Caracteristicas-de-Java"},"66309322":{"type":"document","id":66309322,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/66309322/108x144/9f92fa7619/1334722425?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/66309322/216x288/135ab4ae16/1334722425?v=1","title":"ELEMENTOS DE PROGRAMACION","short_title":"ELEMENTOS DE PROGRAMACION","author":"Jimmy Rodriguez","tracking":{"object_type":"document","object_id":66309322,"track":"flattened_recommender","doc_uuid":"tI5B1sQgY0BNmSIXdZvxG2Eqd5U="},"url":"https://www.scribd.com/document/66309322/ELEMENTOS-DE-PROGRAMACION"},"109636894":{"type":"document","id":109636894,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109636894/108x144/e8e249dc3e/1349904109?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/109636894/216x288/b2ab6fcd90/1349904109?v=1","title":"Parametrizaciones MR","short_title":"Parametrizaciones MR","author":"AmIn20122","tracking":{"object_type":"document","object_id":109636894,"track":"flattened_recommender","doc_uuid":"FatMocTLbhJ/4in7BH4qDH0dXIU="},"url":"https://www.scribd.com/document/109636894/Parametrizaciones-MR"},"109764309":{"type":"document","id":109764309,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/108x144/e2e3b1b133/1422386648?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/109764309/216x288/b17273d04c/1422386648?v=1","title":"Info II Lenguaje de Programación","short_title":"Info II Lenguaje de Programación","author":"Francisco Jiménez Mendoza.","tracking":{"object_type":"document","object_id":109764309,"track":"flattened_recommender","doc_uuid":"mPSmoslov1WDWDEKubxPUHSEPQY="},"url":"https://www.scribd.com/presentation/109764309/Info-II-Lenguaje-de-Programacion"},"111517160":{"type":"document","id":111517160,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/111517160/108x144/535c41f7ed/1362571357?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/111517160/216x288/0a98897e1b/1362571357?v=1","title":"explicación de c++","short_title":"explicación de c++","author":"Michael Beltran","tracking":{"object_type":"document","object_id":111517160,"track":"flattened_recommender","doc_uuid":"pZ/C6/+lvcnbBgqiLjju7nqBw/I="},"url":"https://www.scribd.com/document/111517160/explicacion-de-c"},"124488292":{"type":"document","id":124488292,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/108x144/940fc5b87e/1397865317?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/124488292/216x288/69995525a4/1397865317?v=1","title":"1 - lenguaje C - Características generales Estrutura dun programa en C","short_title":"1 - lenguaje C - Características generales Estrutura dun programa en C","author":"Juan Elías Iglesias Leiro","tracking":{"object_type":"document","object_id":124488292,"track":"flattened_recommender","doc_uuid":"1Fycx0yvBZMJL6T9I+OLBL+e26Y="},"url":"https://www.scribd.com/document/124488292/1-lenguaje-C-Caracteristicas-generales-Estrutura-dun-programa-en-C"},"132334064":{"type":"document","id":132334064,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/108x144/6777146ab5/1403056172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/132334064/216x288/3ea926f01c/1403056172?v=1","title":"TAREA ALGORITMOS","short_title":"TAREA ALGORITMOS","author":"Gaddiel Ruiz","tracking":{"object_type":"document","object_id":132334064,"track":"flattened_recommender","doc_uuid":"kXBTfTN9G4oiFRZmxr/jj1bS+ns="},"url":"https://www.scribd.com/document/132334064/TAREA-ALGORITMOS"},"145700039":{"type":"document","id":145700039,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/108x144/a3b7e3c446/1437862030?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/145700039/216x288/1c7a9266ce/1437862030?v=1","title":"Tipos de Datos","short_title":"Tipos de Datos","author":"Xannya Salgado","tracking":{"object_type":"document","object_id":145700039,"track":"flattened_recommender","doc_uuid":"iYbu8OArsThi1Y71uqEwrg3PnDs="},"url":"https://www.scribd.com/document/145700039/Tipos-de-Datos"},"145939409":{"type":"document","id":145939409,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/108x144/3a8757d47d/1410071159?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/145939409/216x288/4f5c7f3320/1410071159?v=1","title":"Programación en Lenguaje C","short_title":"Programación en Lenguaje C","author":"Veruska San Miguel","tracking":{"object_type":"document","object_id":145939409,"track":"flattened_recommender","doc_uuid":"cD4TtjrxuKwml7Uc8Xb5rWnAJW8="},"url":"https://www.scribd.com/document/145939409/Programacion-en-Lenguaje-C"},"152582877":{"type":"document","id":152582877,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/108x144/cb9e21755c/1418751213?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/152582877/216x288/e34bf63dd4/1418751213?v=1","title":"estructura portafolio","short_title":"estructura portafolio","author":"Mabel Navarrete","tracking":{"object_type":"document","object_id":152582877,"track":"flattened_recommender","doc_uuid":"oniXOwrYb/9UmihyaTs1+XVb8Sc="},"url":"https://www.scribd.com/document/152582877/estructura-portafolio"},"181047083":{"type":"document","id":181047083,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/108x144/be8efb0bb1/1383426492?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/181047083/216x288/0e11081ef5/1383426492?v=1","title":"VALERIA FRANCO SANCHEZ SENA (1).docx","short_title":"VALERIA FRANCO SANCHEZ SENA (1).docx","author":"Valeria Franco","tracking":{"object_type":"document","object_id":181047083,"track":"flattened_recommender","doc_uuid":"qdSB2WUgB5/UpHUljjbVKIWNLxA="},"url":"https://www.scribd.com/document/181047083/VALERIA-FRANCO-SANCHEZ-SENA-1-docx"},"189438574":{"type":"document","id":189438574,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/189438574/108x144/4631cb6779/1431977115?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/189438574/216x288/38d6e1549f/1431977115?v=1","title":"Introducción al Lenguaje C++","short_title":"Introducción al Lenguaje C++","author":"Christopher Jesús Guerrero Carbajal","tracking":{"object_type":"document","object_id":189438574,"track":"flattened_recommender","doc_uuid":"qQMhw376FlhuqQZfBsr0nUCwvK8="},"url":"https://www.scribd.com/document/189438574/Introduccion-al-Lenguaje-C"},"198951966":{"type":"document","id":198951966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/108x144/493c39b3c7/1434075009?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/198951966/216x288/1885f13bf2/1434075009?v=1","title":"3AM-Informatica-ProgramacionI","short_title":"3AM-Informatica-ProgramacionI","author":"Eric Batther","tracking":{"object_type":"document","object_id":198951966,"track":"flattened_recommender","doc_uuid":"xbOUxCd4HhzgukdjIVkbSrs7qpM="},"url":"https://www.scribd.com/document/198951966/3AM-Informatica-ProgramacionI"},"238556602":{"type":"document","id":238556602,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/238556602/108x144/7b5ee4d690/1409767207?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/238556602/216x288/1ca7b7dcfb/1409767207?v=1","title":"Programación - Lenguaje - Computador","short_title":"Programación - Lenguaje - Computador","author":"Alexander Díaz","tracking":{"object_type":"document","object_id":238556602,"track":"flattened_recommender","doc_uuid":"Y1Rt3Pj6ERHJj7tdyz8Du9my6qc="},"url":"https://www.scribd.com/document/238556602/Programacion-Lenguaje-Computador"},"240502063":{"type":"document","id":240502063,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/108x144/a6dccdafd9/1411352807?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/240502063/216x288/ac8dfca799/1411352807?v=1","title":"Fortran2 Ele 1","short_title":"Fortran2 Ele 1","author":"Carrion Santos","tracking":{"object_type":"document","object_id":240502063,"track":"flattened_recommender","doc_uuid":"ERrDKJcnGbfoh6myORfvWK2YLQI="},"url":"https://www.scribd.com/document/240502063/Fortran2-Ele-1"},"242572211":{"type":"document","id":242572211,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/108x144/ed78426463/1412984491?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/242572211/216x288/01fb7eebfe/1412984491?v=1","title":"507101004.pdf","short_title":"507101004.pdf","author":"javicevallos","tracking":{"object_type":"document","object_id":242572211,"track":"flattened_recommender","doc_uuid":"TWPNDF7ydJbRVcDCmsQ21RjjLY0="},"url":"https://www.scribd.com/document/242572211/507101004-pdf"},"244321341":{"type":"document","id":244321341,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/244321341/108x144/2827ab8cdf/1414198895?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/244321341/216x288/7736e9916b/1414198895?v=1","title":"Lenguaje de programación.pdf","short_title":"Lenguaje de programación.pdf","author":"LeninValle","tracking":{"object_type":"document","object_id":244321341,"track":"flattened_recommender","doc_uuid":"lbGMRAzyhm3mhlNLfkMnz8qSRGA="},"url":"https://www.scribd.com/document/244321341/Lenguaje-de-programacion-pdf"},"250586500":{"type":"document","id":250586500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/108x144/611bbf9b40/1432501926?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/250586500/216x288/2b0e00c848/1432501926?v=1","title":"Programar en C","short_title":"Programar en C","author":"Ed Marti","tracking":{"object_type":"document","object_id":250586500,"track":"flattened_recommender","doc_uuid":"ouXSAZcMFR5w/mbW1jV+AAyftWI="},"url":"https://www.scribd.com/document/250586500/Programar-en-C"},"271255341":{"type":"document","id":271255341,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/108x144/278466de6e/1436628980?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/271255341/216x288/1ae53d53a1/1436628980?v=1","title":"Lenguaje de Programación 1","short_title":"Lenguaje de Programación 1","author":"RosalyMullisacaValencia","tracking":{"object_type":"document","object_id":271255341,"track":"flattened_recommender","doc_uuid":"RLtpk3kvIJ+v1Zcq3p2XJ/1zBf8="},"url":"https://www.scribd.com/document/271255341/Lenguaje-de-Programacion-1"},"288088959":{"type":"document","id":288088959,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/108x144/1e3508ae3d/1446380716?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/288088959/216x288/2d6e39aca9/1446380716?v=1","title":"Plan de Estudio","short_title":"Plan de Estudio","author":"Sebastian Sandon","tracking":{"object_type":"document","object_id":288088959,"track":"flattened_recommender","doc_uuid":"OjaZISSVCqqCyVSN1s+K79i9Wy4="},"url":"https://www.scribd.com/document/288088959/Plan-de-Estudio"},"299139643":{"type":"document","id":299139643,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/108x144/7e7cd2b3ff/1455335325?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299139643/216x288/9b6249250c/1455335325?v=1","title":"Tipo de Dato Estructurado","short_title":"Tipo de Dato Estructurado","author":"Cristian Daniel","tracking":{"object_type":"document","object_id":299139643,"track":"flattened_recommender","doc_uuid":"5yLPRugZ7X8Gb/Ub3jCmvIiDfKU="},"url":"https://www.scribd.com/document/299139643/Tipo-de-Dato-Estructurado"},"317122326":{"type":"document","id":317122326,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/317122326/108x144/a2db4eb140/1467280718?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/317122326/216x288/521439a9d5/1467280718?v=1","title":"programacion java introduccion","short_title":"programacion java introduccion","author":"Koralae","tracking":{"object_type":"document","object_id":317122326,"track":"flattened_recommender","doc_uuid":"hIl87q4PyZctG7RpS4yD8wdtF/k="},"url":"https://www.scribd.com/document/317122326/programacion-java-introduccion"},"338399880":{"type":"document","id":338399880,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/338399880/108x144/750f0a4df2/1486221519?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/338399880/216x288/a2360364ef/1486221519?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Edwin Escalante Navarro","tracking":{"object_type":"document","object_id":338399880,"track":"flattened_recommender","doc_uuid":"zjpqYze3f5FELIb3p4h12VhrbwE="},"url":"https://www.scribd.com/document/338399880/Lenguaje-de-Programacion"},"339157780":{"type":"document","id":339157780,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/108x144/42ffad1dc6/1486950706?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/339157780/216x288/727a97fc3d/1486950706?v=1","title":"folleto-portainer","short_title":"folleto-portainer","author":"amra_26721","tracking":{"object_type":"document","object_id":339157780,"track":"flattened_recommender","doc_uuid":"Rx1VrniqocLkuyVSr+ldXyZWdsw="},"url":"https://www.scribd.com/document/339157780/folleto-portainer"},"344168853":{"type":"document","id":344168853,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/344168853/108x144/0b397e3532/1491416906?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/344168853/216x288/7c7fa2401c/1491416906?v=1","title":"bibliografia TGS","short_title":"bibliografia TGS","author":"amra_26721","tracking":{"object_type":"document","object_id":344168853,"track":"flattened_recommender","doc_uuid":"TtVteixi+wh2GC/FATxfCKvtHCg="},"url":"https://www.scribd.com/document/344168853/bibliografia-TGS"},"358290451":{"type":"document","id":358290451,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/358290451/108x144/52a95f973c/1504818172?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/358290451/216x288/4c4d4d8878/1504818172?v=1","title":"Mexico Educativo","short_title":"Mexico Educativo","author":"amra_26721","tracking":{"object_type":"document","object_id":358290451,"track":"flattened_recommender","doc_uuid":"vlI9m/1tzVkoZwOAfVgwhZHwrgg="},"url":"https://www.scribd.com/document/358290451/Mexico-Educativo"},"360198661":{"type":"document","id":360198661,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/360198661/108x144/f800a776a0/1507075464?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/360198661/216x288/5fd42c0c8e/1507075464?v=1","title":"mamposteria_lared.pdf","short_title":"mamposteria_lared.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":360198661,"track":"flattened_recommender","doc_uuid":"yuxgZYKgC4WUX4pYbz0PGt050n8="},"url":"https://www.scribd.com/document/360198661/mamposteria-lared-pdf"},"363261500":{"type":"document","id":363261500,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/108x144/ca2c355c05/1509596160?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363261500/216x288/3f8da6bd28/1509596160?v=1","title":"manualconstruccion.pdf","short_title":"manualconstruccion.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363261500,"track":"flattened_recommender","doc_uuid":"Ccj4m+dqzewWzwkVVQxpws87ymU="},"url":"https://www.scribd.com/document/363261500/manualconstruccion-pdf"},"363269698":{"type":"document","id":363269698,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/108x144/d0a6944668/1509603414?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363269698/216x288/cf3b9f0bf1/1509603414?v=1","title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","short_title":"MANUAL DETALLADO PARA PLANOS ARQUITECTÓNICOS Y CONSTRUCTIVOS PARA TALLER DE CONSTRUCCIÓN.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363269698,"track":"flattened_recommender","doc_uuid":"oJ4lzFS459+Tr0kWKcpGpt99TzA="},"url":"https://www.scribd.com/document/363269698/MANUAL-DETALLADO-PARA-PLANOS-ARQUITECTONICOS-Y-CONSTRUCTIVOS-PARA-TALLER-DE-CONSTRUCCION-pdf"},"363270090":{"type":"document","id":363270090,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/108x144/7db1d029da/1509603764?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270090/216x288/a4b6a43c38/1509603764?v=1","title":"TechosVerdes_Gernot Minke.pdf","short_title":"TechosVerdes_Gernot Minke.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":363270090,"track":"flattened_recommender","doc_uuid":"1AkeY4TQVHAcymmFdUT6hhKtl/8="},"url":"https://www.scribd.com/document/363270090/TechosVerdes-Gernot-Minke-pdf"},"363270211":{"type":"document","id":363270211,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/108x144/d2d191ea03/1509603883?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/363270211/216x288/ca59b79d43/1509603883?v=1","title":"contenedores informatuca (2)","short_title":"contenedores informatuca (2)","author":"amra_26721","tracking":{"object_type":"document","object_id":363270211,"track":"flattened_recommender","doc_uuid":"xrxWRGoEaZHSb5/TMX3pwZ9bu8c="},"url":"https://www.scribd.com/document/363270211/contenedores-informatuca-2"},"366234931":{"type":"document","id":366234931,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/108x144/8c3550dca9/1512361624?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366234931/216x288/d5df40e1df/1512361624?v=1","title":"Gestion Integral de La Costa","short_title":"Gestion Integral de La Costa","author":"amra_26721","tracking":{"object_type":"document","object_id":366234931,"track":"flattened_recommender","doc_uuid":"7sHVe/fe0C6C3lSOOyAMkH8dTDk="},"url":"https://www.scribd.com/document/366234931/Gestion-Integral-de-La-Costa"},"366612961":{"type":"document","id":366612961,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/108x144/933a95b639/1512688393?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366612961/216x288/055fe6ea26/1512688393?v=1","title":"GUIA_PRACTICA_TELEDETECCION.pdf","short_title":"GUIA_PRACTICA_TELEDETECCION.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366612961,"track":"flattened_recommender","doc_uuid":"xvFJFITzOiGkk37fGbv6im6JjxI="},"url":"https://www.scribd.com/document/366612961/GUIA-PRACTICA-TELEDETECCION-pdf"},"366613051":{"type":"document","id":366613051,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613051/108x144/ada75372a1/1512688440?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/366613051/216x288/eb49d8c4c4/1512688440?v=1","title":"Python.pdf","short_title":"Python.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613051,"track":"flattened_recommender","doc_uuid":"R5WqNcZhb7/jrNSNbhP48kgiENI="},"url":"https://www.scribd.com/document/366613051/Python-pdf"},"366613059":{"type":"document","id":366613059,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/108x144/66835d1bd9/1512688405?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613059/216x288/c6dbbb06da/1512688405?v=1","title":"clase1.pdf","short_title":"clase1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613059,"track":"flattened_recommender","doc_uuid":"NckDbXzHe4qDvjq9AfCr4mzCtko="},"url":"https://www.scribd.com/document/366613059/clase1-pdf"},"366613081":{"type":"document","id":366613081,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/108x144/3f6b043089/1512688446?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/366613081/216x288/0e9d015b47/1512688446?v=1","title":"TutorialPython2.pdf","short_title":"TutorialPython2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":366613081,"track":"flattened_recommender","doc_uuid":"nV8Kcd5JQx2epvvctIMQygbzzrU="},"url":"https://www.scribd.com/document/366613081/TutorialPython2-pdf"},"369856881":{"type":"document","id":369856881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/108x144/d9b4475ff8/1516771232?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856881/216x288/d5fae967c8/1516771232?v=1","title":"conteiners.pdf","short_title":"conteiners.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856881,"track":"flattened_recommender","doc_uuid":"AOPCih6qa/1Wv2z2VOcloCoO60U="},"url":"https://www.scribd.com/document/369856881/conteiners-pdf"},"369856910":{"type":"document","id":369856910,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/369856910/108x144/a8e0d4a6b0/1516771262?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369856910/216x288/cb1bb054f7/1516771262?v=1","title":"01_FichaSeminario_modelos_hidraulicos.pdf","short_title":"01_FichaSeminario_modelos_hidraulicos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":369856910,"track":"flattened_recommender","doc_uuid":"EiCCKCsXUgsJ5CIg/AYU5f8W/9A="},"url":"https://www.scribd.com/document/369856910/01-FichaSeminario-modelos-hidraulicos-pdf"},"369857881":{"type":"document","id":369857881,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/108x144/4a3723badf/1516771927?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/369857881/216x288/3c5dfac76b/1516771927?v=1","title":"Apuntesmaquinaria TP","short_title":"Apuntesmaquinaria TP","author":"amra_26721","tracking":{"object_type":"document","object_id":369857881,"track":"flattened_recommender","doc_uuid":"mDGtTcMZUy4+Yy/JrdMV3gEQ/zY="},"url":"https://www.scribd.com/document/369857881/Apuntesmaquinaria-TP"},"374152444":{"type":"document","id":374152444,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/108x144/41a48e5e1a/1521355785?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152444/216x288/9e5284c250/1521355785?v=1","title":"resueltos_b1_t1.pdf","short_title":"resueltos_b1_t1.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152444,"track":"flattened_recommender","doc_uuid":"zOPj+gvwA6VxZVw6laSVNczxmvs="},"url":"https://www.scribd.com/document/374152444/resueltos-b1-t1-pdf"},"374152555":{"type":"document","id":374152555,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152555/108x144/ca9ee1fb53/1521356053?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152555/216x288/8b80dd7be3/1521356053?v=1","title":"cap2.pdf","short_title":"cap2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152555,"track":"flattened_recommender","doc_uuid":"ehFI+UGMDd+8IFAynrxmKL6W9+k="},"url":"https://www.scribd.com/document/374152555/cap2-pdf"},"374152585":{"type":"document","id":374152585,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/108x144/25dfaa3a3f/1521356029?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152585/216x288/c144480fe5/1521356029?v=1","title":"prinprog-teorico07.pdf","short_title":"prinprog-teorico07.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":374152585,"track":"flattened_recommender","doc_uuid":"iniZdYgPaP7serctYNl2wnS/h8Q="},"url":"https://www.scribd.com/document/374152585/prinprog-teorico07-pdf"},"374152735":{"type":"document","id":374152735,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374152735/108x144/8435b79c0c/1521356263?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374152735/216x288/76aefa774a/1521356263?v=1","title":"Programa Vigas Continuas","short_title":"Programa Vigas Continuas","author":"amra_26721","tracking":{"object_type":"document","object_id":374152735,"track":"flattened_recommender","doc_uuid":"n6aIsgfgrWu6veyxS4K8Nvk944A="},"url":"https://www.scribd.com/document/374152735/Programa-Vigas-Continuas"},"374465297":{"type":"document","id":374465297,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/108x144/5a2aab28d9/1521596166?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374465297/216x288/c257b87791/1521596166?v=1","title":"Lenguaje de Programación","short_title":"Lenguaje de Programación","author":"Rafael Espinoza","tracking":{"object_type":"document","object_id":374465297,"track":"flattened_recommender","doc_uuid":"IzfxR5r/ibzGYhInT3kji8SLf5k="},"url":"https://www.scribd.com/document/374465297/Lenguaje-de-Programacion"},"375783270":{"type":"document","id":375783270,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/108x144/14d1aadd2f/1523142280?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783270/216x288/5d6159aa06/1523142280?v=1","title":"PrimerParcialEjsResueltos.pdf","short_title":"PrimerParcialEjsResueltos.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375783270,"track":"flattened_recommender","doc_uuid":"VHXyDZ29kgzByjNl4nCe9LHwiK4="},"url":"https://www.scribd.com/document/375783270/PrimerParcialEjsResueltos-pdf"},"375783301":{"type":"document","id":375783301,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/108x144/6f02b4502b/1523142337?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375783301/216x288/3ecea6008d/1523142337?v=1","title":"Ejercicio 1","short_title":"Ejercicio 1","author":"amra_26721","tracking":{"object_type":"document","object_id":375783301,"track":"flattened_recommender","doc_uuid":"uAGxCdU/bw2vRsXSrnj86GPReAw="},"url":"https://www.scribd.com/document/375783301/Ejercicio-1"},"375859776":{"type":"document","id":375859776,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859776/108x144/68a77d03bc/1523238319?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859776/216x288/f905b0fbab/1523238319?v=1","title":"Números Adimencionales","short_title":"Números Adimencionales","author":"amra_26721","tracking":{"object_type":"document","object_id":375859776,"track":"flattened_recommender","doc_uuid":"dOGQvSvYznUzb57HQpNFQopKmw0="},"url":"https://www.scribd.com/document/375859776/Numeros-Adimencionales"},"375859966":{"type":"document","id":375859966,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375859966/108x144/2345637718/1523238528?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375859966/216x288/53f8409b80/1523238528?v=1","title":"Tarea 2 temas previos mecánica de fluidos","short_title":"Tarea 2 temas previos mecánica de fluidos","author":"amra_26721","tracking":{"object_type":"document","object_id":375859966,"track":"flattened_recommender","doc_uuid":"i5hTwkn3UfTwSTA6AR3j+xFOc/w="},"url":"https://www.scribd.com/document/375859966/Tarea-2-temas-previos-mecanica-de-fluidos"},"375862470":{"type":"document","id":375862470,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/108x144/16328ebcc0/1523240790?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862470/216x288/fd177d99df/1523240790?v=1","title":"Tarea 2.pdf","short_title":"Tarea 2.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862470,"track":"flattened_recommender","doc_uuid":"Qw5EhqqCq5mlolXs6VGaqNqmQl0="},"url":"https://www.scribd.com/document/375862470/Tarea-2-pdf"},"375862652":{"type":"document","id":375862652,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862652/108x144/e4ed04c134/1523240949?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862652/216x288/01b0682e32/1523240949?v=1","title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","short_title":"OLEAJE NORMAL ATLOOM TECOLUTLA.pdf","author":"amra_26721","tracking":{"object_type":"document","object_id":375862652,"track":"flattened_recommender","doc_uuid":"XzURtZBlq28wj+TpJDrAueoTDaM="},"url":"https://www.scribd.com/document/375862652/OLEAJE-NORMAL-ATLOOM-TECOLUTLA-pdf"},"375862824":{"type":"document","id":375862824,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/375862824/108x144/45978e330e/1523241098?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/375862824/216x288/4c8acb43ff/1523241098?v=1","title":"Representación de Las Ondas de Gerstner","short_title":"Representación de Las Ondas de Gerstner","author":"amra_26721","tracking":{"object_type":"document","object_id":375862824,"track":"flattened_recommender","doc_uuid":"vColMQ8TDjGFrub4fx+WKT4sh3I="},"url":"https://www.scribd.com/document/375862824/Representacion-de-Las-Ondas-de-Gerstner"},"378234131":{"type":"document","id":378234131,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/378234131/108x144/12562becd1/1525488150?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/378234131/216x288/ccc192c6c6/1525488150?v=1","title":"Transferencia de Calor","short_title":"Transferencia de Calor","author":"amra_26721","tracking":{"object_type":"document","object_id":378234131,"track":"flattened_recommender","doc_uuid":"7mk8MEIhhUKxgt1jbqmkmwbFHX8="},"url":"https://www.scribd.com/document/378234131/Transferencia-de-Calor"},"380578352":{"type":"document","id":380578352,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/108x144/2e749cd2b3/1527698866?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/380578352/216x288/24cfde4e1d/1527698866?v=1","title":"mecanica fluidos temas alternos","short_title":"mecanica fluidos temas alternos","author":"amra_26721","tracking":{"object_type":"document","object_id":380578352,"track":"flattened_recommender","doc_uuid":"U4/nFf+f5QW9FaXE15PkcNUyWsY="},"url":"https://www.scribd.com/document/380578352/mecanica-fluidos-temas-alternos"},"381106304":{"type":"document","id":381106304,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/381106304/108x144/ddfc27db2f/1528247494?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/381106304/216x288/fd3bc10322/1528247494?v=1","title":"Campo de Aceleración","short_title":"Campo de Aceleración","author":"amra_26721","tracking":{"object_type":"document","object_id":381106304,"track":"flattened_recommender","doc_uuid":"Tg8AjOD6/oWDThR290CxXjRFJ4c="},"url":"https://www.scribd.com/document/381106304/Campo-de-Aceleracion"},"385965028":{"type":"document","id":385965028,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/108x144/81ee613ec9/1534027911?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/385965028/216x288/3c73bd013d/1534027911?v=1","title":"Gestión de Datos","short_title":"Gestión de Datos","author":"Majo Jiménez Gedeón","tracking":{"object_type":"document","object_id":385965028,"track":"flattened_recommender","doc_uuid":"9pMDw4ZH6CzCr9VwToR6OWdhK1I="},"url":"https://www.scribd.com/document/385965028/Gestion-de-Datos"}}},"seo_roadblock_props_path":"/doc-page/seo-roadblock-props/259291412","signup_context":null,"toolbar":{"search_path":"/search-4gen?allowed_pages=1%2C2%2C3&auth_token=PZrZtm4dr6g%2Bv1npBAcH%2FHMoheY%3D&authenticity_token=uQ92IFOSkSWaN%2BCkYa6mcTRf%2F9XwYneKzDvtXbgbNJX9u1NIbHq4XaXiDTtmzpuAM6KxbeHt9VWb28yq2e%2FGIA%3D%3D&expires=1538362651&wordDocumentId=259291412&wordUploadId=264052325"},"renewal_nag_props":null}-->