Professional Documents
Culture Documents
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
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.
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.
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).
2.2 Expresiones
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.
a - b < c Verdadero
a - b = c Falso
Ejemplos:
“1997”
IDENTIFICADORES:
Ejemplo: Nombre
Num_hrs
Calif2
REGLAS PARA FORMAR UN IDENTIFICADOR
CONSTANTES Y VARIABLES
Ejemplo: pi = 3.1416
Por su Contenido
Por su Uso
suma=a+b/c
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
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:
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.
Ejemplo
• 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.
CLASIFICACION:
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.
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 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).
Para acceder a una estructura, o bién a la información guardada en ella, podemos hacer
uso de dos nuevos amigos:
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).
ISO: Imagen de disco. Este archivo contiene una copia de un cd/dvd para su grabación
en otro cd/dvd.
PDF: formato utilizado para la difusión de archivos de texto, ya que una vez creado
no puede ser modificado.
o Consulta.
Aparte de las funciones básicas el sistema de archivos debe proporcionar otro tipo de
ayudas, como por ejemplo:
& 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.
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 */
/* */
/* */
/* 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
#include <stdlib.h>
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 );
#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.
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.
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
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.