Documente Academic
Documente Profesional
Documente Cultură
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
1
5/11/08
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
Lenguaje de programación C
• Brian Kernighan
Department of
Computer Science
Princeton University
Princeton, NJ 08544
h^p://
www.cs.princeton.edu/
~bwk/
2
5/11/08
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/
Lenguaje de programación C
• Quick C
❃ Elementos sintác7cos
• C++
• Turbo C ➙ Palabras reservadas
➙ IdenCficadores
• Turbo C ++
➙ Delimitadores
• Borland C ➙ Comentarios
• Borland C++
• Microsoft C
• C#
3
5/11/08
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
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
4
5/11/08
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
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”
5
5/11/08
Lenguaje de programación C
Delimitadores
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
6
5/11/08
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
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. *
**********************************/
7
5/11/08
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;
}
Programas en C
Sintaxis formal
/* Comentarios inicial */
Inclusión de archivos /* Opcional */
int main()
{
variables locales /* Opcional */
Sentencias
return 0;
}
8
5/11/08
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;
}
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>
Función Descripción
printf Usada para imprimir salidas de datos
scanf Usada para introducir datos de entrada
9
5/11/08
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
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
10
5/11/08
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
Sentencia de entrada (lectura)
11
5/11/08
Sentencia de entrada (lectura)
Sentencia de salida (escritura)
12
5/11/08
Sentencia de salida (escritura)
Ejercicios
• Dados tres números enteros, calcular su
producto
• Calcular el perímetro del siguiente
polígono
13
5/11/08
Ejercicios
• Calcular el perímetro del siguiente polígono
1 cm
P = 2l1 + 2l2
Ejercicios
• Calcular el perímetro del siguiente polígono
5m
5m
P = 4l1
14
5/11/08
Ejercicios
• Calcular el perímetro del siguiente polígono
10 dm 10 dm
10 dm
P = 3l1
Ejercicios
• Calcular el perímetro del siguiente polígono
5m
3m
4m
P = l1 + l2 + l3
15
5/11/08
Ejercicios
• Calcular la circunferencia del siguiente círculo
5m
C = 2Πr
Ejercicios
• Calcular el área del siguiente rectángulo
5 cm
3 cm
A=axb
16
5/11/08
Ejercicios
• Calcular el área del siguiente paralelogramo
6 cm A=bxh
3 cm
Ejercicios
• Un paralelogramo Cene una altura de 5.6 m y
un área de 70 m2. Calcular la longitud de la
base
5.6 m A=bxh
b=?
17
5/11/08
Ejercicios
• Calcular el área del siguiente trapecio
8 in.
4 in.
1
15 in. A= h(b + B)
2
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
a cm
b cm A=axb
18
5/11/08
Ejercicios
• Descuento: Cantidad que se reduce del
precio regular u original de un producto
Ejercicios
• Hallar el precio de venta dado el precio original y el descuento
para cada uno de los valores dados en la siguiente tabla
19
5/11/08
Ejercicios
• Durante una oferta de 50% de descuento un artículo
cuesta 17.500 ¿cuál es el precio original?
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
20