Fundamentos de Programación - Unidad II: Introducción a la Programación
JosAntonioSandovalAc
1,599 views
37 slides
Aug 12, 2017
Slide 1 of 37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
About This Presentation
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad II: Introducción a la Programación
Retícula ISIC-2010-224: Programa: AED-1285
Size: 843.07 KB
Language: es
Added: Aug 12, 2017
Slides: 37 pages
Slide Content
TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Unidad II: Introducción a la Programación Mtro. José Antonio Sandoval Acosta Retícula ISIC-2010-224: Programa : AED-1285 FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACION Competencia : Conoce y aplica un lenguaje de programación para la resolución de problemas.
Marco Histórico de Lenguaje C Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C. FUNDAMENTOS DE PROGRAMACIÓN
A mediados de los ochenta el Lenguaje C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc. A mediados de los ochenta se crea el Lenguaje C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios. FUNDAMENTOS DE PROGRAMACIÓN
Características Orientado a la programación de sistemas Es altamente transportable Es muy flexible Genera código muy eficiente Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas de código) Es muy poco modular FUNDAMENTOS DE PROGRAMACIÓN
El preprocesador Transforma el programa fuente, convirtiéndolo en otro archivo fuente “ predigerido ”. El compilador Convierte el archivo fuente entregado por el preprocesador en un archivo en lenguaje máquina FUNDAMENTOS DE PROGRAMACIÓN
El enlazador Un archivo objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios. El enlazador genera el ejecutable binario, a partir del contenido de los archivos objetos y de las bibliotecas . Las bibliotecas contienen el código de funciones precompiladas , a las que el archivo fuente llama. FUNDAMENTOS DE PROGRAMACIÓN
Bibliotecas estándares El lenguaje C++ es muy simple. Carece de tipos y servicios que forman parte de otros lenguajes. No tiene tipo booleano, ni manejo de cadenas, ni manejo de memoria dinámica. No obstante, el estándar de C++ define un conjunto de bibliotecas de funciones, que necesariamente vienen con todo entorno de compilación de C++ y que satisfacen estos servicios elementales. FUNDAMENTOS DE PROGRAMACIÓN
Las interfaces de estos servicios vienen definidas en unos Archivos Cabeceras ( header files ). El nombre de estos archivos suele terminar en “ .h” Algunos de los servicios proporcionados por las bibliotecas estándares son: entrada y salida de datos ( stdio.h ) manejo de cadenas ( string.h ) memoria dinámica ( stdlib.h ) rutinas matemáticas ( math.h ) FUNDAMENTOS DE PROGRAMACIÓN
Componentes del lenguaje C ++ Sigue el paradigma de la programación estructurada: Algoritmos + estructuras de datos = programas. Estructuras de datos literales tipos básicos (todos numéricos) tipos enumerados tipos estructurados ( struct , union ) punteros y vectores FUNDAMENTOS DE PROGRAMACIÓN
# include < biblioteca1.h > ... otras bibliotecas ... using namespace std ; ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... int main ( int argc , char * argv []) { ... instrucciones del main ... cin.get (); return 0; } FUNDAMENTOS DE PROGRAMACIÓN Estructura de un archivo fuente Un archivo fuente en lenguaje C++ tendrá esta estructura típica:
# include < iostream > # include < cstdlib > # include < stdio.h > # include < conio.h > using namespace std ; int main ( int argc , char * argv []) { // código fuente system (" pause"); return 0; } FUNDAMENTOS DE PROGRAMACIÓN Estructura de un archivo fuente Archivo fuente con instrucciones básicas
Tipos de variables en C++: Tipos Numéricos int : -32.768 y +32.767, incluyendo el cero (0) long : - 2.347.483.648 y +2.347.483.647 char : -128 y +127 Todos pueden ser modificados con los calificadores “ signed ” “ unsigned ”. FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
Variables de número real o punto flotante: Un número real ó de punto flotante es aquel que además de una parte entera, posee fracciones de la unidad. FUNDAMENTOS DE PROGRAMACIÓN
Variables tipo Carácter: El lenguaje C++ guarda los caracteres como números de 8 bits de acuerdo a la norma ASCII extendida, que asigna a cada carácter un número comprendido entre 0 y 255. Es común entonces que las variables que vayan a alojar caracteres sean definidas como: char x; FUNDAMENTOS DE PROGRAMACIÓN
Existen una serie de caracteres que no son imprimibles . Un caso típico sería el de "nueva línea" ó ENTER. Con el fin de tener acceso a los mismos es que aparecen ciertas secuencias de escape convencionales. Las mismas están listadas en la tabla 3 y su uso es idéntico al de los caracteres normales, así para resolver el caso de una asignación de "nueva línea " se escribirán los caracteres de la tabla siguiente: FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
Constantes: Es una mala práctica colocar en un programa valores constantes de manera literal, sobre todo, cuando se usa varias veces en un programa, es mejor asignar el valor a una variable y usar dicha variable, la forma de hacerlo es usando la directiva “#define”: Ejemplos: #define PI 3.1416 #define GRV 9.81 FUNDAMENTOS DE PROGRAMACIÓN
Funciones cin y cout : cin es el flujo de entrada estándar que normalmente es el teclado y cout es el flujo de salida estándar que por lo general es la pantalla. Sintaxis: cout << “ El total es: ” << total ; (el texto es entre comillas) iostream es el archivo de encabezado del flujo de entrada/salida. Este archivo debe incluirse cuando se utilicen cin o cout . cin >> variable ; La instrucción cin obtiene un valor desde el teclado. El usuario debe introducir un valor y luego enter . FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo: include < stdio.h > using namespace std ; int main ( int argc , char * argv []) { int i1, i2, sum; cout << “Ingrese el 1er numero entero\n”; cin >> i1; cout << “Ingrese el 2do numero entero\n”; cin >> i2; sum = i1+i2; cout << “\n La suma es ”; cout << sum; system (“pause”); return 0; } FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: realiza el programa para solucionar el área de un círculo: a=pi*(r*r) utilizar también la directiva #define FUNDAMENTOS DE PROGRAMACIÓN
# include < cstdlib > # include < iostream > # include < stdio.h > # include < conio.h > using namespace std ; int main ( int argc , char * argv []) { float area , radio, PI ; PI=3.1416; cout << "Teclea el Radio del Circulo: \n"<< endl ; cin >> radio; area = PI*radio*radio; cout << "El area del circulo es: "; cout << area << endl ; system ("pause"); return 0; } FUNDAMENTOS DE PROGRAMACIÓN Ejemplo:
Ejercicio : hacer el programa para solucionar el área, el perímetro y la superficie de un triángulo; Fórmulas : área=(b*h)/2 superficie=b*h perímetro=2( b+h ) Nota : debes declarar las variables necesarias para ser capturadas: FUNDAMENTOS DE PROGRAMACIÓN
abs ; sintaxis: int abs ( int x); Macro que devuelve el valor absoluto de un entero. sqrt ; sintaxis: double sqrt ( double x); Calcula la raíz cuadrada. Devuelve la raíz cuadrada de x. Si se llama con un número negativo se produce un error de dominio. atof ; sintaxis: double atof ( const char *s); Convierte cadena a punto flotante. Devuelve el valor contenido en s convertido a tipo double , o 0 si s no puede ser convertido. cabs ; sintaxis: double cabs ( struct complex z); Valor absoluto de un número complejo. Devuelve el valor absoluto de z como un double . ceil ; sintaxis: double ceil ( double x); Redondea por arriba. Devuelve el menor entero mayor o igual que x. exp ; sintaxis: double exp ( double x); Calcula e elevando a la x- éxima potencia. fabs ; sintaxis: double fabs ( double x); Valor absoluto de valor en punto flotante. floor ; sintaxis: double floor ( double x); Redondea por abajo. Devuelve el mayor entero que no es mayor que x. FUNDAMENTOS DE PROGRAMACIÓN
fmod ; sintaxis: double fmod ( double x, double y); Calcula x módulo y. labs ; sintaxis: long int labs ( long int x); Calcula el valor absoluto de un long . ldexp ; sintaxis: double ldexp ( double x, int exp ); Calcula el producto entre x y 2 elevado a exp . modf ; sintaxis: double modf ( double x, double * parte_entera ); Descompone en parte entera y parte fraccionaria. La función modf () descompone x en sus partes entera y fraccionaria. Devuelve la parte fraccionaria y sitúa la parte entera en la variable apuntada por parte_entera . pow ; sintaxis: double pow ( double base , double exponente ); Función potencia, x elevado a y); Devuelve base elevado a exponente. Se produce un error de dominio si base es 0 y exponente es menor o igual que 0. También puede ocurrir si base es negativo y exponente no es entero. Un desbordamiento produce un error de rango. pow10 ; sintaxis: double pow10 ( int p); Función potencia, 10 a la p. Devuelve 10 elevado a p. FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio : haga el programa que obtenga el cuadrado, el cubo y el valor absoluto de un número. FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: hacer un programa que convierta una cantidad de grados Centígrados a grados Fahrenheit la fórmula es: GF=GC*(9/5)+32 FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio : Escriba un programa que calcule el valor absoluto de un número entero. Para calcular el valor absoluto debe utilizar la función correspondiente y además volver a calcular el valor absoluto del mismo número elevándolo al cuadrado y después obteniendo su raíz cuadrada y desplegar ambos resultados que deben ser iguales. Nota : no debes utilizar comparaciones. FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: hacer programa que pida el nombre de una persona, su peso en libras y su estatura en pies (medidas americanas) y convierta su peso a kilos y su estatura a metros, desplegar al final los resultados con el nombre 1 libra equivale a 0.4536 kilos 1 pie equivale a 0.3047 metros FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio : Hacer programa que solucione el problema de una gasolinera, sus bombas surten la gasolina en galones pero la cobran en litros, mostrar en pantalla cuanto se debe cobrar dependiendo de la cantidad de galones vendidos y el precio de la gasolina (precio variable), un galón equivale a 3.785 litros. FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio : Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: U na tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio : construya un programa que determine la distancia entre dos puntos, leyendo para esto las coordenadas de los puntos p 1 y p 2 . Coordenadas x 1 , y 1 , x 2 , y 2 x 1 , y 1 son el punto p 1 de las coordenadas x 2 , y 2 son el punto p 2 de las coordenadas Fórmula: FUNDAMENTOS DE PROGRAMACIÓN
Funciones puts () y gets () ; La función puts ( ) escribe una cadena de caracteres y un carácter de nueva línea al final de la cadena en la salida estándar. Acepta como argumento una cadena (sin formato). La función gets ( ) lee una cadena de caracteres de la entrada estándar hasta que se encuentra el carácter ‘ \n’, aunque este carácter no es añadido a la cadena. FUNDAMENTOS DE PROGRAMACIÓN
Bibliografía Cairó , Osvaldo. (2005). Metodología de la Programación. Tercera edición. AlfaOmega . México, D. F. FUNDAMENTOS DE PROGRAMACIÓN