20
5/11/08 1 Programación 1 (03) Unidad IV: Introducción al lenguaje de programación C Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación estructurada Programación estructurada Enfoque disciplinado que permite escribir programas estructurados , uClizando las siguientes tres estructuras de control bien definidas: Secuencial (asignación, lectura, escritura) Decisión o selección (simple, doble, múlCple) RepeBción (repita‐mientras, hacer‐mientras, repita‐para) Los programas estructurados son fáciles de probar, depurar y modificar Prof. Flor Narciso 2 Programación 1 Semestre B-2008

introduccion al lenguaje c

Embed Size (px)

Citation preview

Page 1: introduccion al lenguaje c

5/11/08

1

Programación 1 (03) Unidad IV: Introducción al lenguaje de programación C 

Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas 

Facultad de Ingeniería Universidad de Los Andes 

Programación estructurada 

Programación estructurada  

  Enfoque disciplinado que permite escribir programas estructurados, uClizando las siguientes tres estructuras de control bien definidas:   Secuencial (asignación, lectura, escritura)   Decisión o selección (simple, doble, múlCple) 

  RepeBción (repita‐mientras, hacer‐mientras, repita‐para) 

  Los programas estructurados son fáciles de probar, depurar y modificar 

Prof. Flor Narciso 2 Programación 1 Semestre B-2008

Page 2: introduccion al lenguaje c

5/11/08

2

Lenguaje de programación C 

 Diseñado e implementado por Brian Kernighan y Dennis Ritchie en 1973, a parCr de los lenguajes BCPL (1965) y B (1969). Su desarrollo está estrechamente vinculado al del sistema operaCvo UNIX 

  Lenguaje de nivel intermedio: Combina caracterísCcas de los lenguajes de alto nivel (sentencias de control y manipulación de datos) y de los lenguajes de bajo nivel (manejo de bits) 

  Independiente del hardware 

  Todo está consCtuido a base de funciones 

Prof. Flor Narciso 3 Programación 1 Semestre B-2008

Lenguaje de programación C 

•  Brian Kernighan   Department of Computer Science  

 Princeton University Princeton, NJ 08544  h^p://www.cs.princeton.edu/~bwk/  

Prof. Flor Narciso 4 Programación 1 Semestre B-2008

Page 3: introduccion al lenguaje c

5/11/08

3

Lenguaje de programación C 

•  Dennis Ritchie 

Bell Labs, Rm 2C‐517  600 Mountain Ave.  Murray Hill, New Jersey 07974‐0636, USA  h^p://inferno.bell‐labs.com/who/dmr/ 

Prof. Flor Narciso 5 Programación 1 Semestre B-2008

Lenguaje de programación C 

•  Quick C •  C++ •  Turbo C •  Turbo C ++ •  Borland C •  Borland C++ •  Microsoft C •  C#

Prof. Flor Narciso 6 Programación 1 Semestre B-2008

❃ Elementos sintác7cos 

➙ Palabras reservadas ➙ IdenCficadores ➙ Delimitadores ➙ Comentarios

Page 4: introduccion al lenguaje c

5/11/08

4

Lenguaje de programación C 

Palabras claves o palabras reservadas 

 Tienen un significado especial para el compilador y están reservadas para uso especial del lenguaje de programación 

Prof. Flor Narciso

auto break case char const continue default

do double else enum extern float for

goto if int long return short signed

sizeof static struct switch typedef union unsigned

void volatile while register

7 Programación 1 Semestre B-2008

Lenguaje de programación C 

Iden7ficadores 

 Nombres que permiten señalar, mencionar o hacer referencia a los diferentes objetos manipulados por un programa 

  Deben resultar significaCvo, sugiriendo lo que representan  No pueden ser palabras reservadas 

Prof. Flor Narciso 8 Programación 1 Semestre B-2008

Page 5: introduccion al lenguaje c

5/11/08

5

Lenguaje de programación C 

Iden7ficadores  Se componen de una serie de caracteres que pueden 

ser  letras  (mayúsculas  y  minúsculas),  dígitos  o  el carácter de subrayado (_) 

 Las letras mayúsculas y las minúsculas son diferentes 

 El primer carácter debe ser una letra o el caracter de subrayado. NO PUEDE SER UN DÍGITO  

Prof. Flor Narciso 9 Programación 1 Semestre B-2008

Lenguaje de programación C 

Ejemplos: 

 IdenBficadores válidos 

A1, a1, sueldo_base, sueldoBase, entero1, entero2, NOMBRES, nombres, Nombres, notas, Contador, P, Q, bandera_Venezuela, sueldoNeto, cedulaIdenBdad, mostrarDescripcion, cambiarEstado, archivoDelSistema 

IdenBficadores inválidos   1A, 1a, #sueldo_base, 1_entero, +NOMBRES, ;Contador, =bandera, while, int, float, 1registro, “nv” 

Prof. Flor Narciso 10 Programación 1 Semestre B-2008

Page 6: introduccion al lenguaje c

5/11/08

6

Lenguaje de programación C 

Delimitadores 

Prof. Flor Narciso 11 Programación 1 Semestre B-2008

Signo Significado

; (punto y coma) Terminación, es necesario cuando finaliza cada una de las sentencias o declaraciones

, (coma) Separa dos elementos consecutivos de una lista

( ) (paréntesis) Enmarca una lista de parámetros, expresiones o condiciones

[ ] (corchetes) Enmarca la dimensión o el subíndice de un arreglo

{ } (llaves) Enmarca un bloque de sentencias o una lista de valores iniciales

Lenguaje de programación C 

Comentarios 

•  Permiten que el programador documente sus programas  

•  Sirven para facilitar la legibilidad de un programa 

•  Un comentario largo se debe dividir en varias líneas y se deben alinear las líneas subsecuentes 

 Tipos de comentarios ➙ Comentarios iniciales: ObjeCvo general del programa 

➙ Comentarios en cada línea: Pasos cruciales del programa 

Prof. Flor Narciso 12 Programación 1 Semestre B-2008

Page 7: introduccion al lenguaje c

5/11/08

7

Lenguaje de programación C 

Comentarios en C 

  En C los comentarios empiezan por los caracteres /* y terminan con los caracteres */ 

  Pueden comprender varias líneas y estar distribuidos de cualquier forma, pero todo aquello que está entre el /* (inicio del comentario) y el */ (fin del comentario) es simplemente ignorado por el compilador 

Prof. Flor Narciso 13 Programación 1 Semestre B-2008

Lenguaje de programación C 

Comentarios en C 

 /* Esto es un comentario simple. */ 

 /* Esto es un comentario más largo,      distribuido en varias líneas. El      texto se suele alinear por la izquierda. */ 

 /*********************************  * Esto es un comentario de varias           *  * líneas, encerrado en una caja para    *  * llamar la atención.                      *  **********************************/ 

Prof. Flor Narciso 14 Programación 1 Semestre B-2008

Page 8: introduccion al lenguaje c

5/11/08

8

Programas en C 

 Ejemplo: 

 /* Ejemplo1.c      Mayo, 2008      Autora: Flor Narciso         Sumar dos valores a y b, asignar el resultado a c */ 

 int main()  {    int a, b, c;    /* Declaración de variables locales */ 

   a = 3;    b = 7;        c = a + b;    /* Calcular la suma */    return 0;  } 

Prof. Flor Narciso 15 Programación 1 Semestre B-2008

Programas en C 

Sintaxis formal  

 /* Comentarios inicial */  Inclusión de archivos    /* Opcional */ 

 int main()  {    variables locales      /* Opcional */ 

   Sentencias    return 0;  } 

Prof. Flor Narciso 16 Programación 1 Semestre B-2008

Page 9: introduccion al lenguaje c

5/11/08

9

Programas en C 

Ejemplo 

 /* Ejemplo2      Mayo, 2008      Autora: Flor Narciso         Imprime el mensaje "BIENVENIDO AL CURSO DE       PROGRAMACIÓN 1” */ 

#include <stdio.h> 

int main() { 

 priny("BIENVENIDO AL CURSO DE  PROGRAMACIÓN 1”);  return 0; 

Prof. Flor Narciso 17 Programación 1 Semestre B-2008

Lenguaje de programación C 

•  Declaración de importación (inclusión de archivos): Consiste en la llamada a la o las bibliotecas donde se encuentran definidas las funciones de C que se están uClizando en el programa 

Ejemplo: #include <stdio.h> 

Prof. Flor Narciso 18 Programación 1 Semestre B-2008

Función Descripción

printf Usada para imprimir salidas de datos

scanf Usada para introducir datos de entrada

Page 10: introduccion al lenguaje c

5/11/08

10

Conjunto de sentencias 

Estructuras de control 

  El proceso de diseño del algoritmo y posterior codificación del programa consiste en definir las acciones o sentencias que resolverán el problema 

  Por lo general, en un programa las sentencias son ejecutadas una después de la otra, en el orden en que aparecen escritas 

Prof. Flor Narciso 19 Programación 1 Semestre B-2008

Conjunto de sentencias 

 La programación estructurada utiliza tres estructuras de control. Todos los programas pueden ser escritos en términos de estas estructuras de control (Bohm y Jacopini)

➙  Secuenciales

➙  Decisión o selección

➙  Repetición

Prof. Flor Narciso 20 Programación 1 Semestre B-2008

Page 11: introduccion al lenguaje c

5/11/08

11

Estructuras secuenciales 

–  Se ejecutan en secuencia sin posibilidad que la sentencia siguiente a ejecutar pueda ser otra diferente de la que sigue en la secuencia

Prof. Flor Narciso 21 Programación 1 Semestre B-2008

Sentencia Pseudocódigo Código en C Comienzo Inicio { Fin Fin } Entrada (lectura) Leer scanf Salida (escritura) Escribir printf Asignación A ← 5 ó A = 5 A = 5

Sentencia de entrada (lectura) 

Prof. Flor Narciso Programación 1 Semestre B-2008

22

Page 12: introduccion al lenguaje c

5/11/08

12

Sentencia de entrada (lectura) 

Prof. Flor Narciso Programación 1 Semestre B-2008

23

Sentencia de salida (escritura) 

Prof. Flor Narciso Programación 1 Semestre B-2008

24

Page 13: introduccion al lenguaje c

5/11/08

13

Sentencia de salida (escritura) 

Prof. Flor Narciso Programación 1 Semestre B-2008

25

Ejercicios 

•  Dados tres números enteros, calcular su producto

•  Calcular el perímetro del siguiente polígono

Prof. Flor Narciso Programación 1 Semestre B-2008

26

Page 14: introduccion al lenguaje c

5/11/08

14

Ejercicios 

•  Calcular el perímetro del siguiente polígono 

Prof. Flor Narciso Programación 1 Semestre B-2008

27

1 cm

P = 2l1 + 2l2

Ejercicios 

•  Calcular el perímetro del siguiente polígono 

Prof. Flor Narciso Programación 1 Semestre B-2008

28

5 m

5 m

P = 4l1

Page 15: introduccion al lenguaje c

5/11/08

15

Ejercicios 

•  Calcular el perímetro del siguiente polígono 

Prof. Flor Narciso Programación 1 Semestre B-2008

29

10 dm

10 dm 10 dm

P = 3l1

Ejercicios 

•  Calcular el perímetro del siguiente polígono 

Prof. Flor Narciso Programación 1 Semestre B-2008

30

4 m

3 m

5 m

P = l1 + l2 + l3

Page 16: introduccion al lenguaje c

5/11/08

16

Ejercicios 

•  Calcular la circunferencia del siguiente círculo 

Prof. Flor Narciso Programación 1 Semestre B-2008

31

C = 2Πr

5 m

Ejercicios 

•  Calcular el área del siguiente rectángulo 

Prof. Flor Narciso Programación 1 Semestre B-2008

32

A = a x b

5 cm

3 cm

Page 17: introduccion al lenguaje c

5/11/08

17

Ejercicios 

•  Calcular el área del siguiente paralelogramo 

Prof. Flor Narciso Programación 1 Semestre B-2008

33

A = b x h

3 cm

6 cm

Ejercicios 

•  Un paralelogramo Cene una altura de 5.6 m y un área de 70 m2. Calcular la longitud de la base 

Prof. Flor Narciso Programación 1 Semestre B-2008

34

b = ?

5.6 m A = b x h

Page 18: introduccion al lenguaje c

5/11/08

18

Ejercicios 

•  Calcular el área del siguiente trapecio 

Prof. Flor Narciso Programación 1 Semestre B-2008

35

4 in.

15 in.

8 in.

A = h(b + B)

12

Ejercicios 

•  Suponga que una habitación Cene a cm de ancho y de largo b cm mas dos veces el ancho. Calcular cuántos metros cuadrados de alfombra necesita para cubrir el área 

Prof. Flor Narciso Programación 1 Semestre B-2008

36

A = a x b

a cm

b cm

Page 19: introduccion al lenguaje c

5/11/08

19

Ejercicios 

•  Descuento: Cantidad que se reduce del precio regular u original de un producto

Prof. Flor Narciso Programación 1 Semestre B-2008

37

Descuento = precio original x porcentaje de descuento

Ejercicios 

•  Hallar el precio de venta dado el precio original y el descuento para cada uno de los valores dados en la siguiente tabla 

Prof. Flor Narciso Programación 1 Semestre B-2008

38

Precio original

(P)

Porcentaje de Descuento

(M)

Descuento

(D) 175 Bs. 20% 175 x 20/100 = 35 Bs. 95 Bs. 15% 95 x 15/100 = 14.25 Bs. 59 Bs. 1/3 59 x 1/3 ≈ 19.67 Bs.

Page 20: introduccion al lenguaje c

5/11/08

20

Ejercicios 

•  Durante una oferta de 50% de descuento un artículo cuesta 17.500 ¿cuál es el precio original?

•  Durante una oferta del 20% de descuento, un artículo cuesta 52.000 Bs. ¿cuál es el precio original?

Prof. Flor Narciso

Precio de venta = precio original - descuento

Programación 1 Semestre B-2008

39

Ejercicios 

•  La fuerza de atracción entre dos cuerpos es igual al producto de una constante k por el cociente que resulta de dividir el producto de las masas de los cuerpos por el cuadrado de su distancia. Realice el análisis E‐P‐S, diseño y codificación para resolver este problema. Pruebe su programa para los valores de k = 0,1, la masa del cuerpo 1 es 3 kg., la masa del cuerpo 2 es 5 kg., y la distancia entre los dos cuerpos es 2,5 m 

Prof. Flor Narciso Programación 1 Semestre B-2008

40