Programación
IC ELECTRÓNICA
Yasmany Prieto
yprietoh@udec.cl
1
Info General y Horario
Código: 543242-2
Inicio de Clases: 19 de Marzo
Horario clases
martes de 15:15 a 17:00, sala TM 3-8
Laboratorios: Jueves de 15:15 a 17:00, laboratorios de
computadores de TM.
2
Descripción
Asignatura teórico-práctica que entrega los
fundamentos de algoritmos y lenguajes de
programación.
Contenidos Generales:
Introducción a la computación y programación.
Definiciones básicas. Historia. Estructura funcional de
computadores. Lenguajes y programas.
Programación en C. Tipos de datos. Operadores. Sentencias.
Funciones. Arrays. Estructuras. Punteros.
3
Objetivos del Curso
Objetivos Generales.
Capacitar al alumno para usar eficientemente un lenguaje
de programación (C) para solucionar problemas reales.
Objetivos específicos.
Aprender sobre el diseño de algoritmos para solucionar
problemas.
Aprender a programar en forma estructurada mediante el
lenguaje de programación C.
4
Resultados de Aprendizaje
5
Contenidos
CAP1. Introducción a la computación y programación.
CAP2. Fundamentos de programación. Algoritmos, diagramas de flujo,
programas.
CAP3. Introducción al lenguaje de programación C.
CAP4. Tipos de Datos, declaraciones, operadores básicos.
CAP5. Sentencias de control de programa. Sentencias de selección,
iteración y salto.
CAP6. Funciones. Recursión.
CAP7. Arreglos, Cadenas.
CAP8. Punteros.
CAP9. Estructuras.
CAP10. Entrada/salida.
6
Metodología
7
Informaciones
Infoalumno
Notas, material de apoyo, emails.
Grupo Facebook: links, preguntas/respuestas, a
utilizar en conjunto por las secciones de ELN y BIO.
8
Otras Consultas
9
Software
Compilador C a usar:
Code::Blocks
Es gratis.
Estará instalado en los laboratorios de computadores
de ICB y de la facultad de ingeniería, (mecánico y
sistemas). Sirve para linux y windows.
Descargas, desde la página http://www.codeblocks.org/
Otros compiladores.
Bajo su responsabilidad.
Los laboratorios se revisarán con Code::Blocks.
10
Evaluaciones
Evaluaciones:
C1: Certamen 1 (30%)
C2: Certamen 2 (30%)
T:Tareas(30%)
Ts:Test (10%)
La nota final será:
11
Asistencia
12
Bibliografía Básica
13
Bibliografía Complementaria
C – Manual de Referencia. Herbert Schildt. MC Graw Hill (4a Edición), 2001.
ISBN: 8448128958.
C Languaje Tutorial:
http://www.frlp.utn.edu.ar/materias/internetworking/apuntes/ctutorial/ctutorial.p
df
Aprenda lenguaje ANSI C como si estuviera en primero:
http://mat21.etsii.upm.es/ayudainf/aprendainf/AnsiC/leng_c.pdf
Puede utilizar otros apuntes y tutoriales de C disponibles en internet.
Para el caso de programación en general y lenguaje C, hay
muchísima información buena en internet, pero se recomienda
siempre buscar en varias partes, porque pueden haber errores, y
preferir el inglés ya que hay más información disponible.
14
Planificación
15
Breve Introducción
16
Lenguajes de Programación
Objetivo.
Indicar al computador lo que deseamos que haga para
obtener el resultado esperado.
Ejemplo:
“Suma 1 más 1”.
En el lenguaje natural, esta instrucción el computador
no la entiende.
El computador está diseñado para entender
lenguaje de máquina, escrito en código binario, es
decir, combinaciones de unos y ceros.
00011101011001110111
17
Programación de computadores
EL COMPUTADOR NO ADIVINA!!!
Sólo realiza en forma secuencial o paralela las
instrucciones que le ordenamos que haga a través
de la programación.
Tiene una LÓGICA, no es ambigüo.
Operaciones básicas:
Sumar dos números.
Verifique si un dato es igual a 0.
En general, programar un computador implica
expresar la solución a un problema en términos que
el computador entienda.
18
Lenguajes de Bajo Nivel
20
Ejemplos de solución (diseño)
Problema:
Desplegar en pantalla la palabra “hello world”.
Soluciones independientes del lenguaje:
Solución 1 (pseudo-lenguaje) Solución 2 (pseudo-lenguaje)
print 'h'
print 'e'
print 'l'
print 'l'
print 'o' print “hello world”
print ' '
print 'w'
print 'o'
print 'r'
print 'l'
print 'd'
21
Ejemplo de implementación
Problema:
Desplegar en pantalla la palabra “hello world”.
Implementaciones en C (Soluciones dependientes del lenguaje)
Solución 1 (pseudo-lenguaje) Implementación 1
print 'h'
#include<stdio.h>
print 'e'
saludo := “hello world” int main(void)
print 'l'
para i en saludo: {
print 'l'
print i char saludo[12] = "hello world";
print 'o'
int i;
print ' '
for (i = 0; i<12 ; i++)
print 'w'
printf("%c", saludo[i]);
print 'o'
return 0;
print 'r'
}
print 'l'
print 'd'
22
Ejemplo
Problema:
Desplegar en pantalla la palabra “hello world”.
Implementaciones en C (Soluciones dependientes del lenguaje)
Solución 2 Programador 1 Programador 2
(pseudo-lenguaje)
#include<stdio.h> #include<stdio.h>
int main(void) int main(void)
{ {
print “hello world” char saludo[12] = "hello world"; printf("hello world");
printf("%s", saludo); return 0;
return 0; }
}
23
Lenguajes de Programación
Lenguaje de programación:
Forma a través de la cual el programador se expresa
computacionalmente.
Tipos de Lenguajes.
Lenguajes de bajo nivel.
Lenguajes de alto nivel.
Estos dos tipos de lenguajes nos disminuyen o
aumentan el nivel de abstracción con el PC.
24
Algunos Lenguajes de Alto Nivel
25
26