SlideShare una empresa de Scribd logo
Manual de Laboratorio
de programación I.
Universidad Centroamericana.
Facultad de Ciencias, Tecnología y Ambiente.
Ingeniería en Sistemas de Información.
2 4 / 0 8 / 2 0 1 6
Autor: Jeffrey Noel Calero Chávez.
Profesor Elsner González.
Autor: Jeffrey Noel Calero Chávez. 1
I. Índice
I. Índice...................................................................................1
II. Tipos de datos .......................................................................3
III.Declaración de variables ..........................................................3
IV. Casting.................................................................................4
V. Arreglos................................................................................4
A. Arreglos unidimensionales.............................................................................................. 4
B. Arreglos bidimensionales................................................................................................ 5
VI. Estructuras............................................................................6
VII. Entrada y salida formateada................................................7
C. Scanf ............................................................................................................................. 7
D. Printf............................................................................................................................. 8
VIII. Entrada y salida sin formato .............................................. 16
IX. Ficheros.............................................................................. 17
E. Fseek............................................................................................................................17
X. Estructuras de control ........................................................... 18
F. If ..................................................................................................................................18
G. If/else...........................................................................................................................18
H. Switch...........................................................................................................................18
XI. Estructura de control repetitiva o de iteración condicional ............ 19
I. Contadores, acumuladores, centinelas y banderas ..........................................................20
1.1.1 Contadores y acumuladores................................................................................20
1.1.2 Contador...........................................................................................................20
1.1.3 Acumulador o totalizador...................................................................................21
1.1.4 Centinela...........................................................................................................21
1.1.5 Bandera.............................................................................................................21
J. Estructura de control repetitiva mientras (while) ............................................................21
K. Estructura de control repetitiva hacer_mientras (do while)..............................................22
Autor: Jeffrey Noel Calero Chávez. 2
L. Estructura de control repetitiva desde (for) ....................................................................22
XII. Funciones....................................................................... 22
M. Ventajas....................................................................................................................23
N. Funciones sin paso de parámetros..................................................................................23
O. Funciones con paso de parámetros ................................................................................23
P. Variables locales............................................................................................................23
Q. Variables globales..........................................................................................................24
R. Transferencia de variables. ............................................................................................24
Autor: Jeffrey Noel Calero Chávez. 3
II. Tipos de datos
En c podemos declarar diferentes tipos de variables entre estos están
los números enteros entre los cuales podemos encontrar:
 Int-cantidades enteros.
 Char-caracteres.
 Bool-(no existe en C)-valores lógicos.
 Enum-enumeraciones.
Aunque en C no existe el tipo de datos bool, se puede implementar el
número 0 como falso y cualquier otro número distinto a 0 como valor
verdadero.
También se puede ver a los números fraccionarios que se dividen en:
 Float-número en coma flotante.
 Doublé-número en coma flotante de doble precisión.
Además existe en C un tipo de dato más que representa a variables
que no poseen un valor alguno esa variable es cual es:
 Void-sin valor.
Este tipo de dato no regresa ningún valor un ejemplo de este tipo de
dato podría ser main ya que no regresa valor alguno, a menos que
posea un return porque de esa forma dicha función regresa un valor
entero.
III. Declaración de variables
Al declarar una variable se debe usar la siguiente sintaxis:
tipo_de_dato, nombre de la variable, valor que recibe la variable. Por
Autor: Jeffrey Noel Calero Chávez. 4
ejemplo:
Int x=25;
Char letra=’A’;
Bool sexo=true;
IV. Casting
El casting son conversiones en las que se puede convertir un tipo de
dato a otro como por ejemplo:
Int a;
Char L;
a= (int) L;
V. Arreglos.
A. Arreglos unidimensionales
En términos simples se puede definir un arreglo como una colección
finita, homogénea y ordenada de elementos.
Esto porque los arreglos tiene un número limitado de elementos,
además que todos los elementos deben ser del mismo tipo y porque se
puede definir el orden que tendrán los elementos.
En un arreglo todos los índices, es decir, la posición que ocuparan los
elementos en la memoria irán siempre dentro de corchetes ([]), como
Autor: Jeffrey Noel Calero Chávez. 5
por ejemplo:
Int a [5];
Los arreglos se pueden realizar de distintas formas entre las que
podemos encontrar las siguientes:
Int A [] = {11, 3, 9}; o también de esta otra forma:
Int A [3] = {11, 3, 9};
Estas son usadas para inicializar la variable y que valor tendrá cada
una de las posiciones de memoria.
B. Arreglos bidimensionales
Los arreglos bidimensionales, esta clase de arreglos consta de filas y
de columnas por tanto también son conocidos como matrices y es el
más utilizado. Al igual que arreglos unidimensionales, los
bidimensionales son finitos, homogéneos ya que todos los valores que
reciba la variable deben de ser del mismo tipo, y son ordenados.
A diferencia de los arreglos unidimensionales los bidimensionales
necesitaran de dos índices el primer índice representara la fila y el
segundo índice representara las columnas y que irán entre corchetes
([]). Por ejemplo:
Int A [2] [3];
En este ejemplo podemos notar que primero debemos definir el tipo de
la variable luego nombrar a la variable y finalmente indicar la posición
en fila y columnas en la que se encontrara.
Autor: Jeffrey Noel Calero Chávez. 6
VI. Estructuras
Las estructuras son colecciones de variables bajo un mismo nombre.
En las estructuras hay variables de distinto tipo y eso la diferencia de
los tipos de arreglos, aunque al igual que ellos es finita.
La estructura se debe realizar fuera de cualquier función esta
generalmente se hace en la parte superior aún antes de declarar
alguna variable.
Para crear una estructura primero comenzamos por definir el tipo de
estructura, para ello se procede de manera parecida a la definición de
una variable, con algunas modificaciones; en lenguaje C para definir
una estructura, se utiliza la palabra reservada struct, normalmente
seguida por un nombre y llave izquierda; después se define el tipo y
nombre para uno o más campos. Se permite cualquier definición de
tipo habitual, incluso punteros y estructuras.
Cada definición de campo acabará con un punto y coma. Por último se
coloca una llave derecha. Si hay campos del mismo tipo, se pueden
declarar en la misma línea, separándolos por comas. Sintaxis:
Struct ident_registro {
tipodato_1 campo_1;
tipodato_2 campo_2;
tipodato_3 campo_3; };
Hemos definido el tipo de dato ident_registro (nombre del registro),
pero aún no hay ninguna variable declarada con este nuevo tipo.
Observe en lenguaje C la necesidad de incluir un carácter (;) después
de cerrar las llaves. Para definir una variable de tipo registro se declara
de la misma forma que una variable:
Autor: Jeffrey Noel Calero Chávez. 7
ident_registro ident_variable;
Cada una de las variables que se encuentran dentro de la estructura se
la denomina “miembros”. Aunque también se le pueden usar las
siguientes denominaciones:
 Campo.
 Elemento.
 Atributo.
VII. Entrada y salida formateada
En el lenguaje C no podemos encontrar palabras reservadas para e/s
del sistema. Estas operaciones se realizan por medio de funciones ya
establecidas en la biblioteca de archivo de cabecera stdio.h. Las
entradas y salidas de datos con formatos se realizan con las funciones
printf (), y scanf ().
C. Scanf
La función scanf () sirve para la entrada de datos, esta nos permite
leer (introducir) datos desde el teclado asignarlos a una variable de C,
de acuerdo al formato ya definido; esta función usa la siguiente
sintaxis:
Scanf (“cadena de control”, argumento1, argumento2…);
La cadena de control permite hacer referencia al tipo de dato al que
pertenecen los argumentos que se están leyendo, y si se desea
también la anchura que posee el dato. Las cadenas de control siempre
van dentro de comillas (“”), además que están precedidas por el signo
%, seguidas por un carácter de conversión, los más usados se
Autor: Jeffrey Noel Calero Chávez. 8
presentan en la siguiente tabla:
Tipo de argumento. Tipo de dato. Cadena de control.
carácter Char %c
Entero decimal Int %d
Entero decimal sin
signo
Unsigned int %u
Entero corto decimal Short int %hd
Entero corto decimal
sin signo
Unsigned short int %hu
Entero corto decimal
con signo
Signed short int %d
Entero largo decimal Long int %ld
Entero largo decimal
sin signo
Unsigned long int %lu
Entero largo decimal
con signo
Signed long int %l
Real (punto flotante) Float %f
Puntero %p
La lista de argumentos serán las variables; scanf necesita saber la
posición de memoria de la computadora en que se encuentra la
variable para poder almacenar la información obtenida, para ello
utilizaremos el símbolo ampersand (&), que se colocara antes del
nombre de cada variable.
D. Printf
La función printf () se usa para la salida, en él se pueden escribir
textos y datos en la pantalla con determinado formato. Para esta
función usamos la siguiente sintaxis:
Printf (“cadena de control”, argumento1, argumento2…);
La cadena de control siempre se escribe dentro de comillas (“”) y
Autor: Jeffrey Noel Calero Chávez. 9
puede tener cualquiera de los siguientes elementos:
1. Los caracteres que se imprimirán en pantalla (los cuales se
visualizarán idénticos).
2. Secuencias de escape.
3. Uno o varios códigos de formatos , los cuales se presentan en la
tabla anterior.
Al igual que en la sentencia scanf un especificador o código de formato
se inicia con un carácter % y termina con un carácter de conversión;
Los argumentos pueden ser variables, constantes, o en general
expresiones de salida.
Como ejemplo podemos encontrar las siguientes estructuras con
formato:
estructura_Docente.
#include<stdio.h>
#include<stdlib.h>
Struct docente
{
Char nombre [25];
Char facultad [15];
Char correo [20];
Char clase [20];
Int celular;
Char carnet [15];
Autor: Jeffrey Noel Calero Chávez. 10
Float salario;
};
Int main ()
{
Struct docente datDoc [2];
Printf ("Ingrese la facultad a la que pertenecen");
Scanf ("%s", &datDoc [0].facultad);
Printf ("nIngrese su nombren");
Scanf ("%s", &datDoc [0].nombre);
Printf ("nIngrese su n243mero de carnetn");
Scanf ("%s", &datDoc [0].carnet);
Printf ("nDigite su correo electronicon");
Scanf ("%s", &datDoc [0].correo);
Printf ("nIngrese el nombre de la clase que imparten");
Scanf ("%s", &datDoc [0].clase);
Printf ("nIngrse su numero de celularn");
Scanf ("%d", &datDoc [0].celular);
Printf ("nIngrese su salarion");
Scanf ("%f", &datDoc [0].salario);
Autor: Jeffrey Noel Calero Chávez. 11
Return 0;
}
Estructura empleado
#include<stdio.h>
#include<stdlib.h>
struct Emp
{
Char nombre [25];
Char cedula [20];
Int edad;
float salario;
Char seguro;
Char puesto;
};
Int main ()
{
Autor: Jeffrey Noel Calero Chávez. 12
Struct Emp datE [2];
printf("Digite el nombre del empleadon");
scanf("%s",&datE[0].nombre);
printf("Digite la cedula del empleadon");
scanf("%s",&datE[0].cedula);
printf("Digite la edad del empleadon");
scanf("%d",&datE[0].edad);
printf("Digite el puesto que tiene el empleadon");
scanf("%s",&datE[0].puesto);
printf("Digite el carnet de seguro del empleadon");
scanf("%s",&datE[0].seguro);
printf("Digite el salario del empleadon");
scanf("%f",&datE[0].salario);
}
Estructura estudiante
#include<stdio.h>
#include<stdlib.h>
struct Est
Autor: Jeffrey Noel Calero Chávez. 13
{
char nombre[25];
int carnet;
int nota;
char facultad[25];
char carrera[25];
int edad;
char correo[20];
};
int main()
{
struct Est datEs[2];
printf("Ingrese el nombre del estudianten");
scanf("%s",&datEs[0].nombre);
printf("Ingrese su n243mero de carnetn");
scanf("%d",&datEs[0].carnet);
printf("Ingrese su correo electronicon");
scanf("%s",&datEs[0].correo);
printf("Digite la facultad al que pertenece el estudianten");
Autor: Jeffrey Noel Calero Chávez. 14
scanf("%s",&datEs[0].facultad);
printf("Ingrese la carrera del estudianten");
scanf("%s",&datEs[0].carrera);
printf("Digite la edad del estudianten");
scanf("%d",&datEs[0].edad);
printf("Ingrese la nota final obtenida por el estudianten");
scanf("%d",&datEs[0].nota);
return 0;
}
Estructura vehículo
#include<stdio.h>
#include<stdlib.h>
struct veh
{
char marca[25];
char modelo[25];
char cambio[10];
float precio;
Autor: Jeffrey Noel Calero Chávez. 15
};
int main()
{
struct veh datV[2];
system("color 0A");
printf("Digite la marca de vehiculon");
scanf("%s",&datV[0].marca);
printf("Digite el modelo del vehiculon");
scanf("%s",&datV[0].modelo);
printf("Digite el tipo de cambio del vehiculon");
printf("t manualn");
printf("t automaticon");
scanf("%s",&datV[0].cambio);
printf("Digite el precio del vehiculon");
scanf("%f",&datV[0].precio);
return 0;
}
Autor: Jeffrey Noel Calero Chávez. 16
VIII. Entrada y salida sin formato
Las funciones principales que realizan la entrada y salida sin formato
son:
Getche () Lee un carácter del teclado, no hay que esperar hasta que se
pulse la tecla <enter>. Visualiza el eco del carácter.
Getchar () Lee un carácter del teclado, espera hasta que se pulsa la
tecla <enter>.
Getch () Lee un carácter del teclado, no hay que esperar que se pulse
la tecla <enter>. No visualiza el eco del carácter.
Putchar () Imprime un carácter en la pantalla en la posición actual del
cursor.
Gets () Lee una cadena de caracteres introducida por el teclado.
Puts () Imprime una cadena en la pantalla, seguida de un carácter de
salto de línea.
Además de ellas usamos otras funciones como las siguientes:
Fflush (stdin) Limpia el buffer (memoria intermedia) utilizado por la
entrada estándar del sistema, generalmente el teclado.
Fflush (stdout) La función printf no escribe directamente en la pantalla,
sino en una memoria intermedia (buffer). Cuando este buffer
(memoria intermedia) se llena o cuando oprimimos un carácter ‘n’ es
cuando se envía el texto a la pantalla. La función fflush (stdout) lo que
hace es enviar a la pantalla lo que hay en ese buffer.
Autor: Jeffrey Noel Calero Chávez. 17
IX. Ficheros
Un archivo es un conjunto de bits almacenados en un dispositivo de
memoria secundaria, el cual puede ser almacenado con un conjunto de
propiedades y recuperados de la misma manera por el sistema
operativo para que un programa tenga acceso a este.
Un archivo es identificado por un nombre y la descripción de la carpeta
o directorio que lo contiene.
Los archivos digitales se llaman así porque son los equivalentes
digitales de los archivos en tarjetas, papel o microfichas del entorno de
oficina tradicional. Podemos encontrar dos tipos de archivos; archivos
de texto y archivos binarios.
Para poder trabajar con un archivo asociamos una estructura de tipo
FILE con un archivo especifico realizando una operación de apertura.
E. Fseek
Cuando se lee un dato de un fichero y después el que está a
continuación a él, y así sucesivamente, se dice que está realizando una
lectura secuencial del mismo. La función permite situarse en un
determinado dato del fichero es:
Fseek (fichero, posición, origen);
Si no existe ningún error la función devuelve un 0. Coloca el puntero
del fichero a tanto Bytes del origen como indica la posición contando a
partir del origen señalado. Los posibles orígenes son:
SEEK_SET o 0- principio del fichero.
SEEK_CUR o 1- posición actual.
Autor: Jeffrey Noel Calero Chávez. 18
SEEK_END o 2- final del fichero.
X. Estructuras de control
F. If
Estructura de control que dirige a la computadora para ejecutar una o
más instrucciones solamente si la condición es verdadera. Si la
condición es falsa no realiza ninguna acción. El término condición lo
utilizaremos a lo largo de este libro para referirnos a una o más
condiciones.
Existen dos formas de representarlo, dependiendo del número de
instrucciones que se desean realizar si la condición se cumple.
G. If/else
Estructura de control que dirige a la computadora para ejecutar una
acción si la condición es verdadera, y otra acción en caso de que sea
falsa. Cabe mencionar que las instrucciones deberán ser diferentes en
cada caso, ya que si fueran iguales no se requeriría una estructura
selectiva, con la estructura secuencial se resolvería el problema.
Existen dos formas de representarlo, dependiendo del número de
instrucciones que se desean realizar si la condición se cumple o no.
H. Switch
Esta estructura selecciona entre varias posibilidades, dependiendo del
valor de la expresión. Cuando en la estructura si (if) todas las
condiciones utilizan la igualdad de una variable determinada con
constantes predefinidas, se puede utilizar la instrucción segun_sea
(switch), en dicha instrucción existen más de dos opciones.
Autor: Jeffrey Noel Calero Chávez. 19
La estructura segun_sea (switch) evalúa una expresión que puede
tomar n valores distintos; según con cuál de estos valores coincida, se
ejecutarán ciertas acciones, es decir, el programa o algoritmo seguirá
un determinado camino entre los n posibles. Dicha expresión sólo
acepta valores enteros o caracteres para entrar a la opción y el
operador de relación es el igual.
Se compara la “expresión” (puede ser una sola variable) con cada
una de las opciones “const” y en el momento de encontrar una
constante idéntica se ejecutan la(s) instrucción(es) correspondiente(s)
a ese caso. Al terminar de realizar las instrucciones del caso, se debe
usar la palabra reservada salir (break) para que vaya al final de la
estructura. Si ninguno de los casos cumple con la expresión, se puede
definir un caso por omisión, que también puede tener instrucciones; la
computadora ejecutará la sentencia caso contrario (default). El default
es opcional, si no está presente no se hace nada. Hay tres puntos que
debemos considerar en la sentencia segun_sea (switch):
1. Se diferencia del sí (if) en que el primero sólo puede comprobar por
igualdad, mientras que la expresión condicionada del sí (if) puede ser
de cualquier tipo.
2. No puede tener dos constantes en los casos con idénticos valores en
el mismo segun_sea (switch).
3. La sentencia segun_sea (switch) es más eficiente que el si anidado
si-si no-si (if-else-if).
XI. Estructura de control repetitiva o de iteración
condicional
La repetición de una acción (una o varias instrucciones) se lleva a cabo
mientras se cumpla cierta condición; para que la acción termine, la
acción misma debe modificar la(s) variable(s) de control que
Autor: Jeffrey Noel Calero Chávez. 20
interviene(n) en la condición. Dicha condición puede estar predefinida
como en el ciclo desde (for); o no predeterminada, como en los bucles
mientras (while) y hacer-mientras (do_while).
Bucles, ciclo o iteración. Es un segmento de un algoritmo o programa,
cuya(s) instrucción(es) se repite(n) un número conocido o indefinido
de veces mientras se cumpla una determinada condición.
I. Contadores,acumuladores,centinelas y banderas
1.1.1 Contadores y acumuladores
Estas dos palabras se usan mucho en programación para referirse a
variables que van incrementando o decrementando su valor a lo largo
de la ejecución del algoritmo o programa. Normalmente serán de tipo
numérico, Características de la variable contador o acumulador:
1. Se debe inicializar antes de entrar al ciclo.
2. Dentro del ciclo debe aparecer a ambos lados de la asignación.
Debemos inicializarlas de forma correcta, para:
• Sumar o restar en cero antes de entrar al ciclo; recordar que el cero
es el elemento neutro de la suma y resta.
• Multiplicar 1, porque si valen cero todo lo que multipliquemos por
ella seguirá valiendo cero; recordar que el 1 es el elemento neutro de
la multiplicación.
1.1.2 Contador
Un contador es una forma de controlar a un bucle. Es una variable
cuyo valor se incrementa o decrementa en una cantidad constante
cada vez que se produce un determinado suceso o acción en cada
repetición; dicha variable controla o determina la cantidad de veces
Autor: Jeffrey Noel Calero Chávez. 21
que se repite un proceso o dato.
1.1.3 Acumulador o totalizador
Un acumulador realiza la misma función que un contador con la
diferencia de que el incremento o decremento es variable en lugar de
constante.
Es una variable que acumula sobre sí misma un conjunto de valores,
para de esta manera tener la acumulación de todos ellos en una sola
variable. Es una variable que almacena cantidades resultantes de
operaciones sucesivas.
1.1.4 Centinela
El centinela es una variable que inicia con un valor, luego dentro de un
bucle este valor cambia, haciendo falsa la condición del ciclo y por lo
tanto indicará el fin del ciclo (el usuario puede determinar cuándo
hacerlo). La repetición controlada por centinela se considera como una
repetición indefinida (se desconoce el número de repeticiones).
1.1.5 Bandera
tomar sólo dos valores opuestos, generalmente: 1 (verdadero) o 0
(falso), a lo largo de la ejecución del algoritmo o programa. Es muy
utilizado en búsquedas.
J. Estructurade control repetitivamientras (while)
Al ejecutarse la instrucción mientras (while), se evaluará la expresión
booleana suministrada en los paréntesis (condición), y si su valor es
verdadero (distinto de cero) se realizará el ciclo o bucle (una o varias
instrucciones). Después, la condición es reevaluada y se procede de la
misma manera. Cuando la condición se vuelve falsa (es decir, cero), en
la siguiente evaluación se dará por terminado el ciclo mientras (while).
Si la condición nunca se vuelve cero, el ciclo nunca terminará y,
dependiendo de las instrucciones incluidas en el bucle, se generaría un
error de ejecución que detendría el programa, o podría ser que el
Autor: Jeffrey Noel Calero Chávez. 22
programa itere indefinidamente hasta ser detenido en forma manual.
En esta estructura no se conoce necesariamente el número de veces
que entrará al ciclo, ya que esto dependerá de la condición definida.
K. Estructurade control repetitivahacer_mientras (do while)
Esta estructura le permite al programador especificar que se repita una
acción en tanto cierta condición sea verdadera; cuando ésta es falsa se
sale del ciclo. La condición la revisa después del ciclo o bucle.
Es muy semejante al ciclo mientras, con la diferencia de que la
condición se evalúa después de ejecutar el cuerpo del bucle. Tanto el
ciclo mientras como el hacer_mientras pueden utilizarse cuando no se
conoce de antemano el número de veces que se repetirá el ciclo.
L. Estructurade control repetitivadesde (for)
El desde (for) es la estructura repetitiva más utilizada y simple de
manejar, ya que repite un conjunto de instrucciones un número
determinado de veces. Una de sus aplicaciones principales son los
arreglos.
XII. Funciones
La programación modular o funciones es una técnica que consiste en
dividir un programa en tareas y dar origen a la creación de pequeños
programas llamados módulos, subprogramas o subrutinas con la
finalidad de simplificar la elaboración y mantenimiento del mismo,
donde cada módulo se codifica y se procesa de manera independiente,
sin importar los detalles de otros módulos.
Las funciones son los bloques de construcción básicos de C. dentro de
ellas se da toda la actividad del programa.
Todo problema se puede resolver con funciones o sin ellas, pero su
uso adecuado hace que el programa sea más eficiente, fácil de leer y
Autor: Jeffrey Noel Calero Chávez. 23
probar.
M. Ventajas
 Facilita el diseño descendente.
 Los procedimientos dentro de ellas se pueden ejecutar varias
veces.
 Facilita la división de tareas.
 Se puede probar individualmente.
Las funciones pueden ser declaradas antes del main es decir fuera del
programa principal. Pero son llamadas dentro de este, la sintaxis para
declarar una función es la siguiente:
Tipo nombre_funcion (lista de parámetros) {
Lista de instrucciones;
}
N. Funciones sin paso de parámetros
Son aquellas que no reciben parámetros o valores, ya que éstos se
solicitan dentro de la función, luego se realizan las instrucciones
(cálculos u operaciones) y normalmente se imprime el resultado.
O. Funciones con paso de parámetros
Estas funciones son las más utilizadas en la programación ya que
pueden recibir uno o más valores llamados parámetros y regresan un
solo valor de tipo entero, real o carácter. Si deseas regresar un arreglo
de carácter es necesario hacerlo desde los parámetros. Los parámetros
o valores son enviados del programa principal o de otra función.
Dentro de la función se realizan solamente las instrucciones (cálculos u
operaciones).
P. Variables locales.
Se declaran dentro de la función y solo están disponibles durante su
Autor: Jeffrey Noel Calero Chávez. 24
ejecución.
Q. Variables globales.
Se declaran fuera de las funciones. Pueden ser utilizadas por todas las
funciones.
R. Transferenciade variables.
Por valor: copia el valor de la llamada en el parámetro formal de la
función.
Por referencia: se copia la dirección del argumento en el parámetro.

Más contenido relacionado

DOCX
Trabajo de computacion
DOCX
Elementos de una clase
PPS
Identificadores, variables y constantes
DOCX
5.1 estructura de una clase.
PDF
Tema 2 tipos de datos y expresiones en java por gio
PDF
Diseño de la logica
PDF
9 Curso de POO en java - variables, constantes y objetos
PPSX
Elementos De Una Clase
Trabajo de computacion
Elementos de una clase
Identificadores, variables y constantes
5.1 estructura de una clase.
Tema 2 tipos de datos y expresiones en java por gio
Diseño de la logica
9 Curso de POO en java - variables, constantes y objetos
Elementos De Una Clase

La actualidad más candente (17)

PPT
Constructor Y Destructor
PPTX
Tipos de variables que Java maneja
PPSX
Variables en java
PPTX
Tipos de Variables en Java
ODP
02 python Programación orientada a objetos y funcional
PPSX
Tutorial C++
PDF
Tipos de datos en java
PPTX
Tipos de datos.java
PPTX
PPT
C2 clases en java
PPTX
Unidad 2
PPT
Introducción a la Programaciónen Java
PPTX
TIPOS DE DATOS EN JAVA
PPTX
Constructores en java(grupo 8)
ODP
Programación Orientada a Objetos para Python
Constructor Y Destructor
Tipos de variables que Java maneja
Variables en java
Tipos de Variables en Java
02 python Programación orientada a objetos y funcional
Tutorial C++
Tipos de datos en java
Tipos de datos.java
C2 clases en java
Unidad 2
Introducción a la Programaciónen Java
TIPOS DE DATOS EN JAVA
Constructores en java(grupo 8)
Programación Orientada a Objetos para Python
Publicidad

Destacado (15)

PPTX
Karishma kapoor salwar kameez | Ftrendy
ODP
Florencia c urbelo inglés 1°c
PDF
Imaginarios de Futbol y Territorios. (Imaginary vision of football and territ...
PDF
Chapter 13 Reports 2-5-15
TXT
DOS DÍAS CON HIMMLER
PPTX
PPS
Buenas fotos mal-fondo
DOCX
Say no to Fluoride
PPT
Santyago rivero food
ODP
Micaela lescano final 2015
PDF
servicios auxiliares
PDF
Descubrimiento de américa
PDF
Encore Concepts 2016 Brochure
PPT
3. IoT nhanh trên Arduino_Mr. Hoàng Bảo Anh Hshop.vn
PPTX
Ftendy beautiful new collection
Karishma kapoor salwar kameez | Ftrendy
Florencia c urbelo inglés 1°c
Imaginarios de Futbol y Territorios. (Imaginary vision of football and territ...
Chapter 13 Reports 2-5-15
DOS DÍAS CON HIMMLER
Buenas fotos mal-fondo
Say no to Fluoride
Santyago rivero food
Micaela lescano final 2015
servicios auxiliares
Descubrimiento de américa
Encore Concepts 2016 Brochure
3. IoT nhanh trên Arduino_Mr. Hoàng Bảo Anh Hshop.vn
Ftendy beautiful new collection
Publicidad

Similar a Manual laboratorio de programación i (20)

PDF
Lenguajes de Programación: Tutorial csharp
DOCX
Trabajo de computacion
PPTX
Programacion en java_inicio apeuntes para ems
PPTX
CÁLCULO RELACIONAL
PPTX
PDF
Tema 5 arreglos y cadenas - lsia por gio
PDF
Funciones en lenguage c
PDF
Tema 5 arreglos y cadenas por gio
PPT
Ambiente de programación en pascal
PPT
Ambientedeprogramacinenpascal 111015091809-phpapp02
PPT
Ambiente
PPT
Ambiente de programacin en pascal
PPT
Ambiente de programación en pascal
PPTX
Clasificación de las estructuras de datos.pptx
PDF
Tipos de datos
PPTX
Java variables
DOCX
Programacion
PPT
Introduccions a java
PPT
Fundamentos de programacion en java
DOC
Vectores y matrices
Lenguajes de Programación: Tutorial csharp
Trabajo de computacion
Programacion en java_inicio apeuntes para ems
CÁLCULO RELACIONAL
Tema 5 arreglos y cadenas - lsia por gio
Funciones en lenguage c
Tema 5 arreglos y cadenas por gio
Ambiente de programación en pascal
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambiente
Ambiente de programacin en pascal
Ambiente de programación en pascal
Clasificación de las estructuras de datos.pptx
Tipos de datos
Java variables
Programacion
Introduccions a java
Fundamentos de programacion en java
Vectores y matrices

Más de Estudiantes ISI_UCA (20)

DOCX
Manual C/C++
DOCX
Manual C/C++ Jason Martinez
DOCX
Manual C-C++ Pablo
DOCX
Manual programación
DOCX
Manual C/C++ Carlos Diaz
DOCX
Manual de usuario c
DOCX
Manual C/C++ Néstor Flores
DOCX
Manual AGFV
DOCX
Manual C / C++ Melvin
DOCX
Manual laboratorio de programación#1
DOCX
Manual de Programación c/c++ Ricky Bonilla
DOCX
Manual programación
DOCX
Manual de usuario (C/C++)
DOCX
Manualito C/C++ - Leonardo Aquino
DOCX
Manual de programación en C/C++
PDF
Lenguaje de programacion en c
DOCX
Manual de c c++
DOCX
manualitoRodolfo
DOCX
Manual Francis Jarquin R
Manual C/C++
Manual C/C++ Jason Martinez
Manual C-C++ Pablo
Manual programación
Manual C/C++ Carlos Diaz
Manual de usuario c
Manual C/C++ Néstor Flores
Manual AGFV
Manual C / C++ Melvin
Manual laboratorio de programación#1
Manual de Programación c/c++ Ricky Bonilla
Manual programación
Manual de usuario (C/C++)
Manualito C/C++ - Leonardo Aquino
Manual de programación en C/C++
Lenguaje de programacion en c
Manual de c c++
manualitoRodolfo
Manual Francis Jarquin R

Último (20)

PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PPTX
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
PDF
Informe Estudio Final Apagon del 25 de febrero
PDF
Primera formulación de cargos de la SEC en contra del CEN
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PPTX
Seminario de telecomunicaciones para ingeniería
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPTX
Introducción al Diseño de Máquinas Metodos.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
Software para la educación instituciones superiores
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
presentacion sobre los polimeros, como se conforman
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
Curso Corto de PLANTA CONCENTRADORA FREEPORT
Sustancias Peligrosas de empresas para su correcto manejo
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
Informe Estudio Final Apagon del 25 de febrero
Primera formulación de cargos de la SEC en contra del CEN
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
Seminario de telecomunicaciones para ingeniería
NILS actividad 4 PRESENTACION.pptx pppppp
Introducción al Diseño de Máquinas Metodos.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Software para la educación instituciones superiores
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
presentacion sobre los polimeros, como se conforman

Manual laboratorio de programación i

  • 1. Manual de Laboratorio de programación I. Universidad Centroamericana. Facultad de Ciencias, Tecnología y Ambiente. Ingeniería en Sistemas de Información. 2 4 / 0 8 / 2 0 1 6 Autor: Jeffrey Noel Calero Chávez. Profesor Elsner González.
  • 2. Autor: Jeffrey Noel Calero Chávez. 1 I. Índice I. Índice...................................................................................1 II. Tipos de datos .......................................................................3 III.Declaración de variables ..........................................................3 IV. Casting.................................................................................4 V. Arreglos................................................................................4 A. Arreglos unidimensionales.............................................................................................. 4 B. Arreglos bidimensionales................................................................................................ 5 VI. Estructuras............................................................................6 VII. Entrada y salida formateada................................................7 C. Scanf ............................................................................................................................. 7 D. Printf............................................................................................................................. 8 VIII. Entrada y salida sin formato .............................................. 16 IX. Ficheros.............................................................................. 17 E. Fseek............................................................................................................................17 X. Estructuras de control ........................................................... 18 F. If ..................................................................................................................................18 G. If/else...........................................................................................................................18 H. Switch...........................................................................................................................18 XI. Estructura de control repetitiva o de iteración condicional ............ 19 I. Contadores, acumuladores, centinelas y banderas ..........................................................20 1.1.1 Contadores y acumuladores................................................................................20 1.1.2 Contador...........................................................................................................20 1.1.3 Acumulador o totalizador...................................................................................21 1.1.4 Centinela...........................................................................................................21 1.1.5 Bandera.............................................................................................................21 J. Estructura de control repetitiva mientras (while) ............................................................21 K. Estructura de control repetitiva hacer_mientras (do while)..............................................22
  • 3. Autor: Jeffrey Noel Calero Chávez. 2 L. Estructura de control repetitiva desde (for) ....................................................................22 XII. Funciones....................................................................... 22 M. Ventajas....................................................................................................................23 N. Funciones sin paso de parámetros..................................................................................23 O. Funciones con paso de parámetros ................................................................................23 P. Variables locales............................................................................................................23 Q. Variables globales..........................................................................................................24 R. Transferencia de variables. ............................................................................................24
  • 4. Autor: Jeffrey Noel Calero Chávez. 3 II. Tipos de datos En c podemos declarar diferentes tipos de variables entre estos están los números enteros entre los cuales podemos encontrar:  Int-cantidades enteros.  Char-caracteres.  Bool-(no existe en C)-valores lógicos.  Enum-enumeraciones. Aunque en C no existe el tipo de datos bool, se puede implementar el número 0 como falso y cualquier otro número distinto a 0 como valor verdadero. También se puede ver a los números fraccionarios que se dividen en:  Float-número en coma flotante.  Doublé-número en coma flotante de doble precisión. Además existe en C un tipo de dato más que representa a variables que no poseen un valor alguno esa variable es cual es:  Void-sin valor. Este tipo de dato no regresa ningún valor un ejemplo de este tipo de dato podría ser main ya que no regresa valor alguno, a menos que posea un return porque de esa forma dicha función regresa un valor entero. III. Declaración de variables Al declarar una variable se debe usar la siguiente sintaxis: tipo_de_dato, nombre de la variable, valor que recibe la variable. Por
  • 5. Autor: Jeffrey Noel Calero Chávez. 4 ejemplo: Int x=25; Char letra=’A’; Bool sexo=true; IV. Casting El casting son conversiones en las que se puede convertir un tipo de dato a otro como por ejemplo: Int a; Char L; a= (int) L; V. Arreglos. A. Arreglos unidimensionales En términos simples se puede definir un arreglo como una colección finita, homogénea y ordenada de elementos. Esto porque los arreglos tiene un número limitado de elementos, además que todos los elementos deben ser del mismo tipo y porque se puede definir el orden que tendrán los elementos. En un arreglo todos los índices, es decir, la posición que ocuparan los elementos en la memoria irán siempre dentro de corchetes ([]), como
  • 6. Autor: Jeffrey Noel Calero Chávez. 5 por ejemplo: Int a [5]; Los arreglos se pueden realizar de distintas formas entre las que podemos encontrar las siguientes: Int A [] = {11, 3, 9}; o también de esta otra forma: Int A [3] = {11, 3, 9}; Estas son usadas para inicializar la variable y que valor tendrá cada una de las posiciones de memoria. B. Arreglos bidimensionales Los arreglos bidimensionales, esta clase de arreglos consta de filas y de columnas por tanto también son conocidos como matrices y es el más utilizado. Al igual que arreglos unidimensionales, los bidimensionales son finitos, homogéneos ya que todos los valores que reciba la variable deben de ser del mismo tipo, y son ordenados. A diferencia de los arreglos unidimensionales los bidimensionales necesitaran de dos índices el primer índice representara la fila y el segundo índice representara las columnas y que irán entre corchetes ([]). Por ejemplo: Int A [2] [3]; En este ejemplo podemos notar que primero debemos definir el tipo de la variable luego nombrar a la variable y finalmente indicar la posición en fila y columnas en la que se encontrara.
  • 7. Autor: Jeffrey Noel Calero Chávez. 6 VI. Estructuras Las estructuras son colecciones de variables bajo un mismo nombre. En las estructuras hay variables de distinto tipo y eso la diferencia de los tipos de arreglos, aunque al igual que ellos es finita. La estructura se debe realizar fuera de cualquier función esta generalmente se hace en la parte superior aún antes de declarar alguna variable. Para crear una estructura primero comenzamos por definir el tipo de estructura, para ello se procede de manera parecida a la definición de una variable, con algunas modificaciones; en lenguaje C para definir una estructura, se utiliza la palabra reservada struct, normalmente seguida por un nombre y llave izquierda; después se define el tipo y nombre para uno o más campos. Se permite cualquier definición de tipo habitual, incluso punteros y estructuras. Cada definición de campo acabará con un punto y coma. Por último se coloca una llave derecha. Si hay campos del mismo tipo, se pueden declarar en la misma línea, separándolos por comas. Sintaxis: Struct ident_registro { tipodato_1 campo_1; tipodato_2 campo_2; tipodato_3 campo_3; }; Hemos definido el tipo de dato ident_registro (nombre del registro), pero aún no hay ninguna variable declarada con este nuevo tipo. Observe en lenguaje C la necesidad de incluir un carácter (;) después de cerrar las llaves. Para definir una variable de tipo registro se declara de la misma forma que una variable:
  • 8. Autor: Jeffrey Noel Calero Chávez. 7 ident_registro ident_variable; Cada una de las variables que se encuentran dentro de la estructura se la denomina “miembros”. Aunque también se le pueden usar las siguientes denominaciones:  Campo.  Elemento.  Atributo. VII. Entrada y salida formateada En el lenguaje C no podemos encontrar palabras reservadas para e/s del sistema. Estas operaciones se realizan por medio de funciones ya establecidas en la biblioteca de archivo de cabecera stdio.h. Las entradas y salidas de datos con formatos se realizan con las funciones printf (), y scanf (). C. Scanf La función scanf () sirve para la entrada de datos, esta nos permite leer (introducir) datos desde el teclado asignarlos a una variable de C, de acuerdo al formato ya definido; esta función usa la siguiente sintaxis: Scanf (“cadena de control”, argumento1, argumento2…); La cadena de control permite hacer referencia al tipo de dato al que pertenecen los argumentos que se están leyendo, y si se desea también la anchura que posee el dato. Las cadenas de control siempre van dentro de comillas (“”), además que están precedidas por el signo %, seguidas por un carácter de conversión, los más usados se
  • 9. Autor: Jeffrey Noel Calero Chávez. 8 presentan en la siguiente tabla: Tipo de argumento. Tipo de dato. Cadena de control. carácter Char %c Entero decimal Int %d Entero decimal sin signo Unsigned int %u Entero corto decimal Short int %hd Entero corto decimal sin signo Unsigned short int %hu Entero corto decimal con signo Signed short int %d Entero largo decimal Long int %ld Entero largo decimal sin signo Unsigned long int %lu Entero largo decimal con signo Signed long int %l Real (punto flotante) Float %f Puntero %p La lista de argumentos serán las variables; scanf necesita saber la posición de memoria de la computadora en que se encuentra la variable para poder almacenar la información obtenida, para ello utilizaremos el símbolo ampersand (&), que se colocara antes del nombre de cada variable. D. Printf La función printf () se usa para la salida, en él se pueden escribir textos y datos en la pantalla con determinado formato. Para esta función usamos la siguiente sintaxis: Printf (“cadena de control”, argumento1, argumento2…); La cadena de control siempre se escribe dentro de comillas (“”) y
  • 10. Autor: Jeffrey Noel Calero Chávez. 9 puede tener cualquiera de los siguientes elementos: 1. Los caracteres que se imprimirán en pantalla (los cuales se visualizarán idénticos). 2. Secuencias de escape. 3. Uno o varios códigos de formatos , los cuales se presentan en la tabla anterior. Al igual que en la sentencia scanf un especificador o código de formato se inicia con un carácter % y termina con un carácter de conversión; Los argumentos pueden ser variables, constantes, o en general expresiones de salida. Como ejemplo podemos encontrar las siguientes estructuras con formato: estructura_Docente. #include<stdio.h> #include<stdlib.h> Struct docente { Char nombre [25]; Char facultad [15]; Char correo [20]; Char clase [20]; Int celular; Char carnet [15];
  • 11. Autor: Jeffrey Noel Calero Chávez. 10 Float salario; }; Int main () { Struct docente datDoc [2]; Printf ("Ingrese la facultad a la que pertenecen"); Scanf ("%s", &datDoc [0].facultad); Printf ("nIngrese su nombren"); Scanf ("%s", &datDoc [0].nombre); Printf ("nIngrese su n243mero de carnetn"); Scanf ("%s", &datDoc [0].carnet); Printf ("nDigite su correo electronicon"); Scanf ("%s", &datDoc [0].correo); Printf ("nIngrese el nombre de la clase que imparten"); Scanf ("%s", &datDoc [0].clase); Printf ("nIngrse su numero de celularn"); Scanf ("%d", &datDoc [0].celular); Printf ("nIngrese su salarion"); Scanf ("%f", &datDoc [0].salario);
  • 12. Autor: Jeffrey Noel Calero Chávez. 11 Return 0; } Estructura empleado #include<stdio.h> #include<stdlib.h> struct Emp { Char nombre [25]; Char cedula [20]; Int edad; float salario; Char seguro; Char puesto; }; Int main () {
  • 13. Autor: Jeffrey Noel Calero Chávez. 12 Struct Emp datE [2]; printf("Digite el nombre del empleadon"); scanf("%s",&datE[0].nombre); printf("Digite la cedula del empleadon"); scanf("%s",&datE[0].cedula); printf("Digite la edad del empleadon"); scanf("%d",&datE[0].edad); printf("Digite el puesto que tiene el empleadon"); scanf("%s",&datE[0].puesto); printf("Digite el carnet de seguro del empleadon"); scanf("%s",&datE[0].seguro); printf("Digite el salario del empleadon"); scanf("%f",&datE[0].salario); } Estructura estudiante #include<stdio.h> #include<stdlib.h> struct Est
  • 14. Autor: Jeffrey Noel Calero Chávez. 13 { char nombre[25]; int carnet; int nota; char facultad[25]; char carrera[25]; int edad; char correo[20]; }; int main() { struct Est datEs[2]; printf("Ingrese el nombre del estudianten"); scanf("%s",&datEs[0].nombre); printf("Ingrese su n243mero de carnetn"); scanf("%d",&datEs[0].carnet); printf("Ingrese su correo electronicon"); scanf("%s",&datEs[0].correo); printf("Digite la facultad al que pertenece el estudianten");
  • 15. Autor: Jeffrey Noel Calero Chávez. 14 scanf("%s",&datEs[0].facultad); printf("Ingrese la carrera del estudianten"); scanf("%s",&datEs[0].carrera); printf("Digite la edad del estudianten"); scanf("%d",&datEs[0].edad); printf("Ingrese la nota final obtenida por el estudianten"); scanf("%d",&datEs[0].nota); return 0; } Estructura vehículo #include<stdio.h> #include<stdlib.h> struct veh { char marca[25]; char modelo[25]; char cambio[10]; float precio;
  • 16. Autor: Jeffrey Noel Calero Chávez. 15 }; int main() { struct veh datV[2]; system("color 0A"); printf("Digite la marca de vehiculon"); scanf("%s",&datV[0].marca); printf("Digite el modelo del vehiculon"); scanf("%s",&datV[0].modelo); printf("Digite el tipo de cambio del vehiculon"); printf("t manualn"); printf("t automaticon"); scanf("%s",&datV[0].cambio); printf("Digite el precio del vehiculon"); scanf("%f",&datV[0].precio); return 0; }
  • 17. Autor: Jeffrey Noel Calero Chávez. 16 VIII. Entrada y salida sin formato Las funciones principales que realizan la entrada y salida sin formato son: Getche () Lee un carácter del teclado, no hay que esperar hasta que se pulse la tecla <enter>. Visualiza el eco del carácter. Getchar () Lee un carácter del teclado, espera hasta que se pulsa la tecla <enter>. Getch () Lee un carácter del teclado, no hay que esperar que se pulse la tecla <enter>. No visualiza el eco del carácter. Putchar () Imprime un carácter en la pantalla en la posición actual del cursor. Gets () Lee una cadena de caracteres introducida por el teclado. Puts () Imprime una cadena en la pantalla, seguida de un carácter de salto de línea. Además de ellas usamos otras funciones como las siguientes: Fflush (stdin) Limpia el buffer (memoria intermedia) utilizado por la entrada estándar del sistema, generalmente el teclado. Fflush (stdout) La función printf no escribe directamente en la pantalla, sino en una memoria intermedia (buffer). Cuando este buffer (memoria intermedia) se llena o cuando oprimimos un carácter ‘n’ es cuando se envía el texto a la pantalla. La función fflush (stdout) lo que hace es enviar a la pantalla lo que hay en ese buffer.
  • 18. Autor: Jeffrey Noel Calero Chávez. 17 IX. Ficheros Un archivo es un conjunto de bits almacenados en un dispositivo de memoria secundaria, el cual puede ser almacenado con un conjunto de propiedades y recuperados de la misma manera por el sistema operativo para que un programa tenga acceso a este. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos digitales se llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Podemos encontrar dos tipos de archivos; archivos de texto y archivos binarios. Para poder trabajar con un archivo asociamos una estructura de tipo FILE con un archivo especifico realizando una operación de apertura. E. Fseek Cuando se lee un dato de un fichero y después el que está a continuación a él, y así sucesivamente, se dice que está realizando una lectura secuencial del mismo. La función permite situarse en un determinado dato del fichero es: Fseek (fichero, posición, origen); Si no existe ningún error la función devuelve un 0. Coloca el puntero del fichero a tanto Bytes del origen como indica la posición contando a partir del origen señalado. Los posibles orígenes son: SEEK_SET o 0- principio del fichero. SEEK_CUR o 1- posición actual.
  • 19. Autor: Jeffrey Noel Calero Chávez. 18 SEEK_END o 2- final del fichero. X. Estructuras de control F. If Estructura de control que dirige a la computadora para ejecutar una o más instrucciones solamente si la condición es verdadera. Si la condición es falsa no realiza ninguna acción. El término condición lo utilizaremos a lo largo de este libro para referirnos a una o más condiciones. Existen dos formas de representarlo, dependiendo del número de instrucciones que se desean realizar si la condición se cumple. G. If/else Estructura de control que dirige a la computadora para ejecutar una acción si la condición es verdadera, y otra acción en caso de que sea falsa. Cabe mencionar que las instrucciones deberán ser diferentes en cada caso, ya que si fueran iguales no se requeriría una estructura selectiva, con la estructura secuencial se resolvería el problema. Existen dos formas de representarlo, dependiendo del número de instrucciones que se desean realizar si la condición se cumple o no. H. Switch Esta estructura selecciona entre varias posibilidades, dependiendo del valor de la expresión. Cuando en la estructura si (if) todas las condiciones utilizan la igualdad de una variable determinada con constantes predefinidas, se puede utilizar la instrucción segun_sea (switch), en dicha instrucción existen más de dos opciones.
  • 20. Autor: Jeffrey Noel Calero Chávez. 19 La estructura segun_sea (switch) evalúa una expresión que puede tomar n valores distintos; según con cuál de estos valores coincida, se ejecutarán ciertas acciones, es decir, el programa o algoritmo seguirá un determinado camino entre los n posibles. Dicha expresión sólo acepta valores enteros o caracteres para entrar a la opción y el operador de relación es el igual. Se compara la “expresión” (puede ser una sola variable) con cada una de las opciones “const” y en el momento de encontrar una constante idéntica se ejecutan la(s) instrucción(es) correspondiente(s) a ese caso. Al terminar de realizar las instrucciones del caso, se debe usar la palabra reservada salir (break) para que vaya al final de la estructura. Si ninguno de los casos cumple con la expresión, se puede definir un caso por omisión, que también puede tener instrucciones; la computadora ejecutará la sentencia caso contrario (default). El default es opcional, si no está presente no se hace nada. Hay tres puntos que debemos considerar en la sentencia segun_sea (switch): 1. Se diferencia del sí (if) en que el primero sólo puede comprobar por igualdad, mientras que la expresión condicionada del sí (if) puede ser de cualquier tipo. 2. No puede tener dos constantes en los casos con idénticos valores en el mismo segun_sea (switch). 3. La sentencia segun_sea (switch) es más eficiente que el si anidado si-si no-si (if-else-if). XI. Estructura de control repetitiva o de iteración condicional La repetición de una acción (una o varias instrucciones) se lleva a cabo mientras se cumpla cierta condición; para que la acción termine, la acción misma debe modificar la(s) variable(s) de control que
  • 21. Autor: Jeffrey Noel Calero Chávez. 20 interviene(n) en la condición. Dicha condición puede estar predefinida como en el ciclo desde (for); o no predeterminada, como en los bucles mientras (while) y hacer-mientras (do_while). Bucles, ciclo o iteración. Es un segmento de un algoritmo o programa, cuya(s) instrucción(es) se repite(n) un número conocido o indefinido de veces mientras se cumpla una determinada condición. I. Contadores,acumuladores,centinelas y banderas 1.1.1 Contadores y acumuladores Estas dos palabras se usan mucho en programación para referirse a variables que van incrementando o decrementando su valor a lo largo de la ejecución del algoritmo o programa. Normalmente serán de tipo numérico, Características de la variable contador o acumulador: 1. Se debe inicializar antes de entrar al ciclo. 2. Dentro del ciclo debe aparecer a ambos lados de la asignación. Debemos inicializarlas de forma correcta, para: • Sumar o restar en cero antes de entrar al ciclo; recordar que el cero es el elemento neutro de la suma y resta. • Multiplicar 1, porque si valen cero todo lo que multipliquemos por ella seguirá valiendo cero; recordar que el 1 es el elemento neutro de la multiplicación. 1.1.2 Contador Un contador es una forma de controlar a un bucle. Es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción en cada repetición; dicha variable controla o determina la cantidad de veces
  • 22. Autor: Jeffrey Noel Calero Chávez. 21 que se repite un proceso o dato. 1.1.3 Acumulador o totalizador Un acumulador realiza la misma función que un contador con la diferencia de que el incremento o decremento es variable en lugar de constante. Es una variable que acumula sobre sí misma un conjunto de valores, para de esta manera tener la acumulación de todos ellos en una sola variable. Es una variable que almacena cantidades resultantes de operaciones sucesivas. 1.1.4 Centinela El centinela es una variable que inicia con un valor, luego dentro de un bucle este valor cambia, haciendo falsa la condición del ciclo y por lo tanto indicará el fin del ciclo (el usuario puede determinar cuándo hacerlo). La repetición controlada por centinela se considera como una repetición indefinida (se desconoce el número de repeticiones). 1.1.5 Bandera tomar sólo dos valores opuestos, generalmente: 1 (verdadero) o 0 (falso), a lo largo de la ejecución del algoritmo o programa. Es muy utilizado en búsquedas. J. Estructurade control repetitivamientras (while) Al ejecutarse la instrucción mientras (while), se evaluará la expresión booleana suministrada en los paréntesis (condición), y si su valor es verdadero (distinto de cero) se realizará el ciclo o bucle (una o varias instrucciones). Después, la condición es reevaluada y se procede de la misma manera. Cuando la condición se vuelve falsa (es decir, cero), en la siguiente evaluación se dará por terminado el ciclo mientras (while). Si la condición nunca se vuelve cero, el ciclo nunca terminará y, dependiendo de las instrucciones incluidas en el bucle, se generaría un error de ejecución que detendría el programa, o podría ser que el
  • 23. Autor: Jeffrey Noel Calero Chávez. 22 programa itere indefinidamente hasta ser detenido en forma manual. En esta estructura no se conoce necesariamente el número de veces que entrará al ciclo, ya que esto dependerá de la condición definida. K. Estructurade control repetitivahacer_mientras (do while) Esta estructura le permite al programador especificar que se repita una acción en tanto cierta condición sea verdadera; cuando ésta es falsa se sale del ciclo. La condición la revisa después del ciclo o bucle. Es muy semejante al ciclo mientras, con la diferencia de que la condición se evalúa después de ejecutar el cuerpo del bucle. Tanto el ciclo mientras como el hacer_mientras pueden utilizarse cuando no se conoce de antemano el número de veces que se repetirá el ciclo. L. Estructurade control repetitivadesde (for) El desde (for) es la estructura repetitiva más utilizada y simple de manejar, ya que repite un conjunto de instrucciones un número determinado de veces. Una de sus aplicaciones principales son los arreglos. XII. Funciones La programación modular o funciones es una técnica que consiste en dividir un programa en tareas y dar origen a la creación de pequeños programas llamados módulos, subprogramas o subrutinas con la finalidad de simplificar la elaboración y mantenimiento del mismo, donde cada módulo se codifica y se procesa de manera independiente, sin importar los detalles de otros módulos. Las funciones son los bloques de construcción básicos de C. dentro de ellas se da toda la actividad del programa. Todo problema se puede resolver con funciones o sin ellas, pero su uso adecuado hace que el programa sea más eficiente, fácil de leer y
  • 24. Autor: Jeffrey Noel Calero Chávez. 23 probar. M. Ventajas  Facilita el diseño descendente.  Los procedimientos dentro de ellas se pueden ejecutar varias veces.  Facilita la división de tareas.  Se puede probar individualmente. Las funciones pueden ser declaradas antes del main es decir fuera del programa principal. Pero son llamadas dentro de este, la sintaxis para declarar una función es la siguiente: Tipo nombre_funcion (lista de parámetros) { Lista de instrucciones; } N. Funciones sin paso de parámetros Son aquellas que no reciben parámetros o valores, ya que éstos se solicitan dentro de la función, luego se realizan las instrucciones (cálculos u operaciones) y normalmente se imprime el resultado. O. Funciones con paso de parámetros Estas funciones son las más utilizadas en la programación ya que pueden recibir uno o más valores llamados parámetros y regresan un solo valor de tipo entero, real o carácter. Si deseas regresar un arreglo de carácter es necesario hacerlo desde los parámetros. Los parámetros o valores son enviados del programa principal o de otra función. Dentro de la función se realizan solamente las instrucciones (cálculos u operaciones). P. Variables locales. Se declaran dentro de la función y solo están disponibles durante su
  • 25. Autor: Jeffrey Noel Calero Chávez. 24 ejecución. Q. Variables globales. Se declaran fuera de las funciones. Pueden ser utilizadas por todas las funciones. R. Transferenciade variables. Por valor: copia el valor de la llamada en el parámetro formal de la función. Por referencia: se copia la dirección del argumento en el parámetro.