Repaso Lenguaje...

17
2018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE) Repaso Lenguaje C

Transcript of Repaso Lenguaje...

Page 1: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

2018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Repaso Lenguaje C

Page 2: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

222018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

OBJETOS

Variables Constantes

Variable: objeto del ambiente cuyo contenido puede cambiar.Constante: objeto cuyo contenido no puede cambiar.

Variables: - un nombre que la identifica. Deben comenzar con una letra o el signo “subrayado” (_) y luego seguir con cualquier combinación de letras (mayúsculas o minúsculas), dígitos o signo de subrayado. - C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores que puede tomar la variable y las operaciones que se pueden realizar con la misma, - No pueden utilizarse palabras reservadas del lenguaje.

Page 3: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

332018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Lenguaje de diseño Lenguaje “C”

entero Entero (int)

real Flotante (float)

carácter Caracter (char)

lógico ???

Palabras reservadas del lenguaje: auto break case char const continue default

double else enum float for goto ifint long return sizeof static struct

switch typedef void while

Page 4: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

442018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Operadores Aritméticos:Operadores Aritméticos:

operador descripción

+ suma

- resta

* producto

/ división

% módulo

OperacionesOperaciones entre objetos:entre objetos:

tipo

Aritméticas

Relacionales

Lógicas

Operadores Relacionales:Operadores Relacionales:

operador descripción

< menor

> mayor

<= menor o igual

>= mayor o igual

== igual

!= distinto

Operadores Lógicos:Operadores Lógicos:

operador descripción

&& and

|| or

! not

Page 5: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

552018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Precedencia y Asociatividad de las OperacionesPrecedencia y Asociatividad de las Operaciones

operadores asociatividad

() [] . -> izq. a der.

! ˜ ++ -- + - & (tipo) sizeof der. a izq.

* / % izq. a der.

+ - izq. a der.

<< >> izq. a der.

< <= > >= izq. a der.

== != izq. a der.

& izq. a der.

^ izq. a der.

| izq. a der.

&& izq. a der.

|| izq. a der.

?: izq. a der.

= += -= *= /= %= &= ^= |= <<= >>= der. a izq.

Ejemplos:

10 * 5 - 6 = 44

10 * (5 – 6) = -10

(10 * 5) – 6 = 44

i+= 6; eq. i=i+6; = 10int i =4;

Page 6: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

662018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Operadores a bit:

Operadores a bit:Operadores a bit:

operador descripción

& Simula una compuerta AND

| Simula una compuerta OR

^ Simula una compuerta XOR

~ Complemento A1

>> Desplazamiento de bits a la derecha

<< Desplazamiento de bits a la izquierda

Page 7: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

772018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Estructuras de ControlEstructuras de Control: Secuencial: Secuencial

En “C” la secuencia de dos acciones (sentencias) se expresa por medio del símbolo ; (punto y coma)

int valor; // Declaracioneschar letra; // de las variables

letra = ‘A’;valor = letra * 2;valor = letra + ‘$’; // Es válido ?letra = ‘A’ + 10; // Es válido ?letra = siguiente(‘A’);

tarea itarea i

tarea i+1tarea i+1;

Page 8: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

882018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Estructuras de ControlEstructuras de Control: Condicional (ó Selección): Condicional (ó Selección)

tarea itarea i

condicióncondiciónF Vif (<condición>) { <bloque de sentencias>}

tarea itarea i

condicióncondiciónF V

tarea jtarea j

if (<condición>) { <bloque de sentencias>}else { <bloque de sentencias>}

Page 9: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

992018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

tarea itarea i

condicióncondición F

V

Estructuras de ControlEstructuras de Control: Repetición (ó Iteración): Repetición (ó Iteración)

while (<condición>) { <bloque de sentencias>}

int numero; // Declaracionesint factorial; // de las 3int agrego; // variables

numero = 4;factorial = 1;agrego = 1;while (agrego <= numero) { factorial = factorial * agrego; agrego = agrego + 1;}

Page 10: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

10102018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

RepeticiónRepetición: : whilewhile versus versus forfor

<sentencia inicial>while (<condición>) { <bloque de sentencias> <sentencia iteración>}

for (<sentencia inicial> ; <condición> ; <sentencia iteración>) { <bloque de sentencias>}

i = 1 ; while ( i <= 10 ) { <sentencias del cuerpo>; i = i+1 ;} es igual a

for ( i =1 ; i <=10 ; i=i+1 ) { <sentencias del cuerpo>;}

Page 11: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

11112018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Salida estándar de InformaciónSalida estándar de Información

La salida de información en “C” no se realiza a través de una acción primitiva, sino a través de una función denominada printf que se encuentra en la biblioteca “stdio.h”. Las funciones son instrucciones que realizan una tarea en particular (el mismo concepto al de subalgoritmo visto en el lenguaje de diseño).

Sintáxis:

printf ( <formato> , expresion1 , expresion2 , ...);

Cómo se visualizan los datos

Cómo se visualizan los datos

Expresiones cuyo resultado se desean visualizar luego

de ser calculadas.

Expresiones cuyo resultado se desean visualizar luego

de ser calculadas.

RestricciónDado que existen diversos tipos de datos y la función es de uso general, se debe especificar el tipo (formato) de la información que se va a mostrar. En general el formato coincide con el tipo resultante de la expresión.

Page 12: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

12122018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Ejemplos de “printf”:Ejemplos de “printf”:

printf (“Esto es un cartel” );

Formato: solo es un cartel, sin expresiones asociadas.a)

int numero;numero = 4;printf (“El valor es %d” , numero );

Expresión: es simplemente el nombre de una variable.

Formato: cartel junto con la especificación de cómo debe mostrarse el valor almacenado en “numero”.

b)

int numero;numero = 4;printf (“El doble de %d es %f”, numero, numero*2 + 0,5);

c)

Page 13: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

13132018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Entrada estándar de Información:Entrada estándar de Información:El ingreso de la información en “C” no se realiza a través de una acción primitiva, sino a través de una función denominada scanf que se encuentra en la biblioteca “stdio.h”. Sintaxis

scanf (<formato>, & <n_var1>, & <n_var2>, ...);

Nombres de variables donde se almacenarán los valores interpretados desde teclado.

Formato de interpretación a dar a los caracteres ingresados. Se respeta la modalidad usada por printf.

OJO!

int numero;

scanf(“%d”, &numero);

Variable donde quedará almacenado el valor interpretado.

Formato entero a dar a los caracteres ingresados.

Ejemplos:

a)

Page 14: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

14142018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

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

char letras[5]; int i;

printf (“Ingrese el texto: ”); scanf (“%s”, letras);

printf (“\nLo ingresado fue: ”); printf (“%s”, letras); return (0);}

Sólo se coloca el nombre del arreglo sin el símbolo &, porqué?

Pregunta: ¿Que sucedió con el carácter correspondiente al return que se insertó como finalización de la secuencia?

Respuesta: Quedó pendiente de ser almacenado en alguna variable. Por lo tanto será almacenado la próxima vez que se ejecute “scanf” (Memoria del buffer)

Page 15: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

15152018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

ArreglosArreglos: : <tipo> <mombre del arreglo> [<dimension>]

Ejemplos:

b) #include <stdio.h> // Inclusión de librería E/S int main() { float edades[5]; // Declaración del arreglo edades float total; // Declaración de la variable total float promedio; // Declaración de la variable promedio

edades[0] = 34.5; edades[1] = 27.1; edades[2] = 45.0; edades[3] = 82.6; edades[4] = 22.5; total = edades[0] + edades[1] + edades[2] + edades[3] + edades[4]; promedio = total / 5.0; // Cálculo del promedio printf (“Total: %f \tPromedio: %f\n”, total, promedio); return(0); }

a) int numeros[3]; /* arreglo de 3 enteros */ float montos[5]; /* arreglo de 5 reales */ char letras[10]; /* arreglo de 10 caracteres */

Page 16: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

16162018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

int main() { char palabra[10];

palabra[0] = ‘c’; palabra[1] = ‘a’; palabra[2] = ‘s’; palabra[3] = ‘a’; palabra[4] = ‘\0’; // finalizo el string con '\0' return (0);}

string: secuencia de caracteres que conforman un texto.

c)

¿Cómo los imprimo?

for (i=0; i <=3; i++) { printf(“%c”, palabra[i]);}

printf(“%s”, palabra);

Solamente se coloca el nombre del arreglo

Indica que el texto a mostrar es un string e imprime hasta el carácter '\0'

Page 17: Repaso Lenguaje Cdirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/e017a-repaso_lenguaje_c.pdf- C distingue entre mayúsculas y minúsculas . - un tipo que describe los valores

17172018 – Área de Servicios – Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

FuncionesFunciones: : <tipo> nombre (parámetros formales)

Una función es un subprograma que devuelve, en forma explícita, un valor.

Ejemplo:

int suma (int a, int b) { printf(“Los valores a sumar son: %d y %d”, a, b); return a+b;}

int main () { int x, y, total; printf (“Ingrese 2 números:”); scanf(“%d %d”, &x, &y); total = suma (x,y); printf (“La suma es: %d”, total); return (0);}

FIN del REPASO!!!