Introduccionalgoritmos

49
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

description

Conceptos básicos de algoritmos

Transcript of Introduccionalgoritmos

Page 1: 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

Page 2: Introduccionalgoritmos

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'.

Page 3: Introduccionalgoritmos
Page 4: Introduccionalgoritmos

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)

Page 5: Introduccionalgoritmos

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.

Page 6: Introduccionalgoritmos

CLASIFICACION DEL SOFTWARE

Page 7: Introduccionalgoritmos

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

Page 8: Introduccionalgoritmos

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

Page 9: Introduccionalgoritmos

MS DOS UNIX XENIX NOVEL LINUX WINDOWS

95/98/2000/MILENIUM/NT/XP/VISTA

Page 10: Introduccionalgoritmos

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…

Page 11: Introduccionalgoritmos

ABCL/RADAAgoraALGOLAlmaAPLAutoCodeASMBBASICBCPLBETACC++CECILCILKCLEANCLIPPERCMSCOMMON LISPCOBOLCOQ

CORALCPLCPPDELPHIDYLAN EIFFELELLIERLANGESCHEREuLispFORTHFORTRANFOXPROGEMAGOFERHASKELLHLLICONJAVAJAVASCRIPTJOVIALK

LIMBOLINDALISPLUAM4MAPLEMATHEMATICAMATLABMERCURYMISAMLMODULA-2MODULA-3NAPIER88OBERONOBJECTIVE COCCAMORCAOZPARIPASCALPERL

PIZZAPOPPROLOGPYTHONQUESTREBOLRPLRTLSACSATHERSCHEMESELFSIMULASISALS-LANGSMALLTALKSPLTACPOLTCLTURINGYORICK

Page 12: Introduccionalgoritmos

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.

Page 13: Introduccionalgoritmos

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

Page 14: Introduccionalgoritmos

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

Page 15: Introduccionalgoritmos

UNIDADES DE MEDIDA INFORMATICA

Page 16: Introduccionalgoritmos

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.

Page 17: Introduccionalgoritmos

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

Page 18: Introduccionalgoritmos

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).

Page 19: Introduccionalgoritmos

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)

Page 20: Introduccionalgoritmos

• 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) 

Page 21: Introduccionalgoritmos

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)

Page 22: Introduccionalgoritmos

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.

Page 23: Introduccionalgoritmos

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)

Page 24: Introduccionalgoritmos
Page 25: Introduccionalgoritmos

ETAPAS DESARROLL

O DE SOFTWARE

DE APLICACION

DEFINIR PROBLEMA

ANALISIS

DISEÑO

CODIFICACION

EJECUCION

DOCUMENTACIO

N

MANTENIMIENTO

Page 26: Introduccionalgoritmos

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.

Page 27: Introduccionalgoritmos

Ejemplo: Realizar un programa que permita

encontrar el área de un terreno en forma de triángulo rectángulo.

Area= base*altura/2

Page 28: Introduccionalgoritmos

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.

Page 29: Introduccionalgoritmos

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

Page 30: Introduccionalgoritmos

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

Page 31: Introduccionalgoritmos

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

Page 32: Introduccionalgoritmos

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.

Page 33: Introduccionalgoritmos

# 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

Page 34: Introduccionalgoritmos

V ETAPA• EJECUCION Y PRUEBAS

Por medio del compilador del lenguaje de alto nivel filtramos errores (sintaxis) y mejoramos la interfaz usuario-máquina

Page 35: Introduccionalgoritmos

VI ETAPA• DOCUMENTACION

Desarrollamos un manual de usuario, ayudas, requerimientos del sistema, licenciamiento, derechos de autor

Page 36: Introduccionalgoritmos

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.

Page 37: Introduccionalgoritmos
Page 38: Introduccionalgoritmos

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

Page 39: Introduccionalgoritmos

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

Page 40: Introduccionalgoritmos

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:

Page 41: Introduccionalgoritmos

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

Page 42: Introduccionalgoritmos

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.

Page 43: Introduccionalgoritmos

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

Page 44: Introduccionalgoritmos

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

Page 45: Introduccionalgoritmos

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

Page 46: Introduccionalgoritmos

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

Page 47: Introduccionalgoritmos

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

Page 48: Introduccionalgoritmos

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

Page 49: Introduccionalgoritmos

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.