Acerca del curso Nombre del curso Créditos: Profesor Teoría: Informática II y Laboratorio Profesor Teoría: Sebastián Villa Duarte Correo: Sebastian.Villa+info2@udea.edu.co Asesoría: lunes y miércoles 14-16 Oficina: 18-333 Página: Por definir Créditos: 5 Código del curso: 2547200 Horarios: Teoría: MJ16-18. Laboratorios: Grupo5 W6-9 Grupo2 V18-21
Evaluación EVALUACIÓN PORCENTAJE 3 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
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
A continuación… Generalidades del lenguaje C Estructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios
Generalidades del Lenguaje C Algunas 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 1972. 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.
Generalidades del Lenguaje C Programa 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
Lenguaje de Programación int 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
Generalidades del Lenguaje C Ventajas 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.
A continuación… Generalidades del lenguaje C Estructura, variables y Operadores Estructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios
Estructura de un Programa Encabezados //Mi primer programa en C #include <stdio.h> #include “mod1.h”; int main(void){ int a, b, c = 0; printf(“Digite el primer numero: ”); scanf(“%d”, &a); printf(“Digite el segundo numero: ”); scanf(“%d”, &b); c = a + b; printf(“El resultado es: %d\n”, c); return 0; } Directivas INICIO Declaración de variables Acciones del Algoritmo FIN
Lenguaje C Variables
Variables y Constantes Una 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 …
Variables Locales-Automaticas Globales Una 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.
Palabras Reservadas
Lenguaje C Operadores
Operadores
Aritméticos Prioridad Operadores Aritméticos Suma: + Resta: - Multiplicación: * División: / Módulo: % Prioridad OPERADOR ASOCIATIVIDAD () Izquierda - derecha *,/,% Izquierda – derecha +,- = Derecha - izquierda
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
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--
Relacionales Operadores Relacionales Igualdad: == Diferente: != Mayor que: > Menor que: < Mayor o igual que: >= Menor o igual que: <= Ejemplos
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: ? :
¿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: ==, ||, >, >=, !=, &&.
A continuación… Generalidades del lenguaje C Estructura, variables y Operadores Estructuras de Control Estructuras de Control Ejemplos Ejercicios
Generalidades del Lenguaje C Las 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
Entrada y Salida de Datos scanf(“%d”, &a); scanf (“-----); printf(“%d”, a); printf(“-----); Se debe incluir el encabezado “<stdio.h>”
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
Selección Múltiple: Switch La 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; }
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; }
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);
Ciclo: For for(i = 0; i < n; i++) { Realiza un conjunto de operaciones un determinado número de veces <Instrucciones>; ... } for( VC; condicionBucle; INC o DEC) { instrucciones; }
A continuación… Generalidades del lenguaje C Estructura, variables y Operadores Estructuras de Control Ejemplos Ejemplos Ejercicios
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
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: 28 3 1992 La salida típica: Fecha siguiente al día 28:03:1992 es 29:02:1992
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:
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.
A continuación… Generalidades del lenguaje C Estructura, variables y Operadores Estructuras de Control Ejemplos Ejercicios Ejercicios
Ejercicios Diseñe un algoritmo que lea dos valores A y B, y encuentre A^B mediante sumas únicamente.
Ejercicios Realizar calculadora de dos variables complejas usando un menú de selección
Fin de la Clase!!! Lecturas propuestas próxima clase Funciones Motivación para la próxima clase. Desarrollo de programas complejos utilizando la modularización mediante funciones ¿Preguntas por parte de ustedes?