Beruflich Dokumente
Kultur Dokumente
DE ALVARADO
INGENIERA INDUSTRIAL
Materia:
ALGORITMOS Y LENGUAJES DE PROGRAMACION
Semestre-Grupo:
4 SEMESTRE
Producto Acadmico:
UNIDADES # 4, 5, 6
Presenta:
JOSE NESTOR ORTIZ ESPEJO
No. 146Z0267
Docente:
MCA. ALFONSO ROSAS ESCOBEDO
FECHA 18/06/2016
H. Y. ALVARADO, VER.
ndice
TEMA
Unidad 4 .Estructuras Selectivas y de
Repeticin.
4.1 Selectiva simple
4.2 Selectiva doble
4.3 Selectiva anidada
4.4 Selectiva mltiple
4.5 Repetir mientras
4.6 Repetir hasta
4.7 Repetir desde
4.8 Elaboracin de programas
Unidad 5 Arreglos y Archivos
5.1 Arreglo unidimensionales
5.2 Arreglo bidimensionales
5.3 Archivos
5.4 Elaboracin de programas
Unidad 6 Funciones
6.1 Introduccin
6.2 Funciones estndar
6.3 Entrada y salida de datos
6.4 Funciones definidas por el usuario
6.5 Pase por valor
6.6 Pase por referencia
6.7 Punteros
6.8 Elaboracin de programas
Conclusin
Fuentes de informacin
condicin
si
Diagrama de flujo
Pseudocdigo:
Si <condicin> entonces
<Accin>
fin_si
If <condicin> the
<Accin>
Hendir
Simple: ejecuta una determinada condicin y si el resultado es verdadero se
ejecuta solo una determinada accin. Si la condicin es falsa el programa sigue
con su secuencia normal.
Pseudocdigo:
Espaol
Si <condicin> entonces
<accin S1>
sino
<accin S2>
Fin_Si
Ingls
If <condicin> then
<accin S1>
else
<accin S2>
End_if
Diagrama de flujo
CERO
Else
If <n>0> Then
ENTERO
Else
DECIMAL
End If
Pseudocdigo:
If <condicion1> Then
Bloque de instrucciones1
Else
If <condicion2> Then
Bloque de instrucciones 2
Else
Bloque de instrucciones 3
End If
Mltiple
Estructuras repetitivas: Consiste en repetir una o varias acciones un nmero
determinado de veces. A esta accin se le llama bucle o ciclo.
Las dos principales preguntas que se realizan en el diseo de un ciclo son
o Que contiene el ciclo?
o Cuantas veces se debe repetir?
Estructura repetitiva Mientras (While... do): Es aquella en que el cuerpo del
ciclo se repite mientras se cumple una determinada condicin.
en seudocdigo:
La representacin
grfica es:
mientras condicin
hacer
accin 1
accin 2
accin n
fin mientras
ejemplo: Escribir un
algoritmo que permita accin
n
escribir en la
pantalla la frase " desea
continuar s o no'
en seudocdigo
La
representacin
grfica es
repetir
accin 1
accin 2
accin n
hasta que
condicin
Ejemplo:
Algoritmo que
calcule la suma de
100 nmeros
introduci
dos por el teclado
en seudocdigo
desde variable (v) =
vi hasta vf hacer
accin 1
accin 2
accin n
fin desde
donde v = variable
ndice
vi = valor inicial de
la variable
vf = valor final de la
variable
La estructura desde comienza con una valor inicial de la variable ndice y las
acciones especficas se ejecutan a menos que el valor inicial sea mayor que
el valor final. El incremento de la variable ndice siempre es uno si no se
indica lo contrario. Dependiendo del lenguaje es posible que el incremento
sea distinto de uno positivo o negativo
Para solucionar este problema, lo primero que hay que plantear es cmo se sabr
cuando terminar la lectura de datos, ya que no se especifica la cantidad de
nmeros que sern ingresados y en el planteamiento del problema no se da
ninguna condicin que permita saber cundo terminar el ciclo. Este tipo de
problemas es muy comn.
Hay dos formas de abordar este ejercicio, la primera consiste en preguntar al
usuario con cuantos nmeros desea trabajar y guardar dicho valor en una variable
que se utilizar para establecer el ciclo. La segunda consiste en preguntar
despus de leer cada dato, si se desea ingresar otro. En este ejercicio se utilizar
la primera estrategia.
Datos de entrada: cantidad de nmeros, nmero
Datos de salida: promedio, mayor y menor
Procesos:
Suma = suma + nmero
Promedio = suma / cantidad de nmeros
Diseo de la solucin
3. La serie Fibonacci comienza con los nmeros: 0, 1, 1, 2, 3, 5, 8, 13, 21, Se
requiere un algoritmo para generar los primeros 10 nmeros.
Definicin del problema
int b[50][50]; Observar que para declarar cada dimensin lleva sus propios
parntesis cuadrados.
Para acceder los elementos se procede de forma similar al ejemplo del
arreglo unidimensional, esto es,
b[2][3] = 15; /* Asigna 15 al elemento de la 3 fila y la 4 columna*/
num = b[25][16]; A continuacin se muestra un ejemplo que asigna al primer
elemento de un arreglo bidimensional cero, al siguiente 1, y as
sucesivamente.
main() {
int t,i,num[3][4];
num[t][i]=(t*4)+i*1;
printf("num[%d][%d]=%d ",
ARREGLOS:
Las estructuras de datos que hemos visto hasta ahora (listas, tuplas,
diccionarios, conjuntos) permiten manipular datos de manera muy flexible.
Combinndolas y anidndolas, es posible organizar informacin de manera
estructurada para representar sistemas del mundo real.
En muchas aplicaciones de Ingeniera, por otra parte, ms importante que la
organizacin de los datos es la capacidad de hacer muchas operaciones a la
vez sobre grandes conjuntos de datos numricos de manera eficiente.
Algunos ejemplos de problemas que requieren manipular grandes
secuencias de nmeros son: la prediccin del clima, la construccin de
edificios, y el anlisis de indicadores financieros entre muchos otros.
La estructura de datos que sirve para almacenar estas grandes secuencias
de nmeros (generalmente de tipo float) es el arreglo.
Los arreglos tienen algunas similitudes con las listas:los elementos tienen un
orden y se pueden acceder mediante su posicin, los elementos se pueden
recorrer usando un ciclo for.
Sin embargo, tambin tienen algunas restricciones: todos los elementos del
arreglo deben tener el mismo tipo, en general, el tamao del arreglo es fijo
(no van creciendo dinmicamente como las listas), se ocupan principalmente
para almacenar datos numricos.
A la vez, los arreglos tienen muchas ventajas por sobre las listas, que iremos
descubriendo a medida que avancemos en la materia.
Los
arreglos
son
los
equivalentes
en
programacin
de
las matrices y vectores de las matemticas. Precisamente, una gran
motivacin para usar arreglos es que hay mucha teora detrs de ellos que
puede ser usada en el diseo de algoritmos para resolver problemas
verdaderamente interesantes.
Crear arreglos
El mdulo que provee las estructuras de datos y las funciones para trabajar
con arreglos se llama NumPy, y no viene includo con Python, por lo que hay
que instalarlo por separado.
Descargue el instalador apropiado para su versin de Python desde
la pgina de descargas de NumPy. Para ver qu versin de Python tiene
instalada, vea la primera lnea que aparece al abrir una consola.
Para usar las funciones provistas por NumPy, debemos importarlas al
principio del programa:
from numpy import array
Como estaremos usando frecuentemente muchas funciones de este mdulo,
conviene importarlas todas de una vez usando la siguiente sentencia:
from numpy import *
(Si no recuerda cmo usar el import, puede repasar la materia
sobre mdulos).
El tipo de datos de los arreglos se llama array. Para crear un arreglo nuevo,
se puede usar la funcin array pasndole como parmetro la lista de valores
que deseamos agregar al arreglo:
>>> a = array([6, 1, 3, 9, 8])
>>> a
array([6, 1, 3, 9, 8])
Todos los elementos del arreglo tienen exactamente el mismo tipo. Para
crear un arreglo de nmeros reales, basta con que uno de los valores lo sea:
>>> b = array([6.0, 1, 3, 9, 8])
>>> b
array([ 6., 1., 3., 9., 8.])
Otra opcin es convertir el arreglo a otro tipo usando el mtodo astype:
>>> a
array([6, 1, 3, 9, 8])
>>> a.astype(float)
array([ 6., 1., 3., 9., 8.])
>>> a.astype(complex)
array([ 6.+0.j, 1.+0.j, 3.+0.j, 9.+0.j, 8.+0.j])
Funciones sobre arreglos
NumPy provee muchas funciones matemticas que tambin operan
elemento a elemento. Por ejemplo, podemos obtener el seno de 9
valores equiespaciados entre 0 y /2 con una sola llamada a la
funcin sin:
>>> from numpy import linspace, pi, sin
8.78
>>> a[-1, -1]
8.78
>>> a[0, -1]
6.41
Tambin se puede obtener secciones rectangulares del arreglo usando el
operador de rebanado con los ndices:
>>> a[2:3, 1:4]
array([[ 0.54, 0.71, 2.56]])
>>> a[1:4, 0:4]
array([[ 9.54, 0.3 , 2.14, 6.57],
[ 5.62, 0.54, 0.71, 2.56],
[ 8.19, 2.12, 6.28, 8.76]])
>>> a[1:3, 2]
array([ 2.14, 0.71])
>>> a[0:4:2, 3:0:-1]
array([[ 6.41, 4.67, 5.33],
[ 2.56, 0.71, 0.54]])
>>> a[::4, ::3]
array([[ 3.21, 6.41],
[ 8.72, 8.78]])
Para obtener una fila completa, hay que indicar el ndice de la fila, y
poner : en el de las columnas (significa desde el principio hasta el final). Lo
mismo para las columnas:
>>> a[2, :]
array([ 5.62, 0.54, 0.71, 2.56])
>>> a[:, 3]
array([ 6.41, 6.57, 2.56, 8.76, 8.78])
Note que el nmero de dimensiones es igual a la cantidad de rebanados que
hay en los ndices:
>>> a[2, 3]
# valor escalar (arreglo de cero dimensiones)
2.56
>>> a[2:3, 3]
array([ 2.56])
5.3 Archivos.
Los archivos son un mecanismo
de abstraccin: proporcionan una
forma de almacenar informacin
en el disco y leerla despus.
Cuando un proceso crea un
archivo, le asigna un nombre.
Cuando el proceso termina, el
archivo sigue existiendo y otros
procesos pueden acceder a l
utilizando su nombre.
Las reglas exactas para nombrar archivos varan tanto de un sistema a otro,
pero todos los sistemas operativos permiten cadenas de 1 a 8 caracteres
como nombres de archivos vlidos. En muchos casos se permite tambin
dgitos y caracteres especiales.
Estructura de Archivos
Los archivos pueden estructurarse de varias maneras. Tres posibles
comunes son:
Secuencia de bytes
Secuencia de registros
rbol
Tipos de Archivos
o Archivos Regulares: Son los que contienen informacin del usuario.
o Directorios: Son archivos de sistema que sirven para mantener la estructura
Caractersticas de caracteres:
o Secuencialidad de los caracteres
o comparar caracters c1>c2
o maysculas < minsculas..
Ejemplo:
int i;
for (i=65; i<91; i++)
Ejemplo:
char c;
for (c='a'; c<='z'; c++)
ver car1.c y car2.c
Problemas:
o car1, car3,
o tabla ascii
o Conversin maysculas a minsculas
Arreglo de caracteres
char a[N]={'r','u','t','h'};
Problema:
detectar un palndrome
String:
Cadena de caracteres.
char linea[] = "buenos dias"
b u e n o s d i a s \0
0 1 2 3 4 5 6 7 8 9 10 11
Ejemplos:
o como asignar datos a un string [string1.c]
o ingresa nombre y saluda [string2.c]
o despliega las letras del nombre separadas con un
blanco [string3.c]
UNIDAD 6: Funciones
6.1 Introduccin.
Subalgoritmo.
Se le llama as a cada una de las partes de un algoritmo ms general que resuelve
cada una de las tareas particulares necesarias para que dicho algoritmo general
alcance el objetivo para el que fue diseado, es decir resolver un problema.
Las variables locales: se declaran dentro de un mdulo o Subalgoritmo y slo
tienen utilidad dentro de ese mdulo, no se podr acceder a ellas desde otros
mdulos. Pueden existir variables locales con el mismo nombre siempre que estn
en mdulos diferentes.
Las variables globales: son declaradas de forma que puedan ser utilizadas
(consultada y/o modificada) desde cualquiera de los mdulos que forman el
programa. En este caso, no puede haber dos variables globales con el mismo
nombre, ya que esto producira una ambigedad que el compilador no podra
resolver.
Funcin.
Tambin conocido como una subrutina o
subprograma, como idea general, se presenta
como un Subalgoritmo que forma parte del
algoritmo principal, el cual permite resolver una
tarea especfica. Algunos lenguajes de
programacin, como Visual Basic .NET o
Fortran, utilizan el nombre funcin para referirse
a subrutinas que devuelven un valor.
Una subrutina al ser llamada dentro de un programa hace que el cdigo principal
se detenga y se dirija a ejecutar el cdigo de la subrutina, en cambio cuando se
llama a una macro, el compilador toma el cdigo de la macro y lo implanta donde
fue llamado, aumentando as el cdigo fuente y por consiguiente el objeto.
Elementos de la declaracin de una subrutina.
Las declaraciones de subrutinas generalmente son especificadas por:
Un nombre nico en el mbito: nombre de la funcin con el que se identifica y se
distingue de otras.
Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolver al
terminar su ejecucin.
Una lista de parmetros: especificacin del conjunto de argumentos (pueden ser
cero, uno o ms) que la funcin debe recibir para realizar su tarea.
FormatPercent: Porcentajes.
Ejemplo: FormatPercent(txt2) los datos introducidos en text box 2 se dara en
formato de porcentaje
.
4-Presentar mensajes en pantalla
(pantalla,
impresora,
disco,
etc.).
La siguiente figura muestra un esquema conceptual del equipo de cmputo.
o Esquema conceptual del equipo de cmputo La consola
o En los albores de la computacin, el teclado y la pantalla formaban la
consola.
o En la actualidad, a la combinacin de teclado y pantalla se les sigue
considerando como a la antigua consola.
o En C#, la entrada y la salida de datos se pueden manejar a travs de los
mtodos de la clase Console.
o Entrada de datos desde el teclado
Para la entrada de datos por medio del teclado se pueden utilizar los
mtodos Read( ) y ReadLine( ) de la clase Console.
Ejemplos:
o System.Console.Read( ) ; // Lee el siguiente carcter desde el flujo de la
entrada estndar.
o System.Console.ReadLine( ) ; // Lee la siguiente lnea de caracteres desde
el flujo de la entrada estndar.
Salida de datos hacia la pantalla
o La salida de datos hacia la pantalla se puede realizar utilizando los mtodos
Write y WriteLine( ) de la clase Console.
Ejemplos:
o System.Console.Write( ) ; // Escribe el siguiente carcter en el flujo de la
salida estndar (la pantalla).
o System.Console.WriteLine( ) ; // Escribe la siguiente lnea de caracteres en
el flujo de la salida estndar.
Cuadro de Mensaje
6.7 Punteros.
Un puntero es un tipo simple que siempre est asociado a otro tipo (punteros a
enteros, a reales, a registros, etc.)
Se pueden ver los punteros como variables que almacenan direcciones de
memoria; de aqu se deduce:
Un puntero es un medio para acceder al contenido real apuntado por la variable.
La declaracin de un puntero no implica que exista contenido apuntado por el
misma. Es necesario crear y destruir explcitamente el contenido apuntado por
punteros. Se puede establecer una analoga entre los punteros y las direcciones
postales: Una direccin postal permite acceder al lugar fsico indicado.
El hecho de disponer de una direccin postal no garantiza que el lugar exista. Para
declarar variables de tipo puntero en la notacin algortmica se utiliza la sintaxis
siguiente: variable puntero a tipo
Por ejemplo:
puntero a real
Cdigo:
Private Sub cmdconv_Click()
If opt1.Value = True Then
txt1 = UCase(txt1)
opt1.Value = False
End If
If opt2.Value = True Then
txt1 = LCase(txt1)
opt2.Value = False
End If
End Sub
Private Sub cmdend_Click()
End
End Sub
Private Function suma(num1 As Integer, num2 As Integer) As Integer
Dim resultado As Integer
suma = num1 + num2
End Function
Private Sub cmdsuma_Click()
resultado = suma(175, 25)
MsgBox "La suma de 175 + 25 = " & resultado, vbInformation, "Resultado de
funcion"
End Sub
Private Sub Form_Load()
End Sub
Private Sub iblsuma_Click()
resultado = suma(175, 25)
lblsuma.Caption = resultado
End Sub
Pase por valor y pase por referencia
El programa es un enunciado, lgicamente ordenado y clasificado, de los
procedimientos de auditora que han de emplearse, la extensin que se les ha de
dar y la oportunidad en que se han de aplicar. Dado que los programas de
auditora se preparan anticipadamente en la etapa de planeacin, estos pueden
ser modificados en la medida en que se ejecute el trabajo, teniendo en cuenta los
hechos concretos que se vayan observando.
Se acostumbra a elaborar un programa por cada seccin a examinar, el cual debe
incluir por lo menos el programa de trabajo en un sentido estricto y el programa
adscrito al personal del trabajo a realizar. Cada programa permite el desarrollo del
plan de trabajo general, pero a un nivel ms analtico, aplicado a un rea en
particular.
El programa contiene prcticamente la misma informacin que el plan de trabajo,
pero difiere de este en que se le han adicionado columnas para el tiempo
estimado, el tiempo real, la referencia al papel de trabajo donde qued plasmada
la ejecucin del programa, la rbrica de quien realiz cada paso y la fecha del
mismo.
Por medio de cada programa, el auditor adquiere control sobre el desarrollo del
examen, pues estos adems de ser una gua para los asistentes sirven para
efectuar una adecuada supervisin sobre los mismos, permitiendo tambin
Fuentes de informacin
www.virtual.unal.edu.co/cursos/ingenieria/2001839/index.html
Mdulo 3. Constructores bsicos parte B teora
https://www.google.com.mx/?gws_rd=cr&ei=gvKUuq4I4bg2QWM8YDYAw#q=conclusion+de+Estructuras+Selectivas+y+de+R
epetici%C3%B3n.