Upload
19592130
View
989
Download
2
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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