Bloque 5. Tipos de datos compuestos estáticos: arrays, strings y structs. Parte II: Strings y structs

Documentos relacionados
Bloque 5. Tipos de datos compuestos estáticos: arrays, strings y structs

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior STRINGS

Ing. Informática Programación I Bloque 7

Informática Ingeniería en Electrónica y Automática Industrial

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres

Índice. Estructuras de datos en Memoria Principal: Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa:

Fundamentos de Informática

Informática II Vectores y Matrices

UNIDAD IV ESTRUCTURA DE DATOS ESTÁTICAS MATRICES

TEMA 5: ESTRUCTURAS ESTÁTICAS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

LENGUAJE. Tema 4 Vectores, Matrices y Cadenas de caracteres.

Tema 11: Manejo de cadenas en C

Tema 8 Vectores y Matrices

En un arreglo x de n elementos los elementos del arreglo son: El número de índices determina la dimensionalidad del arreglo.

Formato para prácticas de laboratorio

PROGRAMACION / Clave: 11214

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa

SESIÓN DE EJERCICIOS E4

Cadenas de caracteres

Informática. Prueba de conjunto (0.25 puntos) Considerar el siguiente fragmento de código:

Microprocesadores. Introducción al Lenguaje C - Parte V. Prof. Luis Araujo. Universidad de Los Andes

Programación 1 Grado de Ingeniería Robótica

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Instituto Tecnológico de Celaya

Caracteres y Cadenas. Funcionamiento y algunas funciones para su manipulación

Cadenas de caracteres. 1. Definición 2. Funciones para manejo de cadenas

Tema 2: La clase string

Estructura de Datos ARREGLOS

Programación I Funciones

1000+(4/100)*1000 =1000 * (1+4/100) =1000 * 1.04 = Al finalizar el segundo año, el 4% se aplica sobre los 1040, y obtenemos:

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Prácticas de JavaScript

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Escuela Politécnica Superior de Elche

Unidad 3. Estructuras simples de datos. Tema 1. Cadenas de caracteres

Programación I Arrays, cadenas de caracteres y estructuras

Formatos para prácticas de laboratorio

Introducción general al Lenguaje C (2010/2011)

Tipos de Datos en C. Palabras reservadas en C

Tema 2: Elementos básicos de un programa. Tipos de datos, variables y constantes Asignación Operadores y expresiones

Programación I Teoría III.

Algoritmos y Programación I

Lenguaje de Programación: C++ ARCHIVOS I/O

Operaciones de E/S en ANSI C

Max-1

Algoritmos y estructuras de datos

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas

Tema 2: La clase string. Índice. Notas. Programación 2. Curso Notas. Definición Declaración Entrada / salida Métodos Operaciones

Para C un chero no es más que una porción de almacenamiento

Arreglos. Donde en cada posición del array se puede guardar un elemento. tipo_dato nombre_array[cant_elem];

Dobles: Es el caso de la instrucción if-else (punto 1.2).

/**********************Prototipos de ciones************************/ TOKEN scanner(); int columna(int c);

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

Codificación en C. Como pasar de Pseudocódigo a C (con pequeños trucos de C++)

Capítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Problema No.7. Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine.

FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 1ª Convocatoria. 21 de Enero de 2002

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños

Bloque 9. Ficheros de texto

Informática I para Bachillerato

Sintaxis de los aspectos generales de un lenguaje de programación

/* Compilador del Lenguaje Micro (Fischer) */ #include <stdio.h> #include <string.h> #include <ctype.h>

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Introducción a la Programación

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso:

Ejercicios de C. 1. Estructura de un programa. Objetivos: Practicar con el editor - usar el editor emacs emacs nombre.c

Arrays, Matrices y Cadenas

COMPILADORES ANALIZADOR SINTÁCTICO

Arrays y Cadenas en C

OBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos.

Tipos de Datos Estructurados

Técnicas Informáticas PRÁCTICA 7 Curso PRÁCTICA 7: Cadenas y Estructuras.

Esquema de un programa en C: bloques básicos

Escuela Politécnica Superior de Elche

Tema 3. Estructuras de control

Tema 10: Tipos de datos definidos por el usuario

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

Lenguaje de programación C. Introducción

Tema 3. Entrada y Salida

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2

LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Programación 1 Tema 5. Instrucciones simples y estructuradas

Elementos de un programa en C

Arrays. Programación en C 1

Instituto Politécnico Nacional

Cadenas (strings) y Estructuras

09/02/2016 ET1032 ET1032. Informática Industrial. Informática Industrial. Hacer programas 1. Hacer programas 2

ET1032. Informática Industrial. Hacer programas 1

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Transcripción:

Bloque 5 Tipos de datos compuestos estáticos: arrays, strings y structs Parte II: Strings y structs

Strings (cadenas de caracteres) Muy parecido a un array de caracteres La diferencia principal es que la cadena debe acabar con el carácter especial \0 C tiene una librería <string.h> con una serie de funciones que permiten trabajar con la cadena entera (no sólo carácter a carácter como con arrays)

Declaración de strings Declaración: char cadena[5]; Recordar que hay que guardar un carácter para el \0 Se le puede dar un valor inicial y tratar carácter a carácter: char cadena1[5]= hola ; char cadena2[5]= ab ; cadena1[2]= a ; cadena2[0]= c ; 0 1 2 3 4 0 1 2 3 4 h o a a \0 c b \0

Ejemplo { main() char cadena1[5]; cadena1= hola ; } Error: no se puede asignar toda la cadena de una vez (excepto en la inicialización)

Ejemplo { main() char cadena1[5]= hola ; char cadena2[5]= ab ; if (cadena1==cadena2)... } Error: no se puede comparar toda la cadena de una vez

Librería string.h Contiene una serie de funciones que permiten tratar las cadenas enteras Función Explicación strlen(cadena) strcpy(cadena1,cadena2) Retorna la longitud de la cadena Copia el contenido de la cadena2 a la cadena1 strncpy(cadena1,cadena2,n) strcat(cadena1,cadena2) strncat(cadena1,cadena2,n) strcmp(cadena1,cadena2) strncmp(cadena1,cadena2,n) Copia los n primeros caracteres de la cadena2 a la cadena1 Concatena cadena2 al final de cadena1 Concatena los n primeros caracteres de cadena2 al final de cadena1 Compara las dos cadenas y retorna 0 si son iguales, un entero <0 si cadena1 es alfabéticamente menor que cadena2, y un entero >0 si no Igual que strcmp, pero utilizando sólo los n primeros caracteres de las dos cadenas

Leer y escribir cadenas Leer: gets(cadena); No hay & Introduce los caracteres leídos en la variable cadena, hasta que llega al '\n' scanf("%s", cadena); Se para al llegar al '\n', y también al llegar a un espacio en blanco Escribir printf("%s", cadena); puts(cadena);

#include <string.h> #include <stdio.h> main() { char a[5],b[5],c[5]; Ejemplo strcpy(a,"ab"); strcpy(b,"cd"); strcpy(c,a); strcat(c,b); a[2]='c'; a[3]='d'; printf("%s\n",c); } if (strcmp(a,c)) printf("diferentes\n"); else printf("iguales\n"); Escribe diferentes

#include <string.h> #include <stdio.h> main() { char a[5],b[5],c[5]; Ejemplo strcpy(a,"ab"); strcpy(b,"cd"); strcpy(c,a); strcat(c,b); a[2]='c'; a[3]='d'; a[4]='\0'; printf("%s\n",c); } if (strcmp(a,c)) printf("diferentes\n"); else printf("iguales\n"); Escribe iguales

Ejemplo: contar las ocurrencias de una letra en una frase #include <stdio.h> #include <string.h> #define MAXLIN 100 main() { char frase[maxlin], letra; int total = 0, indice; printf("\nfrase: "); gets(frase); printf("\nletra: "); scanf("%c",&letra); for (indice=0; indice<strlen(frase); indice++) if (frase[indice]==letra) total++; } printf("\nla letra %c aparece %d veces en la frase %s", letra, total, frase);

Ejemplo: contar las ocurrencias de una palabra en una frase #include <stdio.h> #include <string.h> #define MAXLIN 100 main() { char palabra_frase[maxlin], palabra[maxlin]; char c = ' '; int total = 0; printf("\npalabra: "); scanf("%s",palabra); printf("\nfrase: "); } while (c!='\n') { scanf("%s%c",palabra_frase, &c); if (strcmp(palabra_frase, palabra)==0) total++; } printf("\nla palabra %s aparece %d veces en la frase\n", palabra, total);

Estructuras (o registros) Permiten agrupar en una variable elementos de tipos diferentes (campos) Ejemplos: struct { struct { int codigo; char tipo_usuario; } usuario; struct { campos short int R; short int G; short int B; } color; Nombre de la variable char companyia[2]; int numero; } codigo_vuelo;

Acceso a los campos nombre_estructura.nombre_campo Por ejemplo: color.r=255; color.g=0; color.b=100;

Ejemplo de arrays de estructuras struct { short int R; short int G; short int B; } colores[10]; Declara un array de 10 posiciones (0 a 9), donde cada posición contiene una estructura con tres campos (R, G y B) colores[5].r=0; colores[5].g=0; colores[5].b=255; Pone el color azul (0,0,255) en la posición 5