Objetivo
Proveer al estudiante los fundamentos de Programación Científica utilizando un lenguaje de programación de propósito general como C, con el fin de prepararlo en el uso básico de herramientas de programación para el desarrollo, análisis y depuración de software científico.
El curso presenta los fundamentos de programación, tipos de datos, variables, estructuras de selección y control, funciones, estructuras básicas de datos, manejo de memoria y almacenamiento de archivos. Durante el curso el estudiante adquiere un conocimiento práctico de las temas a través de numerosas tareas de programación
Fundamentos de Programación en C/C++
C/C++ tiene pocos tipos básicos de datos: enteros (int y derivados), números de punto flotante (float, double), caracteres (chars).
El tipo de datos de una variable especifica dos cosas:
La cantidad de almacenamiento a reservar
La forma de interpretar los datos representados por las cadenas de bits
Ya que usamos bits para representarlos, los rangos de los valores en enteros, y la precisión en punto flotante depende de la implementación en el hardware de la máquina.
Cuando ejecutamos una operación con algún tipo de dato debemos asegurarnos que los operandos y los resultados son del tipo correcto. Usamos Casting para convertir explícitamente entre tipos.
Tipos de datos primitivos en C/C++
Variable: Es el medio simbólico por el cual se hace referencia a una localidad de memoria en la que se almacena información (datos).
Una declaración de una variable: Reserva y nombra en tiempo de ejecución un área de memoria para guardar datos de un tipo específico
type var1;
type var1_new , var2, var333;
type var1=value, var2_, var3_01=value;
Ejemplos:
char _b, c=c;
double y, x, z_2 = 78.0098;
78.0098
z_2
Más sobre variables en C/C++
Pérdida de datos (data loss):
double x = 3; //OK (int -> double), implícito
int n = 3.7; //Warning: compilador convierte a enteros, pero se pierden datos fraccionales
Conversión forzada: Casting.
(static, dynamic, const, reinterpret)_cast
int n = static_cast (3.7); //OK
Expresiones (expr) en C/C++
Expresión (expr):
constante | variable
expr op expr
Op expr
Aritméticas
Operadores: +, -, *, /, % (residuo o mod)
Unitarios (incremento): var++, ++var, var–, –var,
Ejemplos
x+ 3
x + y + z
(x + 7) / 3 * y
14 % 3
– (x * 3) % 4
Y = ++x
Y = x++
Especiales (op =): x +=4, y/=x; t*=5;
Relacionales (de comparación: True, False)
Operadores: ==, !=, , =
Ejemplos:
1 < 1
x == x
x < x
3 != 4
Expresiones Lógicas
Operadores: !, ||, &&
C usa enteros (0, 1)
C++ usa bool (false, true,)
Ejemplos:
! 2 \ value es 0
! (x == (x +1)) \ value es 1
(x == 0) || (x !=0) \ siempre es 1
(x == x) && (1!=2) \ value es 1
1 || (x == y) \ (x == y) no se evalúa
Expresiones (expr) en C/C++
De Selección
Expr1 ? Expr2 : Expr3
El resultado es expr2 si expr1 es true, o
Expr3 si expr1 es falso
Ejemplos:
0 ? Y : z //value es z
1? 10 : 13 //value es 10
A ? B : 9 //value es B if A is true, 9 de otra manera
Expresiones (expr) en C/C++
Statements (sentencias) en C/C++
Simples
Null
Expresión (expr)
If
While
Do
For
Switch
Compuestas { }
Statements (sentencias) en C/C++
If, if-else
If (expr) statement1
If (expr) statement1 else statement2
Ejemplos:
If(a==1) x +=4;
If (y!=x+5) {
x+=1;
} else {
y -=1;
}
Ejercicio: Identifica si un número es par o impar
Statements (sentencias) en C/C++
while
while (expr) statement(s)
Ejemplo:
int i=1, N;
cout> N;
while (i< N){
cout