Programación II Profesor Gumergomez
Programación II Profesor Gumergomez
Programación II Profesor Gumergomez
CONTENIDO
1
Programación II
Prof. Gumer Gómez
El primer ejemplo nos permitía escribir “Hola”. El segundo nos permitía sumar dos
números que habíamos prefijado en nuestro programa. Pero esto tampoco es “lo
habitual”, sino que esos números dependerán de valores que haya tecleado el usuario o
de cálculos anteriores.
Por eso necesitaremos usar variables, en las que guardemos los datos con los que
vamos a trabajar y también los resultados temporales. Vamos a ver como ejemplo lo que
haríamos para sumar dos números enteros que fijásemos en el programa.
2
Programación II
Prof. Gumer Gómez
1.2.2. Enteros
Se definen con “int” y admiten de forma opcional dos prefijos modificadores:
• “short” y “long”: Modifica el tamaño en bits del entero. Existen por tanto tres
tipos de enteros: “int”, “short int” (que se puede abreviar como
“short”), y “long int” (que se puede abreviar como “long”).
El lenguaje C no define tamaños fijos para sus tipos de datos básicos. Lo único
que garantiza es que un short int tiene un tamaño menor o igual que un int y este
a su vez un tamaño menor o igual a un long int. Esta característica del lenguaje
ha complicado la creación de programas que sean compatibles entre varias
plataformas.
• “unsigned”: define un número natural (mayor o igual a cero)
Las cadenas de texto o strings son simplemente tablas de “char”. Las funciones de
biblioteca para manipular estas cadenas asumen que el último byte tiene valor cero. Las
cadenas de texto se escriben en el programa rodeadas de dobles comillas y contienen
el valor cero al final. A continuación, se muestran dos definiciones:
#define SIZE 6
Char a= ´A´;
Char b[SIZE] = “hello”;
3
Programación II
Prof. Gumer Gómez
1.2.4. Números reales
Los números reales se definen con “float” o “double”. La diferencia entre ambas es
la precisión que ofrece su representación interna. Hay un número infinito de reales, pero
se representan con un número finito de bits. A mayor número de bits, mayor número de
reales se representan, y por tanto, mayor precisión. Los reales definidos
con “double” tienen un tamaño doble a los definidos con “float”. Al igual que en el
caso de los enteros, el tamaño de estas representaciones varía de una plataforma a otra.
Algunas plataformas ofrecen números reales con tamaño mayor al “double” que se
definen como “long double”. Los tamaños típicos para los
tipos “float”, “double” y “long double” son 4, 8 y 12 bytes respectivamente. A
continuación, se muestran varias definiciones de números reales.
1.2.5. Tablas
Las tablas se utilizan para almacenar datos en forma de filas y columnas y se utilizan en
el análisis y la investigación de datos. Podemos usar arreglos para crear tablas en
lenguaje C.
Una tabla tiene dos dimensiones, fila y columna, y para crear una tabla, tenemos que
usar una matriz bidimensional. En una matriz bidimensional, la primera dimensión
representa filas y la segunda dimensión representa columnas.
la sintaxis anterior se puede utilizar para crear una matriz o vector unidimensional. El
tipo de datos de la matriz puede ser entero, cadena o cualquier otro tipo de datos, y
podemos dar cualquier nombre a la matriz.
4
Programación II
Prof. Gumer Gómez
Indicaciones:
5
Programación II
Prof. Gumer Gómez
• Estructura secuencial.
• Estructura alternativa o condicional.
• Estructura iterativa o repetitiva.
Cada una de las instrucciones están separadas por el carácter punto y coma (;). No
obstante, en algunos casos nos interesará agrupar en un bloque una serie de
instrucciones, como veremos al explicar las estructuras de selección y de iteración. El
bloque de sentencias se define por el carácter llave de apertura ({) para marcar el inicio
del mismo, y el carácter llave de cierre (}) para marcar el final.
Ejemplo:
instrucción 1;
instrucción 2;
instrucción 3;
.....
instrucción N;
6
Programación II
Prof. Gumer Gómez
Sin embargo, en caso de que el bloque de sentencias este constituido por una única
sentencia no es obligatorio el uso de las llaves de apertura y cierre ({ }).
2.2.1. Instrucción IF
Esta instrucción hace que se ejecuten unas sentencias u otras dependiendo del valor
que toma una condición. La instrucción if puede ser simple o doble:
Alternativa simple:
if (condicion)
instrucción1;
if (condicion)
{
instrucción 1;
instrucción 2;
instrucción 3;
}
Alternativa Doble
if (condicion)
instrucción1;
else
instrucción2;
if (condicion)
{
Instrucción 1;
instrucción 2;
}
else
{
instrucción 3;
instrucción 4;
}
7
Programación II
Prof. Gumer Gómez
Ejemplo de estructura condicional en C++.
✓ Programa que lee un número entero por teclado y muestra si es par o impar.
• El operador módulo (%) realiza la división entera entre dos operandos numéricos
enteros, devolviendo el resto de la misma. De modo que, la expresión numero %
2 == 0 es verdadera cuando número es un número par.
• En la condición del if, el operador relacional igual que (==) permite realizar la
comparación entre el resultado que se obtiene de numero % 2 y 0.
• 163 es el número decimal que corresponde al carácter (ú) con tilde en ASCII.
8
Programación II
Prof. Gumer Gómez
Indicaciones Generales:
9
Programación II
Prof. Gumer Gómez
Un vector es un array unidimensional, es decir, solo usa un índice para referenciar a cada
uno de los elementos.
Su declaración será:
Ejemplos:
10
Programación II
Prof. Gumer Gómez
Los vectores son una forma de almacenar datos que permiten contener una serie de
valores del mismo tipo, cada uno de los valores contenidos tiene una posición asociada
que se usará para accederlos. Está posición o índice será siempre un número entero
positivo.
<identificador>-------->Identificador de la variable.
En principio, se puede considerar que todas las matrices son de una dimensión, la
dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un
proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices
multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres
dimensiones.
vector de 10 posiciones
11
Programación II
Prof. Gumer Gómez
Indicaciones Generales:
1. Elabore un programa que rellene un vector con los 100 primeros números enteros
y los muestre en pantalla en orden descendente. (20 Puntos)
2. Elabore un programa que lea 5 números por teclado, los almacene en un vector y
muestre la suma, resta, multiplicación y división de todos. (30 Puntos)
• Guardar el algoritmo 1 como Nombre.Apellido-Programa2 y el algoritmo 2 como
Nombre.Apellido-Programa3
• Enviar o subir a la plataforma para la evaluación correspondiente.
12
Programación II
Prof. Gumer Gómez
PROYECTO FINAL
Indicaciones Generales:
13