Professional Documents
Culture Documents
Descripcin y objetivos
Este curso tiene como objetivos:
Repasar los conceptos bsicos de programacin estructurada en lenguaje C/C++ Incrementar la prctica en la elaboracin de programas para problemas especficos Realizar proyectos de Investigacin al finalizar la auto capacitacin
Metodologa
Se llevaran acabo aproximadamente 19 sesiones , cada una de 3 horas. Al final de cada sesin, se dejar una tarea la cual debe entregarse a lo mucho 6 das despus al siguiente correo: auto.capacitacionc@gmail.com No se aceptarn tareas retrasadas! , amenos que la solucin sea elegante
Sesin N1
En esta sesin se trataran los siguientes puntos: [1]. Marco conceptual [2]. Tipos de variables [3]. Entrada y salida de datos [4]. Procesos secuenciales
Filosofa de programacin
Conforme se lleve la auto capacitacin, no permitamos que la lgica de los algoritmos ciegue su imaginacin, por el contrario hgala su herramienta para tejer obras maestras del pensamiento.
Que es un programa?
Un programa es un conjunto de instrucciones que debe seguir una computadora. Como muestra el grafico , podemos considerar que la entrada a una computadora consta de dos partes, un programa y algunos datos. La computadora sigue las instrucciones del programa, y de esa forma realiza algunos procesos. Siempre que le proporcionamos a la computadora un programa a seguir y algunos datos para el programa, se dice que estamos corriendo el programa con esos datos, y se dice que la computadora ejecuta el programa.
Lenguaje de programacin
Existen 2 tipos de lenguajes de programacin: -Lenguaje de alto nivel .- Los lenguajes de alto nivel se asemejan en muchos
sentidos a los lenguajes empleados por la humanidad. Estn diseados para que a la gente se le facilite escribir programas, y para que sea sencillo leerlos. Un lenguaje de alto nivel como C++ contiene instrucciones mucho ms complicadas que las instrucciones sencillas que el procesador de una computadora (CPU) es capaz de seguir.
-Lenguaje de bajo nivel .- El tipo de lenguaje que una computadora puede entender
se conoce como lenguaje de bajo nivel. Los detalles exactos de los lenguajes de bajo nivel varan de una computadora a otra.
COMPILADOR
Un programa que traduce un lenguaje de alto nivel como C++ a un lenguaje de mquina, se llama compilador. Entonces un compilador es un tipo especial de programa, cuya entrada o datos es algn programa y su salida es otro programa. Para evitar confusiones, al programa de entrada normalmente se le llama programa fuente o cdigo fuente, y la versin traducida que produce el compilador es llamada programa objeto o cdigo objeto.
Dato curioso :D
EJEMPLO :D
Cuando hablamos de POO la parte del diseo de algoritmo se remplazara por diseo de objetos y sus algoritmos
Tipos de variables
TIPO CHAR
Es el tipo bsico alfanumrico, es decir que puede contener un carcter, un dgito numrico o un signo de puntuacin. Desde el punto de vista del ordenador, todos esos valores son caracteres. En C++ este tipo siempre contiene un nico carcter del cdigo ASCII. El tamao de memoria es de 1 byte u octeto. Hay que notar que en C++ un carcter es tratado en todo como un nmero, de hecho, habrs observado que puede ser declarado con y sin signo. Si no se especifica el modificador de signo, se asume que es con signo.
TIPO INT
Las variables enteras almacenan nmeros enteros dentro de los lmites de cada uno de sus tamaos. A su vez, esos tamaos dependen de la plataforma, del compilador, y del nmero de bits que use por palabra de memoria: 8, 16, 32... No hay reglas fijas para saber el tamao, y por lo tanto, el mayor nmero que podemos almacenar en cada tipo entero: short int, int o long int; depende en gran medida del compilador y del sistema operativo.
TIPO FLOAT
Las variables de este tipo almacenan nmeros en formato de coma flotante, esto es, contienen un valor de mantisa y otro de exponente, que, para entendernos, codifican nmeros con decimales. Aunque el formato en que se almacenan estos nmeros en un ordenador es binario, podemos ver cmo es posible almacenar nmeros muy grandes o muy pequeos mediante dos enteros relativamente pequeos, usando potencias en base 10. Por ejemplo, tenemos para la mantisa un valor entero, m, entre -0.99 y 0.99, y para el exponente un valor, e entre -9 y 9. Los nmeros se interpretan como m x 10e.
TIPO DOUBLE
Las variables de este tipo almacenan nmeros en formato de coma flotante, mantisa y exponente, al igual que float, pero usan una precisin mayor, a costa de usar ms memoria, claro. Son aptos para variables de tipo real. Usaremos estas variables cuando trabajemos con nmeros grandes, pero tambin necesitemos gran precisin. El mayor espacio para almacenar el nmero se usa tanto para ampliar el rango de la mantisa como el del exponente, de modo que no slo se gana en precisin, sino tambin en tamao.
MODIFICADORES
Se usan para modificar el tamao de las variables , las mas comunes son Long, Short, Signed , Unsigned. Para ver el tamao (en bytes) que ocupa un determinado tipo/entidad en memoria, podemos aplicarle el siguiente operador sizeof() ;
ERROR COMUN
Variables y asignacin
Para declarar variables en C/C++ se escribe primero el tipo de variable, seguido del nombre de una o ms variables (separados por comas). Ejemplos: int a; int i, j, k; float x, y; Cuales son los nombres aceptados para una variable? Solo se pueden usar caracteres A-Z a-z, _, 0-9 aunque ninguna variable debe comenzar con un numero 0-9. Para asignar un valor a una variable se utiliza el operador = Es posible asignar valores al momento de declarar las variables; Ejemplos:
Operador de asignacin =
variable = expresin; El resultado de expresin debe ser del mismo tipo que la variable Existen conversiones implcitas
Se puede perder informacin
Operadores aritmticos
Ejemplo de operadores
#include <stdio.h> void main(){ int i; int j= 10; float f = 10.89; i= 10 + 0x10;// 10 + 16 = 26 f = f / i;// f = 10.89 / 26 i= i+ 1;// i= 26 + 1 = 27 j = i% j;// Resduo de 27 / 10 printf("%d %f %d\n", i, f, j); //27 0.418846 7 }
Operadores lgicos
Devuelven verdadero o falso Estos se denominan valores booleanos En C no existe el tipo de datos booleano Valor verdadero: Cualquier valor numrico distinto de cero Valor falso: El valor numrico cero. Usualmente se utiliza 1 para verdadero y 0 para falso.
Denotan una relacin entre dos valores Tambin devuelven valores booleanos
Operadores relacionales
SECUENCIAS DE ESCAPE
Prctica #1
Escriba y ejecute un programa que escriba su nombre completo en la pantalla dentro de un marco formado por asteriscos. Ejemplo de salida:
Prctica #2
Desarrolle un programa donde
1. 2. 3.
4. 5.
Declare tres variables de punto flotante: a, b, c Declare dos variables de tipo double: x1 y x2 Calcule las races (reales) x1 y x2 de la ecuacin
ax2 + bx + c = 0
Calcule las races imaginarias si es que tuviera Imprima los datos y resultados en la pantalla
Ejemplo de salida:
Calculo de las raices de una cuadratica Coeficientes: a = 1, b = -1, c = -2 Raices reales: x1 = 2, x2 = -1 Raices imaginarias : x1=2+3i,x2=2-3i
Prctica #3
Modifique el programa anterior para que el usuario pueda introducir los coeficientes a, b, c, sin necesidad de recompilar el programa. El programa deber imprimir mensajes informativos indicando al usuario qu hace el programa y qu informacin requiere.
PROBLEMAS
1. 2. Escriba un programa que pida al usuario dos enteros y los almacene en las variables A y B. Luego el programa debe intercambiar el valor de A y B. Escriba un programa que calcule e imprima el permetro y el rea de una circunferencia de radio r dado por el usuario. Escriba un programa que, usando solamente dos variables, calcule el promedio de cinco enteros dados por el usuario. Escriba un programa que dados dos puntos en el plano (x1,y1) y (x2,y2), calcule y escriba la distancia entre ellos (sugerencia: utilice la funcin sqrt() de la librera math.h). Escriba un programa que dados tres puntos en el plano, calcule e imprima las coordenadas del centro y el radio de la circunferencia que pasa por los tres puntos.
3.
4.
5.
TAREA
La tarea constara de resolver 3 problemas al aleatorios del los propuestos en la diapositiva anterior Los problemas los enviaran al siguiente correo con el formato de tareas que se les proporcionara en el grupo auto.capacitacionc@gmail.com