El documento presenta una guía sobre algoritmos y programación en C. Explica que un algoritmo es un método para resolver un problema mediante pasos definidos, precisos y finitos. Luego detalla los pasos para crear un algoritmo o programa, incluyendo definir variables, cargar datos, realizar procedimientos y usar condicionales. Finalmente propone algunos ejercicios de programación.
1. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
Algoritmos y Programación en C
Algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos
y finitos.
Cuando decimos precisos nos referimos a que la forma de resolución del problema debe respetar un
orden estricto, es muy importante realizar los pasos en el orden indicado. Definidos hace alución a
que si se sigue dos veces el mismo algoritmo (sin importar quién lo haga) se debe obtener el mismo
resultado. Por último, finitos, indica que todo algoritmo debe tener un numero finitos de pasos, debe
iniciar en algún lugar y debe llegar a su fin luego de sierta cantidad de instrucciones.
Se pueden expresar algoritmo de diferentes formas:
• Con formulas matemáticas.
• Con diagrama de flujo (que es el que usaremos nosotros)
• Con pseudo código (que es similar a el código de programación, pero de una forma más
coloquial).
El diagrama de un Algoritmo es independiente de el tipo de código que se utilizará luego para
escribir el programa. Una vez diseñado y comprobado el algoritmo la escritura del código se hace
mucho más sencilla.
A continuación se presenta una grilla con los diferentes símbolos que se utilizan para realizar
algoritmos y su traducción en el lenguaje de programación “C”:
Símbolo
(diagrama de
flujo)
Nombre Explicación Equivalente en código
Terminador Marca el inicio o el fin
del diagrama de flujo.
void main ()
{}
Declaración de
Variables
Indica que tipo de
cajas se utilizarán para
guardar la información
del programa.
int nombre_de_la_variable
double nombre_de_la_variable
char nombre_de_la_variable
Procesos Para hacer algún
proceso de cálculo
nombre_de_la_variable = 4+8
scanf(“%d,&nombre_de_la_variable)
Entrada/Salida de
Datos
Para mostrar en
pantalla.
printf(“lo que se quiera mostrar”)
Si mostramos el contenido de una
variable es necesario hacer una
nomenclatura especial:
printf(“%d”,nombre_de_la_variable)
Condicional o
Bifurcación
Se indica un punto
donde debe tomarse
una decisión
if (variable>3)
{
}
Documento o
impresión
Se usa para hacer
referencia a la
utilización de un
docmento específico o
a la impresión de un
archivo
2. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
Pasos para armar un Algoritmo o un Programa:
1) Objetivo del programa e inicio del mismo
Para poder realizar un algoritmo o un código de programación, es indispensable saber cual es el
objetivo final de nuestro programa, para poder apuntar hacia el resultado de la forma más directa.
Por ejemplo si lo que queremos es determinar cuál será el promedio de una persona en alguna
materia, sabemos que nuestro objetivo final es llegar al calculo de un promedio:
(nota1+nota2+...+nota#) / cantidad_de_notas
Luego una vez que sabemos el objetivo que estamos buscando alcanzar, es necesario saber qué
elementos voy a necesitar para trabajar (estos elementos serán nuestras variables). En el ejemplo del
promedio es necesario tener guardado en algún lugar las notas para poder hacer el cálculo luego.
Para poder empezar a escribir el programa o el algoritmo es necesario iniciar el mismo, para eso es
necesario hacer lo siguiente:
#include<stdio.h>
void main()
{
}
I
(código de programa) (diagrama de flujo)
2) Definir las Variables
En las computadoras para poder guardar información y luego poder usarlas es necesario decirle
específicamente lo que quiero guardar y cómo lo voy a llamar a eso que quiero guardar. Vamos a
llamar Variables a las cajas o lugares donde guardaremos estos valores que queremos usar luego
para hacer cálculos o lo que sea que queramos hacer.
Entonces para poder guardar información necesitamos tener armadas estas cajas o variables en
donde depositar la información. Vamos a tener distintos tipos de Variables, nosotros vamos a usar
solo algunas de estas cajas.
Usaremos:
• Variables Numéricas:
◦ Enteras (integer / int) -números sin coma-
◦ Reales (double) -números con coma-
• Variables alfanuméricas:
◦ Texto (character / char) -cualquier carácter, letras, números o especiales- (no sirve para
hacer cálculos)
Luego, cuando queremos empezar a hacer un algoritmo o un código para un programa lo primero
que tenemos que hacer es definir qué información vamos a necesitar guardar, para poder armar las
variables (cajas) para poder almacenar la misma.
3. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
Para armar una variable debemos escribir primero el tipo de variable que vamos a tener (char o int o
double) y luego el nombre que va a tener la caja (que es el nombre que vamos a usar nosotros
cuando queramos usar lo que esté guardado en la misma).
Ej.: para el ejemplo de las notas es necesario guardar las notas que se saca el alumno en algun lugar
y luego necesitaremos guardar el promedio en algún otro lugar. Entonces quedará de la siguiente
manera (si las notas son números enteros):
int nota1, nota2, nota3;
double promedio;
(código de programa) (diagrama de flujo)
int nota1, nota2, nota3;
double promedio;
Nótese que todas las cajas que son del mismo tipo las ubicamos en el mismo renglón separadas por
una coma, y para pasar al siguiente renglón usamos el punto y coma. También se podría haber
escrito cada caja en un renglón diferente, de la siguiente manera:
int nota1;
int nota1;
int nota1;
int nota1;
int nota1;
int nota1;
double promedio;
double promedio;
(código de programa) (diagrama de flujo)
3) Carga de datos:
Una vez que tenemos armadas las variables es necesario guardar los datos que usaremos en el
programa en las mismas. En el ejemplo del promedio dentro de las variables Nota1, Nota2 y Nota3
es necesario guardar el número que corresponde a cada nota. Para eso se puede hacer dos formas
diferentes, asignarle a cada variable un valor determinado o pedirle al usuario que ingrese el número
que corresponda para cada uno.
La forma de ingresar las notas como valores fijos en el programa sería la siguiente:
nota1=10;
nota2=8;
nota3=9;
nota1←10;
nota2←8;
nota3←9;
(código de programa) (diagrama de flujo)
La otra forma de ingresar los datos en las variables es pidiendo al usuario que ingrese las notas:
printf(“Ingrese la primer nota”);
scanf(“%d”,¬a1);
printf(“Ingrese la segunda nota”);
scanf(“%d”,¬a2);
printf(“Ingrese la tercera nota”);
scanf(“%d”,¬a3);
“Ingrese la primer nota”
nota1←nota ingresada
“Ingrese la segunda nota”
nota2←nota ingresada
“Ingrese la segunda nota”
nota2←nota ingresada
(código de programa) (diagrama de flujo)
4. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
Tanto para el “scanf” (para capturar lo que se ingresa en pantalla) como para el printf (para mostrar
en pantalla un mensaje o valor), usar o guardar valores de las variables. Para esto es necesario
indicarle en el código que queremos usar lo que está dentro de la caja. Para eso se usa el indicador
“%” y en el scanf el “&” también.
Variable Printf Scanf
Int printf(“%d”, nmbre); scanf(“%d”,&nombre);
Double printf(“%f”,nombre); scanf(“%f”,&nombre);
Char printf(“%c”,nombre); scanf(“%c”,&nombre);
3) Procedimientos:
Una vez que tenemos los datos cargados en las variables podemos realizar cálculos o diferentes
acciones con los mismos. En el ejemplo de las notas en este punto tendríamos que ralizar el
promedio de las mismas.
promedio= (nota1+nota2+nota3) / 3;
promedio ← (nota1+nota2+nota3)/3
(código de programa) (diagrama de flujo)
Hay que tener en cuenta que dentro de los procedimientos podemos realizar cualquier cálculo
matemático con las variables y con cualquier número que ingresemos a mano en el cálculo.
4) Condicionales
Muchas veces dentro de los programas es necesario determinar dos resultados posibles dependiendo
de una condición. En el ejemplo del promedio, podemos querer determinar si la persona está
aprobada o desaprobada, para lo cual tendremos que decir que: “Si el promedio es mayor o igual
que 6 la persona está aprobada, y en caso contrario (si la nota no es mayor o igual que 6) está
desaprobada". A estas situaciones se las denomina bifurcaciones o Condicionales.
Esta afirmación se traduciría de la siguiente manera en el código:
if (promedio>=6)
printf(“Aprobado”);
else
printf(“Desaprobado”);
Promedio>=6 Aprobado
Desaprobado
(código de programa) (diagrama de flujo)
Sí
No
5. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
En los condicionales tenemos que tener en cuenta siempre que la condición que en el diagrama de
flujo va dentro del rombo y en el código va dentro del paréntesis debe tener tres partes:
Variable Conector Control
Nombre de la variable a
evaluar
> (mayor)
>= (mayor o igual)
< (menor)
<= (menor o igual)
== (igual)
!= (diferente)
'texto' (para compara con texto)
Numero (para compara con número)
Nombre de variable (para comparar con otra
variable)
Hay que tener en cuenta que en los condicionales no siempre el resultado de la condición es mostrar
algo (como en este caso, mostrar aprobado o desaprobado) hay casos en que luego de la condición
se hacen cálculos y procedimientos en las ramas que se generan de la condición.
Ejemplo: Una compañía telefónica cobra las llamadas de la siguiente manera: Si el tiempo de
duración de la llamada es inferior a 3 mín. el valor de la misma es $1 en cambio si la duración de la
llamada supera los 3 mín. el costo se calcula como $0,50 por cada minuto de la llamada.
El algoritmo completo quedaría de la siguiente manera:
El código de programación de este problema
sería el siguiente:
#include<stdio.h>
void main()
{
int min;
double valor;
printf(“Ingrese los minutos”);
scanf(“%d”,&min);
if (min<3)
valor=1
else
valor = min * 0.5;
printf (“El valor de la llamada es: %f”,valor);
}
Como se puede ver en el desarrollo de este diagrama en la respuesta Sí del condicional se guarda en
la caja Valor el valor de la llamada, y en la parte de la respuesta No se realiza el cálculo del valor de
6. Guía de Algoritmos y Programación
Prof. Pablo Daniel Chiesa
la llamada y se lo guarda en la misma caja. Luego de eso se muestra el contenido de la caja Valor
que dependiendo el camino que siguió el programa lo que tendrá guardado dentro.
Ejercicios:
1) Hacer el algoritmo y el código de un programa que permita calcular la superficie de un lugar
rectangular, y la muestre en pantalla. (la superficie de un rectángulo se calcula como: largo * ancho)
2) Usando el ejercicio anterior realizar las modificaciones necesarias para que el programa nos
muestre cuanto costará ponerle baldosas a este lugar rectangular. Suponiendo que cada baldosa
cubre 1m2. (para poder realizarlo habrá que multiplicar la superficie del lugar por el valor de las
baldosas)
3) Realizar el algoritmo y el código de un programa que permita calcular el promedio de tres notas
ingresadas por el usuario y que indique si el alumno está aprobado o desaprobado, sabiendo que
estarán aprobados todos los alumnos con notas mayores o iguales que 6.
4) Realizar el algoritmo y el código de un programa que le pida al usuario ingresar dos números
diferentes y que se fije cuál de los dos es el mayo y lo muestre en pantalla.
5) Realizar el algoritmo y el código de un programa que permita calcular el índice de masa corporal
(IMC), sabiendo que el mismo se obtiene de la siguiente cuenta:
Luego indicar si la persona tiene sobrepeso sabiendo que un IMC superior a 25 indica
sobrepeso.