presentación del cursouniversidad de antioquiainformática ii sesión 02: repaso lenguaje c(1)...

39
Presentación del curso Universidad de Antioquia Informática II Informática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería 2015-1 Presentación del curso Universidad de Antioquia

Upload: jose-antonio-godoy-prado

Post on 24-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Informática IISesión 02: Repaso Lenguaje C(1)

Departamento de Ingeniería Electrónica y de Telecomunicaciones

Facultad de Ingeniería2015-1

Presentación del curso

Universidad de Antioquia

Page 2: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Acerca del curso

• Nombre del curso– Informática II y Laboratorio

• Profesor Teoría:– Sebastián Villa Duarte

• Correo:– [email protected]

• 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

Page 3: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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%

Evaluación

IMPORTANTE: Supletorios sólo bajo las normas de la universidad

¡Cancelación ANTES de este examen!

Asistencia Obligatoria

Page 4: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

11Generalidades del lenguaje C Introducción a este lenguaje.

22Estructura de Código en C Cómo es la programación usando Lenguaje C

Agenda para la clase

Page 5: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

A continuación…

Estructuras de Control

Estructura, variables y Operadores

Generalidades del lenguaje CGeneralidades del lenguaje C

Ejercicios

Ejemplos

Page 6: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• 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

Page 7: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

ARM ISA X86 ISA PowerPC ISA

Programa lenguaje C

Consume menos energía

Es más aplicable

Es más estable

Es necesario el uso de un compilador

Generalidades del Lenguaje C

Page 8: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

;Lenguaje ensamblador, sintaxis Intel para procesadores x86mov 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)

Lenguaje de Programación

Alto Nivel

Bajo Nivel

Máquina

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

Alto Nivel

Bajo Nivel

Máquina

Page 9: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• 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.

Generalidades del Lenguaje C

Page 10: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

A continuación…

Estructuras de Control

Estructura, variables y Operadores

Generalidades del lenguaje C

Ejercicios

Ejemplos

Estructura, variables y Operadores

Page 11: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Estructura de un Programa

INICIO

FIN

Declaración de variables

Acciones del Algoritmo

Encabezados

Directivas

//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; }

Page 12: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

VARIABLESLenguaje C

Page 13: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• 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.

TipoNúmero de Bits

char 8

int 32

float 32

char (string)

N

Otros …

Variables y Constantes

Page 14: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Locales-Automaticas

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)

Variables

Page 15: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Palabras Reservadas

Page 16: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

OPERADORESLenguaje C

Page 17: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Operadores

Page 18: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• Operadores Aritméticos– Suma: +– Resta: -– Multiplicación: *– División: /– Módulo: %

Aritméticos

OPERADOR ASOCIATIVIDAD

() Izquierda - derecha

*,/,% Izquierda – derecha

+,- Izquierda - derecha

= Derecha - izquierdaPri

ori

dad

Page 19: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• 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

Page 20: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• Aritméticos incrementales - decrementales:– De un operando (++, – –)

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Preincremento ++ ++a1. Se incrementa2. Se utiliza el valor

Predecremento -- --a1. Se decrementa2. Se utiliza el valor

Postincremento ++ b++1. Se utiliza el valor2. Se incrementa

Postdecremento -- b--1. Se utiliza el valor2. Se decrementa

Aritméticos

Page 21: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• Operadores Relacionales– Igualdad: ==– Diferente: !=– Mayor que: >– Menor que: <– Mayor o igual que: >=– Menor o igual que: <=– Ejemplos

Relacionales

Page 22: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

• Operadores Lógicos– AND: &&– OR: ||– NOT: !

• Otros Operadores:– Ver o cambiar contenido de memoria: *– Dirección de memoria de una variable: &– Prueba incondicional: ? :

Lógicos

Page 23: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

A continuación…

Estructuras de Control

Estructura, variables y Operadores

Generalidades del lenguaje C

Ejercicios

Ejemplos

Estructuras de Control

Page 24: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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.

Entrada y Salida de datos.Operaciones.Condicional: if

Selección Múltiple: switch

Condicional: ifSelección Múltiple: switchEstructuras ciclicas:

Para: forMientras: while

Haga-Mientras: do-while

Estructuras ciclicas:Para: for

Mientras: whileHaga-Mientras: do-while

Page 25: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Se debe incluir el encabezado “<stdio.h>”

scanf (“-----);

printf(“-----);

Entrada y Salida de Datos

scanf(“%d”, &a);

printf(“%d”, a);

Page 26: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

if (condicion1) { Instrucciones1}else if (condicion2){ Instrucciones2}

.

.

.else if (condicionN){ InstruccionesN}else{ InstruccionesE}

Se utilizan cuando interesa realizar acciones que involucren masDe dos alternativas

Condicional: IF

Page 27: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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.

Selección Múltiple: Switch

switch (selector) { case val1: Instrucciones1; break; case val2: Instrucciones2; break; … case valN: InstruccionesN; break; default: InstruccionesDefault;}

Page 28: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Realiza un conjunto de operaciones mientras una condición se esté cumpliendo, o mientras una expresión sea verdadera

Ciclo: While

while (condición){Instrucciones;

}

(Condición)

Cuerpo

Fin

Page 29: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Bucle condicional que se ejecuta al menos una vez (muy semejante al ciclo while).

Ciclo: Do - While

Cuerpo

do { Instrucciones;} while (expresión);

(Condición)

Page 30: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Realiza un conjunto de operaciones un determinado número de veces

Ciclo: For

for( VC; condicionBucle; INC o DEC){

instrucciones;}

for(i = 0; i < n; i++) {

<Instrucciones>; ...

}

Page 31: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

A continuación…

Estructuras de Control

Estructura, variables y Operadores

Generalidades del lenguaje C

Ejercicios

EjemplosEjemplos

Page 32: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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

Page 33: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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

Page 34: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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

1 Ingresar cantidad de estudiantes

2 Ingresar cantidad de prácticas

3 Ingresar Notas (mostrar definitiva de cada estudiante)

4 Mostrar Promedio del curso

5 Mostrar Porcentaje de estudiantes que ganaron

6 Salir

Seleccione una opción:

Page 35: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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.

Page 36: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

A continuación…

Estructuras de Control

Estructura, variables y Operadores

Generalidades del lenguaje C

Ejercicios

Ejemplos

Ejercicios

Page 37: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Ejercicios

• Diseñe un algoritmo que lea dos valores A y B, y encuentre A^B mediante sumas únicamente.

Page 38: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

Ejercicios

• Realizar calculadora de dos variables complejas usando un menú de selección

Page 39: Presentación del cursoUniversidad de AntioquiaInformática II Sesión 02: Repaso Lenguaje C(1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática II

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?