SlideShare una empresa de Scribd logo
1 de 44
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

Arreglos
ArreglosArreglos
Arregloslichic
 
Ada 4 Casanova Leslie
Ada 4 Casanova LeslieAda 4 Casanova Leslie
Ada 4 Casanova Leslielescasanova
 
Matrices unidimensional
Matrices unidimensionalMatrices unidimensional
Matrices unidimensionalRobert Vicente
 
Operaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicacionesOperaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicacionesmelman00007
 
Expo grupo 2 secuenciales
Expo grupo 2 secuencialesExpo grupo 2 secuenciales
Expo grupo 2 secuencialesjackie_18
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlabjamarzo
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACMVictor Aravena
 
Trabajo teórico practico excel
Trabajo teórico practico excelTrabajo teórico practico excel
Trabajo teórico practico excelLucia Julian
 
Semana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubreSemana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubreLorena Covarrubias
 
escuela superiror politecnica de chimborazo
escuela superiror politecnica de chimborazoescuela superiror politecnica de chimborazo
escuela superiror politecnica de chimborazoJhon Vega
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLABdwquezada
 
Dominio y-rango-funcion
Dominio y-rango-funcionDominio y-rango-funcion
Dominio y-rango-funcionMoy Aranda
 
Taller de repaso funciones
Taller de repaso funcionesTaller de repaso funciones
Taller de repaso funcionesenriqueszyfer
 
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓN
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓNGRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓN
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓNinnovalabcun
 

La actualidad más candente (20)

Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Arreglos
ArreglosArreglos
Arreglos
 
Ada 4 Casanova Leslie
Ada 4 Casanova LeslieAda 4 Casanova Leslie
Ada 4 Casanova Leslie
 
Ada 4-napolitano
Ada 4-napolitanoAda 4-napolitano
Ada 4-napolitano
 
Matrices unidimensional
Matrices unidimensionalMatrices unidimensional
Matrices unidimensional
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
T 6
T 6T 6
T 6
 
Operaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicacionesOperaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicaciones
 
Expo grupo 2 secuenciales
Expo grupo 2 secuencialesExpo grupo 2 secuenciales
Expo grupo 2 secuenciales
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACM
 
Trabajo teórico practico excel
Trabajo teórico practico excelTrabajo teórico practico excel
Trabajo teórico practico excel
 
Semana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubreSemana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubre
 
escuela superiror politecnica de chimborazo
escuela superiror politecnica de chimborazoescuela superiror politecnica de chimborazo
escuela superiror politecnica de chimborazo
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
 
Dominio y-rango-funcion
Dominio y-rango-funcionDominio y-rango-funcion
Dominio y-rango-funcion
 
Taller de repaso funciones
Taller de repaso funcionesTaller de repaso funciones
Taller de repaso funciones
 
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓN
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓNGRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓN
GRAFICA, DOMINIO Y RANGO DE UNA FUNCIÓN
 
Formatos en excel
Formatos en excelFormatos en excel
Formatos en excel
 
Funciones
FuncionesFunciones
Funciones
 

Similar a Arreglos unidimensionales

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 primitivasLeany González
 
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 SantaellaJosé Ricardo Tillero Giménez
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantesSol Hernández
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezederhenriquez
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmosluisce03
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos cJuan Torres
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a MatlabAdiel Castaño
 
C++ unidad1 semana1
C++ unidad1 semana1C++ unidad1 semana1
C++ unidad1 semana1winnijbn
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptDjJoss
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencialrcarrerah
 

Similar a Arreglos unidimensionales (20)

Curso c i
Curso c iCurso c i
Curso c i
 
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 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
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantes
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
TEMA Nº 2-102
TEMA Nº 2-102TEMA Nº 2-102
TEMA Nº 2-102
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Unidad i
Unidad iUnidad i
Unidad i
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Tema nº 2 102
Tema nº 2 102Tema nº 2 102
Tema nº 2 102
 
CLASE 01.pdf
CLASE 01.pdfCLASE 01.pdf
CLASE 01.pdf
 
C++ unidad1 semana1
C++ unidad1 semana1C++ unidad1 semana1
C++ unidad1 semana1
 
CLASE 04.pdf
CLASE 04.pdfCLASE 04.pdf
CLASE 04.pdf
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.ppt
 
Tema 2
Tema 2Tema 2
Tema 2
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
Unidad i
Unidad iUnidad i
Unidad i
 

Último

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 

Último (20)

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 

Arreglos unidimensionales

  • 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
  • 27. 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
  • 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
  • 31. 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
  • 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
  • 35. 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
  • 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
  • 37. Strings Constante de cadenas: – Es una secuencia de uno o más caracteres encerrado entre comillas. – Ejemplo: “informatica” 37ARREGLOS&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
  • 40. 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
  • 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