1
2 Acerca del curso Nombre del curso Créditos: Profesor Teoría:Informática II y Laboratorio Profesor Teoría: Sebastián Villa Duarte Correo: Asesoría: lunes y miércoles 14-16 Oficina: Página: Por definir Créditos: 5 Código del curso: Horarios: Teoría: MJ16-18. Laboratorios: Grupo5 W6-9 Grupo2 V18-21
3 Evaluación EVALUACIÓN PORCENTAJE3 parciales de conocimientos teóricos: Unidad 1: 8% Unidad 2: 12% Unidad 3: 15% 35% Proyecto Final 25% Laboratorios: habilidades prácticas 40% ¡Cancelación ANTES de este examen! Asistencia Obligatoria IMPORTANTE: Supletorios sólo bajo las normas de la universidad
4 Agenda para la clase 1 Generalidades del lenguaje C Introducción a este lenguaje. 2 Estructura de Código en C Cómo es la programación usando Lenguaje C
5 A continuación… Generalidades del lenguaje CEstructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios
6 Generalidades del Lenguaje CAlgunas preguntas sobre C ¿Qué es el lenguaje C? Lenguaje de Programación El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T entre 1969 y 1973; según Ritchie, el periodo más creativo tuvo lugar en Se le dio el nombre "C" porque muchas de sus características fueron tomadas de un lenguaje anterior llamado "B". ¿Una de sus mejores características? Portabilidad del código en diferentes sistemas Hardware.
7 Generalidades del Lenguaje CPrograma lenguaje C ARM ISA X86 ISA PowerPC ISA Consume menos energía Es más aplicable Es más estable Es necesario el uso de un compilador
8 Lenguaje de Programaciónint main (void){ //Variables int a, b, c; //Ingreso de datos printf(“Introduzca el primer numero (entero)”) scanf(“%d”,a); printf(“Introduzca el segundo numero (entero)”) scanf(“%d”,b); //Proceso c = a + b //Salida printf(“La suma es: ”,c) } C,C++,C#,Java, Fortran, Pascal, XML,HTML Ensamblador ;Lenguaje ensamblador, sintaxis Intel para procesadores x86 mov eax,1; //mueve a al registro eax el valor 1 xor ebx, ebx; //pone en 0 el registro ebx int 80h; //llama interrupción 80h(80h=128sistema decimal) Alto Nivel Bajo Nivel Máquina Alto Nivel Bajo Nivel Máquina
9 Generalidades del Lenguaje CVentajas Lenguaje estándar. Se puede realizar código estructurado. Más productivo. Fácil de comprender. Código reutilizable. Librería estándar. Portabilidad entre diferentes plataformas. Desventajas Gran cantidad de memoria (Flash y RAM). Precio de las herramientas de compilación y depuración algo costoso. Código generado innecesario.
10 A continuación… Generalidades del lenguaje CEstructura, variables y Operadores Estructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios
11 Estructura de un ProgramaEncabezados //Mi primer programa en C #include
12 Lenguaje C Variables
13 Variables y ConstantesUna variable es un lugar en memoria para almacenar información. Cada variable tiene un tamaño específico que le dice a la máquina cuanta memoria necesita reservar. Existen variables locales y globales. Tipo Número de Bits char 8 int 32 float char (string) N Otros …
14 Variables Locales-Automaticas GlobalesUna variable local se declara dentro de una función, son visibles solo dentro de la funcion Ocultan a las variables globales con el mismo nombre. “Nacen” y “mueren” con la función. A no ser que se declaren (static) Globales Una variable global se declara fuera de todas las funciones es visible en todo el programa Se le puede cambiar el valor en cualquier parte del programa y lo mantiene. Se recomienda usar pocas o ninguna variable global.
15 Palabras Reservadas
16 Lenguaje C Operadores
17 Operadores
18 Aritméticos Prioridad Operadores Aritméticos Suma: + Resta: -Multiplicación: * División: / Módulo: % Prioridad OPERADOR ASOCIATIVIDAD () Izquierda - derecha *,/,% Izquierda – derecha +,- = Derecha - izquierda
19 Aritméticos Aritméticos especiales +=, -=, *=, /=, %=.Son una abreviatura de las expresiones de asignación: OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO Suma += c += 7 c = c + 7 Resta -= d -= 4 d = d – 4 Multiplicación *= e *= 5 e = e * 5 División /= f /= 3 f = f / 3 Módulo %= g %=9 g = g % 9
20 Aritméticos Aritméticos incrementales - decrementales:De un operando (++, – –) OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO Preincremento ++ ++a Se incrementa Se utiliza el valor Predecremento -- --a Se decrementa Postincremento b++ Postdecremento b--
21 Relacionales Operadores Relacionales Igualdad: == Diferente: !=Mayor que: > Menor que: < Mayor o igual que: >= Menor o igual que: <= Ejemplos
22 Lógicos Operadores Lógicos Otros Operadores: AND: && OR: || NOT: !Ver o cambiar contenido de memoria: * Dirección de memoria de una variable: & Prueba incondicional: ? :
23 ¿Cuánto he aprendido? ¿Qué diferencias hay entre variables locales y variables globales? Encuentre la(s) palabra(s) reservada(s) que no pertenece(n) al grupo: Tipos de datos: char, int, static, long, const. Preprocesador: const, #ifdef, #include, #define, #else, struct. Op. Relacionales: ==, ||, >, >=, !=, &&.
24 A continuación… Generalidades del lenguaje CEstructura, variables y Operadores Estructuras de Control Estructuras de Control Ejemplos Ejercicios
25 Generalidades del Lenguaje CLas estructuras de control permiten dar solución a cualquier problema de programación. Existen tres estructuras de control: Secuenciales De Decisión Repetitivas Entrada y Salida de datos. Operaciones. Condicional: if Selección Múltiple: switch Estructuras ciclicas: Para: for Mientras: while Haga-Mientras: do-while
26 Entrada y Salida de Datosscanf(“%d”, &a); scanf (“-----); printf(“%d”, a); printf(“-----); Se debe incluir el encabezado “
27 Condicional: IF if (condicion1) { Instrucciones1 } else if (condicion2){ Instrucciones2 . else if (condicionN){ InstruccionesN else{ InstruccionesE Se utilizan cuando interesa realizar acciones que involucren mas De dos alternativas
28 Selección Múltiple: SwitchLa selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector. switch (selector) { case val1: Instrucciones1; break; case val2: Instrucciones2; … case valN: InstruccionesN; default: InstruccionesDefault; }
29 Ciclo: While (Condición) Realiza un conjunto de operaciones mientras una condición se esté cumpliendo, o mientras una expresión sea verdadera Cuerpo Fin while (condición){ Instrucciones; }
30 Ciclo: Do - While do { Instrucciones; } while (expresión);Bucle condicional que se ejecuta al menos una vez (muy semejante al ciclo while). Cuerpo (Condición) do { Instrucciones; } while (expresión);
31 Ciclo: For for(i = 0; i < n; i++) { Realiza un conjunto de operaciones un determinado número de veces
32 A continuación… Generalidades del lenguaje CEstructura, variables y Operadores Estructuras de Control Ejemplos Ejemplos Ejercicios
33 Ejemplos Diseñar un programa que lea tres números e indique el tipo de triángulo que forman (isósceles, equilátero, escaleno). Comprobar que los números realmente formen un triángulo, sino emitir el error
34 Ejemplos Diseñar un programa que lea como entrada tres enteros que representa una fecha como el día, mes, año. Este debe imprimir el número de día, mes y año de la fecha del día siguiente. Típica de entrada: La salida típica: Fecha siguiente al día 28:03:1992 es 29:02:1992
35 Ejemplos En el curso de informática I está dividido en parte teórica (45%) y parte práctica (55%). En este se realizan tres parciales (uno del 10%, otro del 15% y el final del 20%) y N prácticas de igual porcentaje cada una. El profesor requiere un programa que calcule la nota definitiva de cada estudiante, el promedio definitivo del curso y el porcentaje de estudiantes que ganaron la materia. MENU Ingresar cantidad de estudiantes Ingresar cantidad de prácticas Ingresar Notas (mostrar definitiva de cada estudiante) Mostrar Promedio del curso Mostrar Porcentaje de estudiantes que ganaron Salir Seleccione una opción:
36 Ejemplos El profesor indica el número de estudiantes.El profesor indica cuántas prácticas se realizaron. Todas las notas deben estar entre 0 y 5 (validar datos). Al ingresar todas las notas de cada estudiante se debe mostrar su promedio. El programa debe tener el menú que se muestra a continuación. La única manera de terminar el programa es cuando el profesor seleccione la opción de Salir.
37 A continuación… Generalidades del lenguaje CEstructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios Ejercicios
38 Ejercicios Diseñe un algoritmo que lea dos valores A y B, y encuentre A^B mediante sumas únicamente.
39 Ejercicios Realizar calculadora de dos variables complejas usando un menú de selección
40 Fin de la Clase!!! Lecturas propuestas próxima claseFunciones Motivación para la próxima clase. Desarrollo de programas complejos utilizando la modularización mediante funciones ¿Preguntas por parte de ustedes?