Está en la página 1de 8

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR INSTITUTO UNIVERSITARIO DE TECNOLOGIA DEL ESTADO PORTUGUESA AMPLIACION GUANARE

ALGORITMICA Y PROGRAMACION
BACHILLERES: Manuel Mejas.

C.I. 24.021.200

Josefa Vasquez. C.I. 22.091.303 Hctor Albarran C.I. 21.024.461 Ingeniera en Informtica Seccin 108 Profesora: Lennys Camargo.

Guanare, 10 Nov. 2011

ARREGLOS
Un arreglo puede definirse como un grupo o una coleccin finita, homognea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos: De una dimensin. De dos dimensiones. De tres o ms dimensiones.

Arreglos Unidimensionales

Un arreglo unidimensional es un tipo de datos estructurado que est formado de una coleccin finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Arreglos Bidimensionales

Este tipo de arreglos al igual que los anteriores es un tipo de dato estructurado, finito ordenado y homogneo. El acceso a ellos tambin es en forma directa por medio de un par de ndices. Arreglos Multidimensionales

Este tambin es un tipo de dato estructurado, que est compuesto por n dimensiones. Para hacer referencia a cada componente del arreglo es necesario utilizar un ndice, uno para cada dimensin.

FUNCIONES
Una funcin es un conjunto de lneas de cdigo que realizan una tarea especfica y puede retornar un valor. Las funciones pueden tomar parmetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comnmente utilizadas durante un programa y de esta

manera reducir la cantidad de cdigo. Cuando una funcin es invocada se le pasa el control a la misma, una vez que esta finaliz con su tarea el control es devuelto al punto desde el cual la funcin fue llamada.

PROCEDIMIENTOS
Un procedimiento es un tipo sub-algoritmo, es el trmino para describir una secuencia de rdenes que hacen una tarea especfica de una aplicacin ms grande. Las declaraciones de procedimientos generalmente son especificadas por: Un nombre nico en el mbito.- Nombre del procedimiento con el que se identifica y se distingue de otros. No podr haber otro procedimiento ni funcin con ese nombre (salvo sobrecarga o polimorfismo en programacin orientada a objetos). Una lista de parmetros.- Especificacin del conjunto de argumentos (pueden ser cero, uno o ms) que el procedimiento debe recibir para realizar su tarea. El cdigo u rdenes de procesamiento.- Conjunto de rdenes y sentencias que debe ejecutar el procedimiento.

ARCHIVOS
Los datos estructurados vistos hasta ahora se denominan internos porque se almacenan en la memoria principal. Sin embargo, en ocasiones es preciso almacenar los datos de forma permanente en algn sistema de almacenamiento masivo. Los archivos o ficheros son el nico tipo de estructura que permiten almacenar datos en estos dispositivos o memoria externa. Otra caracterstica asociada a los ficheros es que su tamao slo est limitado por el espacio libre disponible en el dispositivo correspondiente. Se introducen los tipos de ficheros que pueden emplearse en TurboPascal: los archivos con tipo o de acceso aleatorio, los archivos de texto o secuenciales y los archivos sin tipo. La manipulacin de estas estructuras se realiza mediante un conjunto de rutinas predefinidas: assign, reset, rewrite, read, write, close La deteccin de errores en las operaciones de entrada y salida se efecta mediante la funcin predefinida ioresult y de las directivas del compilador a las que se tiene acceso en el programa.

1. Realizar un cdigo en el que se trabaje con arreglos, funciones y procedimientos; (debe tener men). Programa en la cual con el menu se podr sacar las notas de mayor a menor o viceversa y tambin opciones de porcentaje.
# include <stdio.h> # define tamano 10 void menu (); void numero (); int selec,i,j,aux; int nota [tamano]; int acum,acumx,acumc; int prome (int acum); int resprome, respromex, respromec; int promex (int acumx); int promec (int acumc); int calculo; int main (){ numero (); menu (); resprome=prome (acum); respromex = promex (acumx); respromec = promec (acumc); if (selec==1){ for (i=0;i<tamano-1;i++){ for (j=i+1;j < tamano;j++){ if (nota[j]>nota[i]){ aux=nota[i]; nota[i]=nota[j]; nota[j]=aux; } } } printf ("Las notas son\n:"); for (i=0;i<tamano;i++){ printf ("%i ",nota [i]); } }

if (selec==2){

for (i=0;i<tamano-1;i++){ for (j=i+1;j<tamano;j++){ if (nota[i]>nota[j]){ aux=nota[i]; nota[i]=nota[j]; nota[j]=aux; } } } printf ("Las notas son\n"); for (i=0;i<tamano;i++){ printf ("%i ",nota [i]); } } if (selec==5){ printf ("\nEl promedio de todas las notas es: %i\n",resprome );}

if (selec==3){ printf ("\nEl promedio de las notas menor a 10 es: %i\n",respromex ); } if (selec==4){ printf ("\nEl Promedio de las notas mayor e igual a 10 es: %i\n",respromec ); } return 0;} void menu (){ printf ("\n\n1-Se Sacaran las notas de mayor a menor\n"); printf ("2-Se Sacaran las notas de menor a mayor\n"); printf ("3-Se Sacara el promedio de las notas menor a 10\n"); printf ("4-Se sacara el promedio de las notas mayor e igual a 10\n"); printf ("5-Se sacara el promedio de todas las notas\n"); printf ("6-Salir\n\n"); scanf ("%i", &selec); } void numero(){ for (i=0;i<tamano;i++){ printf ("\nIntrodusca nota\n"); scanf ("%i", &nota[i]); acum=acum+nota[i]; if (nota[i]<10){ acumx = acumx+nota[i];} if (nota[i]>=10){ acumc = acumc+nota[i];} } }

int prome (int acum){ calculo= acum / tamano; return calculo; } int promex (int acumx){ calculo=acumx/ tamano; return calculo; } int promec (int acumc){ calculo=acumc/ tamano; return calculo; }

2. Realizar un cdigo en el que se trabaje con archivos. Programa en el que se trabaja con un archivo de datos automviles donde se encuentra el color, marca, ao y placa. Al ejecutarse dicho cdigo dar como los datos de salida segn la opcin introducida ya que este trabajara con un menu.
# include <stdio.h> char ifilename []="datos.txt"; char ofilename []="carros_2010_2011.txt"; char ofilename1 []="carros_viejos.txt"; char ofilename2 []="carros_nuevos.txt"; char color[10]; char marca [10]; int ano; char placa [10]; void carros_viejos() { FILE *ofp1, *ifp; ifp = fopen (ifilename, "r"); ofp1 = fopen (ofilename1, "w");

while (fscanf (ifp, "%s" "%s" "%i" "%s",color, marca, &ano, placa)!=EOF) { if(ano<2007) { fprintf (ofp1, "%s ",color);

fprintf (ofp1, "%s ", marca); fprintf (ofp1, "%i ", ano); fprintf (ofp1, "%s\n ", placa); } } fclose (ifp); fclose (ofp1); } void carros_nuevos() { FILE *ofp2, *ifp; ifp = fopen (ifilename, "r"); ofp2 = fopen (ofilename2, "w"); while (fscanf (ifp, "%s" "%s" "%i" "%s",color, marca, &ano, placa)!=EOF ) { if(ano>2012) { fprintf (ofp2, "%s ",color); fprintf (ofp2, "%s ", marca); fprintf (ofp2, "%i ", ano); fprintf (ofp2, "%s\n ", placa); } } fclose (ifp); fclose (ofp2); } void carros_2010_2011() { FILE *ofp, *ifp; ifp = fopen (ifilename, "r"); ofp = fopen (ofilename, "w"); while (fscanf (ifp, "%s" "%s" "%i" "%s", color, marca, &ano, placa)!=EOF ) { if((ano>=2010)&&(ano<=2011)) { fprintf (ofp, "%s ",color); fprintf (ofp, "%s ", marca); fprintf (ofp, "%i ", ano); fprintf (ofp, "%s\n ", placa); } } fclose (ifp);

fclose (ofp); }

void pause() { printf("\npreciona cuaquier tecla...");getch(); } int menu() { char x; printf("....... MENU.......\n"); printf(" 1).- Carros viejos \n"); printf(" 2).- Carros nuevos \n"); printf(" 3).- Carros 2010 - 2011 \n"); printf(" 4).- Para saler del sistema \n"); printf("Seleccione la Opcion que desea realizar\n"); do{ x = getche(); }while((x<'1') || (x>'4')); return x; } int main() { char opc; do{ opc= menu(); switch(opc) { case '1':carros_viejos(); break; case '2':carros_nuevos(); break; case '3':carros_2010_2011(); break; } }while(opc!='4'); }