Introducción Programación.

Slides:



Advertisements
Presentaciones similares
El lenguaje de programación C - Introducción –
Advertisements

SISTEMAS OPERATIVOS.
ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
INSTITUTO TECNOLOGICO SUPERIOR DE SANTIAGO PAPASQUIARO
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Ingº Luis Alvarado Cáceres
Programación Científica
Paricial IV Ing. Esmeralda Elizabeth Rodríguez Rodríguez
Ingeniería en Sistemas computacionales Fundamentos de programación
 El lenguaje C fue creado en el año de 1972 por Dennis M. Ritchie en los laboratorios Bell.  Fue diseñado para ser el lenguaje de los Sistemas Operativos.
Temas Operaciones básicas Instalando el compilador
Lenguaje de Programación C
Programación I Teoría I
Profesor: Ing. Matías Vallerga Ayudante: Lic. Cristian Kenny El Entorno C.
Programación de Sistemas
Introducción al software
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
Tema 1 Introducción a la programación (Lenguaje java).
Programación (Estructura de Datos)
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Programación en Lenguaje Ensamblador.
SISTEMAS OPERATIVOS CUN. AGENDA  Presentación.  Acuerdos.  Metodología.  Presentación de la asignatura.  Actividad.
M.C. Juan Carlos Olivares Rojas
Jorge Eduardo Muela González Axel Elías Castañeda Ortiz
Introducción al Software
Lenguaje C++ Ana Lilia Laureano-Cruces
Introducción a la programación en C
Introducción al lenguaje de programación C++
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
Estructura de un programa C
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 1 – Introducción a las Computadoras y a la Programación en C++ Índice del capítulo 1.1 Introducción.
Introducción a la Programación. Lenguaje de Máquina.
Programación de Sistemas
Santa Ana de Coro; Noviembre de 2010 Taller 1: “Programación Básica utilizando C” (1era Parte)
Programación I MC José Andrés Vázquez Flores
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Vamos a poner una especial atención al SO. Puesto que es el programa por excelencia dentro del software. En el se basan el resto de programas de un soft.
Introducción a los Sistemas Operativos
Fundamentos de Programación
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Programación I MC Hilda Castillo Zacatelco.
INFORMATICA VII (Programación e implementación de sistemas)
Presentación del cursoUniversidad de AntioquiaInformática II Sesión 01: Presentación del Curso Departamento de Ingeniería Electrónica y de Telecomunicaciones.
Estructura de un programa C. 1 Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de bajo nivel (ensamblador) 3.- Lenguaje de máquina.
HISTORIA DE LOS SITEMAS OPERATIVOS
Lenguajes de programación
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
Ensambladores y Compiladores Universidad de Santiago de Chile Facultad de Ciencia Licenciatura en Ciencia de la Computación Laboratorio de Microcomputadores.
COMPUTO III Ing. Jimmy Ojeda Arnica. METODOLOGIA DEL CURSO Objetivos del curso : Comprender el entorno de los lenguajes visuales. Comprender el entorno.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
ARQUITECTURA DE COMPUTADORAS II
TRABAJO COLABORATIVO 2 PRESENTADO POR: LUIS ENRIQUE GONZALEZ RUIZ.
Objetivos Generales Conocer el manejo de las instrucciones provenientes, o hacia, los dispositivos de E/S. Manejar las interrupciones que suceden en la.
UNIVERSIDAD LATINA INTRODUCCION A LA PROGRAMACION INTRODUCCIÓN.
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I MC Beatriz Beltrán Martínez.
DDA01 Presentación de la materia Materia Diseño de Algoritmos ( DDA ) Maestro Lic. Manuel Pastor Villaseñor Hernández Contact.
P ROGRAMACIÓN Lenguaje ‘’C’’. ¿C UÁL ES LA HISTORIA DE C ? C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell.
Curso Reparación PC Introducción al PC (Hardware / Software). 2.Gabinetes 3.Multimetro digital y analógico 4.Fuentes 5.Sistemas de numeración.
CARACTERISTICAS Y FUNCIONES
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Software.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
ELEMENTO DE COMPETENCIA 3
INDICE HISTORIA FAMILIAS MÁS SIGNIFICATIVAS: AT&T BDS XENIX AIX GNU
Informática (34159) Presentación del curso Grado en Matemáticas
Competencia 3 Conocer las características principales del lenguaje de programación orientado a objetos. Codificar algoritmos en un lenguaje de programación.
UNIVERSIDAD LATINA INFORMATICA VII (Programación e implementación de sistemas) INTRODUCCIÓN.
Fundamentos de Programación Unidad I Conceptos Básicos.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
LÓGICA DE PROGRAMACIÓN UNIDAD III. INTRODUCCIÓN AL LENGUAJE C.
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Transcripción de la presentación:

Introducción Programación

Objetivos En el curso se utilizará el lenguaje C y cubrirá los siguientes objetivos: Utilizar funciones como bloque básicos en la construcción de programas estructurados. Utilizar estructuras de datos estáticas como arreglos multidimensionales y registros. Manejar archivos secuenciales y aleatorios. Analizar y utilizar algunos algoritmos básicos de ordenación y búsqueda. Controlar dispositivos de hardware utilizando los puertos típicos de una PC (serial, paralelo, USB). Desarrollar un proyecto de programación de mediana dificultad.

Metodología Cada sesión constará de una parte teórica y otra práctica. Los ejercicios resueltos en clase contarán 20% de la calificación. Se desarrollará un proyecto personal a lo largo del semestre. El proyecto contará el 40% de la calificación. Se llevarán a cabo 2 exámenes Un examen a mitad del semestre y otro al final. Cada examen cuenta el 20% de la calificación: trabajo en clase 20% Proyecto 40% Exámenes 40%

Bibliografía C: Como Programar en C++ H.M. Deitel & P.J. Deitel Prentice Hall, 1994 (2nd ed.) http://www.deitel.com Manual de Dev-C++

Breve historia de C C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Se trata de un lenguaje débilmente tipado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

Entorno de C++ Disco Crea el programa archivo .c o .cpp Editor Disco Preprocesador Procesa directivas Disco Compilador Genera código objeto archivo .obj Disco Editor de enlaces Crea archivo ejecutable archivo a.out o .exe

Entorno de C++ (cont.) Memoria principal Cargador Pone el programa ejecutable en memoria Disco Memoria principal La CPU ejecuta las instrucciones en la memoria CPU

Primer ejemplo Librería para entrada y salida #include <iostream.h> #include <conio.h> int main() { cout << "!Hola Mundo!\n"; getch(); return 0; } Librería para manejo de consola Sentencia de salida Espera una tecla

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

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.

Ejemplos de secuencias de escape #include <iostream.h> #include <conio.h> int main() { cout << "!Bienvenido a "; cout << "Dev-C++!\n"; getch(); return 0; } Una línea mediante dos sentencias Varias línea mediante una sentencia #include <iostream.h> #include <conio.h> int main() { cout << "¡Bienvenido\na\nC++!\n"; getch(); return 0; }

Pregunta rápida ¿Que salida genera el siguiente programa? int main() { cout << “Introducción a\nlas computadoras"; cout << “ y a la\n programación"; cout << “ en\n C++\n"; return 0; }

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

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 0 a 255 char 8 bits -128 a 127 enum 16 bits -32,768 a 32,767 unsigned int 16 bits 0 a 65,535 short int 16 bits -32,768 a 32,767 int 16 bits -32,768 a 32,767 unsigned long 32 bits 0 a 4,294,967,295 long 32 bits -2,147,483,648 a 2,147,483,647 float 32 bits 3.4*(10^-38) a 3.4*(10^+38) double 64 bits 1.7*(10^-308) a 1.7*(10^+308) long double 80 bits 3.4*(10^-4932) a 1.1*(10^+4932)

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: 0456 = 302 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: 12.4 x 104 = 12.4E+4 o 12.4E4

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

Ejemplo Impresión de "variables" a b c d 45 23 368 345 Salida //Ejemplo de secuencias de escape #include <iostream.h> #include <conio.h> 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; gerch(); return 0; } Impresión de "variables" a b c d 45 23 368 345 Salida

Ejemplo de asignaciones //Ejemplo de asignaciones #include <iostream.h> 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"; return 0; } Que valores se imprimen?

Tarea #1 Escriba un programa en C que despliegue los siguientes letreros Curso de Programación Ingeniería Electrónica Facultad de Ciencias Escriba un programa que genere la siguiente salida utilizando una sola línea con cout. * ** *** **** ***** Escriba un programa que imprima la siguiente tabla. Utilice tabuladores. Color R G B Rojo 255 0 0 Verde 0 255 0 Blanco 255 255 255 Gris 128 128 128 Escriba un programa que declare las variables a y b como enteras y las variables c y d como reales. Asigne valores aceptables a cada variable. ¿Es posible asignar una variable entera a una real? ¿Es posible asignar una variable real a una entera? Escriba código para probar lo anterior y asigne diferentes valores. ¿Por que se dice que C es débilmente tipado?

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

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

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

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.

Suma de enteros Declaración de enteros Sentencia de entrada // Programa de suma. #include <iostream.h> // 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

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

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

Solución //Programa para calcular el área de un triángulo #include <iostream.h> #include <math.h> 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; }

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.

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.h> #include <math.h> int main() { float a,b,c; // lados del triángulo float s; //semiperímetro float area; // área del triángulo cout << "Teclee la longitud 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; }

Tarea #2 Escriba un programa que lea el radio de un círculo e imprima su perímetro y área. Defina el valor de pi como 3.141592. 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.