PDF de programación - Lenguaje C - Estructuración de Datos: Arreglos Funciones de Entrada y de Salida

Imágen de pdf Lenguaje C - Estructuración de Datos: Arreglos Funciones de Entrada y de Salida

Lenguaje C - Estructuración de Datos: Arreglos Funciones de Entrada y de Salidagráfica de visualizaciones

Publicado el 26 de Junio del 2018
974 visualizaciones desde el 26 de Junio del 2018
310,6 KB
16 paginas
Creado hace 7a (01/01/2017)
Lenguaje C

Estructuración de Datos: Arreglos
Funciones de Entrada y de Salida

Primer Cuatrimestre 2017

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica)

1

Lenguaje “C”

FCFMyN - UNSL



Objetos de Datos Estructurados: ARREGLOS
Un arreglo es un conjunto de posiciones de memoria
consecutivas usados para almacenar datos todos del
mismo tipo.

Donde

4 Todos los elementos del arreglo son del mismo tipo
primitivo por lo tanto es una estructura homogénea.

4Es una estructura estática, es decir su tamaño
(cantidad y tipo de elementos del arreglo) se define en
tiempo de compilación a partir de la declaración y no
cambia durante la ejecución del programa. (Es posible definir
arreglos cuya dimensión se modifique en tiempos de ejecución
(estructuras dinámicas) pero este concepto no será abordado en este
curso) .
4Es una estructura lineal de acceso directo, es decir
se accede a un dato en forma directa con sólo indicar la
posición o subíndice. El número que indica la posición
(subíndice) es un número natural.
4El número de elementos o dimensión, se define con la
declaración junto con el límite mínimo y límite máximo o
rango.

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

2

FCFMyN - UNSL

Arreglos en Lenguaje C



Elemento

VENTA
120
1

578
2

625
3

1230
100

99

Dimensión = Cantidad total de elementos

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

3



Lenguaje de diseño



VENTA
120
1

FCFMyN - UNSL



578
2

625
3

1230
100

99

Declaración:



Lenguaje “C”



VENTA
120
0

VENTA: arreglo[1..100] de real



Los subíndices siempre comienzan en ‘0’,
por lo que el último elemento se encontrará
en la posición ‘n-1’


578
1

1230
99

625
2

98

Declaración:

float venta[100]

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

4


Formalmente:



FCFMyN - UNSL

<tipo> <nombre del arreglo>[<dimension>]

Ejemplos:
a)

int numeros[3]; /* arreglo de 3 enteros */
float montos[5]; /* arreglo de 5 flotantes */
char letras[10]; /* arreglo de 10 caracteres */


b)


#include <stdio.h>

int main() {

float data[5];
float total;
float average;

data[0] = 34.0;
data[1] = 27.0;
data[2] = 45.0;
data[3] = 82.0;
data[4] = 22.0;

total = data[0]+data[1]+data[2]+data[3]+data[4];
average = total / 5.0;
printf(“Total %f Average %f\n”, total, average);

return(0);
}



Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

5

FCFMyN - UNSL

String: secuencia de
caracteres que conforman
un texto.

Cómo los imprimo?


c)


int main() {

char palabra[4];

palabra[0] = ‘c’;
palabra[1] = ‘a’;
palabra[2] = ‘s’;
palabra[3] = ‘a’;

return(0);
}



for (i=0; i <=3; i++) {
printf(“%c”, palabra[i]);
}



printf(“%s”, palabra);



Indica que el texto a
mostrar es un string
(arreglo de caracteres).

Solamente se coloca el
nombre de la estructura
arreglo.

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

6

FCFMyN - UNSL



Inconveniente:

4 no siempre el arreglo de caracteres estará lleno.

int main() {

char palabra[10];

palabra[0] = ‘c’;
palabra[1] = ‘a’;
palabra[2] = ‘s’;
palabra[3] = ‘a’;

printf(“%s”, palabra);
return(0);
}



Un arreglo de caracteres es mostrado hasta
el final o hasta encontrar un marcador de
finalización (\0).



Qué muestra?
- solo “casa”?
- todo el arreglo?



int main() {

char palabra[10];

palabra[0] = ‘c’;
palabra[1] = ‘a’;
palabra[2] = ‘s’;
palabra[3] = ‘a’;
palabra[4] = ‘\0’;

printf(“%s”, palabra);
return(0);
}



Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

7

Lenguaje “C” - Ingreso de Información
Función getchar()

FCFMyN - UNSL

El ingreso de información en “C” se realiza de una
manera muy simple: carácter a carácter, a través de una
función denominada getchar.

Sintáxis


getchar()

Retorna el valor ASCII del carácter
(tecla) que se ingresó desde teclado.


Uso
int c;
c = getchar(); /* en “c ” se encuentra el
valor ASCII de la tecla


apretada */

Tecla apretada
4 “a”

4 “F”
4 “3”
4 “)”



Contenido de “c”
97
70
51
41

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

8

FCFMyN - UNSL

stdio.h, que significa "standard input-
output header" (cabecera estandar E/S),
es la biblioteca estándar del lenguaje C.
El archivo de cabecera contiene las
definiciones de macros, las constantes,
las declaraciones de funciones y la
definición de tipos usados por varias
operaciones estándar de entrada y salida

Lenguaje “C” - Ingreso de Información
Función getchar()
Ejemplo

#include <stdio.h>

int main() {

int c, i;

i = 1;
while (i != 0) {
c = getchar();
if (c >= 97 && c <= 122){
printf(“Es letra minúscula \n”);
}
if (c >= 48 && c <= 57){
printf(“Es dígito numérico \n”);
}
}
return(0);
}



Inconveniente:

4 Como interpretar información consistente de más de un
carácter (strings, números).


Ejemplos:


- La estrella es brillante
- 324
- 127,98

Int. a la Computación-Int. a la Programación-Fund. de la Informática

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

9

Lenguaje “C” - Ingreso de Información
Función getchar()
Primer Solución:



FCFMyN - UNSL

t1 - Ingresar los caracteres en un arreglo.
t2 - Procesar el arreglo identificando lo que
se desee.


Hasta cuando se leen caracteres?
4 Se necesita una señal de finalización (delimitador) de
ingreso que le indique al programa cuando finalizar t1 y
comenzar con t2.

Carácter asociado
´\n´

Int. a la Computación-Int. a la Programación-Fund. de la Informática

10

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017



Tecla



Return ó Enter

#include <stdio.h>

int main() {

int c[100], j;

/* Ingreso los caracteres */
j = 1;
c[j] = getchar();
while (c[j] != ´\n´) {
j = j+1;
c[j] = getchar();
}

/* Debo procesar el arreglo*/
return(0);
}



?


Lenguaje “C” - Ingreso de Información Función scanf()


Segunda Solución


El lenguaje “C” provee una función que realiza esas dos
tareas por nosotros denominada scanf.


OJO!
Sintáxis
scanf(<formato>, &<n_var1>, &<n_var2>, ...)



Formato de
interpretación a dar a
los caracteres
ingresados. Se respeta
la modalidad usada por
printf.

Nombres de variables
donde se almacenarán
los valores
interpretados desde
teclado.


Ejemplos:

a)


int numero;

scanf(“%d”, &numero);


Formato entero a dar
a los caracteres
ingresados.

Variable donde
quedará almacenado
el valor interpretado.

Int. a la Computación-Int. a la Programación-Fund. de la Informática

11

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

Lenguaje “C” - Ingreso de Información

FCFMyN - UNSL

Función scanf()

b)

#include <stdio.h>

int main() {

float data[5];
float total, average;
int i;

for (i =0; i <=4; i++) {
scanf(“%f”, &data[i]);
}
total = data[0]+data[1]+data[2]+data[3]+data[4];
average = total / 5.0;
printf(“Total %f Average %f\n”, total, average);

return(0);
}



Observación:
4 ¿Como se ingresan secuencias de caracteres (strings)
mediante el uso de scanf ?.


Int. a la Computación-Int. a la Programación-Fund. de la Informática

12

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

Lenguaje “C” - Ingreso de Información

FCFMyN - UNSL

Función scanf()

Primer intento:



#include <stdio.h>

int main() {

char letras[5];
int i;

printf(“Ingrese el texto: ”);
for (i =0; i <=4; i++) {
scanf(“%c”, &letras[i]);
}

printf(“\nLo ingresado fue: ”);
for (i =0; i <=4; i++) {
printf(“%c”, letras[i]);
}

return(0);
}



Ingrese el texto: monos
Lo ingresado fue: monos



Int. a la Computación-Int. a la Programación-Fund. de la Informática

13

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

FCFMyN - UNSL
Lenguaje “C” - Ingreso de Información Función scanf()
Segundo intento:



#include <stdio.h>

int main() {

char letras[5];
int i;

printf(“Ingrese el texto: ”);
scanf(“%s”, letras);

printf(“\nLo ingresado fue: ”);
printf(“%s”, letras);

return(0);
}



Pregunta:
4 Que sucedió con el caracter correspondiente al Return que
se apretó como finalización de la secuencia?

Respuesta:
4 Quedó pendiente de ser almacenado en alguna variable.
Por lo tanto será almacenado la próxima vez que se ejecute
scanf.


Sólo se coloca el nombre del arreglo. No
se coloca el símbolo & (ampersand)

Int. a la Computación-Int. a la Programación-Fund. de la Informática

14

(TUR, TUW, TUG, TUM, TUE, Ing. Electrónica) - 2017

FCFMyN - UNSL
Lenguaje “C” - Ingreso de Información Función scanf()


Solución:
Para solucionar este y otros casos se adopta la siguiente
convención:



Colocar siempre luego
  • Links de descarga
http://lwp-l.com/pdf12155

Comentarios de: Lenguaje C - Estructuración de Datos: Arreglos Funciones de Entrada y de Salida (1)

fraciel arevalo
21 de Julio del 2018
estrellaestrellaestrellaestrellaestrella
que buena plataforma muchos aportes maravillosos espero visitarla constante mente
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad