You are on page 1of 24

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR


ALDEA UNIVERSITARIA “LUCHADORES POR SIEMPRE”
EL TOCUYO ESTADO LARA

Estudiante:

Diego Troccoli

C.I: 27317820

Prof: Julissa

Sección: 2601
INDICE

Nª DE CONTENIDO
PAGINA
01 INTRODUCCION
02 DESARROLLO: DEFINICION DE ALGORITMO, PROGRAMACION Y PARTES
03 ALGORITMO:ENTRADA, PROCESO, SALIDA. –EJEMPLOS. –TIPOS DE DATOS. –CONSTANTES Y VARIABLES.
04 ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMO. –TIPOS DE DATOS
05 DATOS LOGICOS (EJEMPLOS). –DATOS ALFANUMERICOS. –IDENTIFICADORES
06 REGLA PARA FORMAR UN IDENTIFICADOR. –CONSTANTES Y VARIABLES.
07 VARIABLES LOGICAS –VARIABLES ALFANUMERICAS –VARIABLE DE TRABAJO –CONTADORES –ACUMULADORES –
ESTRUCTURAS ALGORITMICAS
08 ESTRUCTURAS SECUENCIALES. –ESTRUCTURA DE SELECCIÓN. –ESTRUCTURA DE REPETICION O ITERACION.
09 PASOS PARA UNA ESTRUCTURA ANIDADA O CICLICA. –PROGRAMACION MODULAR.
10 FUNCIONES Y PROCEDIMIENTOS. –CUERPO DE LA FUNCION. –EJEMPLOS.
11 PROCEDIMIENTOS. –VARIABLES, LOCALES Y GLOBALES.
12 ARREGLOS. –CLASIFICACION.
13 OPERADORES BASICAS (EJEMPLOS). –ORDENACION POR ARREGLO, -ORDENACION POR BURBUJA.
14 ORDENACION POR MEZCLA. –BUSQUEDAS EN ARREGLOS. –BUSQUEDA SECUENCIA. –BUSQUEDA BINARIA. –
BUSQUEDA POR HASH.
15 CADENA DE CARACTERES
16 DECLARACION DE UNA ESTRUCTURA. –ACCESO A UNA ESTRUCTURA
17 ESTRUCTURA Y ARREGLO. –ARCHIVO. –ESTRUCTURA DE ARCHIVO. –ACCESO DE ARCHIVO. –TIPOS DE ARCHIVOS
18 METODO PARA REALIZAR LA GESTION DE ARCHIVO
19 PUNTERO. –ASIGNACION DE PUNTERO. –PUNTERO Y ARRAYS
20 ARRAYS DE PUNTEROS. –FUNCIONES DE ASIGNACION.
21 MALLOC (). –FREE. –ENTRADA Y SALIDA POR CONSOLA. –ENTRADA Y SALIDA POR ARCHIVO. –PROCESADOR. -
LIBRERIA
INTRODUCCIÓN

Este informe presenta en forma resumida el funcionamiento de las diferentes


estructuras de datos, como las funciones de vector y la programación. Estas estructuras
de datos tienen un papel fundamental en el campo de la informática sobre todo en el
diseño de algoritmos y programación.

Este informe también explica los diferentes tipos e importancia de estructuras


existentes en la programación. Estas estructuras de datos cumplen la función de aplicar
una propiedad a un conjunto de elementos. con los que se están trabajando. Así mismo
se explicarán como utilizar estas estructuras, como su finalidad.
DEFINICION DE ALGORITMO Y PROGRAMACION:

Un algoritmo se puede definir como una secuencia de instrucciones que representan un


modelo de solución para determinado tipo de problemas. O bien como un conjunto de
instrucciones que realizadas en orden conducen a obtener la solución de un problema
son independientes de los lenguajes de programación.

La programación informática es el proceso por medio del cual se diseña, codifica, limpia
y protege el código fuente de programas computacionales. ... El objetivo de
la programación es la de crear software, que después será ejecutado de manera directa
por el hardware de la computadora, o a través de otro programa.

PARTES:

-Programación: Sumario

 1 Bloques de un programa.

 2 Partes principales de un programa.

 3 Clasificación de las Instrucciones.

 4 Elementos auxiliares de un programa.

 5 Tipos de programas.

 6 Lenguajes de programación.

 7 Fuente.
ALGORITMO: Todo algoritmo debe obedecer a la estructura básica de un sistema, es
decir: entrada, proceso y salida.

Ejemplo:
ENTRADA: Corresponde al insumo, a los datos necesarios que requiere el proceso para
ofrecer los resultados esperados.
PROCESO: Pasos necesarios para obtener la solución del problema o la situación
planteada.
SALIDA. Resultados arrojados por el proceso como solución.

En el ejemplo del algoritmo de la sumatoria de los dos números, tenemos:


ENTRADA: Valores de las variables A y B.
PROCESO: Asignar a la variable Suma, el valor de a más el valor de B.
SALIDA. Impresión del valor de la variable Suma, que contiene la sumatoria de los valores
de A y B.

TIPOS DE DATOS
Como se describió anteriormente, un dato es un campo que puede convertirse en
información.
Existen datos simples (sin estructura) y compuestos (estructurados).
Los tipos de datos simples son:
- Numéricos (Reales, Enteros)
- Lógicos
- Carácter (Char, String).

CONTANTES Y VARIABLES DE UN ALGORITMO:

CONTANTES: Es un dato que permanece con un valor y no cambia


VARIABLE: Es un dato que en el trancurso del proceso su valor puede cambiar.
ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

2.1 Tipos de datos

2.2 Expresiones

2.3 Operadores y operandos

2.4 Identificadores como localidades de memoria

OBJETIVO EDUCACIONAL:

El alumno:

Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter,
tal como `b', un valor entero tal como 45. El tipo de dato determina la naturaleza del
conjunto de valores que puede tomar una variable.

Numéricos - Simples Lógicos - Alfanuméricos (string) - Tipos de datos - Arreglos


(Vectores, Matrices) – Estructurados – Registros- (Def. por el Archivos usuario)
Apuntadores.

Tipos de Datos Simples

 Datos Numéricos: Permiten representar valores escalares de forma numérica,


con números enteros y los reales y sirven para realizar operaciones aritméticas
comunes.
 Ejemplos:
 4 + 2 * 5 = 14
 23 * 2 / 5 = 9.2 46 / 5 = 9.2
 3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
 3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
 2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
 Datos Lógicos: Son aquellos que solo pueden tener dos valores (verdadero o
falso).

Ejemplo: a + b > c Falso

a - b < c Verdadero

a - b = c Falso

a * b < > c Verdadero

 Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que


permiten representar valores identificables de forma descriptiva, esto incluye
nombres de personas, direcciones, etc. Es posible representar números como
alfanuméricos, pero estos pierden su propiedad matemática, es decir no es
posible hacer operaciones con ellos. Este tipo de datos se representan
encerrados entre comillas.

Ejemplos:

“Instituto Tecnológico de Tuxtepec”

“1997”

IDENTIFICADORES:

Los identificadores representan los datos de un programa (CONSTANTES, VARIABLES,


TIPOS DE DATOS). Un identificador es una secuencia de caracteres que sirve para
identificar una posición en la memoria de la computadora, que nos permite accesar a su
contenido.

Ejemplo: Nombre

Num_hrs

Calif2
REGLAS PARA FORMAR UN IDENTIFICADOR

 Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben


contener espacios en blanco.

 Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del


primer carácter.

 La longitud de identificadores puede ser de hasta 8 caracteres.

CONSTANTES Y VARIABLES

 Constante: Una constante es un dato numérico o alfanumérico que no cambia


durante la ejecución del programa.

Ejemplo: pi = 3.1416

 Variable: Es un espacio en la memoria de la computadora que permite


almacenar temporalmente un dato durante la ejecución de un proceso, su
contenido puede cambia durante la ejecución del programa. Para poder
reconocer una variable en la memoria de la computadora, es necesario darle un
nombre con el cual podamos identificarla dentro de un algoritmo.

Ejemplo: área = pi * radio ^ 2

Las variables son : el radio, el área y la constate es pi

Por su Contenido

 Variable Numéricas: Son aquellas en las cuales se almacenan valores numéricos,


positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el
punto decimal. Ejemplo:

iva=0.15 pi=3.1416 costo=2500


 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso)
estos representan el resultado de una comparación entre otros datos.

 Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras,


números y caracteres especiales). Ejemplo:

letra='a' apellido='lopez' direccion='Av. Libertad #190'

Por su Uso

 Variables de Trabajo: Variables que reciben el resultado de una operación


matemática completa y que se usan normalmente dentro de un programa.
Ejemplo:

suma=a+b/c

 Contadores: Se utilizan para llevar el control del numero de ocasiones en que se


realiza una operación o se cumple una condición. Con los incrementos
generalmente de uno en uno.

 Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.

ESTRUCTURAS ALGORITMICAS

Las estructuras de operación de programas son un grupo de formas de trabajo, que


permiten, mediante la manipulación de variables, realizar ciertos procesos específicos
que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con
su complejidad en:

- Asignación - Secuenciales – Entrada - - Salida – Simples - Estructuras Condicionales -


Algoritmicas – Múltiples - - Hacer para - Cíclicas - Hacer mientras - - Repetir hasta
Estructuras Secuenciales.

En esta estructura una acción o instrucción se ejecuta detrás de otra en orden y


secuencia.
Las tareas se realizan de tal manera que debe cumplirse en estricto orden secuencial,
porque la salida de una, es la entrada de la siguiente y así sucesivamente
hasta el fin del proceso.

Estructura de selección o decisión.


Un algoritmo se realiza para resolver un problema. Por ello, al elaborar la solución
de un problema se trazan ciertas condiciones. Estas condiciones se describen a través
de una estructura selectiva, también llamada de decisión o condición. Una estructura
selectiva esta compuesta por una expresión lógica, si al evaluar esta expresión lógica,
el resultado es “Verdadero”, es decir se cumple la condición, se realizará una secuencia
de instrucciones; pero si el resultado es falso, se ejecutará otra secuencia de
instrucciones.
Las estructuras selectivas, de decisión o condicionales, pueden ser: Simples, Dobles
y Anidadas o Múltiples.

Estructuras de Repetición o Iteración.

Esta estructura se utiliza cuando se debe ejecutar un conjunto de instrucciones un


número repetido de veces. Al conjunto de instrucciones que se ejecutan
repetidamente,
un número de veces, se le llama también ciclo, bucle o lazo. El número de veces que se
ejecuta se denomina Iteraciones; por consiguiente, una iteración, es una de las veces
en las cuales se efectúan todas las instrucciones contenidas en el ciclo.
Pasos de una estructura anidada o cíclica:

1. Entrada de datos e instrucciones previas

2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado
Las repeticiones deben ser finitas, no obstante puede ser que en momentos
determinados no nos demos cuenta y construimos un ciclo o bucle infinito, esto lo
explicaremos más adelante, en principio estudiaremos los ciclos finitos:

PROGRAMACION MODULAR

Una vez estudiadas las estructuras de control hemos de ver como se implementa la
descomposición en modulos independientes denominados subprogramas o
subalgoritmos. Un subprograma es una colección de instrucciones que forman una
unidad de programación, escrita independientemente del programa principal, con el
que se asociara a travez de un proceso de transferencia, de forma que el control pasa al
subprograma en el momento que se requieran sus servicion y volverá al programa
principal cuando aquel se haya ejecutado. Esta descomposición nos intereza por dos
razones:

1) Esta asociada al diseño descendiente en la programación estructurada, ya que un


subprograma, a su vez, puede lamar a sus propios subprogramas e incluso a si
mismo, recursivamente.
2) Permite reutilizar un programa dentro de la resolución de otros problemas
distintos, puesto que los subprogramas se utilizan por el programa principal para
ciertos propósitos específicos, aquellos pueden haber sido escritos con anterioridad
para resolver otros problemas diferentes.
Funciones Y Procedimientos

Una función es un objeto del ambiente, con nombre, tipo y valor único. El tipo se asocia
al valor que retorna la Función cuando es evaluada para un conjunto dado de valores de
sus argumentos Función nombre (lista de parámetros formales): Tipo de resultado
Declaración de variables Inicio Acciones Devolver (constante, variable o expresión)
Fin función Lista de parámetros formales: contiene las variables que pasan alguna
información necesaria para que la Función ejecute el conjunto de acciones. Tipo de
resultado: señala el tipo de dato que devuelve la función. Declaración de variables: en
este lugar se deben declarar los parámetros formales y también aquellas Variables que
se usarán en la función.

CUERPO DE LA FUNCIÓN: Lo constituye el conjunto de acciones a realizar por la función.


Retornar el resultado: el único resultado que devuelve la función puede ser un valor
constante, o una variable
O una expresión válida, la cual debe colocarse entre paréntesis al lado de la acción
Devolver. Cuando se ejecuta
Esta acción se devuelve el control del programa al lugar donde se ha llamado a la
función.

Ejemplo

_ definición de la función f(x) = x2 + 2x – 1 funcion f (x: real): real inicio Devolver ( x * x


+ 2 * x – 1 ) fin funcion
_ definición de la función y = xn (n entero) funcion potencia (x: real, n: entero): real
variables entero i real y inicio y ¬ 1 repetir para i _ 1 , abs (n) y ¬ y * x fin para si n < 0
entonces y ¬ 1 / y fin si Devolver ( y ) fin función
Procedimiento:

Un procedimiento o subrutina es un subalgoritmo que recibiendo o no datos permite


devolver varios resultados, un resultado o ninguno. Un procedimiento está compuesto
por un grupo de sentencias a las que asigna un nombre (identificador o simplemente
nombre del procedimiento) y constituye una unidad de programa. La tarea asignada al
procedimiento se ejecutará siempre que se encuentre el identificador (nombre del
procedimiento) en el conjunto de sentencias que definen el programa.

Variables, Locales Y globales

Las variables pueden clasificarse según su utilización en:

• variables locales: son aquellas que están declaradas Dentro del algoritmo o
subalgoritmo, y son propias al ámbito De la declaración, en el sentido que cada una es
distinta de Otra variable declarada con el mismo nombre en cualquier Parte del
algoritmo principal u otros subalgoritmos.

• variables globales: son aquellas que están declaradas en El algoritmo o subalgoritmo


y son accesibles para los subalgoritmos que de él dependen.
La ventaja principal de utilizar variables locales reside en el hecho de que Permite
independizar al subalgoritmo del algoritmo principal, la Comunicación entre el
subalgoritmo y el algoritmo principal se realiza a Través de la lista de parámetros. La
utilización efectiva del subalgoritmo sólo Requiere que el programador conozca el orden
y el significado de cada Parámetro a fin de construir la lista de parámetros actuales
cuando se hace Uso del subalgoritmo (función o procedimiento).
Las variables globales tienen la ventaja de compartir la información de Diferentes
subalgoritmos sin ninguna mención en la lista de parámetros del subalgoritmo.
ARREGLOS

Grupo o colección finita, homogénea y ordenada de elementos. Un arreglo es un


conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados
en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma
temporal).

CLASIFICACION:

Un arreglo unidimensional es un tipo de datos estructurado que está formado de una


colección finita y ordenada de datos del mismo tipo. Es la estructura natural para
modelar listas de elementos iguales. ... Los arreglos bidimensionales se usan para
representar datos que pueden verse como una tabla con filas y columnas.

Operaciones Básicas con Arreglos:

Recordando un poco, en la defición de arreglos dimos esta serie de ejemplos:

int var1[10];
char nombre[50];
float numeros[200];
long double cantidades[25];
Si tomamos el primer caso, estamos declarando un array de 10 variables enteras,
cada una de ellas quedará individualizada por el subíndice que sigue al nombre del
mismo es decir:
var1[0] , var1[1] , … , hasta var1[9] .
Nótese que la CANTIDAD de elementos es 10, pero su numeración va de 0 a 9 , y no
de 1 a 10 . En resumen un array de N elementos tiene subíndices válidos entre 0 y N - 1.
Cualquier otro número usado como subíndice, traerá datos de otras zonas de memoria,
cuyo contenido es impredecible. Se puede referenciar a cada elemento, en forma
individual, tal como se ha hecho con las variables anteriormente, por ejemplo:
var1[5] = 40 ;
contador = var1[3] + 7 ;
if(var1[0] >> = 37)
También es posible utilizar como subíndice expresiones aritméticas, valores enteros
retornados por funciones, entre otros. Así podríamos escribir:
printf(" %d " , var1[ ++i] ) ;
var1[8] = var1[ i + j ] ;
int funcion(void) ;
var1[0] = var1[funcion() ] * 15 ;
Por supuesto los subíndices resultantes de las operaciones tienen que estar
acotados a aquellos para los que el array fue declarado y ser enteros. Inicialización de
Arreglos: La inicialización de los arrays sigue las mismas reglas que vimos para los otros
tipos de variables, es decir: Si se declaran como globales (afuera del cuerpo de todas las
funciones) cada uno de sus elementos será automáticamente inicializado a cero. Si en
cambio, su declaración es local a una función, no se realiza ninguna inicialización,
quedando a cargo del programa cargar los valores de inicio. La inicialización de un array
local, puede realizarse en su declaración, dando una lista de valores iníciales:
int numero[8] = { 4 , 7 , 0 , 0 , 0 , 9 , 8 , 7 } ;
Obsérvese que la lista está delimitada por llaves. Otra posibilidad, sólo válida
cuando se inicializan todos los elementos del array, es escribir:
int numero[] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , } ;
Donde se obvia la declaración de la cantidad de elementos, ya que está implícita
en la lista de valores constantes.
Ordenaciones en arreglo: La importancia de mantener nuestros arreglos ordenados
radica en que es mucho más rápido tener acceso a un dato en un arreglo ordenado que
en uno desordenado. Existen muchos algoritmos para la ordenación de elementos en
arreglos, enseguida veremos algunos de ellos.

Ordenación por Burbuja: Es el método de ordenación más utilizado por su fácil


comprensión y programación, pero es importante señalar que es el más ineficiente de
todos los métodos. Este método consiste en llevar los elementos menores a la izquierda
del arreglo ó los mayores a la derecha del mismo. La idea básica del algoritmo es
comparar pares de elementos adyacentes e intercambiarlos entre sí hasta que todos se
encuentren ordenados.
Ordenación por Mezcla:Este algoritmo consiste en partir el arreglo por la mitad, ordenar
la mitad izquierda, ordenar la mitad derecha y mezclar las dos mitades ordenadas en un
array ordenado. Este último paso consiste en ir comparando pares sucesivos de
elementos (uno de cada mitad) y poniendo el valor más pequeño en el siguiente hueco.

Búsquedas en Arreglos:Una búsqueda es el proceso mediante el cual podemos localizar


un elemento con un valor especifico dentro de un conjunto de datos. Terminamos con
éxito la búsqueda cuando el elemento es encontrado. A continuación veremos algunos
de los algoritmos de búsqueda que existen.

Búsqueda Secuencial: A este método tambien se le conoce como búsqueda lineal y


consiste en empezar al inicio del conjunto de elementos , e ir atravez de ellos hasta
encontrar el elemento indicado ó hasta llegar al final de arreglo. Este es el método de
búsqueda más lento, pero si nuestro arreglo se encuentra completamente desordenado
es el único que nos podrá ayudar a encontrar el dato que buscamos.

Búsqueda Binaria: Las condiciones que debe cumplir el arreglo para poder usar
búsqueda binaria son que el arreglo este ordenado y que se conozca el numero de
elementos.Este método consiste en lo siguiente: comparar el elemento buscado con el
elemento situado en la mitad del arreglo, si tenemos suerte y los dos valores coinciden,
en ese momento la búsqueda termina. Pero como existe un alto porcentaje de que esto
no ocurra, repetiremos los pasos anteriores en la mitad inferior del arreglo si el
elemento que buscamos resulto menor que el de la mitad del arreglo, o en la mitad
superior si el elemento buscado fue mayor.

La búsqueda termina cuando encontramos el elemento o cuando el tamaño del arreglo


a examinar sea cero.

Búsqueda por Hash

La idea principal de este método consiste en aplicar una función que traduce el valor del
elemento buscado en un rango de direcciones relativas. Una desventaja importante de
este método es que puede ocasionar colisiones.
CADENA DE CARACTERES: En programación, una cadena de
caracteres, palabras, ristra de caracteres o frase (string, en inglés) es una secuencia
ordenada (de longitud arbitraria, aunque finita) de elementos que pertenecen a un
cierto lenguaje formal o alfabeto análogas a una fórmula o a una oración. En general,
una cadena de caracteres es una sucesión de caracteres (letras, números u
otros signos o símbolos). Si no se ponen restricciones al alfabeto, una cadena podrá
estar formada por cualquier combinación finita de los caracteres disponibles (las letras
de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos
diversos '!', '@', '%', etcétera).

OPERACIONES CON CADENAS: A l c o n s i d e r a r l a s c a d e n a s c o m o u n t i p o d e


datos, hay que definir (o conocer) cuales son las operaciones que
p o d e m o s h a c e r c o n e l l a s , e n p r i n c i p i o é s t a s podrían ser muchas y llegar
a ser muy sofisticadas, aquí se exponen algunas de ellas.
Estructuras de Registros. :Los Arrays, son un ejemplo de estructuras (de tipo
homogéneo), sin embargo, éste tipo de estructurasposee una gran limitante, puesto
que, sólo admite datos del mismo tipo (entero, flotante, carácter); las estructuras que
vamos a estudiar, están compuestas por un grupo de variables, no necesariamente del
mismo tipo, en las cuales, podemos almacenar diferente información (en cuanto a tipo),
pero referente a un mismo tópico.
Por ejemplo, en nuestro carnet de identidad, del colegio, de la universidad, aparecen muchos
datos acerca de nosotros.
Nombres, apellidos, edad, dirección, fecha de nacimiento, grado, sección,
ciclo.
Estos datos, son de diferente tipo, pero, en C, podemos almacenarlos utilizando
un tipo de dato registro al que llamamos Estructura.
Por tanto, una estructura es una colección de una o más tipos de elementos
denominados miembros, cada uno de los cuales puede ser de un tipo de dato diferente.
Es ello que radica la importancia de las estructuras, porque nos ahora tiempo
además que las estructuras son una herramienta importante para la creación de
programas potentes y bases de datos.
DECLARACIÓN DE UNA ESTRUCTURA : Como toda variable, en C, debemos declarar una
estructura para poder hacer uso de ella, y la forma de hacerlo es la siguiente:

struct <nombre de la estructura> {


<tipo de dato del miembro1> <nombre del miembro 1>;
<tipo de dato del miembro 2> <nombre de miembro 2>:
<tipo de dato del miembro n> <nombre del miembro n>; }
Por ejemplo, para los datos anteriores, la forma de declararla sería la siguiente:
struct datos
char nombre[30];
char apellido[20];
int edad;
char dirección[100];
char fecha_nac[8];
ACCESO A UNA ESTRUCTURA.

Para acceder a una estructura, o bién a la información guardada en ella, podemos hacer
uso de dos nuevos amigos:

1. El operador punto (.)


2. El operador puntero –flecha- (->)

Por ejemplo:
Alumno1.nombre=”Manuel”;
Strcpy(alumno1.apellido, “Ortez”);

Para utilizar el operador flecha, debemos hacer uso de punteros (y creíste que ya nos
habíamos olvidado de los punteros verdad?).
Por ejemplo, si tenemos un puntero a una estructura:
.struct datos *ptr;
ptr=&alumno1;
ptr->edad=20;
ESTRUCTURA Y ARREGLOS: Un arreglo es un conjunto de datos o una estructura de
datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria
RAM (sirve para almacenar datos en forma temporal).

ARCHIVO: Un archivo o fichero informático es un conjunto de bits que son almacenados


en un dispositivo. Un archivo es identificado por un nombre y la descripción de la carpeta
o directorio que lo contiene. A los archivos informáticos se les llama así porque son los
equivalentes digitales de los archivos escritos en expedientes, tarjetas,
libretas, papel o microfichas del entorno de oficina tradicional.

ESTRUCTURA DE ARCHIVO: Un archivo o fichero informático es un conjunto de bits que


son almacenados en un dispositivo. Un archivo es identificado por un nombre y la
descripción de la carpeta o directorio que lo contiene. A los archivos informáticos se les
llama así porque son los equivalentes digitales de los archivos escritos en expedientes,
tarjetas, libretas, papel o microfichas del entorno de oficina tradicional.

ACCESO DE ARCHIVO: Si desea establecer permisos de acceso para un archivo o


directorio en sistemas Windows: Vaya a Archivos, localice el archivo o directorio para
el que desea establecer los permisos de acceso y haga clic en la flecha de la fila
correspondiente. En el menú desplegable, haga clic en Cambiar permisos.

TIPOS DE ARCHIVOS: Algunos de los archivos más comunes son:

 ISO: Imagen de disco. Este archivo contiene una copia de un cd/dvd para su grabación
en otro cd/dvd.

 JPG / GIF /PNG: formatos de imágenes.

 AVI / MPEG / MP4: formatos de vídeo.

 MP3, WAV: formatos de audio.

 PDF: formato utilizado para la difusión de archivos de texto, ya que una vez creado
no puede ser modificado.

 DOC / TXT: formato para la edición y creación de archivos de texto.


MÉTODO PARA REALIZAR LA GESTIÓN DE ARCHIVO: Es la parte del S.O. encargada de
administrar el almacenamiento secundario. Las funciones básicas que debe realizar un
sistema de gestión de archivos son:

o Crear un archivo, mediante la definición del nombre, el espacio


necesario, etc.

o Borrar un archivo, liberando el espacio que este ocupaba.

o Abrir un archivo, se puede abrir para realizar varias operaciones(lectura,


escritura, ejecución).

o Cerrar un archivo o fichero.

o Consulta.

Aparte de las funciones básicas el sistema de archivos debe proporcionar otro tipo de
ayudas, como por ejemplo:

- Compartir archivos entre los usuarios.

- Permitir la transferencia de datos de unos archivos a otros.

- Gestión de soportes físicos.

- Seguridad y protección de archivos.

- Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más


adecuada.

En general, un sistema de gestión de archivos debe dar una visión lógica de la


organización de los datos. Los datos están jerarquizados según un modelo general:

& En el 1er nivel están los bit (0,1).

& En el 2º nivel está el byte o carácter(8 bits).

& En el 3er nivel está el campo, es un conjunto de caracteres relacionados.

& En el 4º nivel está el registro, son los campos relacionados.

& En el 5º nivel están los ficheros o archivos, que son registros relacionados.

& En el 6º nivel están las B.D., que son un conjunto de archivos relacionados.
PUNTERO: En ciencias de la computación, un puntero es un objeto del lenguaje de
programación, cuyo valor se refiere a (o "apunta a") otro valor almacenado en otra parte
de la memoria del ordenador utilizando su dirección.

ASIGNACION DE PUNTERO: Un puntero puede convertirse en un alias de un variable


destino (target) a través de una sentencia de asignación de punteros, que es ejecutable
y tiene la forma: Una vez que un puntero se convierte en alias de un destino, se puede
utilizar en cualquier punto en lugar del variable destino.

PUNTERO Y ARRAYS: En C hay muy poca diferencia “interna” entre un puntero y un array.
En muchas ocasiones, podremos declarar un dato como array (una tabla con varios
elementos iguales, de tamaño predefinido) y recorrerlo usando punteros. Vamos a ver un
ejemplo:

/*---------------------------*/

/* Ejemplo en C nº 76: */

/* C076.C */

/* */

/* Arrays y punteros (1) */

/* */

/* Curso de C, */

/* Nacho Cabanes */

/*---------------------------*/

#include <stdio.h>

int main() {
ARRAYS DE PUNTEROS: Un array multidimensional puede ser expresado como
un array de punteros en lugar de como un puntero a un grupo contigupo de
arrays. En estos casos el nuevo array será de una dimensión menor que el array
multidimensional. Cada puntero indicará el principio de un array de dimensión
(n-1). En términos generales, un array bidimensional puede ser definido como
un array unidimensional de punteros

FUNCIONES DE ASIGNACIÓN DE MEMORIA: Hemos visto que en C, las variables


estáticas pueden estar creadas al inicio de la ejecución del programa, o bien son
variables locales automáticas que se crean al iniciarse la ejecución de una función. En
muchas aplicaciones es necesaria la utilización de estructuras de datos dinámicas. Para
asignar memoria dinámica C utiliza varias funciones definidas en stdlib.h. Veamos la
utilización de estas funciones. La función de este tipo más utilizada es malloc. Ésta
toma como parámetro un tamaño en bytes y devuelve un puntero al bloque de
memoria asignado. Si no hay memoria suficiente para asignar el bloque
devuelve NULL.

#include <stdlib.h>

void *malloc ( size_t size );

El tipo size_t está definido normalmente como unsigned y se utiliza en todas las
funciones que necesitan un tamaño en bytes. Otra función similar es:

#include <stdlib.h>
void *calloc ( size_t nitems, size_t size );

En este caso se le pasa como parámetro el número de elementos consecutivos que se


desean. A diferencia de malloc, calloc inicializa el contenido de la memoria asignada a
cero (0). La función que se utiliza para devolver memoria dinámica previamente
asignada es free. Ésta toma como parámetro un puntero previamente obtenido
con malloc o calloc.

#include <stdlib.h>
void free ( void *block );

Hay que tener en cuenta que la función free no cambia el valor del parámetro. El
puntero al cual se habia asignado memoria y ahora se ha liberado sigue almacenando la
dirección de memoria, pero esta ya no existe después de llamar a free. Es misión del
programador
MALLOC ():En C, la función malloc , perteneciente a la cabecera stdlib.h , se utiliza para
asignar un bloque de memoria en el montón. ... Cuando ya no se necesita la memoria,
se pasa el puntero a la función free, la cual libera la memoria de modo que se puede
utilizar para otros fines.

FREE (). Un freeware (término que se forma a partir de la expresión


inglesa free software) es un programa informático cuya distribución es gratuita, por lo
cual el usuario no tiene que pagar para instalarlo y utilizarlo. ... Es más apropiado, por lo
tanto, comparar al freeware con el shareware y no con el software libre.

ENTRADA Y SALIDA POR CONSOLA: Entrada y Salida sobre consola Entendemos por
consola al conjunto: teclado + pantalla Debe incluirse la biblioteca estándar de
funciones: #include Garantiza que tendremos las macros de estas funciones.

ENTRADA Y SALIDA POR ARCHIVO: En informática, un periférico


de entrada/salida o E/S (en inglés: input/output o I/O)es aquel tipo de dispositivo
periférico de un computador capaz de interactuar con los elementos externos a ese
sistema de forma bidireccional, es decir, que permite tanto que sea ingresada
información desde un sistema externo, como.

PROCESADOR: En una computadora se reconocen el procesador como dispositivo de


hardware que puede tener diversas calidades y tipos, y por otra parte el concepto lógico
en términos de unidad central de procesamiento o CPU, entendido como "cerebro" del
sistema.

LIBRERÍA: En informática, una biblioteca o, llamada por vicio del lenguaje librería (del
inglés library) es un conjunto de implementaciones funcionales, codificadas en un
lenguaje de programación, que ofrece una interfaz bien definida para la funcionalidad
que se invoca.
CONCLUSIONES

En el desarrollo de este informe, Concluimos que nos dedicamos a la creación de un


algoritmo utilizando las tres estructuras de datos

Constante, Ej. = 3.1416, o una variable, Ej. a, b, c, x, y, z.


Estas son de tipo real; los cuales maneja valores numéricos que van desde -1*10 ^ 2000
hasta 1*10 ^ 2000.Los valores más cercanos a 0 que se pueden manejar son 1*10 ^ -
2000 y -1*10 ^ -2000.

Cadena de Caracteres: Como un nombre, son secuencias de caracteres encerrada entre


comillas simples. Valores: Datos reales, explicados anteriormente en las variables.

Arreglos n-dimensionales: Son de cualquier tipo de dato. El nombre de un arreglo debe


comenzar por una letra seguida de letras, números o el carácter ( _ ).

Como habíamos dicho anteriormente, las cuales almacenaban datos en la memoria y


campos de la memoria del equipo. Ejemplo: Vector ( 2 ) , Matriz ( i , j ) , v ( 1, j, ñ, p )

Para concluir los ciclos mientras y para son herramientas fundamentales, como básicas
que ahorran tiempo como trabajo, y son de gran utilidad en grandes procesos.

You might also like