Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
_____________________________________________________________________
CENTRO UNIVERSITARIO DE CIENCIAS EXTACTAS E INGENIERAS
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Introduccin a la programacin
MDULO I
- Conceptos bsicos
- Algoritmos
- Pseudocdigo
MDULO II
- Arreglos
MDULO II
- Funciones
MDULO IV
- Registros
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
MDULO I
Pasos para la programacin estructurada.
ALGORITMOS
En el contexto matemtico, los algoritmos son una serie de normas o leyes especficas que
hace posible la ejecucin de actividades, cumpliendo una serie de pasos continuos que no le
originen dudas a la persona que realice dicha actividad. Los algoritmos se pueden expresar
de diversas formas: lenguaje natural, lenguaje de programacin, pseudocdigo y diagramas
de flujo.
Los algoritmos se caracterizan porque: se definen de manera especfica en cada paso. Su
efectividad, esto significa que un sujeto puede realizar un algoritmo sin utilizar un ordenador
y sus pasos son finitos. Por otra parte se pueden clasificar de la siguiente manera:
Segn el sistema de signos: cualitativos y cuantitativos. Los algoritmos cualitativos son
aquellos que se realizan por medio de las palabras, lo que quiere decir que las rdenes vienen
dadas en forma verbal.
PSEUDOCDIGO
Antes de entrar de lleno en el establecimiento del significado del trmino pseudocdigo, se
hace necesario que procedamos a determinar el origen etimolgico de las dos palabras que le
dan forma: Pseudo deriva del griego, de seudo, que puede traducirse como falso. Cdigo,
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
por su parte, emana del latn. En concreto, de cdices, cdex que se empleaban para
referirse a los documentos o libros donde los romanos tenan escritas todas y cada una de sus
leyes.
Un cdigo, por su parte, es una serie de smbolos que forman parte de un sistema y que tienen
un determinado valor ya asignado. Los smbolos que se incluyen en un cdigo se combinan
respetando reglas y permiten transmitir un mensaje.
Estas definiciones nos permiten comprender qu es un pseudocdigo, una nocin que se
emplea en el mbito de la informtica. Se trata de un falso lenguaje, ya que apela a las normas
de estructura de un lenguaje de programacin aunque se encuentra desarrollado para
que pueda ser ledo por un ser humano y no interpretado por una mquina.
A la hora de llevar a cabo la creacin de un pseudocdigo, se hace necesario que su estructura
se encuentre compuesta de las siguientes partes:
- Una cabecera, que, a su vez, se debe componer de cinco reas diferenciadas como son el
programa, el mdulo, los tipos de datos, las constantes y las variables.
- El cuerpo, que se dividir en inicio, instrucciones y fin.
Actividades en clase I
ALGORITMO PARA IR AL CINE
1. Escoger el da
2. Baarse con tiempo
3. Elegir ropa bonita
4. Subirse al carro
5. Ir a la plaza
6. Ir al cine
7. Ver la cartelera
8. Ver sinopsis
9. Ver horarios
10. Elegir pelcula
11. Ir a comprar boletos
12. Comprar boletos
13. Ir a comprar algo de comer
14. Comprar algo de comer
15. Ir a la sala
16. Escoger asientos
17. Subir escaleras
18. Sentarte
19. Esperar pelcula
20. Poner celular en vibrador
21. Ver pelcula
22. Salir del cine
23. Comentar pelcula
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
ALGORITMO PARA PAGAR ORDEN DE PAGO (INSCRIPCIN AL
SEMESTRE)
1. Decirle a mis papas que ya sali la orden de pago
2. Imprimir orden de pago
3. Ir al banco
4. Recoger dinero en el banco
5. Formarse para pagar orden de pago
6. Entregar orden de pago y dinero
DIAGRAMA DE FLUJO
Un diagrama de flujo es una representacin grfica de un proceso. Cada paso del proceso es
representado por un smbolo diferente que contiene una breve descripcin de la etapa de
proceso. Los smbolos grficos del flujo del proceso estn unidos entre s con flechas que
indican la direccin de flujo del proceso.
El diagrama de flujo ofrece una descripcin visual de las actividades implicadas en un
proceso mostrando la relacin secuencial ente ellas, facilitando la rpida comprensin de
cada actividad y su relacin con las dems, el flujo de la informacin y los materiales, las
ramas en el proceso, la existencia de bucles repetitivos, el nmero de pasos del proceso, las
seleccin de indicadores de proceso.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
TAREA I
1. Hacer un diagrama de flujo de los algoritmos hechos en clase.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Algoritmo para pagar orden de pago.
1. Inicio
2. Ingresar un nmero real de donas
3. Ingresar un nmero real de nios
4. Establecer que las donas se dividen entre los nios
5. Dar el resultado al usuario
6. Fin
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Algoritmo para divisin
CONSTANTE
En programacin, una constante es un valor que no puede ser alterado durante la ejecucin
de un programa. Corresponde a una longitud fija de un rea reservada en la memoria principal
del ordenador, donde el programa almacena valores fijos. El nombre de las constantes suele
escribirse en maysculas en la mayora de lenguajes.
VARIABLE
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
TIPOS DE DATOS
2. Float: Para declarar nmeros que no son enteros, que tienen una fraccin.
PROGRAMACION ESTRUCTURADA
WHILE
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Actividad en clase II
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
TAREA II
1. Investigar qu tipos de datos se les puede asignar a una variable.
Todas las definiciones de variables deben incluir dos cosas: el nombre de la variable y su tipo
de datos. Hay algunas reglas a seguir a la hora de nombrar una variable en C: debe comenzar
por smbolo alfabtico, y pueden contener letras, guiones bajos (_) y dgitos. Se pueden
utilizar tanto minsculas como maysculas. No se deben colocar espacios en el nombre de
una variable. Algunas claves como int, float, struct, if, while no pueden emplearse como
nombres de variables. Los nombres de las variables no deben ser muy largos consulte la
documentacin del compilador de C para conocer la limitacin. Generalmente los primeros
ocho caracteres de un nombre de variable son significativos.
ifCantidad
iTotal
iContador
Nota: Los nombres de variables deben tener sentido y describir lo que almacenan dichas
variables. Deben evitarse los nombres de una sola letra siempre que sea posible.
C proporciona numerosos tipos de datos, algunos de los tipos bsicos utilizados son los
siguientes:
int entero
char carcter
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
2. Investigar estructuras dinmicas y estticas.
Son aquellas en las que el tamao ocupado en memoria se define antes de que el programa
se ejecute y no puede modificarse dicho tamao durante la ejecucin del programa.
Estas estructuras estn implementadas en casi todos los lenguajes.
Su principal caracterstica es que ocupan solo una casilla de memoria, por lo tanto una
variable simple hace referencia a un nico valor a la vez, dentro de este grupo de datos se
encuentra:
a)Enteros
b)Reales
c)Caracteres
d)Bolanos
e)Enumerados
f)Subrangos
Nota: Los ltimos no existen en algunos lenguajes de programacin.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
d) Registros
e) Archivos
ESTRUCTURA DE DATOS DINAMICAS
1.- Lineales
a) Pila
b) Cola
c) Lista
2.- No lineales
a) rboles
b) Grafos
CICLO WHILE
Ejemplo en clase
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
SWITCH
#include <stdio.h>
#include <stdlib.h>
/*Programa que muestre los tipos de mens en un restaurante*/
Main ( )
{
Int opcin
Printf (BIENVENIDO\n);
Printf (1- COMIDA MEXICANA\n);
Printf (2- COMIDA JAPONESA\n);
Printf (3- COMIDA ITALIANA\n);
Printf (4- SALIR\n);
Printf (Ingrese una opcin \n);
Scanf (%d, &opcin);
Switch (opcin) {
Case 1: {
Printf (1- Comida mexicana\n);
Printf (Enmoladas\n);
Printf (Tacos de pastor\n);
Break; }
Case 2: {
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Printf (2- Comida japonesa \n);
Printf (Sushi\n);
Printf (Yakimeshi\n);
Break;}
Case 3: {
Printf (3- Comida italiana\n);
Printf (Pizza\n);
Printf (Spaguetti a la boglonesa\n);
}
}
TAREA III
1. Realizar un programa con switch para carnes y vinos
#include <stdio.h>
#include <stdlib.h>
/*Programa que muestre el men de un restaurante de vinos y carnes*/
Main ( )
{
Int opcin, num1, num2, carnes, vino, total;
Printf (BIENVENIDO\n);
Printf (1 - Carnes\n);
Printf (2 - Vinos\n);
Printf (Ingrese una opcin\n);
Scanf (%d, &opcin);
Switch (opcin) {
Case 1:
Printf (1- Bienvenido al men de Carnes\n);
Printf (T-Bone \n);
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Printf (Rib Eye\n);
Printf (Precio del corte: $270.00 mn);
Printf (Ingrese el nmero de platillos que dese\n);
Carne=num1*270;
Printf (El total a pagar por carnes es: %d\n , carnes);
Break;
}
Case 2: {
Printf (1- Bienvenido al men de Vinos\n);
Printf (Lambusco tinto \n);
Printf (Gignanello blanco\n);
Printf (Precio del corte: $567.00 mn);
Printf (Ingrese el nmero de botellas que dese\n);
vino=num2*567;
Printf (El total a pagar por carnes es: %d\n , vino);
Break; }
}
Total=vino+carne;
printf(El total de su cuenta es: %d\n , total);
}
FOR
El bucle FOR se utiliza para repetir una o ms instrucciones un determinado nmero de veces.
De entre todos los bucles, el FOR se suele utilizar cuando sabemos seguro el nmero de veces
que queremos que se ejecute. La sintaxis del bucle for se muestra a continuacin.
For (inicializacin; condicin; actualizacin)
El bucle FOR tiene tres partes incluidas entre los parntesis, que nos sirven para definir cmo
deseamos que se realicen las repeticiones. La primera parte es la inicializacin, que se ejecuta
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
solamente al comenzar la primera iteracin del bucle. En esta parte se suele colocar la
variable que utilizaremos para llevar la cuenta de las veces que se ejecuta el bucle.
La segunda parte es la condicin, que se evaluar cada vez que comience una iteracin del
bucle. Contiene una expresin para decidir cundo se ha de detener el bucle, o mejor dicho,
la condicin que se debe cumplir para que contine la ejecucin del bucle.
Por ltimo tenemos la actualizacin, que sirve para indicar los cambios que queramos
ejecutar en las variables cada vez que termina la iteracin del bucle, antes de comprobar si
se debe seguir ejecutando.
Despus del for se colocan las sentencias que queremos que se ejecuten en cada iteracin,
acotadas entre llaves.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Ejemplo I de bucle for en clase
Include <stdio.h>
Int main (int arg*argv[ ] )
{
Int i, j;
For ( i=1, i<10; i++) {
Printf (\n);
For (s=1, s<10; j++)
Printf (%d, %d = %d, i , s, i*j );
}
Sistem(PAUSE);
Return 0;
}
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Ejemplo III de bucle for en clase
TAREA IV
1. Una persona debe realizar un muestreo de 50 personas para determinar el promedio
de peso de los nios, jvenes, adultos y viejos que existen en su zona habitacional, se
determinan las edades en base a la siguiente tabla
#include <stdio.h>
#include <stdlib.h>
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
#include <math.h>
suman=0;
ninos=0;
jovenes=0;
sumaj=0;
adultos=0;
sumad=0;
viejos=0;
sumav=0;
promedio=0;
promedion=0;
promedioj=0;
promedioad=0;
promediov=0;
for (x=1; x<=50; x++ )
{
printf("Ingrese su edad\n");
scanf("%d",&edad);
system("cls");
if(edad>=0 && edad<=12);
{
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
printf("NIOS\n");
printf("Ingrese su peso\n");
ninos=ninos+1;
suman=suman+peso;
}
if(edad>=13 && edad<=29);
{
printf("JOVENES\n");
printf("Ingrese su peso\n");
jovenes=jovenes+1;
sumaj=sumaj + peso;
}
if(edad>=30 && edad<=59);
{
printf("ADULTOS\n");
printf("Ingrese su peso\n");
adultos=adultos+1;
sumad=sumad + peso;
}
if(edad>=60);
{
printf("PERSONAS DE LA TERCERA EDAD\n");
printf("Ingrese su peso\n");
viejos=viejos+1;
sumav=sumav + peso;
}
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
}
system("cls");
if (ninos == 0){
promedioj= sumaj/jovenes;
promedioad= sumad/adultos;
promediov= sumav/viejos;
printf("El peso promedio de los ninos encuestados es: %d\n",promedion);
printf("El peso promedio de los jovenes encuestados es: %d\n",promedioj);
printf("El peso promedio de los adultos encuestados es: %d\n",promedioad);
printf("El peso promedio de los seores de la tercera edad encuestados es: %d\n",promediov);
}
if (jovenes == 0){
promedion= suman/ninos;
promedioad= sumad/adultos;
promediov= sumav/viejos;
printf("El peso promedio de los ninos encuestados es: %d\n",promedion);
printf("El peso promedio de los jovenes encuestados es: %d\n",promedioj);
printf("El peso promedio de los adultos encuestados es: %d\n",promedioad);
printf("El peso promedio de los seores de la tercera edad encuestados es:%d\n ",promediov);
}
if (adultos == 0){
promedion= suman/ninos;
promedioj= sumaj/jovenes;
promediov= sumav/viejos;
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
printf("El peso promedio de los adultos encuestados es: %d\n",promedioad);
printf("El peso promedio de los adultos de la tercera edad encuestados es: %d\n",promediov);
if(viejos == 0){
promedion= suman/ninos;
promedioj= sumaj/jovenes;
promedioad= sumad/adultos;
printf("El peso promedio de los ninos encuestados es: %d\n",promedion);
printf("El peso promedio de los jovenes encuestados es: %d\n",promedioj);
printf("El peso promedio de los adultos encuestados es: %d\n",promedioad);
printf("El peso promedio de los adultos de la tercera edad encuestados es: %d\n",promediov);
}
else{
promedion= suman/ninos;
promedioj= sumaj/jovenes;
promedioad= sumad/adultos;
promediov= sumav/viejos;
printf("El peso promedio de los ninos encuestados es: %d\n",promedion);
printf("El peso promedio de los jovenes encuestados es: %d\n",promedioj);
printf("El peso promedio de los adultos encuestados es: %d\n",promedioad);
printf("El peso promedio de los viejitos encuestados es: %d\n",promediov);
}
}
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
2. Al cerrar u expendio de naranjas, 15 clientes que an no han pagado recibirn 15%
de descuento si compran ms de 10 kg. Determinar cunto pagar cada cliente y
cunto recibir la tienda por esas compras.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
Float kilos, descu, total ,total;
int x, naranja=3;
for (x=1; x<=15; x++) {
Printf (" COSTO DEL KILO DE NARANJA: $3.00\n ");
Printf ("Cuantos kilos de naranja va a llevar?\n");
Scanf ("%f",&kilos);
total=kilos*naranja;
Printf ("El total a pagar es de:%f\n" ,total);
system ("PAUSE");
if (kilos>=10)
{
totald =kilos*2;
printf("El total a pagar es de:%f\n",totald);
}
}
}
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
MDULO I I
UNIDIMENSIONALES
Un arreglo unidimensional es un tipo de datos estructurado que est formado por una
coleccin finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar
listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del
mismo tipo.
BIDIMENSIONALES
En matemticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados
en problemas de Ingeniera.
En un arreglo bidimensional, cada elemento tiene una posicin que se identifica mediante
dos ndices: el de su fila y el de su columna.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
TRIDIMENSIONALES
Definir arreglo:
Arreglo bidimensional
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Ejemplo en clase String.h
TAREA V
1. Crear un vector que copie el vector uno en el vector dos.
#include <stdio.h>
#include <stdlib.h>
main ()
{
int x[10] = {7,15,11,10,1,8,2,20,3,4};
int a, suma;
suma=0;
for(a=0; a<=9; a=a+1)
suma=suma+x[a];
printf("%d",suma);
}
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
MDULO III
FUNCIONES
En programacin, una funcin es una seccin de un programa que calcula un valor de manera
independiente al resto del programa.
Una funcin tiene tres componentes importantes:
- Los parmetros, que son los valores que recibe la funcin como entrada;
- El cdigo de la funcin, que son las operaciones que hace la funcin; y
- El resultado (o valor de retorno), que es el valor final que entrega la funcin.
En esencia, una funcin es un mini programa. Sus tres componentes son anlogos a la
entrada, el proceso y la salida de un programa.
Ejemplo
Void carnes ( )
2. Va a enviar y recibir datos
Ejemplo
Int carnes (char solicitud)
3. Va a enviar dato pero no recibir
Ejemplo
Int precio ( )
MDULO IV
ESTRUCTURAS
Las estructuras de datos se emplean con el objetivo principal de organizar los datos
contenidos dentro de la memoria del ordenador. As, nuestra primera experiencia con
estructuras comienza desde el momento mismo en que usamos en nuestros programas
variables de tipos primitivos (char, short, int, float, etc). A la memoria del ordenador se le
puede considerar como un gran bloque compuesto por una serie de BYTES dispuestos
secuencialmente uno detrs de otro. por ejemplo, si un ordenador posee una memoria de
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
128MB (128 megas) entonces se le puede leer o escribir desde el BYTE 0 hasta el BYTE
128MB - 1 ( 0000000H .. 7FFFFFFH ).
La idea de ver la memoria como un serie de bytes es buena, sin embargo no es suficiente ya
que en la misma podemos guardar nmeros, cadenas de caracteres, funciones, objetos, etc.
de tal manera que surge la necesidad de establecer los mecanismos adecuados para dar cuenta
de la forma, tamao y objetivo de los datos almacenados. Segn el tipo de microprocesador,
estos tienen la capacidad para manipular o direccionar estructuras compuestas por uno, dos,
cuatro, etc, bytes; de donde se derivan los tipos que comnmente se conocen como: BYTE,
WORD, DWORD, QWORD y TWORD.
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
For (i=0, i<0; ++i) {
Leer entrada;
If (cliente [i],pago>0)
Cliente[i].tipo_cuenta=(cliente[i].pago<o.1*cliente[i].anteriorsaldo)? R: a;
Else
cliente[i].tipo_cuenta=
(cliente[i].anterior saldo>0) D: A; //AJUSTAR SALDO A LA CUENTA//
cliente[i].nuevosaldo= cliente[i].anteriorsaldo_ cliente[i].pago;
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29
Scanf (%f {^\n}, cliente[i].pago);
Printf (\n FECHA DE PAGO (mm/dd/aaaa)- );
Scanf (%d %d %d {^\n}, cliente[i].ultimopago.mes);
Scanf (%d %d %d {^\n}, cliente[i].ultimopago.dia);
Scanf (%d %d %d {^\n}, cliente[i].ultimopago.anio);
Return; }
Void escribirsalida (inti)
//ESCRIBIR INFORMACCION ACTUAL PARA CADA CLIENTE//
Printf (\n NOMBRE: %s, cliente[i].nombre);
Printf (\n NUMERO DE LA CUENTA: %d, cliente[i].no_cuenta);
Printf (\n CALLE: %s, cliente[i].calle);
Printf (\n CIUDAD: %s, cliente[i].ciudad);
Printf (\n SALDO ANTERIOR: %f, cliente[i].anteriorsaldo);
Printf (\n PAGO ACTUAL: %f, cliente[i].pago);
Printf (\n NUEVO SALDO: %f, , cliente[i].nuevosaldo);
Switch (cliente[i].tipo_cuenta) {
Case A:
Printf (Al da \n\n);
Break;
ALUMNA: MONTES PION LUCIA MONTSERRAT CDIGO: 216403679 SECCIN: D24 A: Q29