SlideShare une entreprise Scribd logo
1  sur  31
CASA DE LA CULTURA “JUVENAL RAVELO”
CARIPITO – ESTADO – MONAGAS
CURSO
DE
DESARROLLO
DE SOFTWARE
INSTRUCTOR
T.S.U. EN INFORMATICA
ANGEL CHIRINOS
Caripito, julio del 2012
TEORIA DE ALGORITMICA
 Que son Algoritmos:
El concepto de algorítmica fue desarrollado por el matemático persa ABU
JAFAR MOHAMMED IBN MUSA AL KHWARIZMI. Se puede decir que un
algoritmo es una fórmula para resolver un problema. Es un conjunto de acciones o
secuencia de operaciones que ejecutadas en un determinado orden, resuelven el
problema planteado.
 Definiciones básicas:
Definiciones básicas que se usan en el entorno de un programa de
computadora.
Lenguaje maquina:
Es un lenguaje que puede ser integrado directamente por los circuitos
internos de la computadora porque esta basado en instrucciones compuestas por
secuencias de ceros (0) y unos (1).
Lenguaje de bajo nivel:
Es un lenguaje que usa el programador para codificar sentencias simbólicas
que un compilador (programa traductor) puede convertir una a una en instrucciones
de lenguaje de maquina. Hace uso de abreviaturas, para representar las instrucciones
de maquina.
Lenguaje de alto nivel:
Es un lenguaje de programación orientado al problema o procedimientos,
Ejemplo de estos lenguajes son COBOL, FORTRAN, C, C++, JAVA, PHP, etc.
Compilar:
Es traducir un programa escrito en un lenguaje de alto nivel a un programa
en lenguaje maquina, que es la forma en que la computadora puede ejecutar
directamente las acciones o instrucciones.
El proceso de compilación se descompone en dos pasos:
 Compilar: las instrucciones de alto nivel para producir lo que se denomina el
código objeto.
 Enlazar: que es tomar el código objeto generado y cualquier otro código objeto que
sea requerido, que haya sido previamente generado, produciendo así el programa
ejecutable o código ejecutable.
 Crear un programa de computadora:
Para crear un programa de computadora, generalmente el programador debe
partir de un algoritmo y escribir las sentencia (instrucciones) del código fuente de
un editor. Un editor es un programa utilitario que permite la edición de textos y
programas.
 Datos tipos de datos y funciones incorporadas:
Un programa de computadora, para que pueda ser ejecutado debe ser
cargado en memoria. La unida de procesamiento del ordenador solo puede trabajar
con los datos e instrucciones que residen en la memoria.
 Dato:
Un dato es cualquier objeto o elemento de información 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 efectúa una operación en el
computador, es decir, cuando se ejecuta una instrucción en un programa.
Un dato tiene un nombre que lo identifica y distingue de los demás
elementos del programa. Dicho nombre no es más que otra forma de referenciar la
dirección de memoria que ocupa el dato.
 Tipo de dato:
Es una definición 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 representación determinada en el computador.
Esto tiene que ver con el tamaño y la cantidad de memoria que el computador
reserva para almacenar los datos de un tipo especifico cualquiera.
Los tipos de datos pueden ser:
 Tipo de dato Primitivo: Tipos de datos básicos predefinidos en el sistema.
 Tipo de datos definidos por el usuario: Agregados por el programador
Los tipos de datos primitivos mas importantes son: Numéricos, Lógicos y carácter.
A continuación se definen cada uno de ellos.
 Numéricos: Pueden ser a su vez
Entero: Subconjunto finito del conjunto matemático de los números enteros.
No tiene parte decimal. El rango de los valores depende del tamaño que se
les asigne en la memoria para su representación, este tamaño es definido por
el lenguaje de programación, usualmente 2 bytes.
Real: Subconjunto finito del conjunto matemático de los números reales.
Llevan signo y parte decimal, se almacenan usualmente en 4 bytes o más
(dependiendo del lenguaje de programación que se utilice).
Lógico o booleanos: Es aquel que solo puede tomar uno de los valores,
verdadero o falso (1 ó 0).
Carácter: Abarca el conjunto finito y ordenado de caracteres que reconoce
la computadora: letras, dígitos, caracteres especiales y ASCLL.
Generalmente, sus valores se representan dentro de un par de comillas
simples, aunque también se puede suministrar su código numérico o posición
dentro del conjunto de caracteres válidos que se esté usando.
Tipo cadena o string: Conjunto de caracteres, que usualmente se presentan
entre los símbolos de comillas dobles (“”).
 Variables
Son instancias de un tipo de dato determinado, cuyo valor puede cambiar
durante la ejecución del programa o corrida del programa.
Antes de usar una variable, el programador debe definirla o declara,
indicando su nombre y su tipo de dato al que pertenece.
El identificador de una variable será un conjunto de caracteres que tendrán
ciertas restricciones, según los defina el lenguaje de programación. Por lo general,
el identificador de una variable tiene que empezar por una letra, el tamaño y
caracteres permitidos como parte del identificador dependen del lenguaje de
programación.
 Variable Acumuladoras:
Son aquellas variables que el programador usa para ir sumando valores a lo largo de
la ejecución 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 ejecución 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 ejecución 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 ejecución del programa. En cuanto al tipo de dato,
hay que colocarlo o no dependiendo del lenguaje de programación
Ejemplo:
nombre=jose
num=2
 Expresiones: Tipos y Operadores
Una Expresión es una combinación de constantes, variables, signos de
operación, paréntesis y nombres especiales (nombres de funciones estándar). De la
evaluación de una expresión resulta un único valor o resultado.
Una Expresión tiene asociado un tipo de dato que corresponde con el tipo del
valor que devuelve la expresión cuando se evalúa. En tal sentido, se tienen
expresiones numéricas y lógicas.
 Expresiones Numéricas: Operadores Aritméticos.
Es una combinación de variables y constantes numéricas con operadores
aritméticos, que al evaluarla devuelve un valor numérico.
Los operadores aritméticos comúnmente usados son: +, -, *, /, los cuales
equivalen a las operaciones suma, resta, multiplicación y división respectivamente.
Otras operaciones aritméticas soportadas en algunos lenguajes de
programación son:
Operador Resto o Modulo (%): Devuelve el resto de una división entera.
 Expresiones lógicas: Operadores relacionales y lógicos:
Una expresión lógica es aquella que solo puede devolver uno de dos valores:
Verdadero o Falso. Los operadores que pueden aparecer en una expresión lógica
son de dos tipos: lógicos o relacionales. Los operadores lógicos solo trabajan sobre
expresiones o datos que retornan valores booleanos. Los operadores relacionales
trabajan con expresiones numéricas para realizar comparaciones que retornan un
valor booleano. Es común tener expresiones que combinan tanto los operadores
lógicos como relacionales.
Los operadores relacionales mas usados son:
< Menor que
> Mayor que
= Igual
< > Diferente
<= Menor o igual que
>= Mayor o igual que
Los operadores lógicos más utilizados son:
Y (and, &&)
O (or, ||)
No (not, !)
 Los Símbolos:
Flechas o líneas de Flujo: Sirven para conectar los
Símbolos del diagrama.
Símbolo de Proceso: Indica la acción que tiene que
Realizar la computadora.
Entrada/salida: Representa las acciones de entrada y
salida. Dentro se colocan las acciones de lectura y
Escritura.
Condición: En el rombo se coloca una condición, al
encontrar este signo, se evalúa la condición que hay
dentro. Según la condición sea verdadera o falsa, se
toma un camino u otro, sirve para representar
estructuras selectivas y repetitivas.
Principio y fin: Dentro del algoritmo va la palabra inicio o
fin del algoritmo.
Conectores: Sirven cuando un flujograma no cabe en una
columna de la hoja y hay que seguir en otro columna y otro
donde empieza. Hay dos tipos:
1.) Si es en la misma hoja
2.) Si es en una hoja distinta
Pantalla: Cuando una salida es por pantalla.
Teclado: También se usa para representar una entrada por
teclado.
Impresora:
 Pseudocódigo:
Es un lenguaje de documentación de programas similar al español o a las
ingles. No necesita seguir ninguna regla específica, como por ejemplo ser requerido
por los programas que van a hacer traducidos y compilados.
Ejemplo de palabras claves en pseudocódigo:
Inicio y Fin: Por donde empieza y termina el algoritmo.
Si: <Condición>
Entonces: <Acciones>
Sino: <Acciones>
Mientras: <Condición> Hacer
Repetir / Hasta: <Condición>
Desde / Hasta
Según sea: (Para evaluar opciones múltiples).
La estructura recomendada para los algoritmos en pseudocódigo es:
Algoritmo <Nombre algoritmo>
Var
<nombre>: <tipo>
Inicio
<Instrucciones>
Fin
 Programación Estructurada:
Estructuras Secuenciales:
Una instrucción sigue a otra en secuencia, es decir, la salida de una instrucción es la
entrada de la siguiente.
FLUJOGRAMA PSEUDOCODIGO
Leer num
num=num*2
Escribir num
 Estructuras Selectivas:
En este tipo de estructura se evalúa una condición y en función del resultado
lógico (verdadero o falso) u otro resultado se ejecuta un conjunto de instrucciones.
Son también denominadas estructuras de control de flujo, estructuras condicionales
o de toma de decisiones.
Estructura selectiva Simple:
Es la estructura condicional elemental y básica
FLUJOGRAMA PSEUDOCODIGO
no
si
Si <condición>
Entonces
<Acciones>
Fin Si
Leer num
num=num*2
Escribir num
C
Acciones
Estructura Selectiva Doble:
Es una estructura condicional que evalúa una condición dada. Si es verdad,
ejecutan el conjunto de acciones asociadas a la parte del ‘si’, si es falso, se
ejecutan el conjunto de acciones asociadas a la parte del ‘no’.
FLUJOGRAMA PSEUDOCODIGO
Si <condición>
Entonces
<Acciones>
Sino
<Acciones>
Fin Si
 Estructura selectiva de alternativa múltiple:
Se evalúa una condición o expresión que puede tomar ‘n’ valores distintos.
Según sea el valor de la expresión en un instante dado, se ejecutan las acciones
correspondientes a ese valor.
Las acciones asociadas a la opción ‘otro’: se ejecutan cuando la acción no
toma ninguna de los valores que aparecen antes. En algunos lenguajes de
programación se le conoce como alternativa ’else’ o ‘default’.
FLUJOGRAMA PSEUDOCODIGO
Según sea <expresión>
<valor>:<acciones>
<valor>:<acciones>
<valor>:<acciones>
[<otro>:<acciones>]
Fin según
cond
Acciones
Acciones
Expresión
 Estructuras Repetitivas o de ciclo:
Representan un bucle o conjunto de instrucciones que se repiten un número
finito de veces. Cada repetición del bucle se llama una iteración. Todo bucle tiene
asociada una condición, que es la que va a determinar si debe ejecutarse el bucle y
hasta cuando.
Existen tres tipos básicos de estructuras repetitivas:
Estructura repetitiva Mientras-Hacer:
En la estructura repetitiva mientras-hacer, la condición de entrada al ciclo se
evalúa antes de realizar cualquier iteración del bucle. Si la condición no se
cumple, el ciclo no se ejecuta y el programa continúa con la secuencia de
acciones siguientes.
FLUJOGRAMA PSEUDOCODIGO
no
si
Mientras <condición>
Hacer
<acciones>
Fin mientras
Estructura repetitiva Repetir-Hasta:
En la estructura repetitiva Repetir-Hasta, la condición del ciclo se evalúa
después de realizar la primera iteración del bucle. Este bucle se repite
mientras la condición evaluada al final se mantenga falsa. Al cumplirse la
condición y ser verdadera, se sale del bucle.
Condició
n
Acciones
FLUJOGRAMA PSEUDOCODIGO
no
si
Repetir
<Acciones>
Hasta <condición>
Estructura Repetitiva desde:
Se usa cuando se sabe el número exacto de veces que se va a ejecutar el
bucle. El bucle lleva asociado una variable que se denomina variable de
índice, a la que se le asigna un valor inicial y se establece cual va a ser su
valor final.
FLUJOGRAMA PSEUDOCODIGO
si
no
Desde <v=vi> hasta <vf>
<acciones>
Fin desde
Acciones
condicion
v = vi
V<=vf Acciones
v=v+1
TEORIA DE LENGUAJE C
 Lenguaje C:
El lenguaje de programación C fue desarrollado por Brian Kemighan y
Dennis Ritchie en los Laboratorios Bell en el año 1972. Fue liberado en un
momento cuando se desarrollaban cientos de lenguaje de programación.
 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 programación C impone algunas reglas en la
construcción de los nombres de variable. Estos se listan a continuación.
1.) Los nombres de variables siempre deben empezar con una letra. Esto incluye al
carácter “_”.
2.) Un nombre de variable puede estar formado por una secuencia de letras del
alfabeto y/o dígitos de 0 al 9 y/o el carácter “_” (subrayado).
3.) No se permiten comas ni espacios en blanco en un nombre de variable.
4.) No se permite usar como nombres de variables, palabras reservadas por el
lenguaje como (int, enum, short, char, float, etc).
En el caso, de querer almacenar un entero, se declara como sigue.
Ejemplo: int num;
 El uso de los caracteres de cadena de formato:
Cadena de Formato Propósito
%d int (notación decimal con signo)
%i int (notación decimal con signo, octal o hexadecimal).
%o int (natación decimal sin signo).
%x, %X int (notación hexadecimal sin signo)
%u int (notación decimal sin signo).
%c char
%f, %e, %E, %g, %G doublé
%s Cadena de caracteres
 El uso de secuencias de caracteres de escape:
Secuencia de escape Propósito
a Carácter de alerta (timbre)
b Retroceso (Backspace)
f Formafeed
n Nueva línea
r Retorno de carro
t Tabulador Horizontal
v Tabulador vertical
 Diagonal inversa
? Signo de interrogación
’ Comilla simple
” Comilla doble
ooo Numero octal
xhh Numero hexadecimal
 Aceptar entradas del usuario:
Lo que realmente se necesita es tener la capacidad de conseguir que el
usuario proporcione los elementos de datos que se requieren como una entrada. Esto
puede hacerse a través de la función scanf de C.
Existen muchas funciones incorporadas como la función printf, que están
disponibles a los usuarios programadores de lenguaje C a través de la librería
estándar de E/S.
Librería estándar. #include <stdio.h>
Esta sentencia es esencial en el momento de compilación del programa. Una
de las funciones que pertenece a esta librería es printf.
De las funciones propias de la librería stdio.h existe una que permite obtener
la entrada de un usuario, esta es la función scanf. Esta función se puede usar de la
siguiente manera.
Ejemplo:
scanf (“%d”, &num);
Cuando esta función se ejecuta, se espera que el usuario ingrese un entero
válido. Una vez que el valor se obtiene del usuario, éste se almacena en la variable
entera llamada num.
 Tipos de datos básicos en C:
Tipo de dato Descripción Requerimientos típicos de
memoria
Int Entero 2 bytes
Float Numero de punto flotante 4 bytes
Doublé Numero de punto flotante
o de doble precisión
8 bytes
Char Carácter simple 1 byte
 Operadores Aritméticos:
+, -, *, / y %.
 Expresiones y operadores lógicos y relacionales:
Las expresiones relacionales son aquellas que se forman con una
combinación de identificadores, constates y expresiones aritméticas.
 Operadores relacionales:
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
 Operadores de igualdad:
== Igual a
!= No igual a
 Expresiones lógicas:
&& Y (and)
| | O (or)
! NO (NOT)
 Estructuras de control, de decisión:
El control, de decisión abarca desde verificar condiciones muy simples hasta
estructuras muy complejas.
 Construcción if – else:
La forma general de la sentencia if – else se da a continuación.
if (condición){
Sentencia1;
….
Sentencia2;
}
else{
sentencia1;
…
Sentencian;
}
 La estructura switch … case:
switch (variable){
case valor1: sentencias;
break;
case valor2: sentencias;
break;
…
case valorn: sentencias;
break;
default: sentencias;
break;
}
 Estructuras de control Repetitivas:
Son estructuras que permiten repetir una porción del algoritmo que requiere
repetición.
 Construcción Iterativa while:
La variable de control del bucle se inicializa.
while (prueba la condición usando la variable de control) {
Ejecutar sentencias;
.
.
Modificar la variable de control del bucle.
}
 Construcción Iterativa for:
for (inicialización del contador; condición de prueba; actualización del contador) {
Ejecutar todas las sentencias dentro de las llaves;
}
for (k = 1; k <= N; k++)
Inicialización Condición Incremento
 Estructura de la sentencia do - while:
do {
sentencia 1;
sentencia2;
} while (la condición es verdadera);
Practica de ejercicios
 Estructuras secuenciales
1.) Determine el promedio de 3 números 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 rectángulo, calcular el área y el perímetro del
mismo, Las formulas a utilizar son: área= base * altura y perímetro = 2 * (base +
altura).
4.) Obtener la edad de una persona en meses, si se ingresa su edad en años y meses.
Por ejemplo, si se ingresa 3 años 4 meses debe mostrar 40 meses.
5.) Dada una cantidad de hombres y de mujeres, calcular el porcentaje de cada
género dentro del grupo.
6.) Hacer un algoritmo que permita ingresar dos números enteros y calcule las 4
operaciones básicas (suma, resta, multiplicación y división). Además calcular la
potencia. El algoritmo debe mostrar los números y los resultados.
7.) Dado un tiempo en minutos, calcular los días, horas y minutos que le
corresponden.
8.) Un instructor prepara tres modelos de exámenes para tres salones en un curso de
programación. El instructor sabe que tarda 5 min en el modelo del salón A, 8
min en el modelo del salón B y 6 min en el modelo del salón C. Dada las
cantidades de estudiantes en cada salón, ¿Cuántas horas y minutos tardara el
instructor en revisar los exámenes de todos los salones.
9.) Calculando tres opciones sobre cuadrados y círculos 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=3600 seg..
 Estructuras de control de decisión y selectivas:
1.) Dados sus lados (a, b, c), determinar si un triangulo es: equilátero, isósceles o
escaleno.
2.) A un trabajador le pagan según 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 artículo determinado, del que se adquieren una o varias unidades.
El IVA es del 15% y si el monto bruto (precio veta más IVA) es mayor de 50
pesetas se debe realizar un descuento del 5% sobre el monto total.
6.) Una aseguradora de vehículos tiene los siguientes porcentajes de prima
dependiendo de los años de antigüedad del vehículo. Los vehículos de 1 año
pagan el 5% de su valor, de 2 años pagan el 8% de su valor, de tres años el 10%,
de 4 años el 12% y de 5 años o mas pagan el 15%. Elabore un programa que
solicite el valor del vehículo y los años de antigüedad y muestre por pantalla el
valor de la prima.
7.) Elabore un programa que imprima el mayor de dos números enteros
introducidos por el usuario.
8.) Dado un número entero positivo determine si es par o no.
9.) Dado un número del 1 al 7 indique a que día de la semana corresponde.
10.) Construya un programa tal, que dado como dato el sueldo de un trabajador,
calcule su aumento según el siguiente criterio.
 sueldo < 1000 el aumento es de 25%
 sueldo >= 1000 y sueldo <= 1500 el aumento es de 21%
 sueldo > 1500 el aumento es de 18%
11.) Dada la fecha en el rango de 01/01/1980 al 31/12/2010, determine si es
correcta o incorrecta.
Por ejemplo:
Día: 21
Mes: 09
Año: 2006
¡Fecha correcta!
Día: 09
Mes: 2006
Año: 2006
¡Fecha incorrecta!
No todos los meses tienen 31 días.
12.) Escribir un programa que tome la fecha actual y la fecha de nacimiento de
una persona en la forma día y años (enteros) como entrada. Cada entero estará
separado por ‘/’, el programa debe validar ambas fechas y determinar la edad de
la persona en años.
13.) Suponga que usted esta encargado del centro de computación de la empresa
“EL BIEN”, y se le ha pedido monto que adeuda el cliente mas moroso que
tiene la empresa, así como el interés a pagar en el presente mes, sabiendo que: si
el atraso es de 30 a 60 días inclusive, el interés a cobrar es de 2% inclusive, si el
atraso esta entre 60 a 90 días inclusive, el interés a cobrar será del 5 %, si el
atraso es de 91 a 120 días inclusive, el interés a cobrar será de 7% y si el atraso
es mayor a 120 días el interés 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 días 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 día
según las siguientes políticas: si el comprador tiene más de 5 años adquiriendo
malla en rollo tendrá un descuento del 8% en esta malla. Si es comprador de
malla plana por más de 6 años tendrá un descuento del 6% en esa malla. El
costo de la malla plana es de 400 dólares por metro y de la malla de rollo es de
250 dólares por metro. Elabore un programa en C que capture los metros a
comprar por tipo de malla para un cliente, además del tiempo en años 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 pizzería se tienen 3 tamaños de pizzas; grande, mediana y pequeña
de precios 20 bsf, 30 bsf y 80 bsf respectivamente todas con 2 ingredientes,
además 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.
*Champiñones = 5 bsf
*Anchoas = 4 bsf
*Jamón = 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.
16.) Escribir un programa que, dado el número del mes y la información de si el
año es bisiesto, imprima por pantalla el número de días del mes.
17.) Escribir un programa que, pida la fecha de nacimiento de una persona e
imprima por pantalla su signo zodiacal.
18.) Escribir un programa que pida un numero entero y determine si es múltiplo
de 2 y de 5.
19.) El costo de las llamadas telefónicas internacionales, depende de la zona
geográfica en la que se encuentre el país destino, y del número de minutos
hablados. En la siguiente tabla se presenta el costo por minuto, por zona. A cada
zona se le ha asociado una clave.
CLAVE ZONA PRECIO
12 América del norte 2
15 América Central 2.2
18 América del sur 4.5
19 Europa 3.5
23 Asia 6
25 África 6
29 Oceanía 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 geográfica a la que
se llamo, nummin es una variable entera. Que expresa la duración (en minutos de la
llamada).
 Estructuras Repetitivas:
1.) Construya un algoritmo que reciba como entrada varios montos de depósito y
despliegue la suma de ellos. Considere que un valor negativo, significa que no
hay más datos y no debe ser considerado como dato valido.
2.) Construya un algoritmo que reciba como entrada una secuencia de valores
numéricos y genere como salida la suma de los valores pares y la multiplicación
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 número entero determinar la suma de sus dígitos.
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
5.) Solicite 10 números enteros al usuario e imprima su promedio.
6.) Realizar un programa en lenguaje C que sume los números impares
comprendidos del 1 al 1000.
7.) La empresa GAME tiene 50 empleados. Por cada uno se lee el nombre,
departamento y sueldo. Hacer un programa en lenguaje C que lea esa
información e imprima el nombre, sueldo actual y sueldo nuevo de acuerdo a lo
siguiente.
Salario Actual % Aumento
Menor o igual a 900 20
Entre 900 y 1300 inclusive 10
Entre 1300 y 1800 inclusive 05
Mayor a 1800 00
8.) Escribir un programa que tome como entrada un numero entero positivo N, y
formar dos números como sigue:
 X se forma con los dígitos que sean números pares en el mismo orden de izquierda a
derecha, tal como son presentados.
 Y se forma con los dígitos que sean números 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 número diferente a los previamente señalados. 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 múltiplo de un numero de 10 en 10:
11.) Realizar un programa de calculadora básica que repita operaciones
aritméticas cuando lo desee.
12.) Elaborar el control de una empresa: Una compañía productora de aceite,
ha decidido mecanizar el control de las ventas de sus empleados. La compañía
produce tres tipos de aceites: Aceite tipo 1 (de primera) cuyo valor por litro es
25 dólares, aceite tipo 2 (de segunda) con precio de 20 dólares por litro y aceite
tipo 3 (de tercera) con costo de 15 dólares por litro. Se desea realizar un reporte
que incluya: código vendedor, por tipo de aceite cantidad vendida, monto en
dólares 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 ‘salón 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 Sueldo % Aumento
A 0 – 10000 8
B 10001 – 30000| 6
C 30001 – 60000 4
D > 60000 2
Construya un programa que reciba como entrada el sueldo actual de cada uno de
los trabajadores y calcule el nuevo sueldo. Además, el algoritmo deberá indicar
cuanto mas gasta la empresa por concepto de sueldos, después del aumento.
15.) Se requiere elaborar en C que calcule el costo del vehículo en el
concesionario MMCR para 3 clientes (debe mostrarse por pantalla el costo de
cada vehículo), en estas fechas en concesionario ofrece a esos 3 clientes
descuentos fabulosos en el costo del vehículo, si los clientes deciden instalar o
adquirir en el concesionario MMRC: sistema de seguridad, papel ahumado,
compra de la póliza de seguro y por cada accesorios recibirán los siguientes
descuentos sobre el costo del vehículo.
0,15% para sistemas de seguridad (debe ser >1, sin importar cantidad)
1 % para el seguro.
0,1 % papel ahumado (todo el vehículo, sino no aplica)
0,01 % por cada accesorio (totalDesAcc=cantAcc * 0,01)
Monto por cada cliente:
Siendo el monto inicial del vehículo 47000
Monto costo final del vehículo: monto costo inicial vehiculo – montoSisSeg – montoSeg –
montoPaAh – montoTotalDesAcc
ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES EN ALGORITMICA
 Arreglos Unidimensionales: arreglos o vectores.
Es un conjunto finito, consecutivo y organizado de elementos homogéneos,
es decir, elementos pertenecientes a un mismo tipo de dato.
Para referenciar cada elemento de un arreglo se usa el índice, que es un valor que
directa o indirectamente referencia la posición del elemento dentro del tiempo del
arreglo.
Para referenciar un elemento de un arreglo se usa el nombre del arreglo y
entre corchetes ([] ) el índice que determina la posición de ese elemento en el
arreglo.
Los arreglos se almacenan siempre en posiciones consecutivas de memoria y
se puede acceder a cada elemento del arreglo de manera independiente, a través de
los índices.
 Definición de un arreglo o vector.
Para definir un arreglo, se da el nombre del arreglo, el rango de sus índices y el tipo
de los datos que contiene.
Ejemplo:
sueldo: arreglo [8] de real
i: entero
i=2
sueldo[i] =23.5
 Operaciones con vectores:
Se va a usar la declaración de vector de la siguiente manera:
ventas: arreglo[10] de entero
Gráficamente este vector puede representarse como:
1 2 3 4 5 6 7 8 9 10
 Asignar un dato a una posición del arreglo
Consiste en asignar un valor dado a una posición del arreglo dada por un índice.
La sintaxis de esta operación es:
<nom_arreglo> [índice] = valor
Ejemplo: asignar el 4000 a la posición 5 del vector.
ventas [5] = 4000
 Lectura y escritura de datos:
Consiste en usar una posición 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 año y almacenarlas en un vector.
Desde i = 1 hasta 12
Escribir “Introduzca las ventas del mes” i
Leer ventas[i]
Fin desde
Desde i = 1 hasta 12
Escribir “Ventas del mes” i “=” ventas[i]
Fin desde
 Arreglos bidimensionales: Matrices m x n.
En un arreglo unidimensional o vector cada elemento es referenciado por un índice.
En un arreglo bidimensional cada elemento se va a referenciar por 2 índices.
La representación lógica de un arreglo bidimensional es una matriz de
dimensiones M x N donde M es el numero de filas y N el numero de columnas, es
decir, la primera dimensión las filas y la segunda las columnas. Al acceder a un
elemento, i,j se esta accediendo al elemento que ocupa la fila i y la columna j.
En general se puede definir un arreglo de 2 dimensiones de la siguiente manera:
<nombre arreglo>: arreglo [rango-filas, rango-columnas] de <tipo de dato>
Así la matriz para la representación de las ventas mensuales de 3 años será:
ventas: arreglo [3,12] de real
tamaño = m x n = 5 x 12 = 36
En memoria, sin embargo todos los elementos del arreglo se almacenan en
posiciones contiguas.
Matriz de ventas 5 x 12, total de 60 elementos:
1 2 3 4 5 6 7 8 9 10 11 12
1
2
3 120
ventas [3, 2] = 120
Ejemplo:
Inicializar la matriz de ventas mensuales para 5 años:
ventas: arrelo[5, 12] de entero
var i, j: entero
Desde i = 1 hasta 5
Desde j = 1 hasta 12
ventas[i, j] = 0
Fin desde
Fin desde
ARREGLOS UNIDIMENCIONALES Y BIDIMENSIONALES EN LENGUAJE C
Los arreglos son un almacén de d múltiples elementos de datos. Las dos formas en
las cuales los arreglos se pueden usar son:
 Ilustración de un Arreglo unidimensional:
15
24
20
10
65
7
 Ilustración de un arreglos bidimensional:
15 20 24
5 8 66
90 88 34
Un vector no es más que un arreglo unidimensional. Por otro lado un arreglo
bidimensional se denomina matriz en matemáticas.
 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 través de asignación:
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] = %dn”, k, num[k]);
fflush (stdin);
getchar ();
}
 Declarar un arreglo bidimensional:
La forma general de declaración de un arreglo bidimensional se da a continuación:
Tipo-de-dato arreglo[exp1][exp2];
 Resolverproblemas con arreglos bidimensionales:
Los primeros pasos para aprender sobre arreglos bidimensionales es a
declararlos e inicializarlos. Al igual que los arreglos unidimensionales, los arreglos
bidimensionales se declaran como sigue:
 int a[100][100];
 char texto[25][80];
 float num[10][18];
 Ejercicios de arreglos unidimensionales:
Curso de desarrollo de software
Curso de desarrollo de software

Contenu connexe

Tendances

Taller de fundamentos de programacion
Taller de fundamentos de programacionTaller de fundamentos de programacion
Taller de fundamentos de programacionUDECI
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacionMichele André
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semanticoAreli Gómez
 
Glosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGlosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGabriel Méndez
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
2.3 instrucciones básicas de programación
2.3 instrucciones básicas de programación2.3 instrucciones básicas de programación
2.3 instrucciones básicas de programaciónEmir Méndez Alarcón
 
Jcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionJcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionMiguel Alejandro León Santos
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico Jorge Molano
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacionguest9a91e2
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionJesus Chaux
 
Conceptos básicos de programación
Conceptos básicos de programaciónConceptos básicos de programación
Conceptos básicos de programaciónUPEL
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicoscbertolotti
 
Conceptos Basicos Programacion
Conceptos Basicos ProgramacionConceptos Basicos Programacion
Conceptos Basicos ProgramacionMichele André
 
3. Elementos basicos de un programa
3.  Elementos basicos de un programa3.  Elementos basicos de un programa
3. Elementos basicos de un programamartell024
 

Tendances (19)

Taller de fundamentos de programacion
Taller de fundamentos de programacionTaller de fundamentos de programacion
Taller de fundamentos de programacion
 
Act26
Act26Act26
Act26
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacion
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Glosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGlosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programas
 
Clase pseint
Clase pseintClase pseint
Clase pseint
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
2.3 instrucciones básicas de programación
2.3 instrucciones básicas de programación2.3 instrucciones básicas de programación
2.3 instrucciones básicas de programación
 
Jcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionJcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacion
 
[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacion
 
Algoritmos y Pseudocódigo
Algoritmos y PseudocódigoAlgoritmos y Pseudocódigo
Algoritmos y Pseudocódigo
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Conceptos básicos de programación
Conceptos básicos de programaciónConceptos básicos de programación
Conceptos básicos de programación
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Conceptos Basicos Programacion
Conceptos Basicos ProgramacionConceptos Basicos Programacion
Conceptos Basicos Programacion
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
3. Elementos basicos de un programa
3.  Elementos basicos de un programa3.  Elementos basicos de un programa
3. Elementos basicos de un programa
 

Similaire à Curso de desarrollo de software

Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Unidad I. Introducción a la Programación 3.pptx
Unidad I. Introducción a la Programación 3.pptxUnidad I. Introducción a la Programación 3.pptx
Unidad I. Introducción a la Programación 3.pptxDiegoAlvizo3
 
Actividad....... 26
Actividad....... 26Actividad....... 26
Actividad....... 26grachika
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- PseudocódigoYenny Salazar
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmiaEsteban Bedoya
 
Actividad26
Actividad26Actividad26
Actividad26grachika
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logicasrblack13
 
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.yoly1parra1
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacionrulo182
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructuradaramirezadi
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicosmoni26011993
 

Similaire à Curso de desarrollo de software (20)

Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Programacion
ProgramacionProgramacion
Programacion
 
Unidad I. Introducción a la Programación 3.pptx
Unidad I. Introducción a la Programación 3.pptxUnidad I. Introducción a la Programación 3.pptx
Unidad I. Introducción a la Programación 3.pptx
 
Actividad....... 26
Actividad....... 26Actividad....... 26
Actividad....... 26
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmia
 
Actividad26
Actividad26Actividad26
Actividad26
 
Algortitmos
AlgortitmosAlgortitmos
Algortitmos
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
 
INTRODUCCION
INTRODUCCIONINTRODUCCION
INTRODUCCION
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Programacion kmi
Programacion kmiProgramacion kmi
Programacion kmi
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
algortimos
algortimosalgortimos
algortimos
 

Curso de desarrollo de software

  • 1. CASA DE LA CULTURA “JUVENAL RAVELO” CARIPITO – ESTADO – MONAGAS CURSO DE DESARROLLO DE SOFTWARE INSTRUCTOR T.S.U. EN INFORMATICA ANGEL CHIRINOS Caripito, julio del 2012
  • 2.
  • 3. TEORIA DE ALGORITMICA  Que son Algoritmos: El concepto de algorítmica fue desarrollado por el matemático persa ABU JAFAR MOHAMMED IBN MUSA AL KHWARIZMI. Se puede decir que un algoritmo es una fórmula para resolver un problema. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden, resuelven el problema planteado.  Definiciones básicas: Definiciones básicas que se usan en el entorno de un programa de computadora. Lenguaje maquina: Es un lenguaje que puede ser integrado directamente por los circuitos internos de la computadora porque esta basado en instrucciones compuestas por secuencias de ceros (0) y unos (1). Lenguaje de bajo nivel: Es un lenguaje que usa el programador para codificar sentencias simbólicas que un compilador (programa traductor) puede convertir una a una en instrucciones de lenguaje de maquina. Hace uso de abreviaturas, para representar las instrucciones de maquina. Lenguaje de alto nivel: Es un lenguaje de programación orientado al problema o procedimientos, Ejemplo de estos lenguajes son COBOL, FORTRAN, C, C++, JAVA, PHP, etc. Compilar: Es traducir un programa escrito en un lenguaje de alto nivel a un programa en lenguaje maquina, que es la forma en que la computadora puede ejecutar directamente las acciones o instrucciones.
  • 4. El proceso de compilación se descompone en dos pasos:  Compilar: las instrucciones de alto nivel para producir lo que se denomina el código objeto.  Enlazar: que es tomar el código objeto generado y cualquier otro código objeto que sea requerido, que haya sido previamente generado, produciendo así el programa ejecutable o código ejecutable.  Crear un programa de computadora: Para crear un programa de computadora, generalmente el programador debe partir de un algoritmo y escribir las sentencia (instrucciones) del código fuente de un editor. Un editor es un programa utilitario que permite la edición de textos y programas.  Datos tipos de datos y funciones incorporadas: Un programa de computadora, para que pueda ser ejecutado debe ser cargado en memoria. La unida de procesamiento del ordenador solo puede trabajar con los datos e instrucciones que residen en la memoria.  Dato: Un dato es cualquier objeto o elemento de información 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 efectúa una operación en el computador, es decir, cuando se ejecuta una instrucción en un programa. Un dato tiene un nombre que lo identifica y distingue de los demás elementos del programa. Dicho nombre no es más que otra forma de referenciar la dirección de memoria que ocupa el dato.  Tipo de dato: Es una definición 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 representación determinada en el computador. Esto tiene que ver con el tamaño y la cantidad de memoria que el computador reserva para almacenar los datos de un tipo especifico cualquiera.
  • 5. Los tipos de datos pueden ser:  Tipo de dato Primitivo: Tipos de datos básicos predefinidos en el sistema.  Tipo de datos definidos por el usuario: Agregados por el programador Los tipos de datos primitivos mas importantes son: Numéricos, Lógicos y carácter. A continuación se definen cada uno de ellos.  Numéricos: Pueden ser a su vez Entero: Subconjunto finito del conjunto matemático de los números enteros. No tiene parte decimal. El rango de los valores depende del tamaño que se les asigne en la memoria para su representación, este tamaño es definido por el lenguaje de programación, usualmente 2 bytes. Real: Subconjunto finito del conjunto matemático de los números reales. Llevan signo y parte decimal, se almacenan usualmente en 4 bytes o más (dependiendo del lenguaje de programación que se utilice). Lógico o booleanos: Es aquel que solo puede tomar uno de los valores, verdadero o falso (1 ó 0). Carácter: Abarca el conjunto finito y ordenado de caracteres que reconoce la computadora: letras, dígitos, caracteres especiales y ASCLL. Generalmente, sus valores se representan dentro de un par de comillas simples, aunque también se puede suministrar su código numérico o posición dentro del conjunto de caracteres válidos que se esté usando. Tipo cadena o string: Conjunto de caracteres, que usualmente se presentan entre los símbolos de comillas dobles (“”).  Variables Son instancias de un tipo de dato determinado, cuyo valor puede cambiar durante la ejecución del programa o corrida del programa. Antes de usar una variable, el programador debe definirla o declara, indicando su nombre y su tipo de dato al que pertenece. El identificador de una variable será un conjunto de caracteres que tendrán ciertas restricciones, según los defina el lenguaje de programación. Por lo general,
  • 6. el identificador de una variable tiene que empezar por una letra, el tamaño y caracteres permitidos como parte del identificador dependen del lenguaje de programación.  Variable Acumuladoras: Son aquellas variables que el programador usa para ir sumando valores a lo largo de la ejecución 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 ejecución 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 ejecución 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 ejecución del programa. En cuanto al tipo de dato, hay que colocarlo o no dependiendo del lenguaje de programación Ejemplo: nombre=jose num=2  Expresiones: Tipos y Operadores Una Expresión es una combinación de constantes, variables, signos de operación, paréntesis y nombres especiales (nombres de funciones estándar). De la evaluación de una expresión resulta un único valor o resultado. Una Expresión tiene asociado un tipo de dato que corresponde con el tipo del valor que devuelve la expresión cuando se evalúa. En tal sentido, se tienen expresiones numéricas y lógicas.
  • 7.  Expresiones Numéricas: Operadores Aritméticos. Es una combinación de variables y constantes numéricas con operadores aritméticos, que al evaluarla devuelve un valor numérico. Los operadores aritméticos comúnmente usados son: +, -, *, /, los cuales equivalen a las operaciones suma, resta, multiplicación y división respectivamente. Otras operaciones aritméticas soportadas en algunos lenguajes de programación son: Operador Resto o Modulo (%): Devuelve el resto de una división entera.  Expresiones lógicas: Operadores relacionales y lógicos: Una expresión lógica es aquella que solo puede devolver uno de dos valores: Verdadero o Falso. Los operadores que pueden aparecer en una expresión lógica son de dos tipos: lógicos o relacionales. Los operadores lógicos solo trabajan sobre expresiones o datos que retornan valores booleanos. Los operadores relacionales trabajan con expresiones numéricas para realizar comparaciones que retornan un valor booleano. Es común tener expresiones que combinan tanto los operadores lógicos como relacionales. Los operadores relacionales mas usados son: < Menor que > Mayor que = Igual < > Diferente <= Menor o igual que >= Mayor o igual que Los operadores lógicos más utilizados son: Y (and, &&) O (or, ||) No (not, !)
  • 8.  Los Símbolos: Flechas o líneas de Flujo: Sirven para conectar los Símbolos del diagrama. Símbolo de Proceso: Indica la acción que tiene que Realizar la computadora. Entrada/salida: Representa las acciones de entrada y salida. Dentro se colocan las acciones de lectura y Escritura. Condición: En el rombo se coloca una condición, al encontrar este signo, se evalúa la condición que hay dentro. Según la condición sea verdadera o falsa, se toma un camino u otro, sirve para representar estructuras selectivas y repetitivas. Principio y fin: Dentro del algoritmo va la palabra inicio o fin del algoritmo. Conectores: Sirven cuando un flujograma no cabe en una columna de la hoja y hay que seguir en otro columna y otro donde empieza. Hay dos tipos: 1.) Si es en la misma hoja 2.) Si es en una hoja distinta Pantalla: Cuando una salida es por pantalla.
  • 9. Teclado: También se usa para representar una entrada por teclado. Impresora:  Pseudocódigo: Es un lenguaje de documentación de programas similar al español o a las ingles. No necesita seguir ninguna regla específica, como por ejemplo ser requerido por los programas que van a hacer traducidos y compilados. Ejemplo de palabras claves en pseudocódigo: Inicio y Fin: Por donde empieza y termina el algoritmo. Si: <Condición> Entonces: <Acciones> Sino: <Acciones> Mientras: <Condición> Hacer Repetir / Hasta: <Condición> Desde / Hasta Según sea: (Para evaluar opciones múltiples). La estructura recomendada para los algoritmos en pseudocódigo es: Algoritmo <Nombre algoritmo> Var <nombre>: <tipo> Inicio <Instrucciones> Fin  Programación Estructurada: Estructuras Secuenciales: Una instrucción sigue a otra en secuencia, es decir, la salida de una instrucción es la entrada de la siguiente.
  • 10. FLUJOGRAMA PSEUDOCODIGO Leer num num=num*2 Escribir num  Estructuras Selectivas: En este tipo de estructura se evalúa una condición y en función del resultado lógico (verdadero o falso) u otro resultado se ejecuta un conjunto de instrucciones. Son también denominadas estructuras de control de flujo, estructuras condicionales o de toma de decisiones. Estructura selectiva Simple: Es la estructura condicional elemental y básica FLUJOGRAMA PSEUDOCODIGO no si Si <condición> Entonces <Acciones> Fin Si Leer num num=num*2 Escribir num C Acciones
  • 11. Estructura Selectiva Doble: Es una estructura condicional que evalúa una condición dada. Si es verdad, ejecutan el conjunto de acciones asociadas a la parte del ‘si’, si es falso, se ejecutan el conjunto de acciones asociadas a la parte del ‘no’. FLUJOGRAMA PSEUDOCODIGO Si <condición> Entonces <Acciones> Sino <Acciones> Fin Si  Estructura selectiva de alternativa múltiple: Se evalúa una condición o expresión que puede tomar ‘n’ valores distintos. Según sea el valor de la expresión en un instante dado, se ejecutan las acciones correspondientes a ese valor. Las acciones asociadas a la opción ‘otro’: se ejecutan cuando la acción no toma ninguna de los valores que aparecen antes. En algunos lenguajes de programación se le conoce como alternativa ’else’ o ‘default’. FLUJOGRAMA PSEUDOCODIGO Según sea <expresión> <valor>:<acciones> <valor>:<acciones> <valor>:<acciones> [<otro>:<acciones>] Fin según cond Acciones Acciones Expresión
  • 12.  Estructuras Repetitivas o de ciclo: Representan un bucle o conjunto de instrucciones que se repiten un número finito de veces. Cada repetición del bucle se llama una iteración. Todo bucle tiene asociada una condición, que es la que va a determinar si debe ejecutarse el bucle y hasta cuando. Existen tres tipos básicos de estructuras repetitivas: Estructura repetitiva Mientras-Hacer: En la estructura repetitiva mientras-hacer, la condición de entrada al ciclo se evalúa antes de realizar cualquier iteración del bucle. Si la condición no se cumple, el ciclo no se ejecuta y el programa continúa con la secuencia de acciones siguientes. FLUJOGRAMA PSEUDOCODIGO no si Mientras <condición> Hacer <acciones> Fin mientras Estructura repetitiva Repetir-Hasta: En la estructura repetitiva Repetir-Hasta, la condición del ciclo se evalúa después de realizar la primera iteración del bucle. Este bucle se repite mientras la condición evaluada al final se mantenga falsa. Al cumplirse la condición y ser verdadera, se sale del bucle. Condició n Acciones
  • 13. FLUJOGRAMA PSEUDOCODIGO no si Repetir <Acciones> Hasta <condición> Estructura Repetitiva desde: Se usa cuando se sabe el número exacto de veces que se va a ejecutar el bucle. El bucle lleva asociado una variable que se denomina variable de índice, a la que se le asigna un valor inicial y se establece cual va a ser su valor final. FLUJOGRAMA PSEUDOCODIGO si no Desde <v=vi> hasta <vf> <acciones> Fin desde Acciones condicion v = vi V<=vf Acciones v=v+1
  • 14. TEORIA DE LENGUAJE C  Lenguaje C: El lenguaje de programación C fue desarrollado por Brian Kemighan y Dennis Ritchie en los Laboratorios Bell en el año 1972. Fue liberado en un momento cuando se desarrollaban cientos de lenguaje de programación.  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 programación C impone algunas reglas en la construcción de los nombres de variable. Estos se listan a continuación. 1.) Los nombres de variables siempre deben empezar con una letra. Esto incluye al carácter “_”. 2.) Un nombre de variable puede estar formado por una secuencia de letras del alfabeto y/o dígitos de 0 al 9 y/o el carácter “_” (subrayado). 3.) No se permiten comas ni espacios en blanco en un nombre de variable. 4.) No se permite usar como nombres de variables, palabras reservadas por el lenguaje como (int, enum, short, char, float, etc). En el caso, de querer almacenar un entero, se declara como sigue. Ejemplo: int num;  El uso de los caracteres de cadena de formato: Cadena de Formato Propósito %d int (notación decimal con signo) %i int (notación decimal con signo, octal o hexadecimal). %o int (natación decimal sin signo). %x, %X int (notación hexadecimal sin signo) %u int (notación decimal sin signo). %c char %f, %e, %E, %g, %G doublé %s Cadena de caracteres
  • 15.  El uso de secuencias de caracteres de escape: Secuencia de escape Propósito a Carácter de alerta (timbre) b Retroceso (Backspace) f Formafeed n Nueva línea r Retorno de carro t Tabulador Horizontal v Tabulador vertical Diagonal inversa ? Signo de interrogación ’ Comilla simple ” Comilla doble ooo Numero octal xhh Numero hexadecimal  Aceptar entradas del usuario: Lo que realmente se necesita es tener la capacidad de conseguir que el usuario proporcione los elementos de datos que se requieren como una entrada. Esto puede hacerse a través de la función scanf de C. Existen muchas funciones incorporadas como la función printf, que están disponibles a los usuarios programadores de lenguaje C a través de la librería estándar de E/S. Librería estándar. #include <stdio.h> Esta sentencia es esencial en el momento de compilación del programa. Una de las funciones que pertenece a esta librería es printf. De las funciones propias de la librería stdio.h existe una que permite obtener la entrada de un usuario, esta es la función scanf. Esta función se puede usar de la siguiente manera. Ejemplo: scanf (“%d”, &num); Cuando esta función se ejecuta, se espera que el usuario ingrese un entero válido. Una vez que el valor se obtiene del usuario, éste se almacena en la variable entera llamada num.
  • 16.  Tipos de datos básicos en C: Tipo de dato Descripción Requerimientos típicos de memoria Int Entero 2 bytes Float Numero de punto flotante 4 bytes Doublé Numero de punto flotante o de doble precisión 8 bytes Char Carácter simple 1 byte  Operadores Aritméticos: +, -, *, / y %.  Expresiones y operadores lógicos y relacionales: Las expresiones relacionales son aquellas que se forman con una combinación de identificadores, constates y expresiones aritméticas.  Operadores relacionales: < Menor que <= Menor o igual que > Mayor que >= Mayor o igual que  Operadores de igualdad: == Igual a != No igual a  Expresiones lógicas: && Y (and) | | O (or) ! NO (NOT)  Estructuras de control, de decisión: El control, de decisión abarca desde verificar condiciones muy simples hasta estructuras muy complejas.
  • 17.  Construcción if – else: La forma general de la sentencia if – else se da a continuación. if (condición){ Sentencia1; …. Sentencia2; } else{ sentencia1; … Sentencian; }  La estructura switch … case: switch (variable){ case valor1: sentencias; break; case valor2: sentencias; break; … case valorn: sentencias; break; default: sentencias; break; }  Estructuras de control Repetitivas: Son estructuras que permiten repetir una porción del algoritmo que requiere repetición.
  • 18.  Construcción Iterativa while: La variable de control del bucle se inicializa. while (prueba la condición usando la variable de control) { Ejecutar sentencias; . . Modificar la variable de control del bucle. }  Construcción Iterativa for: for (inicialización del contador; condición de prueba; actualización del contador) { Ejecutar todas las sentencias dentro de las llaves; } for (k = 1; k <= N; k++) Inicialización Condición Incremento  Estructura de la sentencia do - while: do { sentencia 1; sentencia2; } while (la condición es verdadera);
  • 19. Practica de ejercicios  Estructuras secuenciales 1.) Determine el promedio de 3 números 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 rectángulo, calcular el área y el perímetro del mismo, Las formulas a utilizar son: área= base * altura y perímetro = 2 * (base + altura). 4.) Obtener la edad de una persona en meses, si se ingresa su edad en años y meses. Por ejemplo, si se ingresa 3 años 4 meses debe mostrar 40 meses. 5.) Dada una cantidad de hombres y de mujeres, calcular el porcentaje de cada género dentro del grupo. 6.) Hacer un algoritmo que permita ingresar dos números enteros y calcule las 4 operaciones básicas (suma, resta, multiplicación y división). Además calcular la potencia. El algoritmo debe mostrar los números y los resultados. 7.) Dado un tiempo en minutos, calcular los días, horas y minutos que le corresponden. 8.) Un instructor prepara tres modelos de exámenes para tres salones en un curso de programación. El instructor sabe que tarda 5 min en el modelo del salón A, 8 min en el modelo del salón B y 6 min en el modelo del salón C. Dada las cantidades de estudiantes en cada salón, ¿Cuántas horas y minutos tardara el instructor en revisar los exámenes de todos los salones. 9.) Calculando tres opciones sobre cuadrados y círculos 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=3600 seg..  Estructuras de control de decisión y selectivas: 1.) Dados sus lados (a, b, c), determinar si un triangulo es: equilátero, isósceles o escaleno. 2.) A un trabajador le pagan según 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
  • 20. 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 artículo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el monto bruto (precio veta más IVA) es mayor de 50 pesetas se debe realizar un descuento del 5% sobre el monto total. 6.) Una aseguradora de vehículos tiene los siguientes porcentajes de prima dependiendo de los años de antigüedad del vehículo. Los vehículos de 1 año pagan el 5% de su valor, de 2 años pagan el 8% de su valor, de tres años el 10%, de 4 años el 12% y de 5 años o mas pagan el 15%. Elabore un programa que solicite el valor del vehículo y los años de antigüedad y muestre por pantalla el valor de la prima. 7.) Elabore un programa que imprima el mayor de dos números enteros introducidos por el usuario. 8.) Dado un número entero positivo determine si es par o no. 9.) Dado un número del 1 al 7 indique a que día de la semana corresponde. 10.) Construya un programa tal, que dado como dato el sueldo de un trabajador, calcule su aumento según el siguiente criterio.  sueldo < 1000 el aumento es de 25%  sueldo >= 1000 y sueldo <= 1500 el aumento es de 21%  sueldo > 1500 el aumento es de 18% 11.) Dada la fecha en el rango de 01/01/1980 al 31/12/2010, determine si es correcta o incorrecta. Por ejemplo: Día: 21 Mes: 09 Año: 2006 ¡Fecha correcta! Día: 09 Mes: 2006 Año: 2006 ¡Fecha incorrecta! No todos los meses tienen 31 días.
  • 21. 12.) Escribir un programa que tome la fecha actual y la fecha de nacimiento de una persona en la forma día y años (enteros) como entrada. Cada entero estará separado por ‘/’, el programa debe validar ambas fechas y determinar la edad de la persona en años. 13.) Suponga que usted esta encargado del centro de computación de la empresa “EL BIEN”, y se le ha pedido monto que adeuda el cliente mas moroso que tiene la empresa, así como el interés a pagar en el presente mes, sabiendo que: si el atraso es de 30 a 60 días inclusive, el interés a cobrar es de 2% inclusive, si el atraso esta entre 60 a 90 días inclusive, el interés a cobrar será del 5 %, si el atraso es de 91 a 120 días inclusive, el interés a cobrar será de 7% y si el atraso es mayor a 120 días el interés 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 días 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 día según las siguientes políticas: si el comprador tiene más de 5 años adquiriendo malla en rollo tendrá un descuento del 8% en esta malla. Si es comprador de malla plana por más de 6 años tendrá un descuento del 6% en esa malla. El costo de la malla plana es de 400 dólares por metro y de la malla de rollo es de 250 dólares por metro. Elabore un programa en C que capture los metros a comprar por tipo de malla para un cliente, además del tiempo en años 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 pizzería se tienen 3 tamaños de pizzas; grande, mediana y pequeña de precios 20 bsf, 30 bsf y 80 bsf respectivamente todas con 2 ingredientes, además 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. *Champiñones = 5 bsf *Anchoas = 4 bsf *Jamón = 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. 16.) Escribir un programa que, dado el número del mes y la información de si el año es bisiesto, imprima por pantalla el número de días del mes.
  • 22. 17.) Escribir un programa que, pida la fecha de nacimiento de una persona e imprima por pantalla su signo zodiacal. 18.) Escribir un programa que pida un numero entero y determine si es múltiplo de 2 y de 5. 19.) El costo de las llamadas telefónicas internacionales, depende de la zona geográfica en la que se encuentre el país destino, y del número de minutos hablados. En la siguiente tabla se presenta el costo por minuto, por zona. A cada zona se le ha asociado una clave. CLAVE ZONA PRECIO 12 América del norte 2 15 América Central 2.2 18 América del sur 4.5 19 Europa 3.5 23 Asia 6 25 África 6 29 Oceanía 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 geográfica a la que se llamo, nummin es una variable entera. Que expresa la duración (en minutos de la llamada).  Estructuras Repetitivas: 1.) Construya un algoritmo que reciba como entrada varios montos de depósito y despliegue la suma de ellos. Considere que un valor negativo, significa que no hay más datos y no debe ser considerado como dato valido. 2.) Construya un algoritmo que reciba como entrada una secuencia de valores numéricos y genere como salida la suma de los valores pares y la multiplicación 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 número entero determinar la suma de sus dígitos. 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 5.) Solicite 10 números enteros al usuario e imprima su promedio.
  • 23. 6.) Realizar un programa en lenguaje C que sume los números impares comprendidos del 1 al 1000. 7.) La empresa GAME tiene 50 empleados. Por cada uno se lee el nombre, departamento y sueldo. Hacer un programa en lenguaje C que lea esa información e imprima el nombre, sueldo actual y sueldo nuevo de acuerdo a lo siguiente. Salario Actual % Aumento Menor o igual a 900 20 Entre 900 y 1300 inclusive 10 Entre 1300 y 1800 inclusive 05 Mayor a 1800 00 8.) Escribir un programa que tome como entrada un numero entero positivo N, y formar dos números como sigue:  X se forma con los dígitos que sean números pares en el mismo orden de izquierda a derecha, tal como son presentados.  Y se forma con los dígitos que sean números 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 número diferente a los previamente señalados. 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 múltiplo de un numero de 10 en 10: 11.) Realizar un programa de calculadora básica que repita operaciones aritméticas cuando lo desee. 12.) Elaborar el control de una empresa: Una compañía productora de aceite, ha decidido mecanizar el control de las ventas de sus empleados. La compañía produce tres tipos de aceites: Aceite tipo 1 (de primera) cuyo valor por litro es 25 dólares, aceite tipo 2 (de segunda) con precio de 20 dólares por litro y aceite tipo 3 (de tercera) con costo de 15 dólares por litro. Se desea realizar un reporte que incluya: código vendedor, por tipo de aceite cantidad vendida, monto en dólares 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 ‘salón 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.
  • 24. Nivel Sueldo % Aumento A 0 – 10000 8 B 10001 – 30000| 6 C 30001 – 60000 4 D > 60000 2 Construya un programa que reciba como entrada el sueldo actual de cada uno de los trabajadores y calcule el nuevo sueldo. Además, el algoritmo deberá indicar cuanto mas gasta la empresa por concepto de sueldos, después del aumento. 15.) Se requiere elaborar en C que calcule el costo del vehículo en el concesionario MMCR para 3 clientes (debe mostrarse por pantalla el costo de cada vehículo), en estas fechas en concesionario ofrece a esos 3 clientes descuentos fabulosos en el costo del vehículo, si los clientes deciden instalar o adquirir en el concesionario MMRC: sistema de seguridad, papel ahumado, compra de la póliza de seguro y por cada accesorios recibirán los siguientes descuentos sobre el costo del vehículo. 0,15% para sistemas de seguridad (debe ser >1, sin importar cantidad) 1 % para el seguro. 0,1 % papel ahumado (todo el vehículo, sino no aplica) 0,01 % por cada accesorio (totalDesAcc=cantAcc * 0,01) Monto por cada cliente: Siendo el monto inicial del vehículo 47000 Monto costo final del vehículo: monto costo inicial vehiculo – montoSisSeg – montoSeg – montoPaAh – montoTotalDesAcc
  • 25. ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES EN ALGORITMICA  Arreglos Unidimensionales: arreglos o vectores. Es un conjunto finito, consecutivo y organizado de elementos homogéneos, es decir, elementos pertenecientes a un mismo tipo de dato. Para referenciar cada elemento de un arreglo se usa el índice, que es un valor que directa o indirectamente referencia la posición del elemento dentro del tiempo del arreglo. Para referenciar un elemento de un arreglo se usa el nombre del arreglo y entre corchetes ([] ) el índice que determina la posición de ese elemento en el arreglo. Los arreglos se almacenan siempre en posiciones consecutivas de memoria y se puede acceder a cada elemento del arreglo de manera independiente, a través de los índices.  Definición de un arreglo o vector. Para definir un arreglo, se da el nombre del arreglo, el rango de sus índices y el tipo de los datos que contiene. Ejemplo: sueldo: arreglo [8] de real i: entero i=2 sueldo[i] =23.5  Operaciones con vectores: Se va a usar la declaración de vector de la siguiente manera: ventas: arreglo[10] de entero Gráficamente este vector puede representarse como: 1 2 3 4 5 6 7 8 9 10
  • 26.  Asignar un dato a una posición del arreglo Consiste en asignar un valor dado a una posición del arreglo dada por un índice. La sintaxis de esta operación es: <nom_arreglo> [índice] = valor Ejemplo: asignar el 4000 a la posición 5 del vector. ventas [5] = 4000  Lectura y escritura de datos: Consiste en usar una posición 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 año y almacenarlas en un vector. Desde i = 1 hasta 12 Escribir “Introduzca las ventas del mes” i Leer ventas[i] Fin desde Desde i = 1 hasta 12 Escribir “Ventas del mes” i “=” ventas[i] Fin desde  Arreglos bidimensionales: Matrices m x n. En un arreglo unidimensional o vector cada elemento es referenciado por un índice. En un arreglo bidimensional cada elemento se va a referenciar por 2 índices.
  • 27. La representación lógica de un arreglo bidimensional es una matriz de dimensiones M x N donde M es el numero de filas y N el numero de columnas, es decir, la primera dimensión las filas y la segunda las columnas. Al acceder a un elemento, i,j se esta accediendo al elemento que ocupa la fila i y la columna j. En general se puede definir un arreglo de 2 dimensiones de la siguiente manera: <nombre arreglo>: arreglo [rango-filas, rango-columnas] de <tipo de dato> Así la matriz para la representación de las ventas mensuales de 3 años será: ventas: arreglo [3,12] de real tamaño = m x n = 5 x 12 = 36 En memoria, sin embargo todos los elementos del arreglo se almacenan en posiciones contiguas. Matriz de ventas 5 x 12, total de 60 elementos: 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 120 ventas [3, 2] = 120 Ejemplo: Inicializar la matriz de ventas mensuales para 5 años: ventas: arrelo[5, 12] de entero var i, j: entero Desde i = 1 hasta 5 Desde j = 1 hasta 12 ventas[i, j] = 0 Fin desde Fin desde
  • 28. ARREGLOS UNIDIMENCIONALES Y BIDIMENSIONALES EN LENGUAJE C Los arreglos son un almacén de d múltiples elementos de datos. Las dos formas en las cuales los arreglos se pueden usar son:  Ilustración de un Arreglo unidimensional: 15 24 20 10 65 7  Ilustración de un arreglos bidimensional: 15 20 24 5 8 66 90 88 34 Un vector no es más que un arreglo unidimensional. Por otro lado un arreglo bidimensional se denomina matriz en matemáticas.  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 través de asignación: int k, num[100]; for (k = 0; k < 100; k++) num[k] = 0;
  • 29. 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] = %dn”, k, num[k]); fflush (stdin); getchar (); }  Declarar un arreglo bidimensional: La forma general de declaración de un arreglo bidimensional se da a continuación: Tipo-de-dato arreglo[exp1][exp2];  Resolverproblemas con arreglos bidimensionales: Los primeros pasos para aprender sobre arreglos bidimensionales es a declararlos e inicializarlos. Al igual que los arreglos unidimensionales, los arreglos bidimensionales se declaran como sigue:  int a[100][100];  char texto[25][80];  float num[10][18];  Ejercicios de arreglos unidimensionales: