Académique Documents
Professionnel Documents
Culture Documents
Teora I
http://proguno.unsl.edu.ar
proguno@unsl.edu.ar
Horarios
Teoras:
Viernes 8:00 10:00; Sala8 (Bloque II)
Prcticas:
Martes 8:00 10:00; Sala 7 (Bloque II)
Viernes 16:00 18:00; Sala Alejandra Ramirez
(Rectorado)
Condiciones de Regularizacin y/o
Aprobacin de la Materia
Regularizacin:
1. Mnimo de 70% de asistencia a clases.
2. Aprobar el 50% de los prcticas de laboratorio.
3. Aprobar la evaluacin o sus respectivas recuperaciones con una
nota mnima de seis.
4. Aprobar prctico mquina.
Promocin sin examen final:
1. Mnimo de 80% de asistencia a clases.
2. Aprobar el 50% de los prcticas de laboratorio.
3. Aprobar la evaluacin o sus respectivas recuperaciones con una
nota mnima de siete.
4. Aprobar prctico mquina.
Fechas importantes 2017
1er Laboratorio: martes 18/04,08:00 a 10:00 hs en Sala 7
2do Laboratorio: viernes 12/05,08:00 a 10:00 hs en aula 58
Lenguajes de Mquina
Lenguajes de Mquina
Lenguaje natural de la mquina
Definido por el diseo del hardware
Dependientes de la computadora: set de
instrucciones propio.
Cadenas de 0s y 1s.
Lenguajes de Programacin
Lenguajes de Ensamblado (Assembly)
Facilitan la programacin y depuracin
Cuentan con instrucciones para abreviar cadenas
de 0s y 1s.
Cuentan con un programa ensamblador.
Lenguajes de Programacin
Lenguajes de Alto Nivel
Facilitan an ms la programacin y
depuracin.
Sentencias para agrupar conjunto de
instrucciones de mquina.
Programas traductores: compiladores e
intrpretes Sintaxis
Portabilidad - Estndares
Paradigmas de Programacin
Imperativo
Funcional
Declarativo
Lgico
Objetos
Etapas en la construccin de un
programa
Problema? Codificacin y
Resolucin
Edicin
Archivo
fuente
Errores de sintaxis
Con errores Prueba Compilacin
Sin
Sin errores
errores
A usar el Archivo Archivo
programa! ejecutable objeto
El Lenguaje de Programacin C
Orgenes
Dennis Ritchie, Laboratorios Bell,
1969-1972
B, BCPL
Usado para escribir S.O. Unix
Todo programa C
Est formado por un conjunto de funciones
En particular, una funcin que no puede faltar
es la funcin main (programa principal).
Llama a otras funciones:
Predefinidas, en bibliotecas.
Estructura general de un programa C
/* Mi primer programa C */
#include <stdio.h>
main()
{
printf(Hola mundo!\n);
}
Principales Secuencias de Escape en C
Secuencia de
Descripcin
escape
\a Carcter de alarma (campana del sistema).
\n New line (Nueva lnea). Posiciona el cursor de la pantalla al comienzo
de la prxima lnea.
\r Carriage return (Retroceso de carro). Posiciona el cursor al comienzo
de la lnea corriente sin avanzar a la prxima.
\t Tabulador horizontal. Mueve el cursor hasta la prxima marca de
tabulacin.
\\ Backslash. Usado para imprimir el carcter backslash.
\ Comilla. Usado para imprimir la comilla.
\ Apstrofo. Usado para imprimir el apstrofo.
\? Signo de interrogacin. Usado para imprimir el signo de interrogacin.
Datos y Tipos de Datos
main()
{
int entero1, entero2, suma;
printf(Ingrese el primer entero\n);
scanf(%d, &entero1);
printf(Ingrese el segundo entero\n);
scanf(%d, &entero2);
suma = entero1 + entero2;
printf(La suma es %d\n, suma);
}
Tipos de datos en C
Enteros
Caracteres
Aritmticos
Bsicos
Flotantes o reales
Tres tipos:
Suma + x + 20 x + 20
Resta - a-b a - b
Multiplicacin * xy x * y
Divisin / x:y x / y
Mdulo % u mod k u % k
Operadores y
Expresiones Relacionales en C
Operadores Operadores Ejemplo de uso
relacionales relacionales en C
algebraicos
== x == y
!= x != y
<= x <= y
>= x >= y
la variable encontrado
! !encontrado no es verdadera
not (encontrado igual 0)
Orden de evaluacin:
0 && _ 0
1 || _ 1
Operador de Asignacin =
#define K -4
int i = 2;
i = K * 2;
i= i + 5;
En C, la asignacin es una operacin que se
vuelve una sentencia al seguirla por ;
r = (i = K + 1) + 4;
Operadores de asignacin aritmticos
Operador Resultado asignado a
de Versin variable a asumiendo
Ejemplo
asignacin descomprimida la declaracin
aritmtico int a = 3;
+= a+=4 a = a + 4 7
-= a-=4 a = a - 4 -1
*= a*=4 a = a * 4 12
/= a/=4 a = a / 4 0
Operadores de
incremento y decremento en C
Operador Explicacin Ejemplo de uso Efecto
Implcitas o automticas
En tiempo de compilacin o de ejecucin
En C: promocin de tipos.
Explcitas
Por medio de una construccin sintctica del lenguaje.
En C: casting operador cast
Conversiones Implcitas de Tipos en C
Promocin de Tipos
int i = 5;
float f = 3.0;
float y;
f = i;
y = f + i;
Conversiones Explcitas de Tipos en C
Operador cast
Forma general: (nombre-de-tipo) expresin
Ejemplos:
float resultado;
int i = 9;
int j = 5;
resultado = i / j;
resultado = (float)i / j;
resultado = i / (float)j;
resultado = (float)(i / j);
resultado = (float)i / (float) j;
Programacin Estructurada
Metodologa de programacin
C. Bhm y G. Jacopini, 1966
Edsger W. Dijkstra, 1968
Estructuras de Control
Secuencia
Seleccin
Iteracin
Secuencia
Sigue el orden de lectura tradicional de los
idiomas occidentales.
La ejecucin de las sentencias se hace en
forma secuencial:
Una despus de la otra, y no se ejecuta la
segunda sentencia hasta que la primera haya
terminado de ejecutarse, y as sucesivamente.
Secuencia en C
; es un finalizador de sentencia:
y = 4 y j++ y scanf() son expresiones en C
y = 4; j++; scanf(); son sentencias en C
Ejemplos:
Ejemplo 3:
switch (ch) {
case ,:
case ;:
case .: printf(signo de puntuacion\n); break;
default: printf(no es un signo de puntuacion\n);
}
Iteracin
while
do/while
for
Iteracin while
while (expresin)
sentencia;
Ejemplo:
int i = 0;
while (i < 10) {
printf(i = %d, i);
i++;
}
Iteracin for
for (expresin1; expresin2; expresin3)
sentencia;
Ejemplos:
int suma = 0;
for (i = 0; i <= n; i++)
suma = suma + i;
int suma;
for (i=0, suma=0; i <= n; i++, suma+= i);
Iteracin do/while
do
sentencia;
while (expresin)
Ejemplo:
do {
printf(Ingrese un numero natural
mayor o igual a cero: );
scanf(%d, &n);
} while (n < 0);