SlideShare una empresa de Scribd logo
UNIVERSIDAD PANAMA
Facultad De Informática, Electrónica
y Comunicación
Curso de Programación I
Módulo 3
Arreglos Unidimensionales
Facilitador: Ing. Saulo Aizprúa
I Semestre
2019
1
ARREGLOS&VECTORES
C++.
• Creación de programas simples de C++ Builder
como ejercicios en C++.
• Los elementos de control fundamentales en C++,
incluyendo operadores lógicos y aritméticos,
estructuras de decisión, y de ciclo.
• Los tipos de datos disponibles en C++, incluyendo
los numéricos, cadenas de caracteres, Boolean y
definidos por el usuario.
• Las facilidades de C++ para crear estructuras de
datos complejas, incluyendo arreglos, conjuntos y
estructuras.
2ARREGLOS&VECTORES
Creación de programas simples de
C++ Builder como ejercicios en C++.
• Símbolos para especificar
comentarios: // para líneas; /* y */
para párrafos.
• Instrucciones simples:
– Asignación: a = 15;
– Llamado a función:
ShowMessage(“Hola”);
3ARREGLOS&VECTORES
Creación de programas simples de
C++ Builder como ejercicios en C++.
• Instrucciones Compuestas: Es un
conjunto de instrucciones agrupadas
entre los símbolos { y }, las cuales son
tratadas como un bloque.
if (a >b)
{ temp = a; //inicio de bloque
a=b;
b=temp;
} //fin de bloque
4ARREGLOS&VECTORES
Creación de programas simples de
C++ Builder como ejercicios en C++.
• Uso del (punto y coma) “;” todas las
instrucciones simples deben
terminar con “;”.
5ARREGLOS&VECTORES
Elementos de control en C++
(operadores lógicos y aritméticos,
estructuras de decisión, y de ciclo).
• Símbolo de asignación “=“ (diferente del
símbolo de igualdad “==“).
• Operadores Aritméticos: +,-,*,/ y %
(residuo). Todos pueden hacer
operaciones con enteros y/o flotantes,
excepto %, el cual solo acepta enteros.
6ARREGLOS&VECTORES
Elementos de control en C++
(operadores lógicos y aritméticos,
estructuras de decisión, y de ciclo).
• Operadores relacionales: <, <=, >, >=,
== y !=.
• Operadores de operaciones con bits:
<< Corrimiento a la izquierda.
>> Corrimiento a la derecha.
& And
| Or
^ Xor
7ARREGLOS&VECTORES
Elementos de control en C++
(operadores lógicos y aritméticos,
estructuras de decisión, y de ciclo).
• Operadores Lógicos:
&& And
|| Or
! Not
8ARREGLOS&VECTORES
Operadores de Asignación
= Asignación.
*= Asignación de producto.
/= Asignación de cociente.
%= Asignación de residuo.
+= Asignación de suma.
-= Asignación de diferencia.
9ARREGLOS&VECTORES
Operadores de Asignación
<<= Asignación de corrimiento a la
izquierda.
>>= Asignación de corrimiento a la
derecha.
&= Asignación de And de bits.
^= Asignación de Xor de bits.
|= Asignación de Or de bits.
10ARREGLOS&VECTORES
Operadores de pertenencia a clases.
:: Resolución de área de visualización
de clases.
. y * Apuntadores de referencia de un
apuntador a un miembro de una
clase.
-> y * Apuntadores de referencia a
apuntadores de un miembro de una
clase.
11ARREGLOS&VECTORES
Elementos de control en C++
(operadores lógicos y aritméticos,
estructuras de decisión, y de ciclo).
?: If aritmético o condicional:
Ejemplo :
max = (x > y) ? x : y;
Equivale a:
if (x >y)
max = x;
else max = y;
12ARREGLOS&VECTORES
Estructuras de decisión.
if (condición) //if simple
instrucción(es);
if (condición) //if ..else
instrucción(es);
else
instrucción(es);
13ARREGLOS&VECTORES
Estructuras de decisión.
switch ( variable_de_valor_finito)
{ case expresión_constante : instrucción(es);
[break; ]
.
.
.
default : instrucción(es);
}
14ARREGLOS&VECTORES
Estructuras Ciclo.
• while (condición) instrucción(es);
• for (inicialización ; condición ;
incremento);
instrucción(es);
• do {
instrucción(es);
} while (condición);
15ARREGLOS&VECTORES
Modificadores de ejecución de
estructuras ciclo.
• break : hace que se interrumpa la
ejecución del ciclo o bloque de
instrucciones que la contiene, y se
continúe con la instrucción que siga
a dicho bloque.
16ARREGLOS&VECTORES
Modificadores de ejecución de
estructuras ciclo.
• continue : al ejecutarse se saltan las
instrucciones siguientes y se continúa con la
evaluación de la condición. Ejemplo:
for (i= 0; i<20;i++){
if (arreglo[i] == 0)
continue;
arreglo[i]= 1/arreglo[i];
}
17ARREGLOS&VECTORES
Tipos de datos en C++.
• Tipos de datos enteros:
char, short, int y long (todos ellos
pueden usarse en combinación con
el modificador unsigned para
definir variables enteras positivas).
unsigned int, unsigned long int
18ARREGLOS&VECTORES
Tipos de datos numéricos en C++.
Tipo Tamaño Rango Utilidad
unsigned char 8 0 <= X <= 255 Números pequeños y valores de la tabla
de caracteres de la PC.
char 8 -128 <= X <= 127 Números muy pequeños y caracteres de
la tabla ASCII
short int 16 -32,768 <= X <= 32,767 Contadores y números pequeños
unsigned int 32 0 <= X <= 4,294,967,295 Números grandes y ciclos
int 32 -2,147,483,648 <= X <= 2,147,483,647 Contadores, números pequeños
unsigned long 32 0 <= X <= 4,294,967,295 Enteros positivos muy grandes,
distancias
enum 32 -2,147,483,648 <= X <= 2,147,483,647 Conjuntos de valores ordenados
long 32 -2,147,483,648 <= X <= 2,147,483,647 Números grandes
float 32 1.18 10^-38 < |X| < 3.40 10^38 Cálculos (7-dígitos)
double 64 2.23 10^-308 < |X| < 1.79 10^308 Cálculos (15-dígitos)
long double 80 3.37 10^-4932 < |X| < 1.18 10^4932 Financieros (18-dígitos)
19ARREGLOS&VECTORES
Tipos de datos de cadenas de
caracteres en C++.
Tipo Longitud máxima Memoria requerida Usado para
ShortString 255 caracteres 2 a 256 bytes Compatibilidad con
versiones anteriores.
AnsiString ~2^31 caracteres 4 bytes a 2GB Cadenas de
caracteres de 8-bit
(ANSI)
WideString ~2^30 caracteres 4 bytes a 2GB Caracteres unicode;
servidores multi-
usuario y aplicaciones
multi-idioma.
20ARREGLOS&VECTORES
Tipos de datos Boolean en C++.
• Las variables de este tipo pueden
almacenar los valores: true y false.
21ARREGLOS&VECTORES
Tipos de datos definidos por el
usuario en C++.
• Apuntadores a objetos y
apuntadores a funciones.
• Tipos de datos enumerados:
enum dias {lunes, martes, miercoles, jueves, viernes, sabado, domingo};
22ARREGLOS&VECTORES
Tipos de datos Variant en C++.
• Son esencialmente variables sin tipo,
que pueden tomar valores de diferente
tipo y además pueden cambiar su tipo
dinámicamente.
• Además una variable de tipo Variant
puede tomar el valor Null y
Unassigned, para indicar ausencia de
dirección y que no se ha inicializado
respectivamente.
23ARREGLOS&VECTORES
Las facilidades de C++ para crear
estructuras de datos complejas
(arreglos, conjuntos y estructuras).
• Arreglos:
tipo identificador[expresion constante];
• DinamycArray:
DinamicArray <int> arregloEnteros;
arregloEnteros.Length = 10;
24ARREGLOS&VECTORES
Las facilidades de C++ para crear
estructuras de datos complejas
(arreglos, conjuntos y estructuras).
• Permite reunir un grupo de valores
de diferente tipo bajo un mismo
nombre.
struct miestructura {
char nombre[20], telefono[20];
int edad, altura;
} midato;
25ARREGLOS&VECTORES
Las facilidades de C++ para crear
estructuras de datos complejas
(arreglos, conjuntos y estructuras).
• El tipo conjunto en C++ Builder se
puede implementar mediante el
uso del template:
• Set <tipo, valor_mínimo,valor
máximo>
26ARREGLOS&VECTORES
Arreglos
• Un arreglo es un conjunto de variables del 
mismo tipo que poseen un nombre común 
concatenado a un índice.
• El índice permite acceder directamente a un 
elemento particular de un arreglo.
• Los arreglos en lenguaje C se almacenan en 
celdas de memoria contiguas.
• Pueden tener 1 o más dimensiones.
27ARREGLOS&VECTORES
Arreglos unidimensionales
• La forma general de declaración:
• La cantidad de memoria en bytes se puede 
obtener con la función:
• El 0 es el índice del primer elemento de un 
arreglo.
tipo nombre_variable[tamaño];
numero_bytes = sizeof(tipo)*tamaño;
28ARREGLOS&VECTORES
Arreglos Unidimensionales
elemento 0 elemento 1 elemento n-1
tipo nombre_variable[tamaño];
Ejemplo:
Realizar un programa en el que se ingresen 10 enteros, y luego se 
sumen sus elementos. Mostrar el resultado.
29ARREGLOS&VECTORES
Ejemplo
#include <stdio.h>
int main(){
int x[10];
int i,suma;
for (i=0;i<10;i++){
printf ("Ingresar entero: ");
scanf("%d",&x[i]);
}
suma=0;
for (i=0;i<10;i++)
suma+=x[i];
printf(" El resultado de la suma es = %dn",suma);
return 0;
}
30ARREGLOS&VECTORES
Arreglos Unidimensionales
• Ejercicios:
­ Crear un programa al cual se le ingrese un conjunto 
de caracteres.
­ Calcular el promedio en un arreglo de largo L el cual 
no está lleno completamente.
31ARREGLOS&VECTORES
Paso de Arreglos
unidimensionales a
funciones• Forma 1:  Arreglo delimitado
#include <stdio.h>
func1(int x[100]){
.........
}
int main(){
int a[100];
…..
func1(a);
……...
return 0;
}
Se pasa la dirección del primer
elemento del arreglo a la función
Se debe especificar el tamaño
del arreglo
32ARREGLOS&VECTORES
Paso de Arreglos
unidimensionales a funciones
• Forma 2:  Arreglo no delimitado
#include <stdio.h>
func1(int x[]){
……...
}
int main(){
int a[10];
…..
func1(a);
……...
return 0;
}
No se especifica el tamaño del
arreglo
33ARREGLOS&VECTORES
Paso de Arreglos
unidimensionales a funciones
• Nota:
–  Al llamar una función pasándole un arreglo como 
parámetro, como se le entrega la dirección del 
primer elemento, entonces  si los valores del arreglo 
son modificados dentro de la función, también son 
modificados en la función que llama.
34ARREGLOS&VECTORES
String
• Es el uso más común de arreglo unidimensional.
• En C un string es un arreglo de caracteres que 
terminan en un caracter nulo: ‘0’.
35ARREGLOS&VECTORES
String
• Declaración:
– Se declaran como arreglos unidimensionales.
– Debe contener 1 carácter más que la cadena más 
larga más larga que pueda contener.
char cadena[6];
Puede contener hasta
5 caracteres
0 1 2 3 4 5
0
Caracter que marca el fin del string
36ARREGLOS&VECTORES
Strings
Constante de cadenas:
– Es una secuencia de uno o más caracteres 
encerrado entre comillas.
– Ejemplo: “informatica”
37ARREGLOS&VECTORES
Biblioteca de funciones de
Manejo de cadenas
Función Prototipo Acción Retorna
strcpy() char *strcpy(char *s1,const char *s2); Copia s2 en s1. s1
strcat() char *strcat(char *s1,const char *s2); Concatena s2 en s1. s1
strlen() int strlen(const char *s1); Longitud de s1
strcmp() int strcmp(const char *s1,const char *s2); Compara s2 con s1 0 si son iguales
>0 si s1>s2
<0 si s1<s2
Biblioteca: string.h
Las cadenas o string no son un tipo de dato en C, por lo tanto, las
operaciones sobre cadenas se realizan mediante funciones de
biblioteca que ahorran el trabajo byte a byte (podemos crear otras).
38ARREGLOS&VECTORES
Ejemplo
#include <string.h>
#include <stdio.h>
int main(void){
char c1[64,c2[64];
printf("Ingrese un string:");
scanf("%s",c1);
printf("Ingrese un string:");
scanf("%s",c2);
printf("Longitudes: %d %n",strlen(c1),strlen(c2));
if(!strcmp(c1,c2)) printf("Son igualesn");
strcat(c1,c2);
printf("%sn",c1);
return 0;
}
39ARREGLOS&VECTORES
Strings
Ejercicio:
­ Realizar un programa que convierta dentro de un 
string, las mayúsculas a minúsculas, minúsculas a 
mayúsculas y sumar los dígitos.
40ARREGLOS&VECTORES
Arreglos de punteros
Un puntero es una variable, por lo tanto puede ser 
almacenado en un arreglo.
Declaración:
tipo *nombre_variable[tamaño];
Abcdefghi
xyz
Qwertyuiopasdfg
Abcdefghi
xyz
Qwertyuiopasdfg
41ARREGLOS&VECTORES
Punteros a punteros:
argumentos de la función main()
main(int argc, char **argv){....}
cdefghi0
z0
ertyuiopasdfg0
main(int argc, char *argv[]){....}
argv:
0
Ejemplo: $z ertyuiopasdfg cdefghi
Dos formas equivalentes para declarar los argumentos:
42ARREGLOS&VECTORES
Argumentos de main()
• El estándar ANSI define dos argumentos de main():  
argc y argv.
• Permite pasar información al programa de C mediante 
argumentos de línea de órdenes.
• argc : contiene el número de argumentos, y es entero.
• argv : es un puntero a un arreglo de caracteres.
./programa argumento1 argumento2 ….
Línea de órdenes
43ARREGLOS&VECTORES
Argumentos de main() (cont.)
#include <stdio.h>
int main(int argc, char *argv[]){
int i;
for(i=0;i<argc;i++){
printf(“El argumento %d es: %s”,i,argv[i]);
return 0;
}
$./programa aaa bb
El argumento 0 es: ./programa
El argumento 1 es: aaa
El argumento 2 es: bb
44ARREGLOS&VECTORES

Más contenido relacionado

La actualidad más candente

Diagnostico octavo
Diagnostico octavoDiagnostico octavo
Diagnostico octavo
rtonarojas
 
Diagnostico decimo
Diagnostico decimoDiagnostico decimo
Diagnostico decimo
rtonarojas
 
Presentacion access
Presentacion accessPresentacion access
Presentacion access
lemakleber
 
Unidad 2
Unidad 2Unidad 2
Oper.2305.m01.lectura.v1
Oper.2305.m01.lectura.v1Oper.2305.m01.lectura.v1
Oper.2305.m01.lectura.v1
LUIS COAQUIRA
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
tacubomx
 
Mascara de entrada
Mascara de entradaMascara de entrada
Mascara de entrada
Coral Picazo Plá
 
Arreglos
ArreglosArreglos
Arreglos
laura291091
 
Manual drafsight basico
Manual drafsight basicoManual drafsight basico
Manual drafsight basico
Leandro Mariano Ledo Bertoni
 
Metodos Graficos[Remodelacion]
Metodos Graficos[Remodelacion]Metodos Graficos[Remodelacion]
Metodos Graficos[Remodelacion]
angelikita.92
 
Una máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en camposUna máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en campos
Elsy Z Vargas
 
Ada 4 Casanova Leslie
Ada 4 Casanova LeslieAda 4 Casanova Leslie
Ada 4 Casanova Leslie
lescasanova
 
Matrices unidimensional
Matrices unidimensionalMatrices unidimensional
Matrices unidimensional
Robert Vicente
 
Access apuntes tablas
Access apuntes tablasAccess apuntes tablas
Access apuntes tablas
anasmr
 
Formatos en excel
Formatos en excelFormatos en excel
Formatos en excel
Jomar Burgos Palacios
 
El Ambiente De Trabajo Y La CreacióN De
El Ambiente De Trabajo Y La CreacióN DeEl Ambiente De Trabajo Y La CreacióN De
El Ambiente De Trabajo Y La CreacióN De
UTP, TA
 
Ada 4-napolitano
Ada 4-napolitanoAda 4-napolitano
Ada 4-napolitano
Mint Marruecos
 
Arreglos bidimensionales o matrices
Arreglos bidimensionales o matricesArreglos bidimensionales o matrices
Arreglos bidimensionales o matrices
AriannaYadiraT
 

La actualidad más candente (18)

Diagnostico octavo
Diagnostico octavoDiagnostico octavo
Diagnostico octavo
 
Diagnostico decimo
Diagnostico decimoDiagnostico decimo
Diagnostico decimo
 
Presentacion access
Presentacion accessPresentacion access
Presentacion access
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Oper.2305.m01.lectura.v1
Oper.2305.m01.lectura.v1Oper.2305.m01.lectura.v1
Oper.2305.m01.lectura.v1
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Mascara de entrada
Mascara de entradaMascara de entrada
Mascara de entrada
 
Arreglos
ArreglosArreglos
Arreglos
 
Manual drafsight basico
Manual drafsight basicoManual drafsight basico
Manual drafsight basico
 
Metodos Graficos[Remodelacion]
Metodos Graficos[Remodelacion]Metodos Graficos[Remodelacion]
Metodos Graficos[Remodelacion]
 
Una máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en camposUna máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en campos
 
Ada 4 Casanova Leslie
Ada 4 Casanova LeslieAda 4 Casanova Leslie
Ada 4 Casanova Leslie
 
Matrices unidimensional
Matrices unidimensionalMatrices unidimensional
Matrices unidimensional
 
Access apuntes tablas
Access apuntes tablasAccess apuntes tablas
Access apuntes tablas
 
Formatos en excel
Formatos en excelFormatos en excel
Formatos en excel
 
El Ambiente De Trabajo Y La CreacióN De
El Ambiente De Trabajo Y La CreacióN DeEl Ambiente De Trabajo Y La CreacióN De
El Ambiente De Trabajo Y La CreacióN De
 
Ada 4-napolitano
Ada 4-napolitanoAda 4-napolitano
Ada 4-napolitano
 
Arreglos bidimensionales o matrices
Arreglos bidimensionales o matricesArreglos bidimensionales o matrices
Arreglos bidimensionales o matrices
 

Similar a Arreglos Unimensionales

02.1 - Estructura_General_De_Programa.pptx
02.1 - Estructura_General_De_Programa.pptx02.1 - Estructura_General_De_Programa.pptx
02.1 - Estructura_General_De_Programa.pptx
IrisDelCarmenRodrigu
 
Curso c i
Curso c iCurso c i
Curso c i
Jorge De Leòn
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
ederhenriquez
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivas
Leany González
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantes
Sol Hernández
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
José Ricardo Tillero Giménez
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
Omaris Guigñan de D'Addio
 
algoritmos y diagrama de flujos ing sist
algoritmos y diagrama de flujos ing sistalgoritmos y diagrama de flujos ing sist
algoritmos y diagrama de flujos ing sist
ALEJANDROMONTEROARIA
 
Sistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatisSistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatis
Alcira Ordóñez Rey
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
luisce03
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 
Pia grupo 11 equipo 3
Pia grupo 11 equipo 3Pia grupo 11 equipo 3
Pia grupo 11 equipo 3
Rodrigo Adrian Treviño Treviño
 
TEMA Nº 2-102
TEMA Nº 2-102TEMA Nº 2-102
TEMA Nº 2-102
Marta Quintero
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.ppt
DjJoss
 
Presentacion de la_estructura_basica_c_ (1)
Presentacion de la_estructura_basica_c_ (1)Presentacion de la_estructura_basica_c_ (1)
Presentacion de la_estructura_basica_c_ (1)
KarlaLespinos
 
Presentacion de la_estructura_basica_c_
Presentacion de la_estructura_basica_c_Presentacion de la_estructura_basica_c_
Presentacion de la_estructura_basica_c_
erickaagarciarosales
 
C
CC
1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte
Jesus Alberto Iribe Gonzalez
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
Adiel Castaño
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
Whaleejaa Wha
 

Similar a Arreglos Unimensionales (20)

02.1 - Estructura_General_De_Programa.pptx
02.1 - Estructura_General_De_Programa.pptx02.1 - Estructura_General_De_Programa.pptx
02.1 - Estructura_General_De_Programa.pptx
 
Curso c i
Curso c iCurso c i
Curso c i
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivas
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantes
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
algoritmos y diagrama de flujos ing sist
algoritmos y diagrama de flujos ing sistalgoritmos y diagrama de flujos ing sist
algoritmos y diagrama de flujos ing sist
 
Sistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatisSistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatis
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
Pia grupo 11 equipo 3
Pia grupo 11 equipo 3Pia grupo 11 equipo 3
Pia grupo 11 equipo 3
 
TEMA Nº 2-102
TEMA Nº 2-102TEMA Nº 2-102
TEMA Nº 2-102
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.ppt
 
Presentacion de la_estructura_basica_c_ (1)
Presentacion de la_estructura_basica_c_ (1)Presentacion de la_estructura_basica_c_ (1)
Presentacion de la_estructura_basica_c_ (1)
 
Presentacion de la_estructura_basica_c_
Presentacion de la_estructura_basica_c_Presentacion de la_estructura_basica_c_
Presentacion de la_estructura_basica_c_
 
C
CC
C
 
1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 

Último

665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
La Paradoja educativa
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
perezducasaarmando
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 

Último (20)

665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 

Arreglos Unimensionales

  • 1. UNIVERSIDAD PANAMA Facultad De Informática, Electrónica y Comunicación Curso de Programación I Módulo 3 Arreglos Unidimensionales Facilitador: Ing. Saulo Aizprúa I Semestre 2019 1 ARREGLOS&VECTORES
  • 2. C++. • Creación de programas simples de C++ Builder como ejercicios en C++. • Los elementos de control fundamentales en C++, incluyendo operadores lógicos y aritméticos, estructuras de decisión, y de ciclo. • Los tipos de datos disponibles en C++, incluyendo los numéricos, cadenas de caracteres, Boolean y definidos por el usuario. • Las facilidades de C++ para crear estructuras de datos complejas, incluyendo arreglos, conjuntos y estructuras. 2ARREGLOS&VECTORES
  • 3. Creación de programas simples de C++ Builder como ejercicios en C++. • Símbolos para especificar comentarios: // para líneas; /* y */ para párrafos. • Instrucciones simples: – Asignación: a = 15; – Llamado a función: ShowMessage(“Hola”); 3ARREGLOS&VECTORES
  • 4. Creación de programas simples de C++ Builder como ejercicios en C++. • Instrucciones Compuestas: Es un conjunto de instrucciones agrupadas entre los símbolos { y }, las cuales son tratadas como un bloque. if (a >b) { temp = a; //inicio de bloque a=b; b=temp; } //fin de bloque 4ARREGLOS&VECTORES
  • 5. Creación de programas simples de C++ Builder como ejercicios en C++. • Uso del (punto y coma) “;” todas las instrucciones simples deben terminar con “;”. 5ARREGLOS&VECTORES
  • 6. Elementos de control en C++ (operadores lógicos y aritméticos, estructuras de decisión, y de ciclo). • Símbolo de asignación “=“ (diferente del símbolo de igualdad “==“). • Operadores Aritméticos: +,-,*,/ y % (residuo). Todos pueden hacer operaciones con enteros y/o flotantes, excepto %, el cual solo acepta enteros. 6ARREGLOS&VECTORES
  • 7. Elementos de control en C++ (operadores lógicos y aritméticos, estructuras de decisión, y de ciclo). • Operadores relacionales: <, <=, >, >=, == y !=. • Operadores de operaciones con bits: << Corrimiento a la izquierda. >> Corrimiento a la derecha. & And | Or ^ Xor 7ARREGLOS&VECTORES
  • 8. Elementos de control en C++ (operadores lógicos y aritméticos, estructuras de decisión, y de ciclo). • Operadores Lógicos: && And || Or ! Not 8ARREGLOS&VECTORES
  • 9. Operadores de Asignación = Asignación. *= Asignación de producto. /= Asignación de cociente. %= Asignación de residuo. += Asignación de suma. -= Asignación de diferencia. 9ARREGLOS&VECTORES
  • 10. Operadores de Asignación <<= Asignación de corrimiento a la izquierda. >>= Asignación de corrimiento a la derecha. &= Asignación de And de bits. ^= Asignación de Xor de bits. |= Asignación de Or de bits. 10ARREGLOS&VECTORES
  • 11. Operadores de pertenencia a clases. :: Resolución de área de visualización de clases. . y * Apuntadores de referencia de un apuntador a un miembro de una clase. -> y * Apuntadores de referencia a apuntadores de un miembro de una clase. 11ARREGLOS&VECTORES
  • 12. Elementos de control en C++ (operadores lógicos y aritméticos, estructuras de decisión, y de ciclo). ?: If aritmético o condicional: Ejemplo : max = (x > y) ? x : y; Equivale a: if (x >y) max = x; else max = y; 12ARREGLOS&VECTORES
  • 13. Estructuras de decisión. if (condición) //if simple instrucción(es); if (condición) //if ..else instrucción(es); else instrucción(es); 13ARREGLOS&VECTORES
  • 14. Estructuras de decisión. switch ( variable_de_valor_finito) { case expresión_constante : instrucción(es); [break; ] . . . default : instrucción(es); } 14ARREGLOS&VECTORES
  • 15. Estructuras Ciclo. • while (condición) instrucción(es); • for (inicialización ; condición ; incremento); instrucción(es); • do { instrucción(es); } while (condición); 15ARREGLOS&VECTORES
  • 16. Modificadores de ejecución de estructuras ciclo. • break : hace que se interrumpa la ejecución del ciclo o bloque de instrucciones que la contiene, y se continúe con la instrucción que siga a dicho bloque. 16ARREGLOS&VECTORES
  • 17. Modificadores de ejecución de estructuras ciclo. • continue : al ejecutarse se saltan las instrucciones siguientes y se continúa con la evaluación de la condición. Ejemplo: for (i= 0; i<20;i++){ if (arreglo[i] == 0) continue; arreglo[i]= 1/arreglo[i]; } 17ARREGLOS&VECTORES
  • 18. Tipos de datos en C++. • Tipos de datos enteros: char, short, int y long (todos ellos pueden usarse en combinación con el modificador unsigned para definir variables enteras positivas). unsigned int, unsigned long int 18ARREGLOS&VECTORES
  • 19. Tipos de datos numéricos en C++. Tipo Tamaño Rango Utilidad unsigned char 8 0 <= X <= 255 Números pequeños y valores de la tabla de caracteres de la PC. char 8 -128 <= X <= 127 Números muy pequeños y caracteres de la tabla ASCII short int 16 -32,768 <= X <= 32,767 Contadores y números pequeños unsigned int 32 0 <= X <= 4,294,967,295 Números grandes y ciclos int 32 -2,147,483,648 <= X <= 2,147,483,647 Contadores, números pequeños unsigned long 32 0 <= X <= 4,294,967,295 Enteros positivos muy grandes, distancias enum 32 -2,147,483,648 <= X <= 2,147,483,647 Conjuntos de valores ordenados long 32 -2,147,483,648 <= X <= 2,147,483,647 Números grandes float 32 1.18 10^-38 < |X| < 3.40 10^38 Cálculos (7-dígitos) double 64 2.23 10^-308 < |X| < 1.79 10^308 Cálculos (15-dígitos) long double 80 3.37 10^-4932 < |X| < 1.18 10^4932 Financieros (18-dígitos) 19ARREGLOS&VECTORES
  • 20. Tipos de datos de cadenas de caracteres en C++. Tipo Longitud máxima Memoria requerida Usado para ShortString 255 caracteres 2 a 256 bytes Compatibilidad con versiones anteriores. AnsiString ~2^31 caracteres 4 bytes a 2GB Cadenas de caracteres de 8-bit (ANSI) WideString ~2^30 caracteres 4 bytes a 2GB Caracteres unicode; servidores multi- usuario y aplicaciones multi-idioma. 20ARREGLOS&VECTORES
  • 21. Tipos de datos Boolean en C++. • Las variables de este tipo pueden almacenar los valores: true y false. 21ARREGLOS&VECTORES
  • 22. Tipos de datos definidos por el usuario en C++. • Apuntadores a objetos y apuntadores a funciones. • Tipos de datos enumerados: enum dias {lunes, martes, miercoles, jueves, viernes, sabado, domingo}; 22ARREGLOS&VECTORES
  • 23. Tipos de datos Variant en C++. • Son esencialmente variables sin tipo, que pueden tomar valores de diferente tipo y además pueden cambiar su tipo dinámicamente. • Además una variable de tipo Variant puede tomar el valor Null y Unassigned, para indicar ausencia de dirección y que no se ha inicializado respectivamente. 23ARREGLOS&VECTORES
  • 24. Las facilidades de C++ para crear estructuras de datos complejas (arreglos, conjuntos y estructuras). • Arreglos: tipo identificador[expresion constante]; • DinamycArray: DinamicArray <int> arregloEnteros; arregloEnteros.Length = 10; 24ARREGLOS&VECTORES
  • 25. Las facilidades de C++ para crear estructuras de datos complejas (arreglos, conjuntos y estructuras). • Permite reunir un grupo de valores de diferente tipo bajo un mismo nombre. struct miestructura { char nombre[20], telefono[20]; int edad, altura; } midato; 25ARREGLOS&VECTORES
  • 26. Las facilidades de C++ para crear estructuras de datos complejas (arreglos, conjuntos y estructuras). • El tipo conjunto en C++ Builder se puede implementar mediante el uso del template: • Set <tipo, valor_mínimo,valor máximo> 26ARREGLOS&VECTORES
  • 28. Arreglos unidimensionales • La forma general de declaración: • La cantidad de memoria en bytes se puede  obtener con la función: • El 0 es el índice del primer elemento de un  arreglo. tipo nombre_variable[tamaño]; numero_bytes = sizeof(tipo)*tamaño; 28ARREGLOS&VECTORES
  • 29. Arreglos Unidimensionales elemento 0 elemento 1 elemento n-1 tipo nombre_variable[tamaño]; Ejemplo: Realizar un programa en el que se ingresen 10 enteros, y luego se  sumen sus elementos. Mostrar el resultado. 29ARREGLOS&VECTORES
  • 30. Ejemplo #include <stdio.h> int main(){ int x[10]; int i,suma; for (i=0;i<10;i++){ printf ("Ingresar entero: "); scanf("%d",&x[i]); } suma=0; for (i=0;i<10;i++) suma+=x[i]; printf(" El resultado de la suma es = %dn",suma); return 0; } 30ARREGLOS&VECTORES
  • 32. Paso de Arreglos unidimensionales a funciones• Forma 1:  Arreglo delimitado #include <stdio.h> func1(int x[100]){ ......... } int main(){ int a[100]; ….. func1(a); ……... return 0; } Se pasa la dirección del primer elemento del arreglo a la función Se debe especificar el tamaño del arreglo 32ARREGLOS&VECTORES
  • 33. Paso de Arreglos unidimensionales a funciones • Forma 2:  Arreglo no delimitado #include <stdio.h> func1(int x[]){ ……... } int main(){ int a[10]; ….. func1(a); ……... return 0; } No se especifica el tamaño del arreglo 33ARREGLOS&VECTORES
  • 34. Paso de Arreglos unidimensionales a funciones • Nota: –  Al llamar una función pasándole un arreglo como  parámetro, como se le entrega la dirección del  primer elemento, entonces  si los valores del arreglo  son modificados dentro de la función, también son  modificados en la función que llama. 34ARREGLOS&VECTORES
  • 36. String • Declaración: – Se declaran como arreglos unidimensionales. – Debe contener 1 carácter más que la cadena más  larga más larga que pueda contener. char cadena[6]; Puede contener hasta 5 caracteres 0 1 2 3 4 5 0 Caracter que marca el fin del string 36ARREGLOS&VECTORES
  • 38. Biblioteca de funciones de Manejo de cadenas Función Prototipo Acción Retorna strcpy() char *strcpy(char *s1,const char *s2); Copia s2 en s1. s1 strcat() char *strcat(char *s1,const char *s2); Concatena s2 en s1. s1 strlen() int strlen(const char *s1); Longitud de s1 strcmp() int strcmp(const char *s1,const char *s2); Compara s2 con s1 0 si son iguales >0 si s1>s2 <0 si s1<s2 Biblioteca: string.h Las cadenas o string no son un tipo de dato en C, por lo tanto, las operaciones sobre cadenas se realizan mediante funciones de biblioteca que ahorran el trabajo byte a byte (podemos crear otras). 38ARREGLOS&VECTORES
  • 39. Ejemplo #include <string.h> #include <stdio.h> int main(void){ char c1[64,c2[64]; printf("Ingrese un string:"); scanf("%s",c1); printf("Ingrese un string:"); scanf("%s",c2); printf("Longitudes: %d %n",strlen(c1),strlen(c2)); if(!strcmp(c1,c2)) printf("Son igualesn"); strcat(c1,c2); printf("%sn",c1); return 0; } 39ARREGLOS&VECTORES
  • 41. Arreglos de punteros Un puntero es una variable, por lo tanto puede ser  almacenado en un arreglo. Declaración: tipo *nombre_variable[tamaño]; Abcdefghi xyz Qwertyuiopasdfg Abcdefghi xyz Qwertyuiopasdfg 41ARREGLOS&VECTORES
  • 42. Punteros a punteros: argumentos de la función main() main(int argc, char **argv){....} cdefghi0 z0 ertyuiopasdfg0 main(int argc, char *argv[]){....} argv: 0 Ejemplo: $z ertyuiopasdfg cdefghi Dos formas equivalentes para declarar los argumentos: 42ARREGLOS&VECTORES
  • 43. Argumentos de main() • El estándar ANSI define dos argumentos de main():   argc y argv. • Permite pasar información al programa de C mediante  argumentos de línea de órdenes. • argc : contiene el número de argumentos, y es entero. • argv : es un puntero a un arreglo de caracteres. ./programa argumento1 argumento2 …. Línea de órdenes 43ARREGLOS&VECTORES
  • 44. Argumentos de main() (cont.) #include <stdio.h> int main(int argc, char *argv[]){ int i; for(i=0;i<argc;i++){ printf(“El argumento %d es: %s”,i,argv[i]); return 0; } $./programa aaa bb El argumento 0 es: ./programa El argumento 1 es: aaa El argumento 2 es: bb 44ARREGLOS&VECTORES