Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.

Slides:



Advertisements
Presentaciones similares
Lenguaje C++.
Advertisements

Abstracción de Datos Arrays.
Repaso para la construcción del intérprete 2012
Programación I Teoría III
Punteros Universidad Nacional Mayor de San Marcos
MANEJO DE ARRAYS EN C.
Programación Estructurada
ESTRUCTURAS DE SECUENCIA
Unidad 3 Punteros.
ÁRBOLES DE EXPRESION.
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
String o Cadenas Prof. Gonzalo Pastor. Cadenas o String ► En C, una cadena o texto se define como un vector de caracteres de longitud determinada que.
Manipulación de caracteres e hileras de texto
Arreglos: Vectores en JAVA
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
Diseño de algoritmos “Estructuras”
Semana 5 Subprogramas..
Clase Teórica No. 4 Programación IV
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
Cadenas y apuntadores Programación.
Arreglos.
Archivos Binarios Lenguaje C Prof. Gonzalo Pastor.
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Índice. Revisando conceptos acerca de la memoria.
Archivos.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
FUNCIONES O PROCEDIMIENTOS
LENGUAJE “C” Programación.
METODOLOGÍA DE LA PROGRAMACIÓN
Introducción a los punteros Prof. Domingo Hernández.
Matrices y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Ejercicios de Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Programación en C para electrónicos
Tipo de dato Arreglo en C Uso del for con arreglos
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
PUNTEROS Y REFERENCIAS
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Introducción a la Programación “El lenguaje C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Introducción a la Programación “Vectores y Matrices” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Matrices Prof. Flor Narciso Departamento de Computación
Conceptos Avanzados de Programación
FUNDAMENTOS DE PROGRAMACIÓN
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Teoría de Sistemas Operativos Sincronización Procesos
Términos algoritmo diseñar algoritmo implementar algoritmo
Tipo de dato char El tipo de dato char ocupa un byte de memoria. Con un byte solo se puden guardar 256 números enteros sin signo, del 0 – 255. Si a cada.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
LENGUAJE “C” Programación.
Fundamentos de Programación
HERENCIA.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
MEMORIA DINÁMICA.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Transcripción de la presentación:

Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto

Destrezas Esperadas Utilizar algunas funciones incorporadas en C, para el manejo de cadenas

Funciones para cadenas strcpy(str2,str1): Copia str1 en str2 strcmp(str1,str2): Compara dos cadenas str1 y str2. Si str1=str2 entonces retorna 0. strlen(str1): devuelve un entero que va a ser el largo de srt1. strcat(str1,str2): concatena el string str2 al final del string str1.

Ejercicios 1 Dado dos vectores. Dichos vectores corresponden a los elementos de conjuntos. Cree una función que calcule A-B (Operación de conjuntos). Es decir, todos los elementos que están en A, pero que no están en B.

Solución 1 int *RestaConjuntos(int A[],int B[],int CantA,int CantB) { int i,encontrado,k,Resta[MAX]; for(i=0,k=0; i<CantM;i++) { for(j=0,encontrado=0;j<CantB && !encontrado;j++) if(A[i]==B[j]) encontrado=1; else continue; if(encontrado==0) { Resta[k]=A[i]; k++; } else continue; } return(Resta); }

Ejercicio 2 Suponga que tiene una base de datos representada a través de arreglos en C. En dicha base de datos se tiene información de los empleados de una empresa. Nota los arreglos ya contienen información. La cantidad de empleados es menor o igual a MAXART, si es menor, entonces los disponibles tienen el carácter nulo en nombre y apellido : #define MAXART 500 #define largo 30

Ejercicio 2 #define MAXART 500 #define largo 30 main() { char nombre[MAXART][largo]; char apellido[MAXART][largo]; int edad[MAXART]; int sueldobase[MAXART]; : /* note que las declaraciones anteriores son locales*/ Cree una función que imprima la información de todos los empleados que ganan más de $

Ejercicio 2 Cree una función genérica que permita incrementar el sueldo de un empleado. Para ello tome en cuenta que entre los parámetros a ingresar a la función están, el nombre, el apellido y el porcentaje a incrementar. El nombre y el apellido son string sin tamaño definido. Suponga que el procedimiento para eliminar un empleado es: Se encuentra el empleado, se corren todos los demás a la celda anterior, finalmente se coloca un vacío o nulo al final.

Solución 2 void Imprimir(char nombre[][largo],char apellido[][largo],int edad[],int sueldobase[]) { int i; for(i=0;i<MAXART;i++) if(sueldobase[i]>=250000) printf(“Nombre:%s, Apellido:%s, edad:%d, SueldoBase:%d\n”,nombre[i],apellido[i],edad[i], sueldobase[i]); else continue; }

Solución 2 void AumentarSueldo(char nombre[],char apellido[],int porcentaje) { int i; for(i=0;i<MAXART;i++) if(!srtcmp(nombre,nombre[i]) && !srtcmp(apellido,apellido[i])) { valor=sueldobase[i]*porcentaje; sueldobase[i]=sueldobase[i]+valor; } else continue; }

Solución 2 void Eliminar(char NB[],char AB[],char nombre[][largo],char apellido[][largo],int edad[], int sueldobase[]) { int i,j,stop=1; for(i=0;i<=MAXART && srtlen(nombre[i])!=0;i++) if(!strcmp(nombre,nombre[i]) && !strcmp(apellido,apellido[i]) && stop) { j=i; stop=0; } else if(!stop) for(;j<=MAXART && strlen(nombre[j])!=0;j++,i++) { strcpy(nombre[j],nombre[i]); strcpy(apellido[j],apellido[i]); edad[j]=edad[i]; sueldobase[j]=sueldobase[i]; } else continue; }