Introduccionalgoritmos
-
Upload
teresa-freire -
Category
Documents
-
view
220 -
download
1
description
Transcript of Introduccionalgoritmos
NIVELACION : LOGICA DE PROGRAMACION
• Conceptos generales• Clasificación del software• Unidades de medida informática• Etapas de desarrollo de software• DFD• Instrucciones secuenciales• Bifurcaciones• Ciclos repetitivos
Ing. Alvaro Sánchez – Ing. Galo López – Ing. Teresa
Freire
Introducción Concepto de Informática:
Es la ciencia del tratamiento automático (por realizarse mediante máquinas - hoy en día electrónicas -) y racional (está controlado mediante ordenes que siguen el razonamiento humano) de la información. Este término apareció en Francia en 1962 uniendo las palabras 'information' y 'automatique'.
La informática se ocupa entre otros de los siguientes temas: › El desarrollo de nuevas máquinas
(ordenadores y periféricos) › El desarrollo de nuevos métodos
de trabajo (sistemas operativos) › El desarrollo de nuevas
aplicaciones informáticas (software o programas)
GLOSARIO DE TERMINOSPROGRAMA: conjunto de instrucciones (gráficas o textuales) que se ejecutan con el objetivo de resolver un problema ó automatizar una tarea.VARIABLE: etiqueta ó identificador que permite representar el contenido de una zona de memoria, misma que puede inicializar con datos ó no pudiendo éstos ser modificados en el transcurso del programa.CONSTANTE: etiqueta ó identificador que permite representar el contenido de una zona de memoria, misma que inicializa con datos y no pueden ser modificados en el transcurso del programa.
CLASIFICACION DEL SOFTWARE
La parte lógica, también denominada software (soft = blando, ware=materia), se clasifica:
Software Base o de Operación Software de Programación Software de Aplicación
SOFTWARE
SOFTWARE BASE O DE OPERACION
Constituído por los sistemas operativos que permiten el control, funcionamiento y puesta en marcha de un sistema de cómputo.
Sistema Operativo es un conjunto de instrucciones que permiten la comunicación de un equipo de computo y el usuario, obteniendo la máxima explotación de sus recursos
MS DOS UNIX XENIX NOVEL LINUX WINDOWS
95/98/2000/MILENIUM/NT/XP/VISTA
SOFTWARE DE PROGRAMACION O DESARROLLO
Es el que permite desarrollar cualquier tipo de software utilizando los formatos y sintaxis correspondientes al lenguaje de programación elegido.
Ejs:› Cobol / Basic / Pascal / C / C++ / Java
/Bases de datos / Lenguajes Visuales…
ABCL/RADAAgoraALGOLAlmaAPLAutoCodeASMBBASICBCPLBETACC++CECILCILKCLEANCLIPPERCMSCOMMON LISPCOBOLCOQ
CORALCPLCPPDELPHIDYLAN EIFFELELLIERLANGESCHEREuLispFORTHFORTRANFOXPROGEMAGOFERHASKELLHLLICONJAVAJAVASCRIPTJOVIALK
LIMBOLINDALISPLUAM4MAPLEMATHEMATICAMATLABMERCURYMISAMLMODULA-2MODULA-3NAPIER88OBERONOBJECTIVE COCCAMORCAOZPARIPASCALPERL
PIZZAPOPPROLOGPYTHONQUESTREBOLRPLRTLSACSATHERSCHEMESELFSIMULASISALS-LANGSMALLTALKSPLTACPOLTCLTURINGYORICK
SOFTWARE DE APLICACIÓNSon todos los paquetes o sistemas realizados por programadores especializados, los mismos que nos ayudan en nuestras actividades o procesos diarios, debiendo aprender únicamente su correcta utilización por medio de cursos o seminarios. Podemos clasificar este software en Aplicaciones Generales y Aplicaciones Específicas.
Ejemplo de Software de aplicación general
Procesadores de palabras: Word, Wordpad, Wordperfect
Hojas electrónicas: Excel, Lotus, Qpro Graficadores: Corel, Autocad, Paint Diseñadores de páginas WEB:
Dreamweaver, Front page Sistemas comerciales: Bancarios,
contables(Tmax, Mónica), Inventarios
Ejemplo de Software de aplicación específica
Sistema contable desarrollado para la empresa X
Sistema de matriculación vehicular de la provincia Y
Sistema de calificaciones estudiantiles del colegio Z
UNIDADES DE MEDIDA INFORMATICA
El ser humano, siempre ha sentido la necesidad de medir todo lo que tiene a su alcance, como por ejemplo la distancia, el tiempo, el volumen, la velocidad, entre otros. La información, no podría ser la excepción, pues es necesario conocer, cuanta información podemos almacenar en un dispositivo, o que espacio disponible poseemos para guardar un archivo.
El sistema binario es un sistema de numeración que tiene por base el 2 Utiliza solo el "0" (cero) y "1" (uno) para representar cualquier información
Los ordenadores utilizan el sistema binario porque no conocen no pueden interpretar más que dos estados: pasa la corriente (“on” ó “1”) o no pasa la corriente (“off” ó “0”). De esta forma un ordenador sí que puede manejar y almacenar la información.
Sistema Binario
El BIT y el BYTE
La unidad más pequeña de información representable en el ordenador se llama bit.Bit significa dígito binario y sólo puede tomar dos valores: el 0 y el 1.El conjunto de cuatro bits se denomina cuarteto.
En los ordenadores, para transmitir la información se utilizan grupos de 8,16,32,64 bits (8bits=1byte).
EL BYTE A cada grupo de 8 bits se le llama byte.
El byte es, por tanto la agrupación más utilizada en informática, cada vez que se pulsa una tecla llega la unidad central una serie de impulsos eléctricos que equivale a una combinación de 8 bits, es decir 1 byte.
Así la letra "A" llega a la Unidad Central como la combinación de 8 bits (1000001)
• 1 bit = unidad mínima de información.• 8 bits = 1 Byte (pude ser cualquiera de los 256
símbolos del código ASCII)• 1 byte =1 letra, numero, símbolo de puntuación. • Unidades de medida de almacenamiento• 1,024 bytes = 1 Kilobyte, Kbyte o KB• 1,024 KB= 1 Megabyte, Mbyte o MB (1,048,576 bytes)• 1,024 MB= 1 Gigabyte, Gbyte o GB (1,073,741,824
bytes)• 1,024 GB= 1 Terabyte, Tbyte o TB (1,099,511,627,776
bytes)• 1,024 TB= 1 Pentabyte, Pbyte o PB
(1,125,899,906,842,624 bytes)
Unidad Abrev. Se
habla de
Representa en bytes
1 bit bit bits unidad mínima - 1 Byte Byte bytes conjunto de 8 bits 1 Bytes 1 kiloByte
KB kas 2 elevado a 10 1024 Bytes
1 MegaByte
MB megas 2 elevado a 20 1024 KB
(1.048.576 bytes)
1 Gigabyte
GB gigas 2 elevado a 30 1024 MB
(1.073.741.824 bytes)
1 Terabyte
TB teras 1024 GB (un billón de bytes)
Existen varios tipos de numeración, Sistema Decimal, Sistema Binario, Sistema Octal y Sistema Hexadecimal, el más utilizado por nosotros es el sistema Decimal.
SISTEMA DECIMAL: denominado así por utilizar 10 símbolos ó caracteres (0,1,2,3,4,5,6,7,8,9)
SISTEMA BINARIO: Utiliza dos símbolos (0,1)
SISTEMA OCTAL: Utiliza ocho símbolos (0,1,2,3,4,5,6,7)
SISTEMA HEXADECIMAL: Utiliza dieciséis símbolos (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) donde A=10, B=11,… F=15
De esta manera usted podría crear un nuevo sistema de numeración de cualquier base.
Ya que un equipo de cómputo trabaja con el sistema binario entonces el octal y el hexadecimal permiten de alguna manera “comprimir la información” con la que opera.
Como en el sistema decimal, el número 1000000 se podría abreviar como 103 , de igual forma el número 15(10) = 1111(2) = F(16)
ETAPAS DESARROLL
O DE SOFTWARE
DE APLICACION
DEFINIR PROBLEMA
ANALISIS
DISEÑO
CODIFICACION
EJECUCION
DOCUMENTACIO
N
MANTENIMIENTO
I ETAPA DEFINICIÓN DEL PROBLEMA
En ésta debe registrarse de manera clara y precisa el enunciado del problema, evitando dobles interpretaciones. Además debe solicitar el programador toda la información que considere necesaria como fórmulas empleadas.
Ejemplo: Realizar un programa que permita
encontrar el área de un terreno en forma de triángulo rectángulo.
Area= base*altura/2
II ETAPA• ANÁLISIS
Se realiza una revisión del enunciado del problema, determinando los pasos que se ejecutan de manera manual con el objetivo de automatizarlos, analizando fórmulas, datos requeridos o de entrada y datos de salida o respuestas esperadas.
EjemploPrimero registramos la(s) fórmulas:
area= base*altura/2Consideramos las variables que desconocemos su valor ubicadas a la derecha del signo =
base=?altura=?
Determinar las salidas esperadas (ubicadas a la izq. del signo=)
area
III ETAPA• DISEÑO DE SOLUCIONPodemos encontrar varias alternativas
de solución por medio de un algoritmo (conjunto de pasos secuenciales a ejecutar con lógica para obtener un resultado esperado), mismo que puede ser representado de las siguientes formas:– Simbólica o gráfica con Flujogramas– Escrita por medio de lenguaje natural– Escrita por medio de Pseudocódigo
Ejemplo:
base, altura
area=base*altura/2
area
fin
inicio
Iniciamos el programa solicitando el ingreso del valor de la base y la altura, luego calculamos el area multiplicando la base por la altura y dividiendo para dos, para finalmente visualizar la respuesta.
InicioIngresar base y alturaCalcular area=base * altura/2Visualizar areaFin
IV ETAPA• CODIFICACIONConsiste en obtener un conjunto de
instrucciones equivalente al algoritmo previo haciendo uso de un lenguaje de programación de alto nivel. A éste se lo conoce también como código fuente.
# include<stdio.h>void main(){float base, altura, area;scanf(“%f%f”,&base,&altura);area=base*altura/2;printf(“%f”,area);}
InicioLeer baseLeer alturaCalcular: area=(base*altura)/2Visualizar: areaFin
V ETAPA• EJECUCION Y PRUEBAS
Por medio del compilador del lenguaje de alto nivel filtramos errores (sintaxis) y mejoramos la interfaz usuario-máquina
VI ETAPA• DOCUMENTACION
Desarrollamos un manual de usuario, ayudas, requerimientos del sistema, licenciamiento, derechos de autor
VII ETAPA• MANTENIMIENTO
Especialmente orientado hacia las aplicaciones que manipulan grandes volúmenes de información (bases de datos) o cuando cierto software requiere modificaciones o actualización.
Las Sentencias secuenciales o consecutivas se ejecutan una tras otra sin dificultad de saber instrucción debe ser ejecutada. Entre estas instrucciones se tiene:• Ordenes de lectura de datos por algún dispositivo (generalmente por
el teclado)• Ordenes de Cálculo de fórmulas ó asignaciones de datos• Ordenes de Visualización de datos por algún dispositivo
(generalmente monitor o impresora)• Indicadores de inicio y de fin del algoritmo• Llamadas a funciones y/o procedimientos
Ejemplo:Inicio / fin algoritmo
Ingreso de datos por teclado
Salida de datos por pantalla
Llamada a función o procedimiento
Salida de datos por impresora
Flechas de dirección del flujo del programa
Cálculo de datos ó asignación de datos
Con frecuencia en el desarrollo de un programa podemos aplicar una bifurcación (toma de decisión) en base a una elección del usuario ó en base a datos obtenidos de cálculos. Existe dos alternativas, VERDADERO (1) ó FALSO (0) y el símbolo que lo representa es:
En el que se incluye una condición ó pregunta y si la respuesta a ésta es verdadera se continua ejecutando un bloque de instrucciones que generalmente se encuentran hacia la derecha; caso contrario si la respuesta a la condición es falsa se ejecutan un bloque de instrucciones que se encuentran por lo general a la izquierda. Una vez concluido los dos alternativas, se vuelven a unir y seguir un solo camino. Obteniéndose la siguiente gráfica:
La condición permite comparar dos o más datos (variables, expresiones…) por medio de operadores de relación ó equivalencia (==, <, <=, >, >=, !=)
Cuando se requiera aplicar más de una condicionante a la vez, éstas se combinarán por medio de operadores lógicos ( AND &&, OR ||)
instrucciones
condición VF
instrucciones
instrucciones
A<0 && B==2 VF
instrucciones
Las Sentencias REPETITIVAS permiten que un grupo de instrucciones se repitan dependiendo de una condición.Para todo lenguaje de programación existen tres herramientas o sentencias repetitivas, conocidas con nombres comunes en español, inglés ó sinónimos de éstos. En todo caso la forma en que trabaja cada herramienta repetitivas es semejante, depende del lenguaje.
Las sentencias son:. For / para…/ también llamado contador automático. While / mientras. Do While / haga… mientras / Repeat UntilSe las utiliza cuando el programador necesita GENERAR SERIES, VALIDAR INFORMACION DE ENTRADA y REPETIR PROGRAMAS COMPLETOS.
INSTRUCCION
La Sentencia for es la herramienta más utilizada por su facilidad, ya que en una sola línea se registra 3 instrucciónes.
1.Se indica en que valor empieza una variable2.Se registra el valor final de la variable3.Este último valor indica el valor del incremento ó de
decremento de la variable.
Var=VI,VF,IFOR
Ejemplo:Si necesitamos generar y visualizar la siguiente serie:1,2,3,4,5
Vemos que es una serie que empieza en 1, llega hasta 5 y su incremento o diferencia entre números es 1Por lo tanto el programa quedará de la siguiente manera:
La variable X “automáticamente” tomara los valores indicados( de 1 a 5 con incremento de 1) y lo repetitivo es presentar en pantalla el contenido de X que estará cambiando en cada vuelta.
X=1,5,1
INICIO
X
FIN
Incremento o Decremento
de var
La herramienta do while como su nombre lo indica, permite repetir una o varias instrucciones mientras una condición sea verdadera (condición)
Una de las características es que se realiza al menos una vez el conjunto de instrucciones
Do While
Var=Valor Inic
Valor finalV
F
Instrucciones
Ejemplo:Si necesitamos generar y visualizar la siguiente serie:1,2,3,4,5
Ahora tiene la alternativa de generarla con cualquiera de las herramientas anteriores.Con la Herramienta do while quedará:
La variable X inicia con el valor de 1,visualiza el valor actual de X y lo incrementa mas 1 mientras X<=5 (valor final). De ésta manera se visualizará todos los valores desde 1 hasta 5.
INICIO
FIN
X=X+1
X=1
X<=5V
F
X
Incremento o Decremento
de var
While permite repetir un grupo de instrucciones siempre y cuando el resultado de una condicionante sea verdadera (valor final)El valor inicial de la variable se la registra previo a la condición y al ciclo.Se observa que el incremento o decremento forma parte del ciclo repetitivo.Cuando la variable llegue al valor final, sigue la ruta del FALSO
WhileVar=Valor Inic
Valor final V
F Instrucciones
Ejemplo:Si necesitamos generar y visualizar la siguiente serie:1,2,3,4,5
Observe que con la herramienta while solo cambia de ubicación cada símbolo con respecto a la solución presentada con la herramienta do while.
La variable X inicia con el valor de 1,visualiza el valor actual de X y lo incrementa mas 1 mientras X<=5 (valor final). De ésta manera se visualizará todos los valores desde 1 hasta 5.
INICIO
FIN
X=X+1
X=1
X<=5V
FX
ASIGNACION DE TAREA EN EL LABORATORIO
• Realice un programa que permita visualizar 3 veces el texto “BIENVENIDOS”
• Realice un programa que permita visualizar la serie 5,9,13,17,21,25
• Realice un programa que permita visualizar la siguiente tabla de multiplicar: 1x5=52x5=10……12x5=60
• Programa que visualice la tabla de multiplicar de un número cualquiera ingresado por teclado.