La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción Computación.

Presentaciones similares


Presentación del tema: "Introducción Computación."— Transcripción de la presentación:

1 Introducción Computación

2 Objetivo PROPÓSITO DEL CURSO
Este curso está dirigido a los alumnos de primer ingreso en la carrera de Ingeniero Electrónico. La programación es una herramienta fundamental en el desarrollo profesional de todo ingeniero en la actualidad. Se revisan los conceptos fundamentales de programación en el lenguaje C haciendo énfasis en la resolución de problemas. Este curso apoya directamente a los cursos de Programación y Programación Numérica e indirectamente a todas las materias de su carrera. OBJETIVOS GENERALES Describir la estructura de un programa en el lenguaje C. Analizar problemas y diseñar e implementar soluciones como programas de computadora. El alumno desarrollará un proyecto de programación y lo implementará utilizando el lenguaje C. Al finalizar los alumnos deberán ser capaces de escribir programas en C basados en consola.

3 Plan del curso Temario Primer parcial
UNIDAD 1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN Segundo parcial UNIDAD 2: TOMA DE DECISIONES UNIDAD 3: ESTRUCTURAS DE REPETICIÓN UNIDAD 4: ARREGLOS Tercer parcial UNIDAD 5: DEFINICIÓN DE FUNCIONES UNIDAD 6: CADENAS DE CARACTERES PROYECTO FINAL

4 Calificación METODOLOGÍA
Los temas de cada unidad serán impartidos por el profesor. Se incluirán ejemplos prácticos de cada tema. EVALUACIÓN Para la evaluación se realizarán 2 exámenes parciales y un examen final. Presentación de un proyecto de programación. CALIFICACIÓN Cada calificación parcial: 60% examen 40% tareas 10% participación Calificación final: 60% examen 40% proyecto 10% participación Calificación ordinaria: 1er parcial 30% 2do parcial 30% final 40% BIBLIOGRAFÍA Como programar en C y C++, Deitel y Deitel. Prentice Hall. Segunda edición. El lenguaje de programación C, Kernighan, Brian W., Prentice Hall

5 Computador digital Es un dispositivo electrónico programable, diseñado para llevar a cabo tareas de manipulación de información con gran rapidez. El rango de aplicaciones abarca desde usos comerciales (facturación, control de inventario, etc) hasta aplicaciones científicas o ingenieriles como control de experimentos de un laboratorio, extensivos cálculos en dinámica de fluídos, o el control de naves espaciales hasta juegos altamente entretenidos. Se utilizan en todas las actividades humanas, sobretodo en las científicas. Es indispensable para el trabajo de un Ingeniero o científico.

6 Arquitectura simplificada de un computador
Hardware Se denomina así a todos los componentes físicos del computador o sistema de cómputo. Los componentes principales de un computador (Hardware) son: Unidad central de Procesamiento (CPU) Memoria de acceso aleatorio (RAM) Memoria de acceso sólo a lectura (ROM) Dispositivos de Entrada y Salida

7 Algunos dispositivos de Entrada Salida
Medios de almacenamiento masivo (Diskettes, discos magnéticos, ópticos, magneto-ópticos, cintas magnéticas, memorias USB, etc.) utilizadas como un medio masivo no volátil de almacenamiento de datos. Teclado: Dispositivo de entrada de información. Monitor: Dispositivo de salida de información. Mouse: Dispositivo de entrada de datos por apunte y selección. Impresor: Dispositivo de salida de información en papel. Puertos de comunicación: Canales de comunicación de datos entre computadores. Conversores Analógico-Digitales y Digitales-Analógicos de datos: Son canales de entrada o salida de datos en forma analógica.

8 Software Son los programas que dirigen la operación del Hardware para la solución de un problema, siendo su funcionalidad fácilmente modificable. Según su funcionalidad se lo puede clasificar en: Sistema Operativo (S.O.) Aplicaciones Sistemas de desarrollo

9 Sistema Operativo El sistema operativo es un conjunto de programas que se encargan de realizar la administración de todos los recursos que posee un computador. Además provee a los programas de una interfase con el Hardware. En los S.O.s modernos se pretende que la programación se independice del hardware específico del computador sobre el cual corre, permitiendo transportabilidad de programas entre computadores de arquitectura disímil.

10 Aplicaciones Son programas o conjuntos de programas que llevan a cabo tareas específicas: Manejo de Bases de Datos Cálculo científico Procesamiento de textos Diseño asistido por computador Control de procesos Planillas de cálculo Sistemas de graficación Planificación empresarial etc.

11 Sistemas de desarrollo
Son conjuntos de programas destinados a la generación de aplicaciones. Estos se pueden clasificar de diversas maneras De acuerdo a su nivel de abstracción Lenguajes de bajo nivel de abstracción: Son lenguajes en que el programador debe especificar las tareas que debe realizar el computador, desde un punto de vista muy cercano al hardware (Assembler, código de máquina, etc.) Lenguajes de alto nivel de abstracción: El programador manipula entidades abstractas, sin involucrarse en los detalles de su implementación interna (Pascal, Fortran, C, Java, etc).

12 Sistemas de desarrollo (continuación)
De acuerdo a las metodologías de programación utilizadas Lenguajes Imperativos: Son aquellos en que el programador debe especificar en forma detallada el flujo del programa. (Assembler, C, Basic, Fortran, Pascal, etc.). Lenguajes Declarativos: Son aquellos en que el programador debe poner énfasis en la definición del problema, más que en su solución, descansando esta última en mecanismos del lenguaje mismo. (Prolog, Lisp, etc). Lenguajes Orientados a Objetos: El programador define entidades (objetos) caracterizadas por un estado interno, y un conjunto de mecanismos capaces de modificarlo. Esto permite abstraer entidades físicas con más facilidad, brindando una manera más directa para la modelización de un problema. (C++, Smalltalk, Objective C, Eiffel, CLOOS, ADA, HyperCard, etc.) Lenguajes Mixtos: Son aquellos que permiten al programador mezclar metodologías de programación (Mathematica, SMP, Nexpert Object, etc.).

13 Sistemas de desarrollo (continuación)
De acuerdo a la manera de ejecutar un programa Intérpretes: Son aquellos en que existe un proceso adicional al programa, que se encarga de ir traduciendo las sentencias del programa a lenguaje de máquina, durante la ejecución misma. Otorgan flexibilidad, pero a costa de pérdida de eficiencia. Compiladores: El proceso de traducción a código de máquina se realiza antes de la ejecución. Esto aumenta considerablemente la eficiencia, a costa de pérdida en la flexibilidad durante el desarrollo de un programa. Ambientes de programación: Son ambientes ricos para el programador, facilitando la tarea de desarrollo, depuración y prueba de un programa.

14 Tarea 1. Describa brevemente la función de los elementos que constituyen un sistema de cómputo. 2. Desde su punto de vista, ¿cree usted que sea importante saber programar una computadora? ¿Por qué si o por que no?

15 Ejemplo de CPU

16 EJEMPLO DE PROCESADOR El procesador contiene un acumulador para almacenar uno de los operandos antes de realizar las operaciones binaria y almacenar el resultado después de éstas. Memoria CPU Acumulador dir contenido 00000 00001 00010 ... 11111

17 Formato de las instrucciones
Las instrucciones constan de secuencias de 8 bits. Los primeros tres bits se utilizan para el código de la operación. Los últimos cinco bits representan la dirección del operando. 1 1 1 1 1 Código de la instrucción Dirección del operando

18 CONJUNTO DE INSTRUCCIONES
Código Significado de operación 001 Load (carga): cópiese el valor de la palabra direccionada en el acumulador 010 Store (almacena): cópiese el valor del acumulador en la palabra direccionada 011 Add (suma): reemplácese el valor actual del acumulador por la suma del valor actual y el valor de la palabra direccionada. 100 Substract (resta): reemplácese el valor actual del acumulador por el resultado que se obtiene al restar, del valor actual, el valor de la palabra direccionada. 101 Branch (salta): Pásese a ejecutar la instrucción contenida en la palabra direccionada. 110 Branch if not 0 (salta si no 0): Pásese a ejecutar la instrucción contenida en la palabra direccionada solamente si el valor actual del acumulador es diferente de cero. 111 Halt (alto): termina ejecución.

19 EJEMPLO DE PROGRAMA Dirección de la instrucción Código de la operación
Operando 00000 001 01010 00001 010 01100 00010 001 01110 00011 011 01011 00100 010 01110 00101 001 01100 00110 100 01101 00111 010 01100 01000 110 00010 01001 111 00000

20 Programa con mnemónicos
Direccion Mnemónico Operando 00 carga almacena carga suma almacena carga resta almacena salta si no alto

21 CONTENIDO DE LA MEMORIA ANTES DE LA EJECUCIÓN
Programa Datos

22 CONTENIDO DE LA MEMORIA DESPUÉS DE LA EJECUCIÓN

23 } } Problema de ejemplo Calcula 3A Calcula 3A + 2B Calcula 3A + 2B – C
Se desea evaluar la fórmula 3A + 2B – C, con A = 5, B = 8, C = 3. Se requieren al menos 3 localidades de memoria, una para A, otra para B y otra para C. Elegimos las localidades con direcciones 10, 11 y 12 para ese propósito. Para guardar el resultado se usará la dirección 13. Para evaluar la fórmula se harán los siguientes pasos: 1. Cargar el valor de A en el acumulador 2. Sumarle el valor de A al acumulador 3. Sumarle el valor de A al acumulador 4. Sumarle el valor de B al acumulador 5. Sumarle el valor de B al acumulador 6. Restarle el valor de C al acumulador 7. Almacenar resultado 8. Terminar } Calcula 3A } Calcula 3A + 2B Calcula 3A + 2B – C

24 Programa Dirección Contenido 00000 00101010 00001 01101010 00010 00011
00100 00101 00111 Dir Mnemónico Operando 00 carga suma suma suma suma resta almacena alto

25 Ejemplo 2 Se desea un programa para sumar los primeros 20 números impares. En una localidad de memoria se almacenará el impar que se va a sumar. Otra localidad almacenara la suma de los impares. Se usará una localidad para contar el número de impares sumados (20). En dos localidades mas se almacenarán las constante utilizadas, 1 y 2.

26 Algoritmo 1. Cargar el total 2. Sumar el número impar 3. Guardar el resultado en total 4. Cargar el número impar 5. Sumar 2 6. Guardar el número impar 7. Cargar el contador de impares 8. Restar 1 9. Guardar contador de impares 10. Si no es cero ir al principio del programa (línea 1) 11. Terminar

27 Programa Dir mnemónico binario Dir uso Datos antes de la ejecución
00000 carga suma almacena carga suma almacena carga resta almacena salta si no alto Datos después de la ejecución Dir uso 01000 contador de impares constante número impar suma total constante 2 100 decimal

28 Tarea Escriba un programa para la CPU que evalúe la siguiente expresión: 4*A – 3*B + 10 Pruebe el programa para a) A = 5 y B = 4 b) A = 3 y B = 6 explique los resultados. 001 – load: cargar en el acumulador 010 – store: almacena en memoria 011 – add: suma al acumulador 100 – substract: resta al acumulador 101 – branch: salta a la instrucción direccionada 110 – branch if not 0: salsa si no cero a la instrucción direccionada 111 – halt: detiene

29 SISTEMA BINARIO Utiliza solo dos dígitos, 0 y 1. Un número en binario representa una suma de potencias de 2. Ejemplo: = 1x25+ 1x24+ 0x23+ 1x22+ 0x21+ 0x20 = = 5210 Para convertir de decimal a binario se sigue el siguiente esquema: El binario se obtiene de la secuencia inversa de los residuos El número binario equivalente es:

30 discusión Discuta y defina los siguientes conceptos CPU Bit
Memoria Byte Dirección de memoria Número binario Contenido de una localidad Programa Instrucción Mnemónico Código de instrucción Operando de una instrucción Acumulador Salto incondicional Salto condicional

31 Características de C C es un lenguaje de programación de propósito general. Sus principales características son: Programación estructurada Economía de las expresiones Abundancia en operadores y tipos de datos. Codificación en alto y bajo nivel simultáneamente. Reemplaza ventajosamente la programación en ensamblador (assembler). Utilización natural de las funciones primitivas del sistema. No está orientado a ningún área en especial. Producción de código objeto altamente optimizado. Facilidad de aprendizaje (;-)).

32 Breve Historia El lenguajes C nació en los Laboratorios Bell de AT&T
Asociado con el Sistema Operativo UNIX Su eficacia y claridad han hecho que el lenguaje asembler apenas haya sido utilizado en UNIX. Este lenguajes está inspirado en el lenguaje B escrito por Ken Thompson en 1970 B era un lenguaje evolucionado e independiente de la máquina, inspirado en la lenguajes BCPL concedido por Martin Richard en 1967. En 1972, Dennis Ritchie, modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en dicho lenguaje. La novedad que proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de datos.

33 En suma … Una de las peculiaridades de C es su riqueza de operadores,
Tiene sus inconvenientes: Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de caracteres. La excesiva libertad en la escritura de los programas puede llevar a errores en la programación. C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.

34 Primer ejemplo Biblioteca para entrada y salida Sentencia de salida
// Fig. 1.2: fig01_02.cpp // Primer programa en C++. #include <iostream> // la función main comienza la ejecución del programa int main() { std::cout << "¡Bienvenido a C++!\n"; system(“PAUSE”); return 0; // indica que el programa terminó satisfactoriamente } // fin de la función main Sentencia de salida Espera una tecla 34

35 Compilar usando Dev-C++
1. Escribir el código 2. Guardar en disco 3. Compilar 4. Ejecutar (correr)

36 Programa en ejecución Cambio de línea
std::cout << "¡Bienvenido a C++!\n"; system(“PAUSE”); return 0;

37 Error de compilación Señalamiento de error Explicación del error
expected “;” before “return” esperaba “;” antes de “return”

38 Proceso de escritura de programas
Escribir programa en el editor de texto Compilar el programa fuente o Ctrl-F9 Hay errores? si no Ejecutar el programa o Ctrl-F10

39 Secuencias de escape para la salida
Sirven para modificar la salida de datos Se utilizan con cout para formatear la salida \n Salto de línea, también endl \t tabulación horizontal \r retorno de línea \\ diagonal invertida \” imprime comillas \OOO visualiza un carácter cuyo código ASCII es OOO en octal. \xHHH visualiza un carácter cuyo código ASCII es HHH en hexadecimal. 39

40 Ejemplos de secuencias de escape
Una línea mediante dos sentencias #include <iostream> using spacename std; int main() { cout << "!Bienvenido a "; cout << "Dev-C++!\n"; system(”PAUSE”); return 0; } Varias línea mediante una sentencia #include <iostream> using namespace std; int main() { cout << "¡Bienvenido\n\"a\"\nC++!\n"; system(“PAUSE”); return 0; } 40

41 #include <iostream> using namespace std; int main(){ cout << "nombre\tdirección\ttelefono\n"; cout << "juan\tolmo 204 \t \n"; cout << "maria\tpino 565 \t \n"; system("PAUSE"); return 0; } #include <iostream> using namespace std; int main() { cout << "nombre\tdirección\ttelefono\njuan\tolmo 204 \t \nmaria\tpino 565 \t \n"; system("PAUSE"); return 0; }

42 tarea ¿Que salida genera el siguiente programa? int main() {
cout << “Introducción a\nlas computadoras"; cout << “ y a la\n \t\"programación\""; cout << “ en\n \tC++\n"; return 0; } Escriba un programa que genere la siguiente salida utilizando una sola línea de salida. Nombre Puesto Sueldo: Juan Gerente $10,000 Lety TIC $20,000 42

43 Variables Las variables permiten almacenar valores de diferentes tipos. Sus características son nombre – un identificador válido tipo – int, float, double, char, etc. valor – el valor almacenado En C es necesario definir todas las variables que se utilicen Las variables se declaran con la siguiente sintaxis: tipo var1, var2, … ; Ejemplos: int a, b, c; float r, s; Declara a, b y c como enteras Declara r y s como reales 43

44 Tipos de datos numéricos
La siguiente tabla resume los tipos de datos numéricos en Turbo C++ Tipo Longitud Rango unsigned char 8 bits a 255 char bits a 127 enum bits ,768 a 32,767 unsigned int 16 bits a 65,535 short int bits ,768 a 32,767 int bits ,768 a 32,767 unsigned long 32 bits a 4,294,967,295 long bits -2,147,483,648 a 2,147,483,647 float bits *(10^-38) a 3.4*(10^+38) double bits *(10^-308) a 1.7*(10^+308) long double 80 bits 3.4*(10^-4932) a 1.1*(10^+4932) 44

45 Constantes numéricas Las constantes numéricas enteras pueden escribirse en decimal, hexadecimal u octal. Decimal – secuencias de dígitos decimales con o sin signo (+, -). Hexadecimal – secuencias de dígitos hexadecimales (0..9, a..f, o A..F) que inicia con 0x. Ejemplo: 0x00ff o 0x00FF = 255 Octal – secuencias de dígitos octales (0..7) que inicia con 0. Ejemplo: = 30210 Las constantes reales se especifican como secuencias de dígitos decimales y el punto decimal. Los números en notación científica se expresan indicando el multiplicador de 10 mediante E+nn o e+nn. Ejemplo: x 104 = 12.4E+4 o 12.4E4 45

46 Operación de asignación
La operación básica para el uso de variables es la asignación El tipo de constante a asignar debe de ser congruente con el tipo con el que fue declarada la variable. Para la asignación se utiliza el símbolo = Ejemplos: a = 5; b = 8; cout << a << b; Imprime 58 46

47 Ejemplo Impresión de "variables" a b c d 45 23 368 345 Salida
//Ejemplo de secuencias de escape #include <iostream> using namespace std; int main() { int a,b,c,d; //4 variables reales a = 45; b = 23; c = 368; d = 345; cout << "Impresión de \"variables\"\n"; cout << "a\tb\tc\td\n"; cout << a << "\t" << b << "\t" << c << "\t" << d << endl; system(“PAUSE”); return 0; } Impresión de "variables" a b c d Salida 47

48 Tarea //Ejemplo de asignaciones #include <iostream> using namespace std; int main() { int a,b,c; // 3 variables enteras float x,y,z; //3 variables reales a = 5; b = -2; c = 8; x = a; a = b; y = x; z = 8.5; x = z; cout << "a=" << a << "\nb=" << b << "\nc="<< c << "\n"; cout << "x=" << x << "\ny=" << y << "\nz="<< z << "\n"; system(“PAUSE”); return 0; } Que valores se imprimen? 48

49 Algunos operadores en C
Operadores aritméticos Operación Operador Ejemplo Suma + 5 + 8 Resta - 5 – 2 Multiplicación * 4 * 8 División / 2 / 7 Módulo % 5 % 3 49

50 Multiplicación, división, módulo
Reglas de precedencia El operador () se utiliza para modificar la precedencia de los operadores Operador Operación Precedencia ( ) Paréntesis Precedencia más alta. Se evalúan primero los más anidados *, / o % Multiplicación, división, módulo Se evalúan de izquierda a derecha + o - Suma o resta 50

51 Ejemplos de operadores
Notación en C Notación estándar a + b – d/c a % c + d (a + b)/(2*c + 3) (a - c)/(4*b*c) o (a - c)/4/b/c 51

52 Ejemplo #include <iostream>
//calcula el área y el volumen de una esfera using namespace std; main(){ float r,area,volumen;//radio, area y volumen de la esfera r = 4.5; area = 4*3.1416*r*r; volumen = 4*3.1416*r*r*r/3; cout << "el radio de la esfera es " << r << "\n"; cout << "el área de la esfera es " << area << "\n"; cout << "el volumen de la esfera es " << volumen << "\n"; system("PAUSE"); }

53 Orden de evaluación z = p r mod q + w/x-y z = p * r % q + w / x – y 6
1 2 4 3 5 a = (c + b * d)/(c – d) 5 2 1 4 3 a = c + b * d / c – d ERROR 5 3 1 2 4

54 Tarea Escriba las siguientes expresiones en C
Escriba un programa para calcular la fuerza entre dos masa m1 y m2. Utilice G = 6.7 x 10–11, utilice m1 = 2.5 kg m2 = 4.8 kg y r = 7.2 cm, la fuerza está dada por

55 Entrada de datos Para la lectura de datos desde el teclado puede utilizarse la función cin. El formato para cin es: cin >> var; Al ejecutarse la función cin se detiene la ejecución del programa hasta que se teclee el valor de la variable solicitada. Pueden leerse varias variables en una sola línea. cin >> var1 >> var2 >> var3; Las variables se leen separadas por espacios o la tecla enter. 55

56 Suma de enteros Declaración de enteros Sentencia de entrada
// Programa de suma. #include <iostream> using namespace std; // la función main comienza la ejecución del programa int main() { int entero1; // primer número que introduce el usuario int entero2; // segundo número que introduce el usuario int suma; // variable en la que se almacena la suma cout << "Digite el primer entero\n"; // indicador cin >> entero1; // lee un entero cout << "Digite el segundo entero\n"; // indicador cin >> entero2; // lee un entero suma = entero1 + entero2; // asignación del resultado a suma cout << "La suma es " << suma << endl; // impresión de suma return 0; // indica que el programa terminó satisfactoriamente } // fin de la función main Sentencia de entrada Asigna valor a variable desde el teclado Operación de suma Concatenación de flujo 56

57 Memoria del programa de suma
38 integer1 Variables (direcciones de memoria) 54 Contenido integer2 92 suma 57

58 Ejemplo Se desea un programa para calcular el área de un triángulo dadas las coordenadas de sus vértices. El área se calcula utilizando la siguiente fórmula: Variables de entrada: x1, x2, x3, y1, y2, y3 Variables de salida: area 58

59 Solución //Programa para calcular el área de un triángulo #include <iostream> using namespace std; int main() { float x1,x2,x3,y1,y2,y3; // coordenadas del triángulo float area; // área del triángulo cout << "Teclee las coordenadas del primer punto: "; cin >> x1 >> y1; cout << "Teclee las coordenadas del segundo punto: "; cin >> x2 >> y2; cout << "Teclee las coordenadas del tercer punto: "; cin >> x3 >> y3; area = (x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2.0; cout << "área: " << area << endl; return 0; } 59

60 Esquema de programa simple
Un programa simple tiene el siguiente esquema general: Declaración de variables y constantes Lectura de datos de entrada Cálculo de valores de salida Impresión de resultados

61 Pasos a seguir Los pasos a seguir para elaborar un programa simple son: 1. Determinar las constantes, variables de entrada y de salida y su tipo 2. Escribir la declaración de variables 3. Escribir las sentencias de entrada 4. Escribir las expresiones para realizar los cálculos 5. Escribir las sentencias de salida 6. Probar con algunos valores de entrada

62 Ejemplo Escriba un programa que lea el radio de un círculo e imprima su perímetro y área. Defina el valor de pi como Constates: pi (3.1416) Declaración de constante: float pi = ; Declaración de variables de entrada: float radio; Variables de entrada: radio – número real Variables de salida: area – número real perimetro – número real Declaración de variables de salida: float area, perimetro; 62

63 Sentencia de entrada: cout << “Escriba el radio del círculo: “; cin >> radio; Cálculo de área y perímetro: area = pi*radio*radio; perimetro = 2*pi*radio; Sentencias de salida: cout << “el área del círculo es: “ << area << “\n”; cout << “el perímetro del círculo es: “ << perimetro << “\n”;

64 Programa completo #include <iostream> using namespace std;
main(){ float pi = ; // valor de pi float radio; // radio del círculo, variable de entrada float area, perimetro; // área y perímetro del círculo cout << “Escriba el radio del círculo: “; cin >> radio; area = pi*radio*radio; perimetro = 2*pi*radio; cout << “el área del círculo es: “<< area << “\n”; cout << “el perímetro del círculo es: “<< perimetro << “\n”; system(“PAUSE”); }

65 Tarea Escriba un programa para calcular la magnitud de la fuerza entre dos cargas eléctricas dadas las coordenadas de las cargas y la magnitud de cada carga. La fuerza se calcula con la expresión k = 8.99x109. 65

66 Funciones matemáticas
La biblioteca math.h contiene la definición de muchas funciones matemáticas útiles. El siguiente es un listado breve de algunas funciones. ceil(x)- redondea al entero más pequeño no menor que x. cos(x)- coseno de x. exp(x)- ex. fabs(x)- valor absoluto de x. floor(x)- redondea al entero más grande no mayor que x. log(x)- logaritmo natural de x. log10(x)- logaritmo base 10 de x. pow(x,y)- xy. sin(x)- seno de x. sqrt(x)- raíz cuadrada de x. tan(x)- tangente de x. 66

67 Ejemplo Cálculo del área de un triángulo conocidas las longitudes de los lados //Programa para calcular el área de un triángulo #include <iostream> #include <math.h> using namespace std; int main() { float a,b,c; // lados del triángulo float s; //semiperímetro float area; // área del triángulo cout << "Teclee las longitudes de los lados: "; cin >> a >> b >> c; // lee los lados s = (a + b + c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c)); cout << "área: " << area << endl; return 0; } 67

68 Solución de cuadrática 1
//Programa para resolver una ecuación cuadrática #include <iostream> #include <math.h> using namespace std; int main(){ float a,b,c; // coeficientes float d; //discriminante float x1,x2; // raices cout << "Teclee los coeficientes a,b y c: "; cin >> a >> b >> c; // lee los coeficientes d = pow(b,2)-4*a*c; x1 = (-b-sqrt(d))/2/a; x2 = (-b+sqrt(d))/2/a; cout << "x1: " << x1 << endl; cout << "x2: " << x2 << endl; system("PAUSE"); return 0; }

69 Tarea Utilice la función raíz cuadrada de C para los siguientes programas Escriba un programa que lea el valor del área de la superficie de una esfera y calcule e imprima el valor del radio. (área = 4pr2) Escriba un programa que lea las coordenadas de dos puntos en el plano xy y calcule y despliegue la distancia entre dichos puntos.

70 Ejemplo de tiro parabólico
Haga un programa que lea la velocidad inicial de un proyectil y el ángulo respecto al eje x y calcule el alcance del proyectil, la altura máxima y el tiempo de vuelo. h = altura máxima R = alcance T = tiempo de vuelo

71 Constantes: PI – g Los datos de entrada son la velocidad inicial y el ángulo del disparo: v0 – velocidad inicial (tipo float) ang – ángulo del disparo (tipo float) Los datos de salida son: h – altura máxima (tipo float) R – alcance máximo (tipo float) T – tiempo de vuelo (tipo float) Declaraciones float vo, ang; // datos de entrada float h,R,T; // datos de salida

72 Lectura de datos: La velocidad inicial la supondremos en m/s. El ángulo del tiro lo supondremos en grados NOTA: las funciones trigonométricas suponen el argumento en radianes. cout << “Teclee velocidad inicial (en m/s): ”; cin >> v0; cout << “Teclee angulo del tiro (en grados): ”; cin >> ang; ang = ang*PI/180; // conversión a radianes

73 Cálculo de resultados h = v0*v0*sin(ang)*sin(ang)/2/g; R = v0*v0*sin(2*ang)/g; T = 2*v0*sin(ang)/g; Salida de resultados cout << “altura maxima: ” << h<< endl; cout << “alcance maximo: ” << R<< endl; cout << “tiempo de vuelo: ” << T<< endl;

74 Biblioteca para manejo de entrada y salida
#include <iostream> #include <conio2.h> #include <math.h> using namespace std; main(){ float PI = ; float g = 9.81; float v0,ang;// datos de entrada float h,R,T; // datos de salida textbackground(LIGHTGRAY); clrscr(); textcolor(RED); cout << "TIRO PARABOLICO\n"; cout << "Teclee velocidad inicial (en m/s): "; cin >> v0; cout << "Teclee angulo del tiro (en grados): "; cin >> ang; ang = ang*PI/180; // conversión a radianes h = v0*v0*sin(ang)*sin(ang)/2/g; R = v0*v0*sin(2*ang)/g; T = 2*v0*sin(ang)/g; cout << "altura maxima: " << h << " m" << endl; cout << "alcance maximo: " << R << " m" << endl; cout << "tiempo de vuelo: " << T << " s" << endl; system("PAUSE"); } Biblioteca para manejo de entrada y salida Color de fondo Borra Pantalla Color de texto

75 En la opción de Herramientas (tools) Opciones del compilador (compiler options) en la opción
Agregar estos comandos a la línea de comandos del enlazador (Add these commands to the linker command line) -lconio


Descargar ppt "Introducción Computación."

Presentaciones similares


Anuncios Google