Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pág. 2
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Índice
Índice de Ilustraciones.......................................................................................................................4
Índice de Tablas..................................................................................................................................4
Unidad 1. Diseño Algorítmico.............................................................................................................5
1.1 Conceptos básicos...............................................................................................................5
1.2 Representación de algoritmos: gráfica y pseudocódigo.....................................................8
1.3 Diseño de algoritmos........................................................................................................11
1.4 Diseño de funciones.........................................................................................................16
Tema 2. Introducción a la Programación..........................................................................................17
2.1 Conceptos básicos..................................................................................................................17
2.2 Características del lenguaje de programación........................................................................18
2.3 Estructura básica de un programa..........................................................................................19
2.4 Elementos del lenguaje: tipos de datos, literales, constantes, variables, identificadores,
parámetros, operadores y salida de datos...................................................................................20
2.5 Traducción de un programa: compilación, enlace, ejecución y errores.................................26
3. Control de Flujo...........................................................................................................................28
3.1 Estructuras secuenciales........................................................................................................28
3.2 Estructuras selectivas: simple, doble y múltiple.....................................................................29
3.3 Estructuras iterativas: repetir mientras, hasta, desde............................................................35
Unidad 4. Organización de datos.....................................................................................................39
4.1 Arreglos............................................................................................................................39
4.2 Unidimensionales: conceptos básicos, operaciones y aplicaciones..................................39
4.3 Multidimensionales: conceptos básicos, operaciones y aplicaciones...............................43
4.4 Estructuras o registros......................................................................................................46
Unidad 5. Modularidad....................................................................................................................47
5.1 Declaración y uso de módulos..........................................................................................47
Pág. 3
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Índice de Ilustraciones
Índice de Tablas
Tabla 1 Símbolos de los Diagramas de flujo.......................................................................................9
Tabla 2 Los tipos de datos................................................................................................................21
Tabla 3 Operadores aritméticos.......................................................................................................24
Tabla 4 Operadores relacionales......................................................................................................25
Tabla 5.Operadores de asignación...................................................................................................25
Tabla 6.Operadores lógicos..............................................................................................................26
Pág. 4
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso
se pueda describir sin ambigüedad y sin hacer referencia a una computadora en
particular, y además tiene un límite fijo en cuanto a la cantidad de datos que se pueden
leer/escribir en un solo paso.
Software de sistemas
Software de aplicación
Software de sistemas: Son las instrucciones electrónicas que van a indicar a la PC que es
lo que tiene que hacer. También se puede decir que son los programas usados para
dirigir las funciones de un sistema de computación o un hardware.
Un programa que utiliza un traductor intérprete, se identifica cuando los programas repiten
un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la misma
instrucción cada vez que aparece. Por consiguiente, los programas interpretados se
ejecutan con mucha mayor lentitud que los programas en lenguaje máquina.
Pág. 6
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
El software de Aplicación es aquel que hace que la computadora coopere con el usuario
en la realización de tareas típicamente humanas, tales como gestionar una contabilidad o
escribir un texto.
La diferencia entre los programas de aplicación y los de sistema estriba en que los de
sistemas ayudan al usuario para relacionarse con la computadora y hacer un uso más
cómo de la misma, mientras los de aplicación son programas que cooperan con el
usuario para la realización de las actividades.
Pág. 7
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Editor de Texto o también llamado texto plano se distinguen de los procesadores de texto
en que se usan para escribir solo texto, sin formato y sin imágenes, es decir sin
diagramación.
Ejercicio: Investigar los conceptos de Hojas de Cálculo, Sistemas gestores de bases de datos,
Programas de comunicaciones, Paquetes integrados, Programas de diseño asistido por
computadora y entregar en un documento en Word al profesor.
Se requiere primero tener una clara definición del problema donde se contemple lo que
debe hacer el problema y el resultado o solución deseada.
Dado que se busca una solución por computadora, en este punto se precisan
especificaciones detalladas de entrada y salida.
Para poder definir bien un problema es conveniente hacer las siguientes preguntas:
En este paso las dos herramientas más utilizadas para diseñar algoritmos son: Los
diagramas de flujo y pseudocódigo.
por sus siglas en inglés). Y los más frecuentemente empleados son los siguientes (Ver
tabla 1).
Nos permite
Decisión analizar una
situación, con base
en los valores
de verdadero y
falso.
Tabla 1 Símbolos de los Diagramas de flujo.
No hay una forma estándar de diseñar un pseudocódigo, depende en gran medida del
criterio del programador. A pesar de ello, es aconsejable respetar lo más rigurosamente
posible las siguientes normas de carácter general:
EJEMPLO:
Calcular la suma y el producto de dos números.
La solución es, lo primero que se tiene que hacer es introducir los números A y B,
después sumarlos, luego multiplicarlos y, por último, presentar los resultados al usuario en
pantalla. Estas acciones se deben ejecutar en ese orden y secuencialmente, la estructura
secuencial expresa perfectamente la solución al problema.
El pseudocódigo siguiendo las reglas descritas anteriormente sería:
1. Inicio
2. Introducir A y B
3. SUMA = A + B
4. PRODUCTO = A * B
5. Mostrar SUMA, PRODUCTO
6. Fin
Inicio
Leer A y B
SUMA=A+B
PRODUCTO=A*B
MOSTRAR
SUMA,
PRODUCTO
FIN
Pág. 10
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
El programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el
compilador y el sistema operativo que se encarga particularmente de la compilación.
.7 Documentación (manuales).
1. Inicio
2. Levantarse
3. Bañarse
4. Vestirse
5. Desayunar
6. Cepillarse los dientes
7. Salir de casa
8. Tomar el autobús
9. Llegar a la ESPE
Pág. 11
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
En este ejemplo no hubo cálculos u operaciones que realizar, por eso una secuencia de
pasos solamente. En los siguientes ejemplos se mostrará el enunciado, las
especificaciones utilizando variables para almacenar los valores. Entendiendo como
variable una posición de almacenamiento de datos de la memoria de la computadora que
tiene un nombre. Al usar un nombre de variable en el programa de hecho se está
haciendo referencia al dato que se encuentra guardado ahí.
Pseudocódigo:
1- Inicio
2- Escribir “ Programa que calcula el área de un cuadrado”
3- Escribir “ Inserta el valor de un lado del cuadrado”
4- Leer (lado)
5- Calcular area=lado * lado
6- Escribir “ El área del cuadrado es”, area
7- Fin
Diagrama de Flujo:
Inicio
“Programa que
calcula el área de
un cuadrado”
“Inserta el valor
del lado del
cuadrado”
lado
Pág. 12
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
area=lado*lado
Fin
Ejemplo3: Hacer un algoritmo que permita leer dos valores, determinar cuál de los dos
valores es mayor e imprimirlo.
Especificaciones:
Variables de entrada M, N.
Pseudocódigo
1. Inicio
2. Escribir “introducir un valor “
3. Leer M
4. Escribir “introducir otro valor “
5. Leer N
6. Si M>N Entonces Escribir M, “Es el mayor” De lo contrario: Escribir B, “Es el mayor”
7. Fin.
Diagrama de Flujo:
Inicio
“Introducir un
valor”
M
Pág. 13
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
“Introducir otro
valor”
SI
No
Ejemplo 4: Diseñe un algoritmo donde pida por teclado 4 calificaciones (Cal1, Cal2, Cal3,
Cal4), calcule la calificación promedio y escriba el resultado final.
Especificaciones:
Entrada: Leer las calificaciones individuales
Proceso: Calcular la calificación promedio
Salida: Escribir resultado con mensaje explicativo
Diagrama de Flujo:
Pág. 14
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Pseudocódigo
1. Inicio
2. Leer Cal1, Cal2, Cal3, Cal4
3. Prom = (Cal1+Cal2+Cal3+Cal4)/4
4. Escribir ("Resultado final es", Prom)
5. Fin
Pág. 15
3.- Hacer un algoritmo usando las dos herramientas, pseudocódigo y diagrama de
M.C. Irma Selene Hernández Carrillo
flujo leer la edad y preguntar cual pasatiempo tiene, si el joven tiene edad es
mayor o igual a 18 y el pasatiempo “Ir al cine”, imprimir “te invito a que hagas algún
deporte“, de lo contrario si es menor de edad y tiene algún pasatiempo, imprimir
Apuntes de la Materia Fundamentos de Programación
Programa
principal
Función suma( )
suma( );
promedio( ); Función
promedio ( )
Pág. 16
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Los Lenguajes de programación que se sugieren en estos apuntes son Java y C++.
La definición de la clase (class): Se utiliza para definir una nueva clase a través de la
palabra clave “class”.
La definición de la clase: Debe estar comprendida entre llaves: Apertura “{” y cierre “}”.
Método principal (main): Cada aplicación de Java debe contener el método, en este caso
public static void main (String args[])
Public: Se coloca para que pueda ejecutarse en cualquier lugar.
Static: Con esto el método principal puede ser llamado sin crear el objeto.
Void: El método principal no devuelve nada.
String: El método principal acepta un único argumento.
System.out.println: La salida de datos entre “ ”.
Pág. 18
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
La entrada de datos:
Se basa en todas las instrucciones que toman los datos de entrada desde un dispositivo
externo y los almacena en la memoria principal para que puedan ser procesados y
utilizados.
Algoritmo:
Salida de resultados:
Conjunto de instrucciones que toman los datos finales (resultado) de la memoria principal
y los envían a los dispositivos externos en caso de ser necesario.
Tipo de dato:
Pág. 19
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Palabra
Tip Tipo de dato Acepta Ejemplo en lenguaje C o Java
reservada
Solo
Entero int números sin int numero = 1;
fracciones.
Números
Real float con float numero = 15.75;
fracciones
Solo una
Carácter char letra o char letra = ‘m’;
carácter.
1. Tipo de dato lógico. El tipo de dato lógico o booleano es aquel que puede
representar valores de lógica binaria, esto es, valores que representen falso o
verdadero.
2. Tipo de dato String, este tipo de dato si es común que se le mencione por su
nombre en español que es cadenas o cadena de texto. String o cadena es un tipo
de dato que nos permite guardar una determinada cantidad de caracteres, no
decimos letras ya que no solamente podemos guardar las letras a-z o A-Z.
También almacena cualquier signo tipográfico “$@”, números pero no tienen
valor.
Pág. 20
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Ejemplo:
edad=23
4. Un tipo de dato tipo float, sigue dentro de los tipos de datos de números, este tipo
de números son los que permiten tener números fraccionados o podemos decir
que son números con decimales, por lo tanto son números que tienen mayor
precisión.
Ejemplo:
K=10.5
salario=23000.5
Variables
Una variable es una posición de almacenamiento de datos de la memoria de la
computadora que tiene un nombre. Al usar un nombre de variable en el programa de
hecho se está haciendo referencia a l dato que se encuentra guardado ahí.
Nombres de variable
Se debe saber cómo crear nombres de variables, para ello se debe ajustar a las
siguientes reglas:
Ejemplos de variables:
a = 5;
Edad=30;
Pág. 21
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
resultado = 75.35;
nombre = “Fundamentos de Programación”;
a=8;
Identificador
Un identificador se reconoce como un nombre, que define el programador, que sirve para
denotar ciertos elementos de un programa. Estos elementos pueden ser las denominadas
variables, constantes y funciones.
Un identificador también es equivalente a una variable, esto quiere decir que se pueden
utilizar variables que sean nombres descriptivos que se relacionen con los valores que se
almacenen, como ejemplo: nombre, edad, sexo, promedio, etc.
Literal
Una literal es un valor constante formado por una secuencia de caracteres o valores
numéricos.
Ejemplos
Literales de cadena
Una cadena es una combinación de caracteres. Las cadenas en Java son instancias de la
clase String, por ello cuentan con métodos que permiten combinar, probar y modificar
cadenas con facilidad. Las literales de cadena se representan por una secuencia de
caracteres entre comillas dobles.
Constante
Ejemplo:
PI = 3.1416
IVA=0.16
RETENCION=0.10
Parámetros:
Operadores aritméticos.
Pág. 23
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Operadores relacionales.
Operadores de asignación.
OPERADOR DESCRIPCIÓN
+= a += 5 es equivalente a a = a + 5
-= a -= 5 es equivalente a a = a - 5
*= a *= 3 es equivalente a a = a * 3
Pág. 24
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
/= a /= 3 es equivalente a a = a / 3
%= a %= 3 es equivalente a a = a % 3
Operadores lógicos.
Pág. 25
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Enlace
La siguiente etapa de compilación es el enlace con las funciones presentes en las librerias de
funciones. Si nuestro programa utiliza solo funciones ANSI, no es necesario indicarle al compilador en
cuales librerias o directivas están esas funciones, las directivas son todas aquellas líneas que
comienzan con el símbolo # por ejemplo: la directiva #include<math.h>, ésta tiene muchas
funciones matemáticas que pueden ser utilizadas, pero si se utiliza funciones definidas en una librería
propia o que no sea estándar, se debe indicar al compilador mediante algún parámetro.
Ejecución:
Después de la compilación y enlace, se genera un archivo ejecutable que es un archivo binario cuyo
contenido se interpreta por la computadora como un programa. Este archivo contiene las
instrucciones en código máquina de un procesador pero también puede contener bytecode que
requiere un intérprete para ejecutarlo.
Ejemplo en C++:
Ejemplo en Java:
Pág. 26
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Errores:
Errores de compilación: Se producen normalmente por un uso incorrecto de las reglas del
lenguaje de programación y suelen ser errores de sintaxis. Si existe un error de sintaxis, la
computadora ni pue comprender la instrucción, no se obtendrá el programa objeto y el compilador
imprimirá una lista de todos los errores encontrados durante la compilación.
Los errores deben corregirse, donde el compilador enumera los errores encontrados y se detiene la
compilación. Y se debe de corregir hasta que ya no existan errores. Las advertencias también
conocidas como warnings, no afectan al programa para su ejecución pero si el programa no está al
100% correcto si existe este tipo de advertencias.
Errores de lógica. Se producen en la lógica del programa y la fuente del error suele ser el
diseño del algoritmo. Estos errores son los más dificiles de detectar, ya que el programa puede
funcionar y no producir errores de compilación ni de ejecución, y solo pueden advertir el error por la
obtención de resultados incorrectos. En este caso se debe volve a la fase de diseño del algoritmno,
modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar una vez mas.
3. Control de Flujo
Pág. 27
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
int main()
{
int a, b, suma;
cout<<"Introduce el primer número: ";
cin>>a;
cout<<"Introduce el segundo número: ";
cin>>b;
suma=a+b;
cout<<"La suma es \n\n"<< suma;
return 0;
}
Se van ejecutando línea por línea siguiendo el orden de arriba hacia abajo, siguiendo una
secuencia de las instrucciones.
Pág. 28
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Sentencia(s);
Pág. 29
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Sentencia(s);
[else]
Sentencia(s);
Pág. 30
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
switch (expresión){
case constante1:
sentencia(s);
break;
case constante2:
sentencia(s);
Pág. 31
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
break;
case constante3:
sentencia(s);
break;
case constanteN:
sentencia(s);
break;
[default:]
sentencia(s);
}
El valor de la expresión se compara con cada una de las constantes de la sentencia case, si coincide
alguno, se ejecuta el código que le sigue, y cuando ejecuta break sale de este bloque hasta salir del
switch Si se olvida poner el break, ejecutara la opción encontrada y las siguientes en forma
secuencial. Si ninguno coincide se realiza el bloque default (opcional), si no lo hay no se ejecuta
nada.
En el caso que varias sentencias case realicen la misma ejecución se pueden agrupar, utilizando una
sola sentencia break. Evitamos de este modo duplicar líneas de código. La sintaxis es la siguiente:
Sintaxis:
switch (expresión){
case constante1:
case constante5:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
[default:]
sentencia(s);
}
La sentencia break lo que hace es abandonar directamente el bucle dándolo por
terminado.
Pág. 32
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Ejemplo:
int semestreo=3;
switch(semestre) {
case 1:
System.out.println("Primer semestre");
break;
case 2:
System.out.println("Segundo semestre");
break;
case 3:
System.out.println("Tercer semestre");
break;
case 4:
System.out.println("Cuarto semestre");
break;
default:
System.out.println("Semestre Inválido");
break;
}
Imprimirá “Tercer semestre”
Pág. 33
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Las estructuras iterativas tiene el objetivo de repetir un bloque de instrucciones varias veces,
dependiendo de la manera que se quiera utilizar, estas son repetir, mientras, hasta desde, conocidas
en los lenguajes de programación actuales como do – while, while y for.
Estructura repetitiva mientras (while): Permite la ejecución repetida de una instrucción o de un
bloque de instrucciones en tanto que la condición sea verdadera, estas instrucciones se ejecutan
repetidamente el mismo bloque de código hasta que se cumpla una condición de terminación. Hay
cuatro partes en todos los bucles. Inicialización, cuerpo, iteración y condición.
Sintaxis
[Inicialización;]
mientras(condición[es]=verdadera)
Cuerpo;
[Iteración;]
do{
Instrucción 1;
Instrucción 2;
Instrucción 3;
}while(condición=verdadera);
Ejemplo: Obtiene números hasta que el número es mayor que 99
Int num;
do{
cout<<”Ingresa un número”;
cin>>num;
}while(num<=99);
Estructura repetitiva para (for): Esta estructura ejecuta un bloque de uno o más enunciados una
determinada cantidad de veces. Normalmente la condición para terminar es de tipo numérico. La
iteración puede ser cualquier expresión matemática valida.
Ejemplo de un algoritmo utilizando para sin utilizar un lenguaje de programación.
Algoritmo Para_hasta
Pág. 35
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
En este ejemplo se puede ejecutar en un programa llamado PseInt que se puede recomendar para
utilizar los algoritmos.
Utilizando un programa con un Lenguaje de programación como C ++, Java o PHP, la sintaxis sería
diferente al ejemplo anterior del algoritmo.
Pág. 36
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
cout<<”numero”<<count<<endl;
return(0);
}
Dentro de estas estructuras repetitivas se pueden incluir las sentencias de ruptura ya que van muy
ligadas a los bucles. Estas sentencias de ruptura son continue y break (anteriormente ya se
mencionó en la sentencia de control switch).
La sentencia continue lo que hace es ignorar las sentencias que tiene el bucle y saltar directamente
a la condición para ver si sigue siendo verdadera, si es así, sigue dentro del bucle, en caso contrario,
saldría directamente del bucle.
Ejemplo en C++:
int cont=1;
while(cont<=10)
{
cout<<cont;
cont++;
if(cont==5) // aquí no se imprime el número 5
continue;
}
}
Escoger una opción, leer los datos necesarios e imprimir el área correspondiente.
Salir cuando teclee 5.
Pág. 37
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Índice
0 2
1 5
2 9
3 10
En este ejemplo con valores de tipo entero, cada elemento es controlado por un índice:
Datos [0]=2; // El índice es el valor cero o la posición en el arreglo.
Datos [1]=5; // El índice es el valor uno o la posición en el arreglo.
Datos [2]=9; // El índice es el valor dos o la posición en el arreglo.
Datos [3]=10; // El índice es el valor tres o la posición en el arreglo.
Pág. 38
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Nombre del arreglo: Dato2 con un total de 4 posiciones, partiendo de la posición 0. Este
arreglo está en forma de renglón.
Índice 0 1 2 3
2 5 9 10
Pág. 39
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
A partir de un arreglo unidimensional o vector, se pueden construir estructuras más complejas con
las características básicas del mismo arreglo, por ejemplo lo que se conoce como arreglos
multidimensionales se encuentra la matriz, que es un caso particular de vector de vectores, es decir,
son datos del mismo tipo pero que se tienen que ser identificados por 2 índices o direcciones que
visualmente se les llama fija y columna, pero cada una representa diferentes aspectos de datos por
ejemplo, en una lista de calificaciones cada dato es una calificación pero cada renglón
correspondería a un alumno diferente y cada columna a una evaluación parcial.
39 67
56 78
4 8
2 100
39 67 56 78 4 8 2 100
Pág. 41
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Ren 0
Col 0 Col 1 Col 2 Ren 1 Col 3
for(int y=0;y<3;y++)
{
System.out.println("Ingresa el nombre del alumno");
mat[x][y]=ob.nextLine(); // se almacena en el arreglo los nombres
}
}
System.out.println("\n\n");
String valor;
for (int x=0;x<3;x++)
{ for(int y=0;y<3;y++)
{
valor=String.format("%10s",mat[x][y]); //se asigna a la variable valor el
nombre //del alumno con un espacio de 10 caracteres para su impresión.
System.out.print(valor);
}
System.out.println("");//saltar al siguiente renglón
}
} // fin del main
}// cierre de la clase
Desarrolle un programa que capture los datos de dos matrices y realice la multiplicación
de ambas matrices e imprimir el resultado, ver la siguiente ilustración.
Pág. 43
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Una estructura es una colección de una o más variables, agrupadas bajo un solo nombre
para facilitar su manejo. Las variables en la estructura, a diferencia de las que se
encuentran en arreglos pueden ser de diferentes tipos de variables.
En el lenguaje C es un claro ejemplo para el uso de las estructuras:
La palabra clave struct es usada para la declaración de las estructuras.
Sintaxis:
struct nombre {
//miembros de la estructura
……
} variable;
Aquí se puede declarar la variable que utilice la estructura o se pude hacer más adelante.
Sintaxis:
struct nombre {
//miembros de la estructura
};
// Declarar la variable fuera de la estructura
struct nombre variable;
Ejemplo:
Declarar una estructura para crear una venta
struct venta{
char cliente[20];
char concepto[20];
float importe;
}miventa;
Pág. 44
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Unidad 5. Modularidad
5.1 Declaración y uso de módulos.
Los módulos o subprogramas o también conocidos más actualmente como funciones se definen
como un procedimiento que cuando se ejecuta, el módulo o la función pueden devolver un
resultado o un valor específico o no.
Existen dos tipos de funciones las estándar o proporcionadas por el lenguaje de Programación de
alto nivel y definidas por el usuario, las cuales el programador tiene un objetivo al ejecutar una
función, como puede ser una suma, o algún cálculo específico.
Es importante mencionar que en las funciones se pueden utilizan parámetros para ingresar valores,
o también puede no llevar parámetros, con un parámetro o varios parámetros.
Sintaxis de una función en algunos lenguajes de programación como Java, C, Php.
Pág. 45
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Las funciones sólo pueden devolver un valor, ya sea un tipo de dato básico, como puede ser un
número entero o una cadena o valor booleano.
Nombre de la función:
Es el nombre que le damos o como llamamos a la función y no debe ser una palabra reservada por
el lenguaje.
Argumentos o parámetros de una función:
Los argumentos de una función, también llamados parámetros, representan una lista de variables
cuyos valores son transportados a la función para ser usados por esta y suelen ser opcionales.
Estos parámetros hacen un paso de información a una función. Cuando se realiza la llamada hay que
indicar entre los paréntesis los valores que se van a enviar. Estos valores son recogidos por variables
locales que son declaradas dentro de los paréntesis.
El utilizar funciones, evita duplicar líneas, agrupamos el código y nos hace más sencillo la
modificación y detección de errores, se pueden ir cambiando los valores.
Ejemplo de una función creada por el usuario llamada suma, usando la sintaxis anterior. (La
explicación estará con un comentario con “//” a lado derecho de la línea que no afecta el programa).
int suma(int a, int b) //cabecera de la función que regresa un valor int que es un valor
//entero, la función se llama suma y tiene dos parámetros que entran con la variable a y b
{ //Abrir una llave para agrupar el cuerpo de la función.
int temporal=0; // variable temporal que se inicializa en 0 para almacenar la suma.
temporal=a+b; //se hace la operación de la suma y se almacena en temporal
return (temporal); //Utiliza la palabra reservada return que indica el valor que va a
regresar.
} //Cerrar con la llave para definir el término de la función.
{ float pro=0.0F;
pro=(a+b)/2;
Pág. 46
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
return (pro);
5.3 Implementación.
Una vez identificadas las funciones es importante hacer la ejecución de éstas con una idea
programada o un plan o modelo específico.
Un ejemplo en el Lenguaje de programación Java donde se utilizan la sentencia for, el manejo de
arreglos o matrices y la llamada de funciones.
/import java.util.Scanner;
public class Matriz2 {
/**
* @param args the command line arguments
*/
public static Scanner ob=new Scanner(System.in);
public static void main(String[] args) {
Matriz2 ox= new Matriz2();
int C[][]={{3,4,5},{9,0,3},{1,4,8}};
String nombres[][]={{"Ana","Beto","Irma"},{"Felipe","Alejandro","Mariana"}};
int ab[][]=new int[3][3];
Pág. 47
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Pág. 48
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
}
public void mostrar(int ab[][])
{
for (int x=0;x<3;x++)
{
for(int y=0;y<3;y++)
{ System.out.print(ab[x][y]+" ");
}
System.out.println("");
}
}
}
Resolver las siguientes funciones:
Escriba una función que reciba dos números como argumentos y regrese el valor de
su producto.
Escriba una función que reciba dos números como argumentos, la función debe
dividir el primer número entre el segundo. No divida cuando el segundo número sea
cero. Se recomienda usar la sentencia if.
Escriba un programa que use una función para encontrar el promedio de cinco
valores tipo float tecleados por el usuario.
Pág. 49
M.C. Irma Selene Hernández Carrillo
Apuntes de la Materia Fundamentos de Programación
Referencias
Euán, A., & Cordero, B., (1991). Estructura de Datos. Noriega Limusa.
Aitken, P., & Jones B., (1994). Aprendiendo C en 21 Días. Prentince Hall.
Tenenbaum, A., Langsam, Y., & Augenstein., M., (1993). Estructura de Datos.
Prentince Hall.
Gomez, Enrique., (2012). Desarrollo de Software con NetBeans 7.1. Alfaomega.
Lenguajes de programación 1, Identificadores, (Abril 2018).
http://agora.pucp.edu.pe/inf2170681/2.htm#:~:text=Un%20identificador%20es
%20un%20nombre,que%20se%20tratar%C3%A1n%20m%C3%A1s%20adelante
Diseño de funciones, (13 de noviembre de 2019),
https://fundamentosdelaprogramacion2019.blogspot.com/2019/11/14-diseno-de-
funciones.html
Lógica de programación.(2020).
https://virtual.itca.edu.sv/Mediadores/dlp/244_estructuras_selectivas_mltiples.html
Traducción de un programa.(Mayo 2012). Fernández Pau.
https://sites.google.com/site/tecnologicodetuxtlagutierrez/3-3-traduccion-de-un-
programa-compilacion-enlace-de-un-programa-errores-en-tiempo-de-compilacion
Ejecutables.(2012).https://sites.google.com/site/tecnologicodetuxtlagutierrez/home/
1-9-ejecutables
Pág. 50
M.C. Irma Selene Hernández Carrillo