Texto Basico C++
Texto Basico C++
Texto Basico C++
CLASE # 1
Lenguaje de programación C++
Generalidades
Historia y desarrollo de C++
Tarea de investigación: Componentes del IDE de C++ (composición del
menú principal)
Trabajando con un lenguaje llamado BCPL inventado por Martin Richards (que
luego influyó para crear el B de Ken Thompson), Dennis deseaba un lenguaje que
le permitiese manejar el hardware de la misma manera que el ensamblador pero
con algo de programación estructurada como los lenguajes de alto nivel. Fue
entonces que creó el C que primeramente corría en computadoras PDP-7 y PDP-
11 con el sistema operativo UNIX. Pero los verdaderos alcances de lo que sería
éste, se verían poco tiempo después cuando Dennis volvió a escribir el
compilador C de UNIX en el mismo C, y luego Ken Thompson (diseñador del
sistema) escribió UNIX completamente en C y ya no en ensamblador.
Página: N° 1
LENGUAJES DE PROGRAMACIÓN I
C++ es un lenguaje de nivel medio pero no porque sea menos potente que otro,
sino porque combina la programación estructurada de los lenguajes de alto nivel
con la flexibilidad del ensamblador. La siguiente tabla muestra el lugar del
lenguaje respecto a otros.
Página: N° 2
LENGUAJES DE PROGRAMACIÓN I
CLASE # 2
Palabras reservadas del lenguaje C++
Tipos de datos
Estructura de un programa en C++
Declaración y uso de constantes en un programa
Palabras reservadas
Tienen un significado predeterminado para el compilador y sólo pueden ser
usadas con dicho sentido.
auto double int struct
break else long switch
case enum register Typedef
char extern return Union
const float short Unsigned
continue For signed void
default goto sizeof Volatile
do if static While
Además cada compilador puede añadir al conjunto de palabras estándar las
suyas de propia creación.
IDENTIFICADORES
Los identificadores son nombres creados para designar constantes, variables,
tipos, funciones, etc., que forman parte de un programa.
Dígito
Subrayado
Página: N° 3
LENGUAJES DE PROGRAMACIÓN I
Tipo int
Tamaño en bytes: 2 bytes (16 bits)
Dominio: son todos los números enteros entre los valores -32.768 y 32.767
Operaciones:
Tipo float
Tamaño en bytes: 4 bytes
Dominio: son todos los números reales que contienen una coma decimal
comprendidos entre los valores:
Página: N° 4
LENGUAJES DE PROGRAMACIÓN I
Tipo double
Tamaño en bytes: 8 bytes
Dominio: son todos los números reales que contienen una coma decimal
comprendidos entre los valores:
Tipo bool
Tamaño en bytes: 1 byte
Dominio: dos únicos valores: { true, false }
Página: N° 5
LENGUAJES DE PROGRAMACIÓN I
Tabla de verdad:
Tipo char
Tamaño en bytes: 1 byte
Dominio: dígitos, letras mayúsculas, letras minúsculas y signos de puntuación.
0 < 1 < 2 …. < 9 < A < B < … < Z < a < b < …< z
Página: N° 6
LENGUAJES DE PROGRAMACIÓN I
Operaciones:
Dado que los caracteres se almacenan internamente como números enteros, se
pueden realizar operaciones aritméticas con los datos de tipo char. Se puede
sumar un entero a un carácter para obtener otro código ASCII diferente.
Ejemplos:
Para convertir una letra minúscula en mayúscula basta con restar 32.
‘a’ - 32 = ‘A’
Para convertir una letra mayúscula en minúscula basta con sumar 32.
‘B’ + 32 = ‘b’
Para convertir el carácter ‘4’ en el número 4 basta con restar 48.
‘4’ - 48 = 4
Funciones:
Además, puede ocurrir que en una misma expresión concurran varios tipos de
datos. Ante ésta situación, debemos saber cómo se comporta el compilador.
Página: N° 7
LENGUAJES DE PROGRAMACIÓN I
#include <iostream.h>
La parte del #include se refiere a la biblioteca de funciones que vamos a utilizar.
Es decir para llamar a una biblioteca en particular debemos hacer lo siguiente:
#include <librería_solicitada>
Página: N° 8
LENGUAJES DE PROGRAMACIÓN I
int main(void){
Todo programa en C++ comienza con una función main(), y sólo puede haber
una.
cout<<”hola mundo”<<endl;
Esta es una instrucción. La instrucción cout está definida dentro de la biblioteca
iostream.h, que previamente declaramos que íbamos a utilizar. Una función, en
este caso main() siempre comienza su ejecución con una instrucción (la que se
encuentra en la parte superior), y continúa así hasta que se llegue a la última
instrucción (de la parte inferior). Para terminar una instrucción siempre se coloca
“;”. Pero además de instrucciones se pueden invocar funciones definidas por el
usuario (por supuesto diferentes de main) como se verá más adelante.
return 0;
Esta es otra instrucción, en este caso la instrucción return determina que es lo
que se devolverá de la función main(). Habíamos declarado que main devolvería
un entero, así que la instrucción return devuelve 0. Lo cual a su vez significa que
no han ocurrido errores durante su ejecución.
}
La llave de cierre de la función main() indica el termino del bloque de
instrucciones.
Página: N° 9
LENGUAJES DE PROGRAMACIÓN I
Preprocesador
Fuente_resultante.c
Compilador
Fichero.obj
Librerías
Link
fichero_ejecutable.exe
La función main()
Una función C++ es un subprograma que devuelve un valor, un conjunto de
valores o realiza una tarea específica.
Todo programa C++ tiene una única función main() que es el punto inicial de
entrada al programa.
Página: N° 10
LENGUAJES DE PROGRAMACIÓN I
Declaración de variables
La declaración de una variable consiste en escribir una sentencia que proporciona
información al compilador de C++.
El compilador reserva un espacio de almacenamiento en memoria.
Los nombres de las variables se suelen escribir en minúsculas.
Declaraciones locales
Son variables locales aquellas que están declaradas dentro de las funciones o de
los bloques.
Página: N° 11
LENGUAJES DE PROGRAMACIÓN I
Declaración de Constantes
Una constante es una variable cuyo valor no puede ser modificado.
Los nombres de las constantes se suelen escribir en mayúsculas.
2. Constantes definidas
Se declaran mediante la directiva #define
Página: N° 12
LENGUAJES DE PROGRAMACIÓN I
3. Constantes enumeradas
Las constantes enumeradas permiten crear listas de elementos afines.
Deber:
a) valor_un
b) porcentaje%
c) razon.social
Página: N° 13
LENGUAJES DE PROGRAMACIÓN I
d) 1ernombre
e) precio de fábrica
f) sueldounificado
g) entero
h) _sueldo
a) 62,2
b) 3.1421
c) 10 5
d) 010
e) “país”
f) 0X4FT
g) 0XAB
a) ‘\\’
b) .8
c) 053
d) 0XAF
e) “país”
f) 50020U
g) 0XFUL
Página: N° 14
LENGUAJES DE PROGRAMACIÓN I
a) valor_un
b) porcentaje%
c) razon.social
d) 1ernombre
e) precio de fábrica
f) sueldounificado
g) entero
h) _sueldo
a) 62,2
b) 3.1421
c) 10 5
d) 010
e) “país”
f) 0X4FT
g) 0XAB
a) ‘\\’
b) .8
c) 053
d) 0XAF
e) “país”
f) 50020U
g) 0XFUL
Página: N° 15
LENGUAJES DE PROGRAMACIÓN I
Página: N° 16
LENGUAJES DE PROGRAMACIÓN I
CLASE # 3
Uso de las variables
Sentencia de asignación
Operaciones básicas
Operadores en C++
Funciones predefinidas
Operaciones de entrada/salida
Ejemplo: Uso de un programa que contenga constantes y variables
Declaración de variables
Todas las variables deben de ser declaradas antes de utilizarlas, aunque ciertas
declaraciones se realizan implícitamente por el contexto. Una declaración
especifica un tipo, y le sigue una lista de una o más variables de ese tipo.
Ejemplo:
int a, b;
char c;
Una variable es una posición de memoria con nombre, empleada para guardar un
dato, que puede ser modificado durante la ejecución del programa.
Página: N° 17
LENGUAJES DE PROGRAMACIÓN I
Asignación:
DIAGRAMA DE SINTAXIS DE LA OPERACIÓN DE ASIGNACIÓN
Operadores lógicos
Operador Acción
&& and
|| or
! not
Incremento
Página: N° 18
LENGUAJES DE PROGRAMACIÓN I
++ Incrementa en uno
Decremento
-- Decrementa en uno
Ejemplos:
Página: N° 19
LENGUAJES DE PROGRAMACIÓN I
EJEMPLOS DE ASIGNACIONES
Operadores se asignación.
OPERACIONES DE ENTRADA/SALIDA.
Instrucciones de Entrada / Salida
En C++ la entrada y salida se lee y escribe en flujos. Cuando se incluye la
biblioteca iostream.h en el programa, se definen automáticamente dos flujos:
Esta biblioteca también nos proporciona dos operadores, uno de inserción (<<),
que inserta datos en el flujo cout y otro operador de extracción ( >> ) para
extraer valores del flujo cin y almacenarlos en variables.
Página: N° 20
LENGUAJES DE PROGRAMACIÓN I
Deber:
1. Declaración de constantes y variables de tipo entero, float, char y string
2. Realizar un programa que lea dos número y realice el cálculo de suma, resta
multiplicación y división entre dichos números
3. Diseñar un programa que permita obtener el promedio de 4 notas
Página: N° 21
LENGUAJES DE PROGRAMACIÓN I
CLASE # 4
Programación estructurada
Estructura secuencial
Estructura de selección simple (IF /ELSE)
Omisión de la cláusula ELSE
Sentencias compuestas
Programación estructurada
Introducción. Teorema de la programación estructurada
El principio fundamental de la programación estructurada es que en todo
momento el programador pueda mantener el programa “dentro” de la cabeza.
Esto se consigue con:
a) Un diseño descendente del programa,
b) Unas estructuras de control limitadas y
c) Un ámbito limitado de las estructuras de datos del programa.
Estructura secuencial
Ejecución de sentencias una detrás de la otra. En C++, toda una estructura
secuencial se agrupa mediante los símbolos { y }.
Ejemplo:
Página: N° 22
LENGUAJES DE PROGRAMACIÓN I
Todo el bloque se considera una sola sentencia. Después de las llaves no se pone
punto y coma.
Estructura condicional
Alternativa simple:
Alternativa doble:
Página: N° 23
LENGUAJES DE PROGRAMACIÓN I
Sentencias if anidadas:
Cuando la sentencia dentro del if es otra sentencia if.
Página: N° 24
LENGUAJES DE PROGRAMACIÓN I
Deber:
1. Diseñar un programa que permita determinar si un año es bisiesto. Un año
es bisiesto si es múltiplo de 4. Los años múltiplos de 100 no son bisiestos
salvo si ellos son también múltiplos de 400 (Ejemplo: 2000 es bisiesto, 1800
no lo es).
2. Diseñar un programa que permita ingresar una letra y decir si es no vocal
3. Encontrar el mayor de 3 números
4. Encontrar el mayor, menor y el número intermedio entre 3 números considere
también los casos en los que exista más de un número igual
5. Dada la siguiente ecuación:
AX 2 BX C 0
Encontrar:
B 2 4 AC
X 1, X 2 B
2A
Considere los casos:
Si el discriminante es mayor a 0 la respuesta será dos números reales
distintos
Si el discriminante es igual a 0 la respuesta será dos números reales
iguales
Si el discriminante es menor a 0 la respuesta será dos números
imaginarios
Página: N° 25
LENGUAJES DE PROGRAMACIÓN I
Página: N° 26
LENGUAJES DE PROGRAMACIÓN I
CLASE # 5
Sentencia de selección múltiple (switch)
Alternativa múltiple:
Pseudocódigo:
Página: N° 27
LENGUAJES DE PROGRAMACIÓN I
Página: N° 28
LENGUAJES DE PROGRAMACIÓN I
Página: N° 29
LENGUAJES DE PROGRAMACIÓN I
Deber:
1. Diseñar un programa que permita ingresar 3 notas valoradas cada una de
ellas sobre una nota de 20 puntos. Obtener su promedio e imprimir uno de
los siguientes mensajes:
20-19 Sobresaliente
18-16 Muy buena
15-13 Buena
12-10 Regular
09-0 Insuficiente
2. Diseñar un programa que permita ingresar un caracter e imprimir un mensaje
que diga si es vocal, consonante, cifra o carácter especial
3. Ingresar un número que se encuentre entre 1 y 31 y decir si es un número
primo o no primo
4. Simular el trabajo de una calculadora en la que se sume, reste, multiplique y
divida siempre con un número fijo cualesquiera.
5. Diseñar un programa que permita calcular las funciones trigonométricas
Página: N° 30
LENGUAJES DE PROGRAMACIÓN I
X= ce- df/ae-bd
Y= af - cd/ae-bd
Página: N° 31
LENGUAJES DE PROGRAMACIÓN I
CLASE # 6
Estructuras de repetición
Sentencia While Do
Reglas de funcionamiento del While do
Sentencia do While
Reglas de funcionamiento del do While
Comparación de los bucles while do/ do While
Ejemplo: Diseñar un programa que permita sumar n número enteros
positivos ingresados por el usuario y obtener su promedio utilizando While do
y do While
ESTRUCTURAS REPETITIVAS
Son aquellas que crean un bucle (repetición continua de un conjunto de
instrucciones) en la ejecución de un programa respecto de un grupo de
sentencias en función de una condición.
Las tres sentencias repetitivas de C++ son:
SENTENCIA WHILE
SENTENCIA DO WHILE
SENTENCIA FOR
Cabe destacar que todos funcionan hasta que se cumple con una condición que
es la encargada de hacer parar el ciclo y continuar con el resto de instrucciones
del programa.
Página: N° 32
LENGUAJES DE PROGRAMACIÓN I
Ejemplo:
cin >> n;
num = 1;
while (num <= n)
{
cout << num << endl;
num++;
}
Repetir (o hacer)
Página: N° 33
LENGUAJES DE PROGRAMACIÓN I
La sintaxis en C++:
do
sentencia
while (expresión lógica);
do
{
cout << "Introduce un entero";
cin >> i;
cout << "¿Es correcto (s/n)?";
cin >> c;
}
while (c != 's');
Deber:
1. Diseñar un programa que permita encontrar la sumatoria de los n primeros
números primos
2. Diseñar un programa que permita encontrar la sumatoria de los n primeros
números perfectos. Un número es perfecto cuando es igual a la suma de
Página: N° 34
LENGUAJES DE PROGRAMACIÓN I
todos los números para los cuales es divisible excepto el mismo número. (6 =
1+2+3).
3. Diseñar un programa que permita realizar la operación de multiplicación de
dos números utilizando sumas sucesivas
4. Diseñar un programa que permita realizar la operación de potenciación
utilizando sumas sucesivas
5. Diseñar un programa que permita encontrar el factorial de un número
Página: N° 35
LENGUAJES DE PROGRAMACIÓN I
CLASE # 7
Sentencia FOR
Reglas de funcionamiento del FOR
Bucles anidados
Ejemplo: Diseñar un programa que permita generar la sumatoria de la serie:
1 2! 2 3! 3 .... n! n
2 2 2 2
Para (o desde)
Es como una estructura mientras, pero especialmente preparada para incorporar
un contador.
Pseudocódigo
para <variable> <- <valor inicial> hasta <valor final> hacer
<sentencia>
fin_para
Ejemplo:
leer n
para num 1 hasta n hacer
escribir n
fin_para
Ejemplo:
cin >> n;
for(num = 1; num <= n; num ++)
cout << num << endl;
Página: N° 36
LENGUAJES DE PROGRAMACIÓN I
Decir si un número introducido por teclado contiene sólo cifras menores que
cinco;
bool menor;
int num;
cin >> num;
menor = true;
while (menor && (num > 0) )
{
if (num % 10 >= 5)
menor = false;
num = num / 10;
}
if (menor)
cout << “Todas las cifras son menores que 5”;
else
cout << “Hay alguna cifra mayor o igual que 5”;
Página: N° 37
LENGUAJES DE PROGRAMACIÓN I
Bucles anidados
Los bucles, al igual que las sentencias condicionales, también se pueden anidar.
Esto es especialmente útil para el manejo de matrices, como veremos en los
temas posteriores
Deber:
1. Diseñar un programa que permita generar la sumatoria de la serie:
Página: N° 38
LENGUAJES DE PROGRAMACIÓN I
Página: N° 39
LENGUAJES DE PROGRAMACIÓN I
CLASE # 8
Programación modular
Diseño descendente
Procedimientos
Declaración de los procedimientos
Llamada al procedimiento
Ventajas de utilizar procedimientos
Los parámetros: transferencia de información a/desde procedimientos
Variables locales y globales
Funciones definidas por el usuario
Definición
Llamada de funciones
Funciones y procedimientos
Dependiendo de su utilización (llamada) podemos distinguir dos casos:
Definición de subprogramas
Su definición podría ser como se indica a continuación:
Página: N° 40
LENGUAJES DE PROGRAMACIÓN I
Página: N° 41
LENGUAJES DE PROGRAMACIÓN I
Los argumentos de entrada se reciben por valor, que significa que son valores
que se copian desde el sitio de la llamada a los argumentos en el momento de la
ejecución del subprograma.
Ejemplo:
int main()
{
int cociente;
int resto;
dividir(7, 3, cociente, resto);
// ahora ’cociente’ valdrá 2 y ’resto’ valdrá 1
}
Así, dividendo y divisor son argumentos de entrada y son pasados “por valor”
como se vio anteriormente. Sin embargo, tanto cociente como resto son
argumentos de salida (se utilizan para devolver valores al lugar de llamada), por
lo que es necesario que se pasen por referencia que significa que ambos
argumentos serán referencias a las variables que se hayan especificado en la
llamada. Es decir, cualquier acción que se haga sobre ellas es equivalente a que
se realice sobre las variables referenciadas.
Página: N° 42
LENGUAJES DE PROGRAMACIÓN I
llamada, tomando así su valor, pero no podrá modificarlo al ser una referencia
constante, evitando así la semántica de salida asociada al paso por referencia.
Para ello, se declaran como se especificó anteriormente para el paso por
referencia, pero anteponiendo la palabra reservada const.
Declaración de subprogramas
Los subprogramas, al igual que los tipos, constantes y variables, deben ser
declarados antes de ser utilizados. Dicha declaración se puede realizar de dos
formas: una de ellas consiste simplemente en definir el subprograma antes de
utilizarlo. La otra posibilidad consiste en declarar el subprograma antes de su
utilización, y definirlo posteriormente. El ámbito de visibilidad del subprograma
será global al fichero, es decir, desde el lugar donde ha sido declarado hasta el
final del fichero.
Para declarar un subprograma habrá que especificar el tipo del valor devuelto (o
void si es un procedimiento) seguido por el nombre y la declaración de los
argumentos igual que en la definición del subprograma, pero sin definir el cuerpo
del mismo. En lugar de ello se terminará la declaración con el carácter “punto y
coma” (;).
Página: N° 43
LENGUAJES DE PROGRAMACIÓN I
Página: N° 44
LENGUAJES DE PROGRAMACIÓN I
Página: N° 45
LENGUAJES DE PROGRAMACIÓN I
EJEMPLO:
#include < stdio.h >
void uno(void);
void dos(void);
Página: N° 46
LENGUAJES DE PROGRAMACIÓN I
Globales
#include < stdio.h >
void suma(int a, int b);
int total; /* Variable global , declarada fuera del main */
void main (void)
Página: N° 47
LENGUAJES DE PROGRAMACIÓN I
Las variables definidas dentro de una función son variables locales dinámicas.
(Empiezan a existir cuando la función es llamada y se destruyen al terminar).
Forma general:
especificador_tipo nombre_funcion(declaración de argumentos )
{
cuerpo de la función
}
Página: N° 48
LENGUAJES DE PROGRAMACIÓN I
Argumentos de funciones
Hay tres tipos de argumentos para las funciones
1. Por valor
2. Por puntero
3. Por referencia
Página: N° 49
LENGUAJES DE PROGRAMACIÓN I
Deber de funciónes:
1. Hallar el número relativo de un número
2. Convertir un número dado en su respectivo número pero en Romanos
3. Halar el máximo común divisor entre dos números
4. Hallar la siguiente sumatoria
3 5 7
X X X X ....
3! 5! 7!
5. Cuántas palabras que tienen al menos 2 letras "a" existen en una frase
ingresada por el usuario
( X 1) ( X 2) ( X 3)
2!2 3!3 ....
4. 11!1 2 3
Con todos los valores para X entre 1 y 10 y el número de términos
solamente entre 1 y 9
5. Cuántas palabras de longitud 5 existen en la frase y visualizarlas en una
línea diferente cada una
Página: N° 50
LENGUAJES DE PROGRAMACIÓN I
CLASE # 9
Concepto de los arreglos
Arreglos unidimensionales: Los vectores
Operaciones con vectores
Arreglos como parámetros en procedimientos y funciones
Ejemplo:
Ingresar n números en un vector, sumar y visualizar cada elemento
Cuántos números entre a y b se encuentran almacenados en un vector
Tarea de investigación: Consultar sobre los distintos métodos de
ordenación y búsqueda de los elementos de un vector.
Arreglos
int A [ 7 ];
“A” es un vector de 7 elementos que C++ reconoce de la posición 0 a la 6.
Se puede “ignorar” la posición 0 y trabajar de la 1 a la 6.
int A [ 7 ] = {0,72,53,43,23,46,35};
En este caso se inicializa el valor de los elementos al momento de declarar el
vector. También puede hacerse desde el programa:
A[1] = 72;
A[2] = 53;
….etc.
Página: N° 51
LENGUAJES DE PROGRAMACIÓN I
tipo nombre_variable[tamaño]
En C++ todos los arreglos usan el cero como índice del primer elemento.
#define Coordenadas_Max 20
#define Tamano_MaX_Compania_Id 15
int CoordenadasDePantalla[Coordenadas_Max];
char IDCompania[Tamano_MaX_Compania_Id];
Página: N° 52
LENGUAJES DE PROGRAMACIÓN I
Página: N° 53
LENGUAJES DE PROGRAMACIÓN I
Ejemplo:
int lista[10]
El ejemplo declara un arreglo llamado lista con diez elementos desde lista[0]
hasta lista[9].
Prototipo:
Página: N° 54
LENGUAJES DE PROGRAMACIÓN I
Deber:
1. Sumar dos vectores de igual longitud
2. Sumar dos vectores de distinta longitud
3. Buscar el mayor y menor número que se encuentran almacenados en un
vector
4. Ordenar un vector
5. Reemplazar en un vector todos los números repetidos por un -5
Página: N° 55
LENGUAJES DE PROGRAMACIÓN I
CLASE # 10
Arreglos multidimensionales
Arreglos bidimensionales (Tablas)
Declaración de arreglos bidimensionales
Variables del tipo matriz
Operaciones con matrices
Matrices como parámetros en procedimientos y funciones
Ejemplo: En una fábrica de componentes electrónicos se desea conocer la
cantidad de componentes fabricados en dos semanas consecutivas. Para
resolver este problema hay que realizar las siguientes tares:
a) Conocer cuántos tipos diferentes de componentes se fabrican y cuántos
días a la semana se trabaja
b) Leer la cantidad fabricada por cada componente en cada día laborable en
al primera semana
c) Leer la cantidad fabricada por cada componente en cada día laborable en
al segunda semana
d) Hallar la suma total en la primera semana
e) Hallar la suma total en la segunda semana
Arreglos multidimensionales
El término dimensión representa el número de índices utilizados para referirse a
un elemento particular en el arreglo. Los arreglos de más de una dimensión se
llaman arreglos multidimensionales.
Matrices en C++
int M [ 4 ] [ 4 ];
“M” es una matriz de 4 renglones y 4 columnas que C++ reconoce de la posición
0 a la 3.
Página: N° 56
LENGUAJES DE PROGRAMACIÓN I
EJEMPLO:Matrices
#include<stdio.h>
#define M 3
#define N 2
int main(void)
{
int a[M][N]; /* matriz bidimensional */
int i, j;
for (i=0;i<M;i++) { /* lectura de cada elemento */
for (j=0;j<N;j++) {
printf(“Elemento %d,%d : “, i,j);
scanf(“%d”,&a[i][j]);
}
}
printf(“\nLa matriz introducida es:\n\n”); /* muestra cada elem */
for (i =0;i <M;i++) {
for (j =0;j <N;j++) {
printf(“%d ”,a[i][j]);
}
printf(“\n”); /* para cambiar de línea al final de cada fila */
}
Página: N° 57
LENGUAJES DE PROGRAMACIÓN I
Vector multidimensional:
En el prototipo hay que indicar el tamaño de todas las dimensiones, excepto la
primera
En C/C++ los arreglos en general son pasados como parámetros por referencia.
Esto es, el nombre del arreglo es la dirección del primer elemento del arreglo.
Ejemplo
float media(int a, float x[]) // Definición de la función
{ // Note que se incluyen los corchetes
// calculo de la media
// Fijese que el tamaño del vector ´x´ es pasado en ´a´
}
void main ()
{
Página: N° 58
LENGUAJES DE PROGRAMACIÓN I
int n;
float med;
float lista[100];
…
med = media(n, lista); // Esta llamada pasa como parámetros
// actuales la longitud del vector y
// el vector. Note que no se incluyen los
// corchetes
…
}
Ejemplo
#include <ctype.h>
#include <string.h>
void F1(char cadena[], int lng) {
int i;
for (i=0; i!=lng; i++)
cadena[i] = toupper(cadena[i]);
}
int main () {
char caracteres[80] = “Ejemplo”;
int longitud = strlen(caracteres);
puts(caracteres);
F1(caracteres, longitud);
puts(caracteres);
return 0;
}
Ejemplo
Diseñar un programa que calcule y escriba el área y la circunferencia de n
círculos, tal que todos n radios se deben almacenar en el vector R.
#include <stdio.h>
#define n 100
void leerRadios(float radios[], int &numEltos) {
// Parametros de salida: vector radios su numero de
elementos numEltos
int j;
printf(“¿Cuantos radios seran introducidos ?\n”);
scanf(“%i”,&numEltos);
for (j = 0; j < numEltos; j++) {
printf(“radio %i = ”);
scanf(“%i”,&radios[j]);
}
}
void AreaCirc (float radio, float &area, float &cir)
// Parametros de entrada: radio
// Parametros de salida: area y cir
{
float pi = 3.14159;
area = pi * pow(radio, 2);
cir = 2 * pi * radio;
}
Página: N° 59
LENGUAJES DE PROGRAMACIÓN I
Deber:
1. Sumar dos matrices de igual dimensión
2. Sumar dos matrices de distinta longitud
3. Ingresar en una matriz las n notas de m estudiantes y encontrar el promedio
de notas por estudiante y el promedio de cada nota
4. Cuántas palabras de longitud 4 existen en una matriz
5. Diseñar un programa que simule el juego de la sopa de letras
Página: N° 60