Está en la página 1de 64

Tarea 04 ESTRUCTURA GENERAL DE UN PROGRAMA 13 de Noviembre del 2020

La estructura general de un programa es:


• Inicio Bloque general Final
En el inicio se situarán:
- Nombre del programa, descripción general, nombre del autor, fecha de elaboración, etc. Todo ello como comentarios
de ayuda, que irán precedidos por el carácter "%" (este carácter indica a Matlab que no debe leer aquello situado a
continuación).
-Iniciación de variables (asignación de un valor inicial a algunas variables).
En el bloque general se situarán:
- Los comandos u ordenes pertinentes para que el programa realice aquello para lo que es diseñado.
- Entre estos comandos también es conveniente insertar comentarios de ayuda con el carácter "%".
En el final se situarán:
- Los resultados obtenidos, normalmente se desplegarán en pantalla con el comando Matlab "disp" (display).

Moreno González Daniela 1MM2


Tarea 04 13 de Noviembre del 2020

 Bloque de declaraciones: en él se especifican todos los objetos que utiliza el programa (constantes,
variables, tablas, registros, archivos, etc.).
 Bloque de instrucciones: constituido por el conjunto de operaciones que se han de realizar para la
obtención de los resultados deseados.
Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes fundamentales. En
algunos casos, estas tres partes están perfectamente delimitadas, pero en la mayoría sus
instrucciones quedan entremezcladas a lo largo del programa, si bien mantienen una cierta
localización geométrica impuesta por la propia naturaleza de las mismas.
 Entrada de datos: la constituyen todas aquellas instrucciones que toman datos de un dispositivo
externo, almacenándolos en la memoria central para que puedan ser procesados.
 Proceso o algoritmo: está formado por las instrucciones que modifican los objetos a partir de su
estado inicial hasta el estado final, dejando éstos disponibles en la memoria central.
 Salida de resultados: conjunto de instrucciones que toman los datos finales de la memoria central y
los envían a los dispositivos externos.

Moreno González Daniela 1MM2


Tarea 04 #include <iostream> Programa 14
23 de Octubre del 2020
int main(){
printf("\t ELABORO: MORENO GONZALEZ
DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");

printf("Vamos a probar los operadores\n");


unsigned int test=0;
unsigned int a=0, b=0, c;

printf("Valor de test: %d\n", test);


printf("Valor de test++: %d\n", (test++));
printf("Valor de ++test: %d\n",(++test));
printf("Valor de test actual: %d\n", test);

c=b=a=test;

printf("Y los demas: %d %d %d",c, b, a);


scanf("");

return 0;
} Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


#include<iostream>
Tarea 04 int main(){ Programa 15
unsigned int test=0; 23 de Octubre del 2020
unsigned int a=0, b=0, c;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores");
c = b = a = test;
b+=3;
c++;
a-=1;
printf("Son estos: c= %d b= %d a= %d \n",c,b,a);
a+=b+c;
printf("Y ahora son estos: c= %d b= %d a= %d \n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\n b=");
scanf("%d",&b);
printf("\n c=");
scanf("%d",&c);
printf("Y ahor son estos los: c= %d b= %d a= %d \n",c,b,a);
if(a > b){
printf("A es mayor que B\n");
}
if(a >= b){
printf("A es mayor o igual a B\n");
}
if(a <= b){
printf("A es mayor o igual a B\n");
} Moreno González Daniela 1MM2
return 0;
}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


#include<iostream>
Tarea 04 Programa 16
int main(){ 23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Valores c= %d b= %d a= %d \n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\n b=");
scanf("%d",&b);
printf("\n c=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d \n",c,b,a);
if(!(a == b))
printf("A y B no son iguales\n");
else
printf("A y B son iguales\n");
if((a == b)||(b == c))
printf("A y B son iguales o B y C son iguales\n");
else
printf("ni A y B son iguales ni B y C son iguales\n");
return 0;
Moreno González Daniela 1MM2
}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 Cuestionario 13 de Noviembre del 2020
1.- ¿Cuál es la estructura general de un programa?
R= Inicio, Bloque general, Final
2.- ¿En que consiste el inicio?
R=En el inicio se situarán: Nombre del programa, descripción general, nombre del autor, fecha de elaboración, etc. Todo ello como
comentarios de ayuda, que irán precedidos por el carácter "%" (este carácter indica a Matlab que no debe leer aquello situado a
continuación). Iniciación de variables (asignación de un valor inicial a algunas variables).
3.- ¿En que consiste el bloque general?
R= En el bloque general se situarán: Los comandos u ordenes pertinentes para que el programa realice aquello para lo que es diseñado.
Entre estos comandos también es conveniente insertar comentarios de ayuda con el carácter "%".
4.- ¿En que consiste el final?
R=En el final se situarán: Los resultados obtenidos, normalmente se desplegarán en pantalla con el comando Matlab "disp" (display).
5.- ¿Cuantos tipos de bloques hay?
R= Existen dos, el bloque de declaraciones y el bloque de instrucciones
6.- ¿Que hace el bloque de declaraciones?
R= En él se especifican todos los objetos que utiliza el programa (constantes, variables, tablas, registros, archivos, etc.).
7.- ¿Qué hace el bloque de instrucciones?
R= Constituido por el conjunto de operaciones que se han de realizar para la obtención de los resultados deseados.
8.- ¿Qué se encuentra dentro del bloque general?
R= Entrada de datos, proceso o algoritmo y salida de resultados
9.- ¿En que consiste la entrada de datos?
R= La constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenándolos en la memoria central para que
puedan ser procesados.
10.- ¿ En que consiste la salida de resultados?
R= Conjunto de instrucciones que toman los datos finales de la memoria central y los envían a los dispositivos externos.

Moreno González Daniela 1MM2


Tarea 04 Tipos de datos y operaciones 13 de Noviembre del 2020
Tipos de datos son conjuntos de elementos definidos por características de los valores requeridos en la solución de
un problema que deberán ser declarados en la estructura del programa.
Tipos de Datos Primitivos
Un tipo de dato primitivo es la definición de un grupo de valores y de las operaciones que se que existen para trabajar
con ellos. Se conocen en Java también como tipos envoltorio o wrapper.

Moreno González Daniela 1MM2


Tarea 04 13 de Noviembre del 2020

Los datos tipo objeto en esencia define el tipo de datos a almacenar al igual que los
primitivos, su diferencia es que los tipos de datos tiene asociados métodos de
operaciones básicas y se declaran similar que los primitivos inicializados por letra
mayúscula, y para el caso de enteros y carácter cambia de int a Integer y char a
Character:
Byte, Short, Integer, Long, Float, Double, Character, Boolean
Luego de la declaración de las variable de tipos de dato Objeto, los métodos se
puede obtener digitando el nombre de la variable seguida de punto, que genera las
opciones.

Moreno González Daniela 1MM2


Tarea 04 Operadores
 Operadores Aritméticos 13 de Noviembre del 2020
• Suma +
• Resta -
• Multiplicación *
• División /
• Resto de la División %
 Operadores de Asignación
• op1 += op2 ó op1 = op1 + op2
• '-=' : op1 -= op2 ó op1 = op1 - op2
• '*=' : op1 *= op2 ó op1 = op1 * op2
• '/=' : op1 /= op2 ó op1 = op1 / op2
• '%=' : op1 %= op2 ó op1 = op1 % op2
 Operadores Unarios
• El mas (+) y el menos (-). Para cambiar el signo del operando.
 Operadores Incrementales
• '++' : incrementa
Moreno González Daniela 1MM2
• '--' : disminuye
Tarea 04 13 de Noviembre del 2020

 Operadores Relacionales
• '<': Menor que
• '==': Iguales
• '¡=': Distintos
• '>=': Mayor o igual que
• '<=': Menor o igual que
 Operadores Lógicos
• '||' : devuelve true si alguno de los operandos son true.
• '!' : Niega el operando que se le pasa.
• '&' : devuelve true si ambos operandos son true, evaluándolos
ambos.
 Operador de concatenación con cadena de caracteres
• '+‘: conecta

Moreno González Daniela 1MM2


#include<iostream> Programa 17
Tarea 04 int main(){ 23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!a)
printf("A es false (igual 0)\n");
else
printf("A es true (distinto de 0)\n");
if(!b)
printf("B es false (igual 0)\n");
else
printf("B es true (distinto de 0)\n");
if(!c)
printf("C es false (igual 0)\n");
else
printf("C es true (distinto de 0)\n");
c=(a==b)?0:1;
printf("C es: %d",c);
return 0; Moreno González Daniela 1MM2
}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 #include<iostream> Programa 18
23 de Octubre del 2020
int main(){
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
if(a>=b)
printf("A mayor o igual que B\n");
else
printf("A menor que B\n");
if(a>=b){
printf("A mayor o igual que B\n");
if(a==23){
printf("A mayor o igual que B\n");
printf("Terminamos\n");
}
}else{
printf("A menor que B");
}

return 0; Moreno González Daniela 1MM2


}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Programa 19
Tarea 04 #include <iostream> 23 de Octubre del 2020
inline double Calcula(double a, double b);
void log(char *mensaje);
long variable = 666;
char *PROGRAMA = "Globales> ";
int main(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
log("Vamos a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b= \n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf
global=%lf\n",b,a,variable);
log("Venga va vamos \n");
return 0;
}
void log(char *mensaje){
printf("%s\n %s\n", PROGRAMA,mensaje);
}
Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 Cuestionario 13 de Noviembre del 2020
1.- ¿Qué son los tipos de operaciones?
R= Tipos de datos son conjuntos de elementos definidos por características de los valores requeridos en la
solución de un problema que deberán ser declarados en la estructura del programa.
2.- ¿Qué son los tipos de datos primitivos?
R= Un tipo de dato primitivo es la definición de un grupo de valores y de las operaciones que se que existen
para trabajar con ellos. Se conocen en Java también como tipos envoltorio o wrapper.
3.- Menciona 4 tipos de datos
R= Byte, Short, Int, Long.
4.- ¿Qué son los datos tipo objeto?
R= Los datos tipo objeto en esencia define el tipo de datos a almacenar al igual que los primitivos, su
diferencia es que los tipos de datos tiene asociados métodos de operaciones básicas y se declaran similar
que los primitivos inicializados por letra mayúscula, y para el caso de enteros y carácter cambia de int a
Integer y char a Character:
Byte, Short, Integer, Long, Float, Double, Character, Boolean
5.- ¿Cuántos tipos de operadores hay?
R= Hay 7 tipos: Operadores Aritméticos, Operadores de Asignación, Operadores Unarios, Operadores
Relacionales, Operadores Lógicos, Operador de concatenación con cadena de caracteres, Operadores
Incrementales.

Moreno González Daniela 1MM2


Tarea 04 13 de Noviembre del 2020
6.- Menciona dos operadores aritméticos
R= Multiplicación *
División /
7.- Menciona dos operadores de Asignación
R= op1 += op2 ó op1 = op1 + op2
'-=' : op1 -= op2 ó op1 = op1 - op2
8.- Menciona dos operadores Unarios
R= El mas (+) y el menos (-). Para cambiar el signo del operando.
9.- Menciona dos operadores Relacionales
R= '<': Menor que
'==': Iguales
10.- Menciona dos operadores Lógicos
R= '||' : devuelve true si alguno de los operandos son true.
'!' : Niega el operando que se le pasa
Moreno González Daniela 1MM2
Tarea 04 13 de Noviembre del 2020
Funciones de Biblioteca
Las funciones de biblioteca son aquellas funciones que están definidas en los archivos de
cabecera dentro de un programa, estos archivos forman parte de las bibliotecas que maneja el
lenguaje "C"  y que nos proporcionan gran ayuda en la programación, por ejemplo,  existen en
"C" funciones predefinidas o de biblioteca que nos ayudan a realizar cálculos matemáticos, a
manejar cadenas de caracteres, entre otras muchas funciones que solo hay que usarlas sin
tener que escribirlas o definirlas.

El lenguaje de programación C, antes de normalizarse, no disponía de funcionalidades tales


como operaciones de entrada/salida (a diferencia de lenguajes tradicionales como COBOL y
FORTRAN). Con el tiempo, las comunidades de usuarios de C fueron compartiendo ideas, así
como las implementaciones de lo que ahora se denomina las bibliotecas estándar de C para
proporcionar esas funcionalidades. Muchas de estas ideas se incorporaron finalmente en la
definición estandarizada del lenguaje.

Moreno González Daniela 1MM2


Tarea 04 13 de Noviembre del 2020

Los grupos de funciones estándar más comunes son:


Entrada/salida estándar Matemáticas
De conversión Diagnóstico
De manipulación de memoria Control de proceso
Ordenación Directorios
Fecha y hora Búsqueda
Manipulación de cadenas Gráficos

Podemos incluir tantos ficheros de cabecera como nos haga falta, incluyendo los
ficheros de cabecera que hemos creado y donde hemos definido nuestras funciones.
En el resto de este apartado veremos algunas de las funciones de la entrada/salida
estándar más utilizadas.

Moreno González Daniela 1MM2


Tarea 04 #include<stdio.h> Programa 20
int main(){
23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!(a == b))
printf("A y B no son iguales\n");
else
printf("A y B son iguales\n");
if((a == b) || (b == c))
printf("A y B son iguales o B y C son iguales\n");
else
printf("ni A y B son iguales ni B y C son iguales\n");

} Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


#include<iostream>
Programa 21
Tarea 04 int main(){
23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!a)
printf("A es false (igual 0)\n");
else
printf("A es true (distinto de 0)\n");
if(!b)
printf("B es false (igual 0)\n");
else
printf("B es true (distinto de 0)\n");
if(!c)
printf("C es false (igual 0)\n");
else
printf("C es true (distinto de 0)\n");
c=(a==b)?0:1;
printf("C es: %d",c);
return 0; Moreno González Daniela 1MM2
}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 Cuestionario 23 de Octubre del 2020
1.- ¿Qué son las funciones de Biblioteca?
R= Las funciones de biblioteca son aquellas funciones que están definidas en los archivos de cabecera dentro de un
programa, estos archivos forman parte de las bibliotecas que maneja el lenguaje "C"  y que nos proporcionan gran ayuda en
la programación
2.- ¿Cuáles son los grupos de funciones estándar mas usuales?
R= Entrada/salida estándar, Matemáticas, De conversión, Diagnóstico, De manipulación de memoria, Control de proceso,
Ordenación, Directorios, Fecha y hora, Búsqueda, Manipulación de cadenas, Gráficos.
3.- ¿Qué pasa cuando no se especifica el tipo de dato de función?
R= Cuando no se especifica un tipo de dato es porque la función permite mas de uno ya sea a través de casting o de otra
maña.
4.- ¿Para que sirve int printf?
R= Imprime pantalla
5.- ¿Para que sirve int scanf?
R= Lee pantalla
6.- ¿Para que sirve doble sin?
R= Calcula el seno
7.- ¿Para que sirve doble sqrt?
R= Calcula raíces
8.- ¿Para que sirve int strcmp?
R= Compara dos cadenas de caracteres
9.- ¿Para que sirve int strcpy?
R= Copia la primera cadena en la segunda
10.- ¿ Para que sirve la función toupper ANSI C?
R= Convierte un carácter, en un parámetro entero ch, a mayúscula.
Moreno González Daniela 1MM2
Tarea 04 Funciones generadas por el usuario 23 de Octubre del 2020

Las funciones se declaran y se definen exactamente igual que en C, y, al igual que en éste, se puede utilizar
prototipo (prototype).
Prototipos
La declaración de una función es el prototipo. El prototipo da un modelo de la interface a la función.
Tipos compatibles
Son compatibles cualquiera de los tipos simples (definidos en C++) que pueden ser convertidos de uno a
otro de manera significativa. Por ejemplo, si llamamos con un entero a una función que esta esperando un
número real como parámetro, el sistema lo convertirá automáticamente, sin mencionarlo al usuario. Esto
también es cierto de float a char, o de char a int.
En cambio, si pasamos un puntero a un entero a una función que estaba esperando un entero, no abra
conversión de tipo, ya que son dos variables completamente distintas. De la misma forma, un tipo definido
por el usuario (estructura o clase) no puede ser convertido automáticamente a un long float, a un array o
incluso a otra estructura o clase diferente, porque son tipos incompatibles y no puede realizarse la
conversión de manera significativa.
Sin embargo, el tipo devuelto por la función, void en el ejemplo anterior, debe ser compatible con el tipo que
se espera que devuelva en la función de llamada, o el compilador dará un warning.
El uso de prototipos no supone coste alguno en tiempo ni en velocidad de ejecución. El prototipo se verifica
durante la compilación.

Moreno González Daniela 1MM2


Tarea 04 13 de Noviembre del 2020
Cuando no se especifica un tipo de dato es porque la función permite mas de uno ya sea a través de casting o de otra
maña. Esta parte como ya se explico antes es solo para mostrar el formato de las funciones.
Funciones de :
int printf("cadena de formato", variable1, variable2); //Muestra por pantalla
int scanf("cadena de formato", variable1, variable2); //Lee de pantalla
Funciones de :
int system("llamada");
Funciones de :
double sin(valor); //Calcula el seno
double cos(valor); //Calcula el coseno
double tan(valor); //Calcula la tangente
double asin(valor);
double atan(valor);
double acos(valor);
double sinh(valor);
double cosh(valor);
double tanh(valor);
double log10(valor);
double log(valor);
double ldexp(valor1,valor2);
double pow(valor);
double sqrt(valor); //Calcula raíces cuadradas

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Funciones de :
struct tm time();
Funciones de :
int strcmp(cadena1, cadena2); //Compara dos cadenas de caracteres
int strcat(cadena1, cadena2); int strcpy(cadena1, cadena2); //Copia la primera cadena en la segunda
int strlen(cadena); //Da la longitud de una cadena

Funciones de :
Función toupper ANSI C Convierte un carácter, en un parámetro entero ch, a mayúscula.
Valor de retorno: ch debe estar en el rango 0 a 255, y si está entre a y z lo convierte a su equivalente en el
rango A a Z, el resto de los valores no son modificados. El valor de retorno es el valor convertido si ch era una
minúscula, o el valor original en caso contrario. Nota: los caracteres en acentuados, o con diéresis, en
minúscula y la ñ no sufren modificaciones.

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Funciones con void como argumento.


Una función sin lista de argumentos como void func (); significa en C que no se ha declarado el
tipo de la lista de argumentos que recibe la función, por lo que el compilador no producirá errores
respecto al uso impropio de los argumentos. Cuando en C se declara una función que no tiene
argumentos se utiliza el tipo void: void func (void);
En C++, ambas expresiones son equivalentes
 Pasar punteros a funciones.(paso por valor y por referencia)
Cuando se llama a una función, todos los parámetros con los que la llamamos son copiados y
pasados a la función (paso por valor). Esto significa que si la función cambia el valor de los
parámetros, solo lo hace dentro del ámbito de la función. 

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Polimorfismo.
En C++ es posible declarar dos funciones diferentes que tengan el mismo nombre. Las funciones deben
diferir en la lista de argumentos, bien en el número de variables que se pasan a la función, bien en el tipo
de argumentos que recibe.
Parámetros por defecto
Es una forma de indicar qué valor debe ser pasado a una función en el caso en que en la llamada no se
pase nada, o se pasen menos argumentos de los definidos. Un ejemplo de definición de una función que
tiene parámetros por defecto en su lista de argumentos es:
void función (int y = 2)
En este caso, estamos definiendo un valor, 2, que tomara la variable y en caso de que no se pase nada
en la llamada a la función:
función ();

Moreno González Daniela 1MM2


#include<stdio.h>
Tarea 04 double Calcula(double a, double b); Programa 23
23 de Octubre del 2020
void Log(char *mensaje);
long variable = 666;
char *PROGRAMA = "Globales> ";
int main(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
Log("Vamor a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
Log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b=\n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf
global=%l\n",b,a,variable);
Log("Venga va vamos");
return 0;
}
double Calcula(double a, double b){
return (a/b)*variable;
}
void Log(char *mensaje){
printf("%s\n %s\n",PROGRAMA,mensaje); Moreno González Daniela 1MM2
}
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 #include<stdio.h> Programa 24
double Calcula(double a, double b); 23 de Octubre del 2020
void Log(char *mensaje);
long variable = 666;
char *PROGRAMA = "Globales> ";
int main(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
Log("Vamor a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
Log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b=\n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf
global=%l\n",b,a,variable);
Log("Venga va vamos");
return 0;
}
void Log(char *mensaje){
printf("%s\n %s\n",PROGRAMA,mensaje);
}
Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 Programa 25 23 de Octubre del 2020
using namespace std;
#include <iostream>
int main(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
}
class Coche {
public:
Coche();
Coche(char *m,int cil,int cab);
~Coche();
void arranca();
void detiene();
void acelera();
private:
char *marca;
int cilindrada;
int caballos;
};

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


1.- ¿Qué es el prototipo? Cuestionario Tarea 04 23 de Octubre del 2020
R= La declaración de una función es el prototipo.
2.- ¿Qué da el prototipo?
R= El prototipo da un modelo de la interface a la función.
3.- ¿Cuáles son los tipos compstibles?
R= Son compatibles cualquiera de los tipos simples (definidos en C++) que pueden ser convertidos de uno a otro de manera
significativa.
4.- Da un ejemplo
R= Por ejemplo, si llamamos con un entero a una función que esta esperando un número real como parámetro, el sistema lo
convertirá automáticamente, sin mencionarlo al usuario. Esto también es cierto de float a char, o de char a int.
5.- ¿El uso del prototipo quita tiempo de ejecución?
R= El uso de prototipos no supone coste alguno en tiempo ni en velocidad de ejecución. El prototipo se verifica durante la
compilación.
6.- ¿Qué significa una función void sin argumentos?
R= Una función sin lista de argumentos como void func (); significa en C que no se ha declarado el tipo de la lista de argumentos
que recibe la función, por lo que el compilador no producirá errores respecto al uso impropio de los argumentos.
7.- ¿Qué pasa con los parámetros cuando se llama una función?
R= Cuando se llama a una función, todos los parámetros con los que la llamamos son copiados y pasados a la función (paso por
valor).
8.- ¿Qué significa eso?
R= Esto significa que si la función cambia el valor de los parámetros, solo lo hace dentro del ámbito de la función . 
9.- ¿Qué es polimorfismo?
R= En C++ es posible declarar dos funciones diferentes que tengan el mismo nombre. Las funciones deben diferir en la lista de
argumentos, bien en el número de variables que se pasan a la función, bien en el tipo de argumentos que recibe.
10.- ¿Qué son los parámetros por defecto?
R= Es una forma de indicar qué valor debe ser pasado a una función en el caso en que en la llamada no se pase nada, o se pasen
menos argumentos de los definidos.
Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020
UNIDAD II
La estructura general de un programa es:
• Inicio Bloque general Final
En el inicio se situarán:
- Nombre del programa, descripción general, nombre del autor, fecha de elaboración, etc. Todo
ello como comentarios de ayuda, que irán precedidos por el carácter "%" (este carácter indica a
Matlab que no debe leer aquello situado a continuación).
-Iniciación de variables (asignación de un valor inicial a algunas variables).
En el bloque general se situarán:
- Los comandos u ordenes pertinentes para que el programa realice aquello para lo que es
diseñado.
- Entre estos comandos también es conveniente insertar comentarios de ayuda con el carácter
"%".
En el final se situarán:
- Los resultados obtenidos, normalmente se desplegarán en pantalla con el comando Matlab "disp"
(display).

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020
Tipos de datos son conjuntos de elementos definidos por características de los valores requeridos en
la solución de un problema que deberán ser declarados en la estructura del programa.
Tipos de Datos Primitivos
Un tipo de dato primitivo es la definición de un grupo de valores y de las operaciones que se que
existen para trabajar con ellos. Se conocen en Java también como tipos envoltorio o wrapper.

Los datos tipo objeto en esencia define el tipo de datos a almacenar al igual que los primitivos, su
diferencia es que los tipos de datos tiene asociados métodos de operaciones básicas y se declaran
similar que los primitivos inicializados por letra mayúscula, y para el caso de enteros y carácter cambia
de int a Integer y char a Character:
Byte, Short, Integer, Long, Float, Double, Character, Boolean
Luego de la declaración de las variable de tipos de dato Objeto, los métodos se puede obtener
digitando el nombre de la variable seguida de punto, que genera las opciones.

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020
 Operadores Aritméticos
• Suma +
• Resta -
• Multiplicación *
• División /
• Resto de la División %
 Operadores de Asignación
• op1 += op2 ó op1 = op1 + op2
• '-=' : op1 -= op2 ó op1 = op1 - op2
• '*=' : op1 *= op2 ó op1 = op1 * op2
• '/=' : op1 /= op2 ó op1 = op1 / op2
• '%=' : op1 %= op2 ó op1 = op1 % op2
 Operadores Unarios
• El mas (+) y el menos (-). Para cambiar el signo del operando.
 Operadores Incrementales
• '++' : incrementa
• '--' : disminuye
Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020

 Operadores Relacionales
• '<': Menor que
• '==': Iguales
• '¡=': Distintos
• '>=': Mayor o igual que
• '<=': Menor o igual que
 Operadores Lógicos
• '||' : devuelve true si alguno de los operandos son true.
• '!' : Niega el operando que se le pasa.
• '&' : devuelve true si ambos operandos son true, evaluándolos
ambos.
 Operador de concatenación con cadena de caracteres
• '+‘: conecta

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Las funciones de biblioteca son aquellas funciones que están definidas en los archivos de
cabecera dentro de un programa, estos archivos forman parte de las bibliotecas que maneja
el lenguaje "C"  y que nos proporcionan gran ayuda en la programación, por ejemplo,
 existen en "C" funciones predefinidas o de biblioteca que nos ayudan a realizar cálculos
matemáticos, a manejar cadenas de caracteres, entre otras muchas funciones que solo hay
que usarlas sin tener que escribirlas o definirlas.

El lenguaje de programación C, antes de normalizarse, no disponía de funcionalidades tales


como operaciones de entrada/salida (a diferencia de lenguajes tradicionales como COBOL y
FORTRAN). Con el tiempo, las comunidades de usuarios de C fueron compartiendo ideas,
así como las implementaciones de lo que ahora se denomina las bibliotecas estándar de C
para proporcionar esas funcionalidades. Muchas de estas ideas se incorporaron finalmente
en la definición estandarizada del lenguaje.

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Los grupos de funciones estándar más comunes son:


Entrada/salida estándar Matemáticas
De conversión Diagnóstico
De manipulación de memoria Control de proceso
Ordenación Directorios
Fecha y hora Búsqueda
Manipulación de cadenas Gráficos

Podemos incluir tantos ficheros de cabecera como nos haga falta, incluyendo los ficheros de
cabecera que hemos creado y donde hemos definido nuestras funciones. En el resto de este
apartado veremos algunas de las funciones de la entrada/salida estándar más utilizadas.

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020
Las funciones se declaran y se definen exactamente igual que en C, y, al igual que en éste, se puede
utilizar prototipo (prototype).
Prototipos
La declaración de una función es el prototipo. El prototipo da un modelo de la interface a la función.
Tipos compatibles
Son compatibles cualquiera de los tipos simples (definidos en C++) que pueden ser convertidos de uno a
otro de manera significativa. Por ejemplo, si llamamos con un entero a una función que esta esperando un
número real como parámetro, el sistema lo convertirá automáticamente, sin mencionarlo al usuario. Esto
también es cierto de float a char, o de char a int.
En cambio, si pasamos un puntero a un entero a una función que estaba esperando un entero, no abra
conversión de tipo, ya que son dos variables completamente distintas. De la misma forma, un tipo definido
por el usuario (estructura o clase) no puede ser convertido automáticamente a un long float, a un array o
incluso a otra estructura o clase diferente, porque son tipos incompatibles y no puede realizarse la
conversión de manera significativa.
Sin embargo, el tipo devuelto por la función, void en el ejemplo anterior, debe ser compatible con el tipo que
se espera que devuelva en la función de llamada, o el compilador dará un warning.
El uso de prototipos no supone coste alguno en tiempo ni en velocidad de ejecución. El prototipo se verifica
durante la compilación.

Moreno González Daniela 1MM2


#include<iostream> MENÚ
Tarea 04 double Calcula(double a, double b); 23 de Octubre del 2020
void Log(char *mensaje);
long variable = 666;
char *PROGRAMA = "Globales> ";
void Log(char *mensaje){
printf("%s\n %s\n",PROGRAMA,mensaje);
}
double Calcula(double a, double b){
return (a/b)*variable;
}
void Programa14(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
unsigned int test=0;
unsigned int a=0, b=0, c;
printf("Valor de test: %d\n", test);
printf("Valor de test++: %d\n", (test++));
printf("Valor de ++test: %d\n",(++test));
printf("Valor de test actual: %d\n", test);
c=b=a=test;
printf("Y los demas: %d %d %d",c, b, a);
scanf("");
} Moreno González Daniela 1MM2
void Programa15(){
Tarea 04 unsigned int test = 0; 23 de Octubre del 2020
unsigned int a=0, b=0, c;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
c = b = a = test;
b+=3;
c++;
a-=1;
printf("Son estos: c = %d b = %d a = %d \n",c,b,a);
a+=b+c;
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\n b=");
scanf("%d",&b);
printf("\n c=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(a > b){
printf("A es mayor que B\n");
}
if(a >= b){
printf("A es mayor o igual a B\n");
}
if(a <= b){
printf("A es menor o igual a B\n");
} Moreno González Daniela 1MM2
}
Tarea 04 void Programa16(){ 23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\
n");
printf("\t GRUPO: 1MM2\n\n");
printf("Valores: c = %d b = %d a = %d \n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\n b=");
scanf("%d",&b);
printf("\n c=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\
n",c,b,a);
if(!(a == b))
printf("A y B no son iguales\n");
else
printf("A y B son iguales\n");
if((a == b) || (b == c))
printf("A y B son iguales o B y C son iguales\n");
else
printf("ni A y B son iguales ni B y C son iguales\n");
}
Moreno González Daniela 1MM2
Tarea 04 void Programa17(){
23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!a)
printf("A es false (igual 0)\n");
else
printf("A es true (distinto de 0)\n");
if(!b)
printf("B es false (igual 0)\n");
else
printf("B es true (distinto de 0)\n");
if(!c)
printf("C es false (igual 0)\n");
else
printf("C es true (distinto de 0)\n");
c=(a==b)?0:1;
printf("C es: %d",c);
} Moreno González Daniela 1MM2
Tarea 04 void Programa18(){ 23 de Octubre del 2020
unsigned int test = 0;
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
if(a>=b)
printf("A mayor o igual que B\n");
else
printf("A menor que B\n");
if(a>=b){
printf("A mayor o igual que B\n");
if(a==23){
printf("A mayor o igual que B\n");
printf("Terminamos\n");
}
}else{
printf("A menor que B");
}
}
inline double Calcula(double a, double b);
Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020
void Programa19(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
Log("Vamor a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
Log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b=\n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf global=%l\
n",b,a,variable);
Log("Venga va vamos");
}

Moreno González Daniela 1MM2


Tarea 04 void Programa20(){
23 de Octubre del 2020
double a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!(a == b))
printf("A y B no son iguales\n");
else
printf("A y B son iguales\n");
if((a == b) || (b == c))
printf("A y B son iguales o B y C son iguales\n");
else
printf("ni A y B son iguales ni B y C son iguales\n");
}
Moreno González Daniela 1MM2
void Programa21(){
Tarea 04 unsigned int test = 0; 23 de Octubre del 2020
int a=23, b=21, c=34;
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
printf("Vamos a probar los operadores\n");
printf("Valores: c %d b %d a %d\n",c,b,a);
printf("Dame los valores a=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
printf("Y ahora son estos: c= %d b= %d a= %d\n",c,b,a);
if(!a)
printf("A es false (igual 0)\n");
else
printf("A es true (distinto de 0)\n");
if(!b)
printf("B es false (igual 0)\n");
else
printf("B es true (distinto de 0)\n");
if(!c)
printf("C es false (igual 0)\n");
else
printf("C es true (distinto de 0)\n");
c=(a==b)?0:1;
printf("C es: %d",c);
} Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020

void Programa23(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
Log("Vamor a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
Log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b=\n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf global=%l\
n",b,a,variable);
Log("Venga va vamos");

Moreno González Daniela 1MM2


Tarea 04 void Programa24(){
23 de Octubre del 2020
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
Log("Vamos a probar los operadores");
unsigned int test = 0;
double a=23, b=21, c=34;
Log("Dame los valores \n a=");
scanf("%lf",&a);
printf("b=\n");
scanf("%lf",&b);
printf("Y ahora los valores son estos b=%lf a=%lf global=%l\n",b,a,variable);
Log("Venga va vamos");
}
class Coche {
public:
Coche();
Coche(char *m,int cil,int cab);
~Coche();
void arranca();
void detiene();
void acelera();
private:
char *marca;
int cilindrada;
int caballos; Moreno González Daniela 1MM2
};
Tarea 04 void Programa25(){ 23 de Octubre del 2020
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");
}
int main(){
printf("\t ELABORO: MORENO GONZALEZ DANIELA\n");
printf("\t GRUPO: 1MM2\n\n");

int opcion;

do{
printf("\n\nElige la opcion del programa que deseas ejecutar: \n");
printf("1.- Programa 14\n");
printf("2.- Programa 15\n");
printf("3.- Programa 16\n");
printf("4.- Programa 17\n");
printf("5.- Programa 18\n");
printf("6.- Programa 19\n");
printf("7.- Programa 20\n");
printf("8.- Programa 21\n");
printf(“9.- Programa 23\n");
printf("10.- Programa 24\n");
printf("11.- Programa 25\n");
scanf("%d",&opcion); Moreno González Daniela 1MM2
Tarea 04 23 de Octubre del 2020
switch(opcion){
case 1:
Programa14(); case 7:
break; Programa20();
case 2: break;
Programa15(); case 8:
break; Programa21();
case 3: break;
Programa16(); case 9:
break; Programa23();
case 4: break;
Programa17(); case 10:
break; Programa24();
case 5: break;
Programa18(); case 11:
break; Programa25();
case 6: break;
Programa19(); }
break; }while(true);

} Moreno González Daniela 1MM2


23 de Octubre del 2020

Tarea 04 Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 23 de Octubre del 2020

Moreno González Daniela 1MM2


Tarea 04 Cuestionario 23 de Octubre del 2020
1.- ¿Cuál es la estructura general de un programa?
R= Inicio, Bloque general, Final
2.- ¿En que consiste el inicio?
R=En el inicio se situarán: Nombre del programa, descripción general, nombre del autor, fecha de elaboración,
etc. Todo ello como comentarios de ayuda, que irán precedidos por el carácter "%" (este carácter indica a
Matlab que no debe leer aquello situado a continuación). Iniciación de variables (asignación de un valor inicial a
algunas variables).
3.- ¿En que consiste el bloque general?
R= En el bloque general se situarán: Los comandos u ordenes pertinentes para que el programa realice aquello
para lo que es diseñado. Entre estos comandos también es conveniente insertar comentarios de ayuda con el
carácter "%".
4.- ¿Qué son los tipos de operaciones?
R= Tipos de datos son conjuntos de elementos definidos por características de los valores requeridos en la
solución de un problema que deberán ser declarados en la estructura del programa.
5.- ¿Qué son los tipos de datos primitivos?
R= Un tipo de dato primitivo es la definición de un grupo de valores y de las operaciones que se que existen
para trabajar con ellos. Se conocen en Java también como tipos envoltorio o wrapper.

Moreno González Daniela 1MM2


Tarea 04
23 de Octubre del 2020
6.- ¿Qué son los datos tipo objeto?
R= Los datos tipo objeto en esencia define el tipo de datos a almacenar al igual que los primitivos, su diferencia
es que los tipos de datos tiene asociados métodos de operaciones básicas y se declaran similar que los
primitivos inicializados por letra mayúscula, y para el caso de enteros y carácter cambia de int a Integer y char a
Character:
Byte, Short, Integer, Long, Float, Double, Character, Boolean
7.-¿Qué son las funciones de Biblioteca?
R= Las funciones de biblioteca son aquellas funciones que están definidas en los archivos de cabecera dentro
de un programa, estos archivos forman parte de las bibliotecas que maneja el lenguaje "C"  y que nos
proporcionan gran ayuda en la programación
8.- ¿Cuáles son los grupos de funciones estándar mas usuales?
R= Entrada/salida estándar, Matemáticas, De conversión, Diagnóstico, De manipulación de memoria, Control
de proceso, Ordenación, Directorios, Fecha y hora, Búsqueda, Manipulación de cadenas, Gráficos
9.- ¿Qué es polimorfismo?
R= En C++ es posible declarar dos funciones diferentes que tengan el mismo nombre. Las funciones deben
diferir en la lista de argumentos, bien en el número de variables que se pasan a la función, bien en el tipo de
argumentos que recibe.
10.- ¿Qué son los parámetros por defecto?
R= Es una forma de indicar qué valor debe ser pasado a una función en el caso en que en la llamada no se
pase nada, o se pasen menos argumentos de los definidos.
Moreno González Daniela 1MM2

También podría gustarte