Forma de Trabajo
2 Exmenes 40% Tareas y trabajos 10% Proyecto Final 50% Total 100% Condicin para pasar el curso 80% asistencias.
2
Unidad 1
Conceptos Bsicos
3
El software de sistema, denominado tambin software de base, consiste en programas informticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposicin del llamado software de aplicacin. Estos programas realizan diversas tareas, como la transferencia de datos entre la memoria RAM y los dispositivos de almacenamiento (disco rgido, unidades de discos pticos, etc.) entre otros.
7
10
Lenguaje de Programacin
Es un lenguaje artificial que puede ser usado para controlar el comportamiento de una mquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintcticas y semnticas que permiten expresar instrucciones que luego sern interpretadas.
11
Programa
Un programa es un conjunto de instrucciones escritas en algn lenguaje de programacin. El programa debe ser compilado o interpretado para poder ser ejecutado y as cumplir su objetivo.
12
Paradigmas de Programacin
Paradigma Un paradigma es un patrn o modelo que es compartido con los integrantes de un colectivo. Son como una serie de reglas que describen una realidad y que as mismo son aceptadas por las dems personas. Paradigma de Programacin Es una coleccin de modelos conceptuales que juntos modelan el proceso y determinan, al final, la estructura de un programa.
13
Paradigmas de Programacin
Esa estructura de modelos est pensada de forma que esos modelos determinan la forma correcta de los programas y controlan el modo en que pensamos y formulamos soluciones, y al llegar a la solucin, sta se debe expresar mediante un lenguaje de programacin. Para que este proceso sea efectivo, las caractersticas del lenguaje deben reflejar adecuadamente los modelos conceptuales de ese paradigma. Cuando un lenguaje refleja bien un paradigma particular, se dice que soporta el paradigma, y en la prctica un lenguaje que soporta correctamente un paradigma, es difcil distinguirlo del propio paradigma, por lo que se identifica con l.
14
Paradigmas de Programacin
Hay 3 tipos de paradigmas:
A) Los que soportan tcnicas de programacin de bajo nivel (ej: copia de ficheros frente estructuras de datos compartidos). B) Los que soportan mtodos de diseo de algoritmos (ej: divide y vencers, programacin dinmica, etc.) C) Los que soportan soluciones de programacin de alto nivel, como los descritos en el punto anterior.
15
Editores de texto
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos nicamente por texto sin formato, conocidos comnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes ledos segn el cdigo de caracteres que usa el editor.
16
Compiladores e intrprete
Compilador
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de programacin a otro lenguaje de programacin, generando un programa equivalente que la mquina ser capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de mquina, pero tambin puede ser simplemente texto. Este proceso de traduccin se conoce como compilacin.
Intrprete
Es un programa informtico capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intrpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripcin en un lenguaje de programacin al cdigo de mquina del sistema, los primeros (los intrpretes) slo realizan la traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin y normalmente no guardan el resultado de dicha traduccin.
17
Ejecutables
EXE (de la abreviacin en ingls executable, que se traduce en ejecutable) Archivo que tiene la capacidad de poder ser ejecutado de forma independiente, o en otras palabras, que no necesita ser ejecutado por una aplicacin externa. Estos archivos son ejecutados y controlados por el sistema operativo. Un archivo ejecutable contiene un programa, y generalmente necesitan de otros archivos para funcionar (aunque no es necesario).
18
19
Unidad 2
Algoritmos
20
Algoritmo
Es cualquier procedimiento computacional bien definido que toma algn valor o conjunto de valores como una entrada y produce algn valor o conjuntos de valores como salida Es una secuencia de pasos computacionales que transforman una entrada en una salida Es como una herramienta que permite resolver un problema computacional especfico
21
Algoritmo
Es una secuencia de instrucciones claras para resolver un problema.
22
Algoritmo
Puntos importantes a considerar:
Los requerimientos para un algoritmo deben de ser claros y no causar confusin El rango de salidas para cada algoritmo tiene que ser cuidadosamente especificados El mismo algoritmo puede representarse de diferentes formas Muchos algoritmos pueden resolver el mismo problema Los algoritmos para el mismo problema pueden estar basados en diferentes ideas y pueden resolver el problema en tiempos distintos
23
Algoritmo
Caractersticas: Preciso. Indica el orden de realizacin de cada paso Definido. Si se sigue un algoritmo dos veces se debe obtener el mismo resultado Finito. Se debe terminar en algn momento Eficiente. Debe de ser capaz de resolver un problema
Prcticamente la aplicacin de algoritmos es ubicua, regularmente estn especificados en ingles.
24
Algoritmo
Queremos obtener el mximo comn diviso de dos nmero m y n que no sean negativos, donde ambos no sean cero, y que sean nmeros enteros. Tip: utilizar el algoritmo de Euclides mcd(m,n)=mcd(n, m mod n) donde m mod n es el resultado de la divisin de m entre n, hasta que m mod n sea igual a 0; entonces mcd(m,0)=m (por qu?), por que el ultimo valor de m es tambin el mximo comn divisor de los nmeros iniciales m y n. Por ejemplo: mcd(60,24)=mcd(24,12)=mcd(12,0)=12
25
Algoritmo
Algoritmo en Pseudocdigo
//Entradas: dos nmero no negativos, ambos nmeros deben de ser enteros, ambos nmeros no deben de ser cero //Salida: mximo comn divisor de m y n
26
27
contador = 0, i=2, num = 5 while i < num do si num mod i == 0 entonces contador = contador + 1 i=i+1 end while si contador == 0 entonces imprime este nmero es primo si no imprime este nmero no es primo
28
29
34
Tipos de Problemas
Qu clases de problemas puede resolver un algoritmo? El proyecto genoma humano tiene el objetivo de identificar todos los 100,00 genes del ADN humano, lo que implica determinar la secuencia de 3 billones de pares en la cadena del ADN, esta es una gran informacin para una base de datos y se requieren herramientas de anlisis de datos. Intervienen puntos importantes como: el tiempo, dinero, esfuerzo humano y capacidad de hardware. La Internet crece rpidamente, requiriendo accesos y recuperacin de informacin. Los algoritmos son necesarios para manipular grandes volmenes de datos, ej. Buena bsqueda de rutas en el cual los datos puedan viajar, bsqueda de pginas con informacin particular, etc.
35
Tipos de Problemas
El Comercio electrnico permite la negociacin de servicios y transferencias electrnicas (tarjetas de crdito, nmeros confidenciales, contraseas, estados de cuenta, etc.), por lo que es esencial mantener un nivel de seguridad y privacidad que nos brinde confianza, para ello se crean sistemas criptogrficos (llave publica, firmas digitales, etc.) que hacen uso algoritmos numricos y la teora de nmeros.
En la manufactura y otro tipos de servicios comerciales, es importante permitir el acceso a fuentes que permitan maximizar nuestros procesos, ahorrando dinero, tiempo y esfuerzo; por ejemplo en la toma de decisiones, administracin gubernamental, calendarizaciones, etc.
36
Diagramas de Flujo
37
Diagramas de Flujo
38
Diagramas de Flujo
Reglas para la construccin de Diagramas de Flujo Deben de tener un principio y un fin Las lneas de conexin deben de ser claras y rectas Todas las lneas deben de estar conectadas El flujo preferentemente debe de ser de arriba abajo, o de izquierda a derecha Evitar la utilizacin de terminologa de un lenguaje de programacin en particular En las operaciones lgicas recurrir preferentemente a la lgica positiva
39
40
41
42
44
45
46