Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Clase
Programación Clase
PROGRAMACIÓN
PROFESOR: DAVID FABRIZZIO MENA AVILÉS
QUÉ ES PROGRAMACIÓN
ALGORITMOS
DISEÑAR EL PROGRAMA
TEMAS
IDENTIFICADORES Y VARIABLES
OPERADORES Y FUNCIONES
SENTENCIAS CONDICIONALES
¿QUÉ ES
PROGRAMACIÓN?
■ La programación es el acto de programar, es
decir, organizar una secuencia de pasos
ordenados a seguir para hacer cierta cosa.
■ En el ámbito de la informática, la programación
refiere a la acción de crear programas o
aplicaciones a través del desarrollo de un código
fuente, que se basa en el conjunto de
instrucciones que sigue el ordenador para
ejecutar un programa.
SISTEMA
NUMÉRICO
BINARIO
■ La mayoría de los procesadores
trabajan en sistema binario.
■ Sistema numérico compuesto por
dos únicos caracteres (0 y 1).
PASOS DE PARA ELABORAR UN
PROGRAMA
CREAR EL
PROGRAMA
Codificación Ejecución
Análisis del Diseño del Corregir
(lenguaje de del
problema algoritmo errores
programación) programa
• Preciso • Correcto
• Definir • Claro
• Finito • Eficiente
LENGUAJES DE PROGRAMACIÓN
ALGORITMO
EJEMPLOS:
#define numero_meses 12
const int dedos = 5;
Expresiones
■ Es una combinación de operadores y símbolos que especifican un valor de manera
implícita y por lo general se guarda en una variable.
Ejemplos:
a = b*c;
d = e%f;
If (a==d){ }
If (a!=d){ }
If (a==b && c==d){ }
OPERADOR
ES
ARITMÉTIC
OS
OPERADORE
S
RELACIONA
LES
OPERADOR
ES LÓGICOS
OPERADOR
ES DE
ASIGNACIÓ
N
■ Las funciones son un conjunto de instrucciones
que realizan una tarea específica. Estas
funciones las podemos añadir mediante
S
■ Cuando creamos la función se le debe asignar
el nombre y el conjunto de instrucciones que
debe realizar. Una función puede o no devolver
un valor.
Sintaxis para la creación de funciones
■ Función que no devuelve nada:
void nombre_func (tipo_dato1 dato1, tipo_dato2 dato2) {
…
sentencias;
…
return 0;
}
– En el código:
nombre_func (dato1, dato2);
– En el código:
nombre_var = nombre_func (dato1, dato2);
EJEMPLO
DE
FUNCIONE
S
INCLUIR LIBRERÍAS
Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas
mas comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas
que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar
números, realizar funciones matemáticas, etc.
Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de
entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como
imaginarás existen muchísimas librerías disponibles y todas con una función especifica.
Sintaxis para inclusión de librerías:
#include <nombre_lib.h>
Ejemplo:
#include <math.h>
ESTRUCTURA DE UN PROGRAMA
1. Incluir librerías.
2. Definir constantes.
3. Definir tipo de datos propios.
4. Definir prototipos de funciones (declararlas).
5. Inicializar programa principal: main () {, void main (){, void main (void) {.
6. Declarar e inicializar variables locales.
7. Sentencias (todas las instrucciones que se deben realizar en el programa principal).
8. Finalizar programa: return 0; }
9. Definir funciones.
EJEMPLO
DE UNA
ESTRUCTUR
A DE
PROGRAMA
FUNCIÓN printf
Esta función nos sirve para transportar datos desde la memoria a la pantalla. En general, podemos
mostrar texto que ingresemos o el valor de alguna variable que tengamos en nuestro programa.
Se encuentra en la biblioteca <stdio.h>
Sintaxis para el uso de la función:
■ Para imprimir solo texto:
printf (“texto..”); -> printf (“Hola Mundo”);
■ Para imprimir el valor de alguna variable:
printf (“Mi variable es: especificador_formato_var”, variable); -> printf (“Mi numero es: %f”,
nombre);
Ejemplo:
ESPECIFICADO
R DE
FORMATO DE
LAS
VARIABLES
SECUENCIAS DE ESCAPE
FUNCIÓN scanf
■ La función scanf nos permite receptar los datos que el usuario ingresa y los almacena en distintas
variables.
■ Se encuentra en la biblioteca <stdio.h>.
■ Puede almacenar varias variables con un solo llamado.
■ Cuando se usa este tipo de función el sistema espera a que se ingrese desde el teclado el argumento o
lista de argumentos pedidos.
■ Antes de utilizar un scanf, hay que utilizar un printf para indicar al usuario que debe ingresar un dato.
Sintaxis para usar la función scanf:
scanf (“especificador_formato_var”, &variable); -> scanf (“%d”, &a);
scanf (“especificador_formato_var1 especificador_formato var2”, &variable1, &variable2); ->
scanf (“%d %f”, &b, &c);
3. Crea un programa que pida al usuario el radio de una esfera y muestre por pantalla el
volumen de la esfera. Si no conoces la fórmula de cálculo, busca información al respecto en
internet.
CARACTERES
■ Los caracteres son valores alfanuméricos que pueden ser letras
números y caracteres de control. Cada valor se representa por un
valor numérico.
■ Tamaño de un carácter: 1 byte (8 bits) -> 127 letras se pueden
representar pues el último bit indica el signo del número ASCII.
Ejemplos:
A se representa por el 65.
O se representa por el 48.
Declaración:
char nombre = ‘letra’; -> valor numérico entre 0 y 127.
Unsigned char letra2; -> valor numérico entre 0 y 255.
Ejemplo:
char letra = ‘a’;
char nombre[5] = “David”;
Especificador de formato:
%c -> char
-> unsigned char
NÚMEROS ENTEROS
Puede almacenar un caracter (char). El rango de valores variará
dependiendo del tipo de entero. Pudiendo almacenar valores negativos
positivos y negativos al especificar si el tipo de variable tiene signo o no.
Declaración:
(signo) (longitud) int nombre = entero;
Ejemplos:
– int num1 = 23;
– short int num2 = 33;
– unsigned long int num3 = 35;
Especificador de formato:
– int -> %d
– long int -> %ld
– short int -> %hd
– unsigned int -> %u
– unsigned short int -> %hu
– unsigned long int -> %lu
NÚMEROS REALES
Especificadores de formato:
– float -> %f
-> %e
– double -> %lf
-> %le
– long double -> %Lf
-> %Le
CONVERSIONES
El lenguaje C nos permite asignar una variable o expresión de un tipo de dato determinado
a una variable de otro tipo de dato diferente. Existen dos tipos de conversiones de datos:
Implícita: El compilador hace la conversión por nosotros.
float f_num = 5; (5 es entero).
Explícita: Necesitamos indicar el tipo de dato del que transformamos y al que vamos a
transformar.
(tipo de dato deseado) expresión a convertir.
Ejemplo:
int i_num = 5;
float f_num = (float) i_num;
Conversión de caracter a entero:
int num;
char car = ‘1’;
num = (int) car; -> num = 4
2. Pedir al usuario que introduzca un número del 1 al 7. En primer lugar, se debe verificar si el número
está dentro del rango pedido. Si es así, se imprimirá si el número es primo o no.
3. Pedir al usuario que ingrese dos números y usando únicamente sentencias if, compararlos y mostrar
en la pantalla lo siguiente: “El resultado es: 4>3”, “4=4”, “3<4”.
4. En el ejercicio anterior añadir una restricción para solo recibir números positivos.
5. Pedir una letra al usuario y si es vocal imprimir qué vocal es de la siguiente forma: “Usted
introdujo la vocal …”
Variante if-else
3. Pedir al usuario que ingrese tres números distintos, y mostrarlos en la pantalla de mayor a menor
en líneas distintas. Considerar que el usuario siempre va a introducir números diferentes.
4. Crear un programa que permita al usuario elegir un candidato por el cual votar. Las posibilidades
son: candidato A por el partido rojo, candidato B por el partido verde, candidato C por el partido
azul. Crear un menú en el que se muestre al usuario el nombre de los candidatos que puede elegir
para las opciones A,B ó C. Según el candidato elegido (A, B ó C) se le debe imprimir el mensaje
“Usted ha votado por el partido [color que corresponda al candidato elegido]”. Si el usuario ingresa
una opción que no corresponde a ninguno de los candidatos disponibles, indicar “Opción errónea”.
■ Es una sentencia condicional que
nos permite declarar una serie de
Sentencia instrucciones para varias
condiciones en la misma sentencia.
switch ■ Las sentencias e instrucciones
pueden ser de cualquier tipo.
Sintaxis para la implementación de la sentencia:
switch (selector) {
case etiqueta1: sentencias caso etiqueta1;
break;
case etiqueta2: sentencias caso etiqueta2;
break;
.
.
.
case etiquetaN: sentencias caso etiequetaN;
break;
default: sentencias si todas las condiciones anteriores son falsas;
}
Diagrama de flujo de la sentencia:
EJEMPLO
EJERCICIOS
1. Pedir un número del 1 al 7 al usuario y escribir en la pantalla el día de la semana que el
número representa.
3. Pedir un valor en metros al usuario. Luego mostrar un menú con opciones que indiquen
las unidades a las cuales se puede convertir (Km, mm, cm….) mínimo 5 opciones. Luego
receptar el número de opción elegida y hacer la operación correspondiente. Imprimir el
resultado.
ERRORES COMUNES
■ Uso del operador de asignación en lugar del operador relacional de igualdad en la
condición del if.
■ Omisión de llaves en las sentencias condicionales.
■ Uso de la variante if en lugar de
la variante if −else−if.
■ Orden lógico de las
condiciones de la variante
if −else−if.
SENTENCIAS ITERATIVAS
■ Iterar significa repetir algo.
■ Pueden ser lazos, bucles o ciclos.
■ Se usan para ejecutar un conjunto de instrucciones tantas veces como
lo permita una condición de parada.
■ Los lazos permitidos en lenguaje C son:
– for -> cuando se conoce exactamente el número de iteraciones.
– while -> cuando no se conoce exactamente el número de
iteraciones.
– do-while
Lazo for
■ El lazo for es una sentencia iterativa que se repite hasta que cierta condición se cumpla.
■ Esta sentencia se usa cuando se conoce exactamente la cantidad de iteraciones del bucle.
Componentes:
■ Inicialización: Es la asignación de un valor inicial a la variable de control del lazo.
■ Comparación: Es una expresión lógica (comparación) sobre la variable de control que
actúa como la condición del lazo y determina la cantidad de iteraciones del mismo. Si es
cierta se ejecutan las sentencias del lazo, caso contrario se finaliza.
■ Actualización: Expresión que modifica la variable de control del bucle después de cada
ejecución. La actualización generalmente consiste en incrementar o decrementar la
variable de control.
Sintaxis de la sentencia:
for (inicialización; comparación; actualización){
sentencias a ejecutar si la comparación es cierta;
}
2. Pedir al usuario que ingrese un número inicial y un número final. Sumar todos lo
números y mostrar los resultados. Hacer lo mismo para los números pares.
2. Pedir al usuario que ingrese un número inicial y un número final. Sumar todos lo
números y mostrar los resultados. Hacer lo mismo para los números pares.
3. Realizar el programa para mostrar la tablas de multiplicar con la sentencia while,
añadiendo una clave de ingreso con el mismo lazo while antes de empezar el progama.
Cada vez que el usuario ingrese mal la clave, volvera a pedirse la clsve y el programa no
avanzará hasta introducir la contraseña correcta.
4. Al programa anterior añadir un paso de finalización del programa, en el cual se pida que
se presione la tecla enter para terminar el programa.
Sentencia do-
while
■ La sentencia iterativa do-
while se utiliza cuando no se
conoce con exactitud la
cantidad de iteraciones del
bucle y el bucle se debe
ejecutar al menos una vez.
■ Prácticamente esta sentencia
es igual que un while con la
única diferencia del momento
en el que se comprueba la
condición.
Sintaxis para la sentencia:
do{
Sentencias a ejecutar si la condición es cierta;
} while (condición);
EJEMPLO
EJERCICIOS
1. Escribir un programa que lea indefinidamente los números ingresados por el usuario
hasta que ingrese un 0. Finalmente se debe mostrar en la pantalla la suma de todos los
números leídos.
2. Transformar en código el pseudocódigo que se muestra a continuación, relativo a un
programa que muestre todos los enteros comprendidos entre un número definido por el
usuario y 100, usando un bucle do … while.
Sentencias de saltos incondicionales
Break:
La sentencia break termina completamente bucles for, while, do while y condicionales
switch.
Continue:
La sentencia continue termina una iteración en bucles for, while y do while. No puede ser
usado en el condicional switch.