Академический Документы
Профессиональный Документы
Культура Документы
CURSO
DE
DESARROLLO
DE SOFTWARE
INSTRUCTOR
T.S.U. EN INFORMATICA
ANGEL CHIRINOS
ALGORITMICA
Y
LENGUAJE DE
PROGRAMACI
N
++
TEORIA DE ALGORITMICA
Dato:
Un dato es cualquier objeto o elemento de informacin que se usa a lo largo
de diversas operaciones dentro de un programa o fragmento de ste. Los datos son
los elementos sobre los que se opera cuando se efecta una operacin en el
computador, es decir, cuando se ejecuta una instruccin en un programa.
Un dato tiene un nombre que lo identifica y distingue de los dems
elementos del programa. Dicho nombre no es ms que otra forma de referenciar la
direccin de memoria que ocupa el dato.
Tipo de dato:
Es una definicin que agrupa los valores validos para un conjunto de datos y
las operaciones que sobre ellos se pueden realizar.
Cada tipo de dato tiene una representacin determinada en el computador.
Esto tiene que ver con el tamao y la cantidad de memoria que el computador
reserva para almacenar los datos de un tipo especifico cualquiera.
Los tipos de datos pueden ser:
Son aquellas variables que el programador usa para ir sumando valores a lo largo de
la ejecucin del programa, se denominan acumuladores y es recomendable
inicializarlas con un valor conveniente al uso que posteriormente se les de.
Variables Contadoras:
Se llaman as a las variables que el programador para ir contando a lo largo
de la ejecucin del programa.
Constantes:
Son instancias de un tipo de dato determinado, que tiene un valor fijo
asignado por el programador en el momento en que la define, Este valor no puede
ser modificado durante la ejecucin del programa o corrida del algoritmo.
Las constantes pueden llevar asociados un nombre o no, si no lo llevan, se
llaman literales. El programador especifica su valor al definir la constante, que ya
no puede cambiar a lo largo de la ejecucin del programa. En cuanto al tipo de dato,
hay que colocarlo o no dependiendo del lenguaje de programacin
Ejemplo:
nombre=jose
num=2
Expresiones: Tipos y Operadores
Una Expresin es una combinacin de constantes, variables, signos de
operacin, parntesis y nombres especiales (nombres de funciones estndar). De la
evaluacin de una expresin resulta un nico valor o resultado.
Una Expresin tiene asociado un tipo de dato que corresponde con el tipo del
valor que devuelve la expresin cuando se evala. En tal sentido, se tienen
expresiones numricas y lgicas.
Los Smbolos:
Flechas o lneas de Flujo:Sirven para conectar los
Smbolos del diagrama.
Smbolo de Proceso: Indica la accin que tiene que
Realizar la computadora.
Entrada/salida: Representa las acciones de entrada y
salida. Dentro se colocan las acciones de lectura y
Escritura.
Pseudocdigo:
Es un lenguaje de documentacin de programas similar al espaol o a las
ingles. No necesita seguir ninguna regla especfica, como por ejemplo ser requerido
por los programas que van a hacer traducidos y compilados.
Ejemplo de palabras claves en pseudocdigo:
Programacin Estructurada:
Estructuras Secuenciales:
Una instruccin sigue a otra en secuencia, es decir, la salida de una instruccin es la
entrada de la siguiente.
FLUJOGRAMA
Leer num
PSEUDOCODIGO
Leer num
num=num*2
num=num*2
Escribir num
Escribir num
Estructuras Selectivas:
En este tipo de estructura se evala una condicin y en funcin del resultado
lgico (verdadero o falso) u otro resultado se ejecuta un conjunto de instrucciones.
Son tambin denominadas estructuras de control de flujo, estructuras condicionales
o de toma de decisiones.
FLUJOGRAMA
PSEUDOCODIGO
Si <condicin>
no
Entonces
si
<Acciones>
Fin Si
Acciones
PSEUDOCODIGO
cond
Si <condicin>
Accion
es
Entonces
<Acciones>
Acciones
Sino
<Acciones>
Fin Si
PSEUDOCODIGO
Segn sea <expresin>
<valor>:<acciones>
<valor>:<acciones>
<valor>:<acciones>
[<otro>:<acciones>]
Fin segn
PSEUDOCODIGO
Mientras <condicin>
Hacer
<acciones>
no
Condicin
Fin mientras
si
Acciones
FLUJOGRAMA
PSEUDOCODIGO
Repetir
<Acciones>
Acciones
Hasta <condicin>
condicion
no
si
PSEUDOCODIGO
v = vi
<acciones>
v=v+1
V<=vf
si
Fin desde
Accion
es
no
TEORIA DE LENGUAJE C
Lenguaje C:
El lenguaje de programacin C fue desarrollado por Brian Kemighan y
Dennis Ritchie en los Laboratorios Bell en el ao 1972. Fue liberado en un
momento cuando se desarrollaban cientos de lenguaje de programacin.
Variables y sentencias:
Las variables son nombres que se les dan a las localidades en la memoria
principal donde un elemento de dato puede almacenarse.
La sintaxis del lenguaje de programacin C impone algunas reglas en la
construccin de los nombres de variable. Estos se listan a continuacin.
1.) Los nombres de variables siempre deben empezar con una letra. Esto incluye al
carcter _.
2.) Un nombre de variable puede estar formado por una secuencia de letras del
alfabeto y/o dgitos de 0 al 9 y/o el carcter _ (subrayado).
3.) No se permiten comas ni espacios en blanco en un nombre de variable.
Propsito
int (notacin decimal con signo)
int (notacin decimal con signo, octal o hexadecimal).
int (natacin decimal sin signo).
int (notacin hexadecimal sin signo)
int (notacin decimal sin signo).
char
doubl
Cadena de caracteres
Propsito
Carcter de alerta (timbre)
Retroceso (Backspace)
Formafeed
Nueva lnea
Retorno de carro
Tabulador Horizontal
Tabulador vertical
Diagonal inversa
Signo de interrogacin
Comilla simple
Comilla doble
Numero octal
Numero hexadecimal
Char
Descripcin
Entero
Numero
de
flotante
Numero
de
flotante o de
precisin
Carcter simple
Requerimientos tpicos de
memoria
2 bytes
punto 4 bytes
punto 8 bytes
doble
1 byte
Operadores Aritmticos:
+, -, *, / y %.
Expresiones y operadores lgicos y relacionales:
Las expresiones relacionales son aquellas que se forman con una
combinacin de identificadores, constates y expresiones aritmticas.
Operadores relacionales:
< Menor que
Operadores de igualdad:
== Igual a
!= No igual a
Expresiones lgicas:
&& Y (and)
| | O (or)
! NO (NOT)
Sentencian;
}
switch (variable){
case valor1: sentencias;
break;
case valor2: sentencias;
break;
casevalorn: sentencias;
break;
default: sentencias;
break;
}
Inicializacin
Condicin
Incremento
do {
sentencia 1;
sentencia2;
}while (la condicin es verdadera);
Practica de ejercicios
Estructuras secuenciales
1.) Determine el promedio de 3 nmeros reales
2.) Dada las horas trabajadas de una persona y la tarifa de pago por hora, calcular su
salario e imprimirlo.
3.) Dada la base y altura de un rectngulo, calcular el rea y el permetro del
mismo, Las formulas a utilizar son: rea= base * altura y permetro = 2 * (base +
altura).
4.) Obtener la edad de una persona en meses, si se ingresa su edad en aos y meses.
Por ejemplo, si se ingresa 3 aos 4 meses debe mostrar 40 meses.
5.) Dada una cantidad de hombres y de mujeres, calcular el porcentaje de cada
gnero dentro del grupo.
6.) Hacer un algoritmo que permita ingresar dos nmeros enteros y calcule las 4
operaciones bsicas (suma, resta, multiplicacin y divisin). Adems calcular la
potencia. El algoritmo debe mostrar los nmeros y los resultados.
7.) Dado un tiempo en minutos, calcular los das, horas y minutos que le
corresponden.
8.) Un instructor prepara tres modelos de exmenes para tres salones en un curso de
programacin. El instructor sabe que tarda 5 min en el modelo del saln A, 8
min en el modelo del saln B y 6 min en el modelo del saln C. Dada las
cantidades de estudiantes en cada saln, Cuntas horas y minutos tardara el
instructor en revisar los exmenes de todos los salones.
9.) Calculando tres opciones sobre cuadrados y crculos y al final que muestre la
suma de los dos resultados.
10.) Convertir una velocidad expresada en km/h a m/s. Si 1km=1000 m y
1h=3600seg..
1.) Dados sus lados (a, b, c), determinar si un triangulo es: equiltero, issceles o
escaleno.
2.) A un trabajador le pagan segn sus horas y una tarifa de pago por horas. Si la
cantidad de horas es mayor a 40 horas, entonces la tarifa se incrementa en un
50% para las horas extras. Calcular el salario del trabajador dadas las horas
trabajadas y la tarifa.
3.) A un trabajador le descuentan de su sueldo el 10% si su sueldo es mayor o igual
a 100, por encima de 1000 y hasta 2000 el 5% del adicional y por encima de
2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el
trabajador dado su sueldo.
4.) Dado un monto, calcular el descuento considerando que por encima de 100 el
descuento es el 10% y por debajo de 100 el descuento es el 2%.
5.) Elabore un programa que permita emitir la factura correspondiente a una
compra de un artculo determinado, del que se adquieren una o varias unidades.
El IVA es del 15% y si el monto bruto (precio veta ms IVA) es mayor de 50
pesetas se debe realizar un descuento del 5% sobre el monto total.
6.) Una aseguradora de vehculos tiene los siguientes porcentajes de prima
dependiendo de los aos de antigedad del vehculo. Los vehculos de 1 ao
pagan el 5% de su valor, de 2 aos pagan el 8% de su valor, de tres aos el 10%,
de 4 aos el 12% y de 5 aos o mas pagan el 15%. Elabore un programa que
solicite el valor del vehculo y los aos de antigedad y muestre por pantalla el
valor de la prima.
7.) Elabore un programa que imprima el mayor de dos nmeros enteros
introducidos por el usuario.
8.) Dado un nmero entero positivo determine si es par o no.
9.) Dado un nmero del 1 al 7 indique a que da de la semana corresponde.
10.) Construya un programa tal, que dado como dato el sueldo de un trabajador,
calcule su aumento segn el siguiente criterio.
Mes: 2006
Ao: 2006
Fecha incorrecta!
No todos los meses tienen 31 das.
12.) Escribir un programa que tome la fecha actual y la fecha de nacimiento de
una persona en la forma da y aos (enteros) como entrada. Cada entero estar
separado por /, el programa debe validar ambas fechas y determinar la edad de
la persona en aos.
13.) Suponga que usted esta encargado del centro de computacin de la empresa
EL BIEN, y se le ha pedido monto que adeuda el cliente mas moroso que
tiene la empresa, as como el inters a pagar en el presente mes, sabiendo que: si
el atraso es de 30 a 60 das inclusive, el inters a cobrar es de 2% inclusive, si el
atraso esta entre 60 a 90 das inclusive, el inters a cobrar ser del 5 %, si el
atraso es de 91 a 120 das inclusive, el inters a cobrar ser de 7% y si el atraso
es mayor a 120 das el inters a cobrar ser de 15%. Escribir un programa en C
que calcule el monto a pagar por el cliente de acuerdo a los datos suministrados,
donde el programa toma como entrada el monto original de la deuda y la
cantidad de das del atraso.
14.) La empresa LA MALLA es productora de dos tipos de mallas: mallas
planas mallas en rollo. La alta gerencia requiere controlar las ventas por da
segn las siguientes polticas: si el comprador tiene ms de 5 aos adquiriendo
malla en rollo tendr un descuento del 8% en esta malla. Si es comprador de
malla plana por ms de 6 aos tendr un descuento del 6% en esa malla. El
costo de la malla plana es de 400 dlares por metro y de la malla de rollo es de
250 dlares por metro. Elabore un programa en C que capture los metros a
comprar por tipo de malla para un cliente, adems del tiempo en aos que como
comprador ha adquirido los tipos de mallas existentes. La salida del programa
ser la cantidad total de descuento obtenida por el cliente. (Hacer el programa
considerando un solo cliente).
15.) En una pizzera se tienen 3 tamaos de pizzas; grande, mediana y pequea
de precios 20 bsf, 30 bsf y 80 bsf respectivamente todas con 2 ingredientes,
adems si un cliente desea ingredientes extras debe ser calculado adicionalmente
al precio de la pizza; si desea agregar ingredientes extras se debe cancelar lo
siguiente.
*Championes = 5 bsf
*Anchoas = 4 bsf
*Jamn = 6 bsf
Las bebidas si el cliente las desea tienen cada una un valor de 8 bsf. Finalmente se
debe cancelar el 10% correspondiente al servicio de mesa y el 15% por concepto de
IVA. Se desea realizar un programa que emita la factura para tal cliente.
ZONA
Amrica del norte
Amrica Central
Amrica del sur
Europa
Asia
frica
Oceana
PRECIO
2
2.2
4.5
3.5
6
6
5
Construya un programa que le permita calcular e imprimir el costo total de una llamada.
Datos: clave, nummin
Donde: clave es una variable entera que representa la clave de la zona geogrfica a la que
se llamo,nummin es una variable entera. Que expresa la duracin (en minutos de la
llamada).
Estructuras Repetitivas:
1.) Construya un algoritmo que reciba como entradavarios montos de depsito y
despliegue la suma de ellos. Considere que un valor negativo, significa que no
hay ms datos y no debe ser considerado como dato valido.
2.) Construya un algoritmo que reciba como entrada una secuencia de valores
numricos y genere como salida la suma de los valores pares y la multiplicacin
de los impares. Considere que un valor negativo, significa que no hay mas datos
y no debe ser considerado como dato valido.
3.) Dado un nmero entero determinar la suma de sus dgitos.
4.) Dado N notas de un estudiante calcular:
a.) Cuantas notas tiene desaprobadas.
b.) Cuantas aprobadas
c.) El promedio de notas
d.) El promedio de notas aprobadas y desaprobadas
8.) Escribir un programa que tome como entrada un numero entero positivo N, y
formar dos nmeros como sigue:
X se forma con los dgitos que sean nmeros pares en el mismo orden de izquierda a
derecha, tal como son presentados.
Y se forma con los dgitos que sean nmeros impares en el mismo orden de
izquierda a derecha, tal como son presentados.
9.) Se esta realizando un proceso de elecciones entre dos candidatos A y B, al
votante se le da una tarjeta donde debe colocar 1 si su candidato es A o 2 si su
candidato es B. Se considera como voto nulo todas aquellas tarjetas que
contengan un nmero diferente a los previamente sealados. Determinar cuantos
votos obtuvo el candidato A, cuentos obtuvo B, cuantos fueron nulos y cual fue
el candidato ganador de un total de n votantes. Considerar que puede haber un
empate entre ambas opciones electorales.
10.) Buscando el mltiplo de un numero de 10 en 10:
11.) Realizar un programa de calculadora bsica que repita operaciones
aritmticas cuando lo desee.
12.) Elaborar el control de una empresa:Una compaa productora de aceite,
ha decidido mecanizar el control de las ventas de sus empleados. La compaa
produce tres tipos de aceites: Aceite tipo 1 (de primera) cuyo valor por litro es
25 dlares, aceite tipo 2 (de segunda) con precio de 20 dlares por litro y aceite
tipo 3 (de tercera) con costo de 15 dlares por litro. Se desea realizar un reporte
que incluya: cdigo vendedor, por tipo de aceite cantidad vendida, monto en
dlares vendidos por vendedor.
13.) Determinar de un grupo de personas cuales son de sexo femenino y cuales
son de sexo masculino:
14.) Los n superamos del saln de la justicia lograron obtener un aumento de
sueldo en el ultimo mes. Este aumento de sueldo se determino por niveles, de
acuerdo a la siguiente tabla.
Nivel
A
B
C
D
Sueldo
0 10000
10001 30000|
30001 60000
> 60000
% Aumento
8
6
4
2
Construya un programa que reciba como entrada el sueldo actual de cada uno de
los trabajadores y calcule el nuevo sueldo. Adems, el algoritmo deber indicar
cuanto mas gasta la empresa por concepto de sueldos, despus del aumento.
15.) Se requiere elaborar en C que calcule el costo del vehculo en el
concesionario MMCR para 3 clientes (debe mostrarse por pantalla el costo de
cada vehculo), en estas fechas en concesionario ofrece a esos 3 clientes
descuentos fabulosos en el costo del vehculo, si los clientes deciden instalar o
adquirir en el concesionario MMRC: sistema de seguridad, papel ahumado,
compra de la pliza de seguro y por cada accesorios recibirn los siguientes
descuentos sobre el costo del vehculo.
0,15% para sistemas de seguridad (debe ser >1, sin importar cantidad)
1 % para el seguro.
0,1 % papel ahumado (todo el vehculo, sino no aplica)
0,01 % por cada accesorio (totalDesAcc=cantAcc * 0,01)
Monto por cada cliente:
Siendo el monto inicial del vehculo 47000
Monto costo final del vehculo: monto costo inicial vehiculo montoSisSeg montoSeg
montoPaAh montoTotalDesAcc
10
Consiste en asignar un valor dado a una posicin del arreglo dada por un ndice.
La sintaxis de esta operacin es:
<nom_arreglo> [ndice] = valor
Ejemplo: asignar el 4000 a la posicin 5 del vector.
ventas [5] = 4000
Consiste en usar una posicin cualquiera del arreglo definida por un ndice para
operaciones de entrada y salida.
La sintaxis para estas operaciones es:
Leer <nom_arreglo> [ndice]
Escribir <nom_arreglo> [ndice]
Ejemplo:
Leer y mostrar las ventas de los 12 meses del ao y almacenarlas en un vector.
Desde i = 1 hasta 12
Escribir Introduzca las ventas del mesi
Leer ventas[i]
Fin desde
Desde i = 1 hasta 12
Escribir Ventas del mes i = ventas[i]
Fin desde
10
11
120
12
Los arreglos son un almacn de d mltiples elementos de datos. Las dos formas en
las cuales los arreglos se pueden usar son:
20
24
66
90
88
34
Declarar un arreglo en C:
Se puede declarar un arreglo unidimensional de la siguiente manera:
int = [5];
Inicializar un arreglo:
Se puede inicializar un arreglo a travs de asignacin:
int k, num[100];
for (k = 0; k < 100; k++)
num[k] = 0;
Ejemplo:
Imprmir un arreglo:
#include <include stidio.h>
main (){
/*declaracion de variables*/
int k, num[100];
/*El bucle inicializa el contenido del arreglo*/
for (k = 0; k < 100; k++)
num[k] = k + 1;
/*el bucle imprime el contenido del arreglo*/
for (k = 0; k < 100; k++)
printf (num[%d] = %d\n, k, num[k]);
fflush (stdin);
getchar ();
}
Declarar un arreglobidimensional:
inta[100][100];
char texto[25][80];
floatnum[10][18];