8/14/2019 Clase Programacin 14
1/138
Programacin
Prof. Gonzalo Mller
[email protected] de Ingeniera
Universidad Central de Venezuela
Clase 14. Lenguaje C y C++
8/14/2019 Clase Programacin 14
2/138
Clase Anterior
Tipos de Datos:
Numricos:
Entero: Sin Signo: 1, 2, 4 y 8 bytes.
Con Signo: 1, 2, 4 y 8 bytes.
Programacin Prof. Gonzalo Mller Clase 14 GM - 2
Real: 4 bytes.
8 bytes.
Lgicos.
Carcter.
8/14/2019 Clase Programacin 14
3/138
Programa fuente:
Fortran, Pascal, C++, etc.
Editor de
Texto
Algoritmo+
Tipos de Datos
Compilador
Creacin de un programa utilizando un lenguaje deprogramacin compilado
Lenguaje de programacin Compilado
Programacin Prof. Gonzalo Mller Clase 14 GM - 3
Programa objeto (.o, .obj)
Enlazador(librera)Programa ejecutable (.exe)
Libreras del sistema (.o, .obj)
8/14/2019 Clase Programacin 14
4/138
Programa fuente:
Fortran, Pascal, C++, etc.
Editor de
Texto
Algoritmo+
Tipos de Datos
Compilador
Creacin de un programa utilizando un lenguaje deprogramacin compilado
Lenguaje de programacin Compilado
Programacin Prof. Gonzalo Mller Clase 14 GM - 4
Programa objeto (.o, .obj)
Enlazador(librera)
Libreras del sistema (.o, .obj)
de erroresde sintaxis
Correccinde erroresde lgica
Programa ejecutable (.exe)
8/14/2019 Clase Programacin 14
5/138
Lenguaje de programacin Compilado
Programa fuente: Contiene las instrucciones en ellenguaje de programacin.
Programa objeto: Mdulo que no esta listo paraejecucin que contiene las instrucciones en cdigode ma uina.
Programacin Prof. Gonzalo Mller Clase 14 GM - 5
Libreras del sistema: Mdulos que contienenfunciones especiales o predefinidas.
Programa ejecutable: Programa que puede sercargado o ejecutado por el sistema operativo.
8/14/2019 Clase Programacin 14
6/138
Programa fuente en C C++
(.c, .cpp)
Preprocesador
Creacin de un programa utilizando el lenguaje deprogramacin C o C++
Lenguaje de programacin C/C++
Programacin Prof. Gonzalo Mller Clase 14 GM - 6
Compilador
Programa objeto (.o, .obj)
Programa ejecutable (.exe)
Enlazador Libreras delsistema (.o, .obj)
8/14/2019 Clase Programacin 14
7/138
Preprocesador
Editor de Texto
DepuradorAmbiente
de
Ambiente de Desarrollo C/C++
Programacin Prof. Gonzalo Mller Clase 14 GM - 7
CompiladorEnlazador MinGWStudio BloodShed DevC++
CodeBlocks,
Desarrollo
8/14/2019 Clase Programacin 14
8/138
Lenguaje C/C++
En 1970 Ken Thompson de los laboratorios Bell creael lenguaje B como resultado de desarrollar uncompilador para el lenguaje Fortran para UNIX. Estelenguaje produca programas relativamente lentos.
En 1971 Dennis Ritchie, desarrolla el lenguaje C (NB)
Programacin Prof. Gonzalo Mller Clase 14 GM - 8
. A principios de los 80 Bjarne Stroustrup en los Bell
Laboratories desarrolla C++.
C++ surge como una mejora de C.
8/14/2019 Clase Programacin 14
9/138
Lenguaje C/C++
Es Flexible.
Permite la escritura a alto y bajo nivel. El Cdigo es Porttil.
Programacin Prof. Gonzalo Mller Clase 14 GM - 9
compilado en diferentes sistema operativos.
Los Programas son ms Rpidos.
Los Programas son ms Compactos. Ocupan menos Memoria Principal.
8/14/2019 Clase Programacin 14
10/138
Lenguaje C/C++
El vocabulario de C esta compuesto:
Identificadores.
Palabras Claves (keywords). Constantes.
Programacin Prof. Gonzalo Mller Clase 14 GM - 10
Operadores. Separadores.
Comentarios.
8/14/2019 Clase Programacin 14
11/138
Vocabulario de C
Identificador: Es el nombre que el programadorcoloca para referirse a una determinada locacin de
memoria, una variable en memoria. Es ms cmodo que identificar un locacin de
memoria con nmero corres ondiente a la
Programacin Prof. Gonzalo Mller Clase 14 GM - 11
direccin.
A
31 Localidad
Direccin
Identificador
8/14/2019 Clase Programacin 14
12/138
Vocabulario de C
Reglas para definir un Identificador:
1. Se forma con un secuencia de los siguientes
caracteres: a b c d e f g h i j k l m n o p q r s t u v w x y z
Programacin Prof. Gonzalo Mller Clase 14 GM - 12
A B C D E F G H I J K L M N O P Q R S TU V W X Y Z
0 1 2 3 4 5 6 7 8 9_
8/14/2019 Clase Programacin 14
13/138
Vocabulario de C
2. No puede contener espacios en blanco, ni ningnotro carcter diferente de los indicados en
anteriormente.3. El primer carcter no puede ser un dgito.
Programacin Prof. Gonzalo Mller Clase 14 GM - 13
.minsculas.
5. Puede tener hasta 31 caracteres.
Recomendacin: utilizar un nombre que tengan unsignificado para el dato que representa.
8/14/2019 Clase Programacin 14
14/138
Vocabulario de C
Palabras clave: estn constituidas por una serie depalabras que define el lenguaje y que el programador
no puede utilizar como identificador ya que tiene unafuncin especfica.
Programacin Prof. Gonzalo Mller Clase 14 GM - 14
struct float case void
short long char int
switch return else do
if break const static
8/14/2019 Clase Programacin 14
15/138
Vocabulario de C
Constantes:
Numricas.
Lgicas. Carcter.
Programacin Prof. Gonzalo Mller Clase 14 GM - 15
Cadena de Caracteres. Simblicas.
8/14/2019 Clase Programacin 14
16/138
Vocabulario de C
Constantes Numricas:
Enteras: Formada con secuencia de dgitos del 0 al
9, , +. Con signo.
Programacin Prof. Gonzalo Mller Clase 14 GM - 16
n s gno. Sufijo Opcional: u , U .
Hexadecimal:
Tiene el Prefijo: 0x, 0X.
Sufijo Opcional: l , L. Constante de 4 bytes.
8/14/2019 Clase Programacin 14
17/138
Vocabulario de C
Ejemplo:
Entera sin signo: 25 25u 25U
Entera con signo: -678 -789
Hexadecimal: 0xFE68
Programacin Prof. Gonzalo Mller Clase 14 GM - 17
De 4 bytes: 98L 98l 0xFE68L 25ul
8/14/2019 Clase Programacin 14
18/138
Vocabulario de C
Reales: Formada con secuencia de dgitos del 0 al 9,, , +, e, E y/o . .
Sufijo Opcional: f , F. Constante de 4 bytes.Ejemplo:
Real: 9010.5 567e10 -2.4E10
Programacin Prof. Gonzalo Mller Clase 14 GM - 18
Real de 4 bytes: 9010.5f 567e10f -2.4E10
Constantes Lgicas:
Verdadero: true. Falso: false.
8/14/2019 Clase Programacin 14
19/138
Vocabulario de C
Constantes Carcter: Encerradas entre apostrofes.
Caracteres especiales: `\t, `\\, `\n, etc. Constantes Texto:
Programacin Prof. Gonzalo Mller Clase 14 GM - 19
.
Caracteres especiales: `\t, `\\, `\n, etc.
Ejemplo:
`aLenguaje C++ es el mejor
8/14/2019 Clase Programacin 14
20/138
Vocabulario de C
Constantes Carcter: Encerradas entre apostrofes.
Caracteres especiales: `\t, `\\, `\n, etc. Constantes Texto:
Equivalente a
en Html
Programacin Prof. Gonzalo Mller Clase 14 GM - 20
.
Caracteres especiales: `\t, `\\, `\n, etc.
Ejemplo:
`aLenguaje C++ es el mejor
Equivalente a
en Html
8/14/2019 Clase Programacin 14
21/138
Vocabulario de C
Operadores: Son signos especiales o un conjunto deellos que indican diferentes operaciones a realizar
+
Programacin Prof. Gonzalo Mller Clase 14 GM - 21
*=
8/14/2019 Clase Programacin 14
22/138
Vocabulario de C
Operadores:
Asignacin.
Aritmticos. Incrementales.
Programacin Prof. Gonzalo Mller Clase 14 GM - 22
Relacionales. Lgicos.
8/14/2019 Clase Programacin 14
23/138
Vocabulario de C
Operador Asignacin, = : Coloca un valor dado a unavariable.
Una constante. El valor de otra variable.
Programacin Prof. Gonzalo Mller Clase 14 GM - 23
resu ta o e una expres n.Constante
Variable = Valor Variable
Expresin
Siempre a la izquierda
8/14/2019 Clase Programacin 14
24/138
Vocabulario de C
Ejemplo:A = 1000
A = B
A = (A + 1)/2 + B*6
Programacin Prof. Gonzalo Mller Clase 14 GM - 24
=
C = 200
R = 4.5
R = 25.5*X +Y
8/14/2019 Clase Programacin 14
25/138
Vocabulario de C
Operadores Aritmticos:
Suma: +
Resta: - Multiplicacin: *
Programacin Prof. Gonzalo Mller Clase 14 GM - 25
Divisin: / Tener cuidado con el tipo de dato utilizado.
Ambos tipos de datos enteros
divisin entera Residuo de divisin entera: %
Se puede utilizar con variables y constantes.
8/14/2019 Clase Programacin 14
26/138
Vocabulario de C
Operadores Relacionales:
Mayor que: >
Menor que: < Igual que: ==
Programacin Prof. Gonzalo Mller Clase 14 GM - 26
Mayor o igual que: >= Menor o igual que:
8/14/2019 Clase Programacin 14
27/138
Vocabulario de C
Operadores Lgicos:
Y: &&
O: ||
Programacin Prof. Gonzalo Mller Clase 14 GM - 27
Se utilizan expresiones lgicas sencillas para formarexpresiones lgicas compuestas.
Negacin: !
8/14/2019 Clase Programacin 14
28/138
Vocabulario de C
Separadores: estn constituidos por:
Espacios en blanco.
Tabuladores. Caracteres de nueva lnea.
Programacin Prof. Gonzalo Mller Clase 14 GM - 28
8/14/2019 Clase Programacin 14
29/138
Vocabulario de C
Comentarios: es posible introducir comentarios en elprograma fuente, que permitan aclarar parte del
mismo. El compilador ignora los comentarios.
*
Programacin Prof. Gonzalo Mller Clase 14 GM - 29
comentario.*/ : indica al compilador el final de un comentario.
// : indica al compilador que el resto de la lnea es uncomentario.
8/14/2019 Clase Programacin 14
30/138
Vocabulario de C
/* y*/ Siempre deben ser usados en pareja.
Ejemplo:/* Este es un comentario: lenguaje C++ es el mejor
Programacin Prof. Gonzalo Mller Clase 14 GM - 30
engua e e programac n
// Este es otro comentario: la mayora de los
// sistema operativos son desarrollados en C++
8/14/2019 Clase Programacin 14
31/138
Directivas de Preprocesadormain(){
Estructura Bsica de un programa en C/C++
Programacin Prof. Gonzalo Mller Clase 14 GM - 31
DeclaracionesSecuencia de Sentencias
}
Programa Fuente (*.c,*.cpp)
8/14/2019 Clase Programacin 14
32/138
Directivas de Preprocesadormain(){
Estructura Bsica de un programa en C/C++
Mduloprincipal
Programacin Prof. Gonzalo Mller Clase 14 GM - 32
DeclaracionesSecuencia de Sentencias
}
Programa Fuente (*.c,*.cpp)
8/14/2019 Clase Programacin 14
33/138
Directivas de Preprocesadormain()
Mdulo principal
Programacin Prof. Gonzalo Mller Clase 14 GM - 33
{
Declaraciones
Secuencia de Sentencias}
8/14/2019 Clase Programacin 14
34/138
Mdulo principal
Constituye el bloque principal de un programa enC/C++.
Todo programa en C/C++ debe tener un bloquemain.
Programacin Prof. Gonzalo Mller Clase 14 GM - 34
main()
{
}
8/14/2019 Clase Programacin 14
35/138
Directivas de Preprocesadormain()
Declaraciones
Programacin Prof. Gonzalo Mller Clase 14 GM - 35
{
Declaraciones
Secuencia de Sentencias}
Tipos de Datos
8/14/2019 Clase Programacin 14
36/138
Declaraciones
Le indican al compilador el tipo y propiedades de unavariable.
Programacin Prof. Gonzalo Mller Clase 14 GM - 36
tipovariabletipovariable1, variable2,
8/14/2019 Clase Programacin 14
37/138
Entero
Tamao Sin signo
Con signo
Tipos de Datos
Programacin Prof. Gonzalo Mller Clase 14 GM - 37
1 byte (char) unsigned char signed char2 bytes (short) unsigned short signed short4 bytes (long) unsigned long signed long
Ti d D
8/14/2019 Clase Programacin 14
38/138
Tipos de Datos
Reales: de 4 Bytes: float
de 8 Bytes: double
Programacin Prof. Gonzalo Mller Clase 14 GM - 38
Ti d D
8/14/2019 Clase Programacin 14
39/138
Tipos de Datos
Reales: de 4 Bytes: float
de 8 Bytes: double
Programacin Prof. Gonzalo Mller Clase 14 GM - 39
Lgico: bool
Carcter: char
D l i
8/14/2019 Clase Programacin 14
40/138
Declaraciones
Le indican al compilador el tipo y propiedades de unavariable.
tipovariableNumricos:Entero:
Sin Signo: 1, 2, 4 bytes:
Programacin Prof. Gonzalo Mller Clase 14 GM - 40
unsigned char, unsigned short, unsigned long
Con Signo: 1, 2, 4 bytes:
signed char, signed short, signed long
Real:
4 bytes:float
8 bytes:doubleLgicos:bool
Carcter.:char
D l i
8/14/2019 Clase Programacin 14
41/138
Declaraciones
Le indican al compilador el tipo y propiedades de unavariable.
tipovariableNumricos:Entero:
Sin Signo: 1, 2, 4 bytes:
Programacin Prof. Gonzalo Mller Clase 14 GM - 41
unsigned char, unsigned short, unsigned long
Con Signo: 1, 2, 4 bytes:
signed char, signed short, signed long
Real:
4 bytes:float
8 bytes:doubleLgicos:bool
Carcter.:char
D l r i n
8/14/2019 Clase Programacin 14
42/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas por un vendedor informal en medio da. Debe ser Numrica.
Debe ser Entera, ya que se vende las donas enteras
Programacin Prof. Gonzalo Mller Clase 14 GM - 42
Debe ser Entera sin signo, ya que el vendedor entrega las donas nolas recibe (sin considerar productos devueltos por el comprador ohurtos).
Puede ser de 1 byte, ya que es difcil que un vendedor informal venda
ms de 255 donas en medioda.
Entera sin signo de 1 byte
Declaraciones
8/14/2019 Clase Programacin 14
43/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas por un vendedor informal en medio da. Debe ser Numrica.
Debe ser Entera, ya que se vende las donas enteras
Programacin Prof. Gonzalo Mller Clase 14 GM - 43
Debe ser Entera sin signo, ya que el vendedor entrega las donas nolas recibe (sin considerar productos devueltos por el comprador ohurtos).
Puede ser de 1 byte, ya que es difcil que un vendedor informal venda
ms de 255 donas en medioda.
Entera sin signo de 1 byte
LV
donasVendidas:
entera sin signo
de 1 byte
8/14/2019 Clase Programacin 14
44/138
Declaraciones
8/14/2019 Clase Programacin 14
45/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.
Programacin Prof. Gonzalo Mller Clase 14 GM - 45
Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.
Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.
Real de 4 bytes
Declaraciones
8/14/2019 Clase Programacin 14
46/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.
Programacin Prof. Gonzalo Mller Clase 14 GM - 46
Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.
Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.
Real de 4 bytes LVdonasPromedio:
real de 4 bytes
Declaraciones
8/14/2019 Clase Programacin 14
47/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.
Programacin Prof. Gonzalo Mller Clase 14 GM - 47
Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.
Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.
Real de 4 bytes
float donasPromedio
LV
donasPromedio:
real de 4 bytes
Declaraciones
8/14/2019 Clase Programacin 14
48/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informalvendi donas de chocolate en medio da. Debe ser Lgica, ya que se necesita almacenar dos situaciones, si
vendi o no vendi, verdadero si vendi y falso de lo contrario.
Programacin Prof. Gonzalo Mller Clase 14 GM - 48
Lgica
8/14/2019 Clase Programacin 14
49/138
Declaraciones
8/14/2019 Clase Programacin 14
50/138
Declaraciones
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informalvendi donas de chocolate en medio da. Debe ser Lgica, ya que se necesita almacenar dos situaciones, si
vendi o no vendi, verdadero si vendi y falso de lo contrario.
Programacin Prof. Gonzalo Mller Clase 14 GM - 50
Lgica
bool chocoDonas
LV
chocoDonas:lgica
Declaraciones
8/14/2019 Clase Programacin 14
51/138
ec c o es
Ejemplo:
signed char llamadas /*Variable tipo
Entero con Signo de 1 byte llamada
Tipo Identificador
Programacin Prof. Gonzalo Mller Clase 14 GM - 51
float minimo, maximo, media /*Variables
tipo Real de 4 byte llamadas Minimo,Maximo y Media*/
Tipo Identificador1 Identificador3
8/14/2019 Clase Programacin 14
52/138
Tipos de Datos
8/14/2019 Clase Programacin 14
53/138
p
Observaciones respecto a los enteros: Existe el tipo entero: int
No esta normalizado por la ANSI. No es recomendable su uso por que su tamao
Programacin Prof. Gonzalo Mller Clase 14 GM - 53
e e e e co a o .
Sentencias
8/14/2019 Clase Programacin 14
54/138
Directivas de Preprocesadormain()
Programacin Prof. Gonzalo Mller Clase 14 GM - 54
{
Declaraciones
Secuencia de Sentencias}
Algoritmo
Sentencias
8/14/2019 Clase Programacin 14
55/138
C/C++ PC DRE DF
main(){
Algoritmo
{Algoritmo Comienzo
Programacin Prof. Gonzalo Mller Clase 14 GM - 55
Dec arac ones
//Algoritmo
} } Fin Fin
Sentencias
8/14/2019 Clase Programacin 14
56/138
Constituye una combinacin adecuada deidentificadores, constantes, operadores yseparadores, lacual realiza una operacin especfica.
Programacin Prof. Gonzalo Mller Clase 14 GM - 56
c = a + b
Superior = r = b + 1
Mitad = n * 0.5f
8/14/2019 Clase Programacin 14
57/138
Sentencias
8/14/2019 Clase Programacin 14
58/138
Todas las sentencias excepto las de control debenterminar con el smbolo ; .
Ejemplo:
Programacin Prof. Gonzalo Mller Clase 14 GM - 58
ec arat vas: oat acumulador;
Asignacin: acumulador = 0;
Llamadas: printf(C++ es el 1);
Nula: ;
Directivas de Preprocesador
8/14/2019 Clase Programacin 14
59/138
Directivas de Preprocesadormain()
Programacin Prof. Gonzalo Mller Clase 14 GM - 59
{
Declaraciones
Secuencia de Sentencias}
Directivas de Preprocesador
8/14/2019 Clase Programacin 14
60/138
Ahorran la escritura y aumentan la legilibidad delcdigo. Sus principales funciones son:
Definir de constantes simblicas.
Programacin Prof. Gonzalo Mller Clase 14 GM - 60
Incluir de archivos de cabecera de libreraspredefinidas.
8/14/2019 Clase Programacin 14
61/138
Libreras Predefinidas
8/14/2019 Clase Programacin 14
62/138
Son programas objeto que contiene conjunto demdulos preprogramados.
La directiva #include del preprocesador permiteincluir archivo cabecera:
< >
Programacin Prof. Gonzalo Mller Clase 14 GM - 62
Ejemplo:#include
Los archivos cabecera (*.h, *.hpp): Son archivosdestinados exclusivamente a la declaracin deidentificadores.
Libreras Predefinidas
8/14/2019 Clase Programacin 14
63/138
Son libreras predefinidas por C, con mdulos de: Entrada y salida.
Matemticas bsicas. Manejo de archivos.
Programacin Prof. Gonzalo Mller Clase 14 GM - 63
Manejo de Cadena de Caracteres. Ordenamiento y bsqueda.
entre otras.
Libreras Estndar
8/14/2019 Clase Programacin 14
64/138
Los archivos cabecera de las principales librerasestndar son:
Entrada/Salida: stdio.h Matemticas: math.h
Programacin Prof. Gonzalo Mller Clase 14 GM - 64
t er as enera es: st .
8/14/2019 Clase Programacin 14
65/138
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
66/138
El flujo de entrada y salida de datos puede serrealizado forma directa con el usuario a travs delteclado y el monitor.
Programacin Prof. Gonzalo Mller Clase 14 GM - 66
ProgramaEntrada
Teclado
SalidaMonitor
8/14/2019 Clase Programacin 14
67/138
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
68/138
C ofrece un conjunto de funciones de entrada y salidapredefinidas en las libreras estndar stdio, lasprincipales son:
De salida: printf.
Programacin Prof. Gonzalo Mller Clase 14 GM - 68
.
ProgramaEntrada
Teclado
Salida
Monitor
scanf printf
document.write
Equivalente en Javascript
prompt
8/14/2019 Clase Programacin 14
69/138
8/14/2019 Clase Programacin 14
70/138
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
71/138
Ejemplo:/* Escribe en pantalla: Lenguaje C++
es el 1*/
printf(Lenguaje C++ es el 1);
Equivalente en Javascript:
Programacin Prof. Gonzalo Mller Clase 14 GM - 71
/* Escribe en dos lneas en pantalla:Lenguaje C++ es el Mejor!*/
printf(Lenguaje C++\n);
printf(es el Mejor!);
.
Equivalente en Javascript:document.write(Lenguaje C++
);
document.write(es el Mejor!);
Ejercicio
8/14/2019 Clase Programacin 14
72/138
Construir un programa en C que coloque en pantallasu edad y su promedio.
Programacin Prof. Gonzalo Mller Clase 14 GM - 72
ase : se o y n s s:
DES, DRE DF y CF.
Fase 2: Codificacin: programa estructurado en C.
Notacin, Documentacin e Indentacin.
8/14/2019 Clase Programacin 14
73/138
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
74/138
El formato esta constituido por al menos una lista deespecificadores de las variables a escribir:
Programacin Prof. Gonzalo Mller Clase 14 GM - 74
ormato s o var a es
especificador1 especificador2 especificador3
8/14/2019 Clase Programacin 14
75/138
8/14/2019 Clase Programacin 14
76/138
8/14/2019 Clase Programacin 14
77/138
8/14/2019 Clase Programacin 14
78/138
8/14/2019 Clase Programacin 14
79/138
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
80/138
Ejemplo:
unsigned char contador;
LVcontador: entera sin signo de 1 byte
Programacin Prof. Gonzalo Mller Clase 14 GM - 80
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
81/138
LVcontador: entera sin signo de 1 byte
Ejemplo:
unsigned char contador;
Programacin Prof. Gonzalo Mller Clase 14 GM - 81
Formato Tipo de dato
%u Entero sin signo
la variable contador*/
printf(%u, contador);
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
82/138
Formato
Ejemplo:/* Escribe en pantalla: El valor de
la variable contador*/
printf(%u, contador);
Programacin Prof. Gonzalo Mller Clase 14 GM - 82
Formato
/* Escribe en pantalla: El valor dela variable contador y media*/
printf(%u %f, contador, media);
Funciones Entrada/Salida
8/14/2019 Clase Programacin 14
83/138
Lista de Variables
Ejemplo:/* Escribe en pantalla: El valor de
la variable contador*/
printf(%u, contador);
Programacin Prof. Gonzalo Mller Clase 14 GM - 83
Lista de Variables
/* Escribe en pantalla: El valor dela variable contador y media*/
printf(%u %f, contador, media);
8/14/2019 Clase Programacin 14
84/138
8/14/2019 Clase Programacin 14
85/138
8/14/2019 Clase Programacin 14
86/138
Funciones Entrada/Salida
i l 1 l 2 l 3
8/14/2019 Clase Programacin 14
87/138
printf(%letra1 %letra2 %letra3,
variable1,variable2,variable3);
Correspondencia
Programacin Prof. Gonzalo Mller Clase 14 GM - 87
Funciones Entrada/Salida
i f(%l 1 %l t 2 %l t 3
8/14/2019 Clase Programacin 14
88/138
printf(%letra1 %letra2 %letra3,
variable1,variable2,variable3);
Correspondencia
Programacin Prof. Gonzalo Mller Clase 14 GM - 88
1 Especificador del Formato1 Variable de la Lista
8/14/2019 Clase Programacin 14
89/138
8/14/2019 Clase Programacin 14
90/138
8/14/2019 Clase Programacin 14
91/138
Ejercicio
8/14/2019 Clase Programacin 14
92/138
Construir un programa en C que coloque en pantallasu edad y su promedio. La edad y promedio debe estar
Programacin Prof. Gonzalo Mller Clase 14 GM - 92
.
Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.
Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.
8/14/2019 Clase Programacin 14
93/138
8/14/2019 Clase Programacin 14
94/138
8/14/2019 Clase Programacin 14
95/138
8/14/2019 Clase Programacin 14
96/138
Funciones Entrada/Salida
Ej mpl LV
8/14/2019 Clase Programacin 14
97/138
Ejemplo:
unsigned char contador;
float media;
LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 14 GM - 97
printf(Se encontraron %u datos, cuyo
promedio fue %f, contador, media);
Lista de Variables
Funciones Entrada/Salida
Ejemplo: LV
8/14/2019 Clase Programacin 14
98/138
Ejemplo:
unsigned char contador;
float media;
LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 14 GM - 98
printf(Se encontraron %u datos, cuyo
promedio fue %f, contador, media);
Texto
Funciones Entrada/Salida
Ejemplo: LV
8/14/2019 Clase Programacin 14
99/138
Ejemplo:
unsigned char contador;
float media;
LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 14 GM - 99
printf(Se encontraron %u datos, cuyo
promedio fue %f, contador, media);
Formato Tipo de dato
%u Entero sin signo %f Real
spec ca or
Especificador
Funciones Entrada/Salida
Ejemplo: LV
8/14/2019 Clase Programacin 14
100/138
Ejemplo:
unsigned char contador;
float media;
contador: entera sin signo de 1 bytemedia: real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 14 GM - 100
printf(Se encontraron %u datos, cuyo
promedio fue %f, contador, media);
Correspondencia
Funciones Entrada/Salida
Ejemplo: LV d i i d 1 b
8/14/2019 Clase Programacin 14
101/138
Ejemplo:
unsigned char contador;
float media;
contador: entera sin signo de 1 bytemedia: real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 14 GM - 101
printf(Se encontraron %u datos, cuyo
promedio fue %f, contador,media);
Correspondencia
8/14/2019 Clase Programacin 14
102/138
Ejercicio
8/14/2019 Clase Programacin 14
103/138
Construir un programa en C que coloque en pantallasu edad y su promedio. La edad y promedio debe estar
Programacin Prof. Gonzalo Mller Clase 14 GM - 103
.
Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.
Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.
8/14/2019 Clase Programacin 14
104/138
8/14/2019 Clase Programacin 14
105/138
8/14/2019 Clase Programacin 14
106/138
Funciones Entrada/Salida
De esta forma algunos formatos bsicos para lal t r s r n
8/14/2019 Clase Programacin 14
107/138
De esta forma algunos formatos bsicos para lalectura seran:
(ISOC9899)
Formato Tipo de dato
%c char%hhd signed char
Programacin Prof. Gonzalo Mller Clase 14 GM - 107
(ISOC9899)u uns gne c ar
%hd signed short%hu unsigned short%ld signed long
%lu unsigned long%f float%lf double
8/14/2019 Clase Programacin 14
108/138
LVcantidad: entera sin signo de 2 byte
Funciones Entrada/Salida
Ejemplo:
8/14/2019 Clase Programacin 14
109/138
cantidad: entera sin signo de 2 bytej p
Programacin Prof. Gonzalo Mller Clase 14 GM - 109
8/14/2019 Clase Programacin 14
110/138
Funciones Entrada/Salida
Ejemplo:
8/14/2019 Clase Programacin 14
111/138
j p
unsigned short cantidad;
Programacin Prof. Gonzalo Mller Clase 14 GM - 111
Formato Tipo de dato
%c char
%hu unsigned short
variable cantidad*/scanf(%hu, &cantidad);
Funciones Entrada/Salida
Ejemplo:/* Lee de teclado: El valor de la
8/14/2019 Clase Programacin 14
112/138
j p/* Lee de teclado: El valor de la
variable cantidad*/
scanf(%hu, &cantidad);
Programacin Prof. Gonzalo Mller Clase 14 GM - 112
Es necesario tener extrema precaucin e indicarel especificador correcto para la variable dada enfuncin de evitar sobrescribir la memoria
/* Lee de teclado: El valor de lavariable media*/
scanf(%f, &media);
Funciones Entrada/Salida
Ejemplo:/* Lee cantidad de datos*/
8/14/2019 Clase Programacin 14
113/138
j p/* Lee cantidad de datos*/
printf(Cantidad de datos:);
scanf(%hu, &cantidad);
Programacin Prof. Gonzalo Mller Clase 14 GM - 113
Si un programa se detiene abruptamente o se guinda esrecomendable revisar todos los scanf del programa fuente yaque alguno puede estar ocasionando el problema
/* Lee media de datos*/
printf(Media de datos:);
scanf(%f, &media);
Funciones Entrada/Salida
Ejemplo:/* Lee cantidad de datos*/
8/14/2019 Clase Programacin 14
114/138
Equivalente en Javascript:
/* Lee cantidad de datos*/
printf(Cantidad de datos:);
scanf(%hu, &cantidad);
Programacin Prof. Gonzalo Mller Clase 14 GM - 114
cantidad = parseInt(prompt(Cantidad de datos:));
Equivalente en Javascript:media = parseFloat(prompt(Media de datos:));
/* Lee media de datos*/
printf(Media de datos:);
scanf(%f, &media);
8/14/2019 Clase Programacin 14
115/138
Ejercicio
8/14/2019 Clase Programacin 14
116/138
Construir un programa en C para hallar la hipotenusa
2
de un triangulo dado sus catetos.
Programacin Prof. Gonzalo Mller Clase 14 GM - 116
ase : se o y n s s:
DES, DRE DF, LV y CF.Fase 2: Codificacin: programa estructurado en C.
Notacin, Documentacin e Indentacin.
Ejercicio
8/14/2019 Clase Programacin 14
117/138
Construir el programa en C para promediar dos notas.Fase 1: Diseo y Anlisis:
Programacin Prof. Gonzalo Mller Clase 14 GM - 117
DES, DRE DF, LV y CF.
Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.
Sentencias de Control
Permiten ejecutar una sentencia o una secuencia desentencias de forma repetitiva o no, dada un
8/14/2019 Clase Programacin 14
118/138
p ,condicin.
Programacin Prof. Gonzalo Mller Clase 14 GM - 118
.
Sentencia Repetitiva.
Si se ejecuta una secuencia de sentencias las mismasdeben ser colocadas entre llaves { }.
8/14/2019 Clase Programacin 14
119/138
Ejemplo: Construir un bloque de sentencias en C queconvierta un nmero positivo A en par.
Sentencias de Control
8/14/2019 Clase Programacin 14
120/138
p p
Programacin Prof. Gonzalo Mller Clase 14 GM - 120
Sentencias de Control
Condicional DobleJavaScript/
PC DRE DF
8/14/2019 Clase Programacin 14
121/138
JavaScript/
C/C++PC DRE DF
if(Condicin){ Si(Condicin)
{ Condicin
Programacin Prof. Gonzalo Mller Clase 14 GM - 121
}
else
{
}
}sino
{
}
F
8/14/2019 Clase Programacin 14
122/138
Sentencias de Control
Estructura Repetitiva MientrasJavaScript/C
8/14/2019 Clase Programacin 14
123/138
JavaScript/C
/C++PC DRE DF
while(Condicin)
{
Mientras(Condicin)
Programacin Prof. Gonzalo Mller Clase 14 GM - 123
}
{
}
Condicin
V
Mientras
(Condicin)
Sentencias de Control
Estructura Repetitiva Hacer Mientras nica sentencia de control que termina en ;.
8/14/2019 Clase Programacin 14
124/138
q ;JavaScript/C
/C++ PC DRE DFdo Hacer
Programacin Prof. Gonzalo Mller Clase 14 GM - 124
{
}
while(Condicin);
{
}Mientras(Condici
n)
Mientras(Condicin)
CondicinV
Ejercicio
8/14/2019 Clase Programacin 14
125/138
Construir el programa en C que sume los nmeros delA al B.
Programacin Prof. Gonzalo Mller Clase 14 GM - 125
ase : se o y n s s:
DES, DRE DF, LV y CF.Fase 2: Codificacin: programa estructurado en C.
Notacin, Documentacin e Indentacin.
Funciones Entrada/Salida
scanfretorna la cantidad de elementos ledos. Si este valor es 0, indica que hubo un error
8/14/2019 Clase Programacin 14
126/138
, qconvirtiendo el dato ledo en el tipo
correspondiente.
Programacin Prof. Gonzalo Mller Clase 14 GM - 126
ingrese texto en un valor numrico. De ser este elcaso el scanf finaliza y retorna 0, pero el buffer deentrada queda con los caracteres ingresados por elusuario, por lo que es necesario eliminarlos para quesubsecuentes llamadas funcionen correctamente.
Funciones Entrada/Salida
Forma de uso:
8/14/2019 Clase Programacin 14
127/138
while(scanf(Formato,&Variable) == 0)
{
Programacin Prof. Gonzalo Mller Clase 14 GM - 127
m na un car cter e u er e entra a
Sale del bucle solo cuando un valornumrico fue asignado a la variable
ge c ar ;
}
8/14/2019 Clase Programacin 14
128/138
Metodologa para creacin de un programa1. Realizar el anlisis del problema a resolver:
Metodologa para creacin de un programa C
8/14/2019 Clase Programacin 14
129/138
1. Definir los datos de entrada y de salida.
2. Teora asociada, requerimientos, etc.
Programacin Prof. Gonzalo Mller Clase 14 GM - 129
. .
3. Definir los tipos de datos de las diferentes variablesutilizadas en el algoritmo. Construir Lista de variables.
4. Codificar en C/C++:
1. Lista de Variables Declaraciones.2.Algoritmo Secuencia de Sentencias.
Fin
SalidasEntradas
Diagrama Entrada - Salida1
Metodologa para creacin de un programa C
8/14/2019 Clase Programacin 14
130/138
SalidasEntradas
Programacin Prof. Gonzalo Mller Clase 14 GM - 130
SalidasEntradas
Diagrama Entrada - Salida1
Metodologa para creacin de un programa C
8/14/2019 Clase Programacin 14
131/138
DRE2
Nombre
Programacin Prof. Gonzalo Mller Clase 14 GM - 131
FIN
SalidasEntradas
Diagrama Entrada - Salida1
Metodologa para creacin de un programa C
8/14/2019 Clase Programacin 14
132/138
DRE2
Nombre
Programacin Prof. Gonzalo Mller Clase 14 GM - 132
Lista de Variables3
Variablesvariable : tipo
FIN
SalidasEntradas
Diagrama Entrada - Salida1
/
Metodologa para creacin de un programa C
8/14/2019 Clase Programacin 14
133/138
Nombre
DRE2
4 C/C++
main(){
Programacin Prof. Gonzalo Mller Clase 14 GM - 133
FIN
Lista de Variables3
Variablesvariable : tipo
//Declaraciones
//Algoritmo
}
8/14/2019 Clase Programacin 14
134/138
Ejercicios
Construir un programa en C para:
8/14/2019 Clase Programacin 14
135/138
a) Calcular la sumatoria de los primeros N nmerosenteros.
Programacin Prof. Gonzalo Mller Clase 14 GM - 135
) Ca cu ar e actoria e N.
Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.
Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.
8/14/2019 Clase Programacin 14
136/138
Resumen
Creacin de un programa Compilado. Ambiente de Desarrollo C.
8/14/2019 Clase Programacin 14
137/138
Lenguaje C/C++
Vocabulario: Identificadores, Palabras Claves,
Programacin Prof. Gonzalo Mller Clase 14 GM - 137
pera ores, onstantes, etc.
Estructura bsica de un programa en C. Funcin Main.
Declaraciones: Tipos de Datos. Secuencia de Sentencias.
Resumen
Directivas de preprocesador, Libreras y Funciones. Funciones Entrada/Salida:
8/14/2019 Clase Programacin 14
138/138
printf: Sin formato, Con formato.
scanf.
Programacin Prof. Gonzalo Mller Clase 14 GM - 138
Sentencias de Control.
Condicionales.
Repetitivas.
Metodologa para creacin de un programa C.