PDF de programación - Programación I - Teoría I

Imágen de pdf Programación I - Teoría I

Programación I - Teoría Igráfica de visualizaciones

Publicado el 1 de Septiembre del 2019
619 visualizaciones desde el 1 de Septiembre del 2019
480,6 KB
44 paginas
Creado hace 192d (12/03/2019)
Programación I
Teoría I

http://proguno.unsl.edu.ar

Horarios

 Teorías:

 Lunes de 11:00 – 13:00; Sala 3 (Rectorado)

 Prácticas:
 Comisión Practica: Licenciatura e Ingenierías Sala 3

 Lunes de 9 a 11
 Miércoles de 10 a 12
 jueves de 11 a 13

 Importante

 Alumnos ingenierías 4hs de practica
 Alumnos de licenciatura 6hs de practica

Condiciones de Regularización y/o
Aprobación de la Materia
 Regularización:

1. Mínimo de 70% de asistencia a clases.
2. Aprobar el 50% de los prácticas de laboratorio.
3. Aprobar la evaluación o sus respectivas recuperaciones con una
nota mínima de seis.
4. Aprobar práctico máquina.

 Promoción sin examen final:

1. Mínimo de 80% de asistencia a clases.
2. Aprobar el 70% de los prácticas de laboratorio.
3. Aprobar la evaluación o sus respectivas recuperaciones con una
nota mínima de siete.
4. Aprobar práctico máquina.
5. Aprobar el Coloquio

Fechas importantes 2019

 Primer Laboratorio: 27/03, (funciones - arreglo)
 Segundo Laboratorio 10/04, (recursión)
 Tercer Laboratorio 29/04,(archivo)
 Recuperación Laboratorios: 09/05 (única recuperación)

 Parcial: 27/05, 9:00 (todos los temas vistos)

 Recuperación Parcial: 03/06,
 2da Recuperación : 24/06, hora y lugar a fijar.

 Presentación Practico de Maquina 20/05
 Entrega Pco. Máquina: 19/06, 10:00, sala 3

Lenguajes de Programación

 Lenguajes de Máquina

 Lenguajes de Ensamblado (Assembly)

 Lenguajes de Alto Nivel

Lenguajes de Programación

Lenguajes de Máquina

Lenguaje “natural” de la máquina
Definido por el diseño del hardware
Dependientes de la computadora: set de

instrucciones propio.
Cadenas de 0s y 1s.

Lenguajes de Programación
 Lenguajes de Ensamblado (Assembly)

Facilitan la programación y depuración
Cuentan con instrucciones para abreviar cadenas
de 0s y 1s.
Cuentan con un programa ensamblador.

Lenguajes de Programación
 Lenguajes de Alto Nivel

Facilitan aún más la programación y
depuración.
Sentencias para agrupar conjunto de
instrucciones de máquina.
Programas traductores: compiladores e
intérpretes – Sintaxis
Portabilidad - Estándares

Paradigmas de Programación

 Conjunto de reglas, métodos, principios de
programación, que comparten una filosofía
común de programación.

 Imperativo
 Funcional
 Lógico
 Objetos

Declarativo

Etapas en la construcción de un

programa

¿Problema?

Resolución

Codificación y

Edición

Archivo
fuente

Con errores

Prueba

Errores de sintaxis

Compilación

Sin
errores
¡A usar el
programa!

Sin errores

Archivo
ejecutable

Archivo
objeto



El Lenguaje de Programación C

 Orígenes

 Dennis Ritchie, Laboratorios Bell,

1969-1972

 B, BCPL
 Usado para escribir S.O. Unix

 C Clásico (Kernighan & Ritchie )
 ANSI C

Estructura general de un programa C

 Todo programa C

 Está formado por un conjunto de funciones
 En particular, una función que no puede faltar

es la función main (programa principal).
 Llama a otras funciones:

 Definidas por nosotros en el programa
 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

escape
\a
\n

\r

\t

\\
\”
\’
\?

Descripción

Carácter de alarma (campana del sistema).
New line (Nueva línea). Posiciona el cursor de la pantalla al comienzo

de la próxima línea.

Carriage return (Retroceso de carro). Posiciona el cursor al comienzo

de la línea corriente sin avanzar a la próxima.

Tabulador horizontal. Mueve el cursor hasta la próxima marca de

tabulación.

Backslash. Usado para imprimir el carácter backslash.
Comilla. Usado para imprimir la comilla.
Apóstrofo. Usado para imprimir el apóstrofo.
Signo de interrogación. Usado para imprimir el signo de interrogación.

Datos y Tipos de Datos

 Dato: representación en la computadora de

un aspecto de la realidad.
 Constantes simbólicas o literales
 Variables

 Tipo de Dato: conjunto de valores que
comparten las mismas características y
operadores.

Constantes y Variables
 Constantes o literales

 Ejemplos en C: 12, ‘a’, “hola”, 23.5

 Variables

 Nombre (Identificador)

 En C, letras, números y el carácter de subrayado (_), no

pueden comenzar con un número.

 Cualquier longitud, reconoce hasta 31 caracteres.
 Case sensitive.
 No acepta palabras claves.

 Tipo de dato
 Valor

52.6
peso

Otro programa sencillo en C
#include <stdio.h>
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

Básicos

Aritméticos

Enteros
Caracteres

Flotantes o reales

Tipos de datos

en C

void
Arreglos
Estructuras o registros
Uniones

Estructurados o
Compuestos

Punteros

Tipos de datos aritméticos en C
Enteros
 Tres tamaños

 short int
 int (tamaño del registro del procesador)
 long int

 Valores con signo, por defecto

 Modificador unsigned

 Se puede omitir int cuando va alguno de los

modificadores (short, long, unsigned)

Tipos de datos aritméticos en C
Caracteres (char)

 1 carácter (1 byte)

char x;
char w,y;
char z = ‘A’;

 un char  un entero de 8 bits.

char z = 65;
z = z + 1;
printf(“El código ASCII de %c es %d\n”,z,z);

Tipos de datos aritméticos en C
Flotantes o Reales

 Tres tipos:

 float
 double
 long double

(precisión simple)
(precisión doble)
(precisión extra)

Ejemplo
#include <stdio.h>
main()
{

“ cm: ”);

float radio;
printf(“Ingrese el radio del circulo en”
scanf(“%f”, &radio); /* lee el radio*/
printf(“El circulo de radio %f tiene una”
“ superficie de %f cm2\n”, radio,
3.14159265358979323846 * radio *
radio);

Uso de constante simbólica
Preprocesador de C

#include <stdio.h>
#define PI 3.14159265358979323846
main()
{

float radio;
printf(“Ingrese el radio del circulo en cm: “);
scanf(“%f”, &radio);
printf(“El circulo de radio %f tiene una
superficie de %f cm2\n”,radio, PI*radio*radio);

}

Operadores y expresiones
aritméticas en C

Operador
aritmético

Suma

Resta

Multiplicación

División

Módulo

Operador

en C

Expresión
aritmética

Expresión

en C

+
-
*
/
%

x + 20

a - b

xy

x:y

u mod k

x + 20
a - b
x * y
x / y
u % k

Operadores y
Expresiones Relacionales en C

Operadores
relacionales
algebraicos

Operadores
relacionales en C

Ejemplo de uso








>
<

==
!=
<=
>=
>
<

x == y
x != y
x <= y
x >= y
x > y
x < y

Operadores y expresiones lógicas en C

 No hay tipo booleano o lógico

 0 representa falso
 1 representa verdadero
 1 == 1  1 (verdadero)
 10 <= 5  0 (falso)
 i = 10; if (i) printf(“verdadero\n”);
 40 + (3 != 4)

Operadores y Expresiones Lógicas en C

Operador

lógico


and

or



not

Operador
lógico en

C
&&

||

!

Ejemplo de uso

Significado

i != 0 && j > 1

c == ‘a’ || n == 0

!encontrado

i distinto de 0 y j mayor

que 1

c igual al carácter ‘a’ o n

igual a 0

la variable encontrado
(encontrado igual 0)

no es verdadera

Orden de evaluación:
0 && _  0
1 || _  1

Operador de Asignación =

#define K -4
int i = 2;
i = K * 2;
i= i + 5;

 En C, la asignación es una operación que se

vuelve una sentencia al seguirla por ;
r = (i = K + 1) + 4;

Operadores de asignación aritméticos

Operador

de

asignación
aritmético

Ejemplo

Versión

descomprimida

Resultado asignado a
variable a asumiendo

la declaración
int a = 3;

+=

-=

*=

/=

a+=4

a-=4

a*=4

a/=4

a = a + 4

a = a - 4

a = a * 4

a = a / 4

7

-1

12

0

Operadores de
incremento y decremento en C

Operador

Explicación

Ejemplo de uso

Efecto

a++

++a

a--

--a

Devuelve el valor de a
y luego lo incrementa
en 1.
Incrementa el valor de
a en 1 y devuelve ese
valor.
Devuelve el valor de a
y luego lo decrementa
en 1.

Decrementa el valor de
a en 1 y devuelve ese
valor.

i = a++;

i = ++a;

printf(“%d”, a--);

printf(“%d”, --a);

Asigna el valor de a a la variable i y luego
incrementa a en 1. Es equivalente a

i = a; a = a + 1;

Incrementa en 1 la variable a y ese valor lo
asigna a la variable i. Es equivalente a

a = a + 1; i = a;

Imprime el valor de a y luego decrementa
en 1 su valor. Es equivalente a
printf(“%d”, a); a = a - 1;

Decrementa en 1 la variable a y luego
muestra su valor por pantalla. Equivalente a

a = a – 1; printf(“%d”, a);

Conversiones de Tipos

 Cambiar un tipo de dato por otro

 Implícitas o automáticas

 En tiempo de compilación o de ejecución
 En C: promoción de tipos.

 Explícitas

 Por medio de una construcción sintáctica del lenguaje.
 En C: casting operador cast

Conversiones Implícitas de Tipos en C
Promoción de Tipos

int i = 5;
float f = 3.0;
float y;

f = i;
y = f + i;

Conversiones Explícitas de Tipos en C
Operador cast

 Forma general: (nombre-de-tipo) expresión
 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;

Programación Estructurada

 Metodología de programación
 C. Böhm y G. Jacopini, 1966
 Edsger W. Dijkstra, 1968
 Estructuras de Control

 Secuencia
 Selección
 Iteración

Secuencia
 Sigue el orden de lectura tradicional de los

idiomas occidentales.

 La ejecución de las sentencias se hace en

forma secuencial:
 Una después 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

 { } para crear sentencias compuestas o bloques:

 Agrupan declaraciones y sentencias.
 Ejemplo: llaves en declaración de función main.

Selección

 Selección de rama vacía o simple

if (cond)

sentencia;

 Ejemplos:

if (a==1 && b)

a++;

if (a==1 && b){

a++
  • Links de descarga
http://lwp-l.com/pdf16524

Comentarios de: Programación I - Teoría I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad