Beruflich Dokumente
Kultur Dokumente
1
3.3 PENSAMIENTO COMPUTACIONAL ................................................................................... 9
3.4 CARACTERISTICAS DE UN ALGORITMO ...................................................................... 10
3.5 MAQUINA DE VON NEUMAN ........................................................................................... 12
3.6 HERRAMIENTAS DE PROGRAMACIÓN .......................................................................... 12
4.PSEUDOCODIGO ......................................................................................................................... 13
4.1 REGLAS SISTEMATICAS DEL PSUDOCODIGO ............................................................. 13
4.2 TIPOS DE DATOS ................................................................................................................. 13
4.3 CLASIFICACION DE LOS DATOS ..................................................................................... 14
4.4 IDENTIFICADORES ............................................................................................................. 14
4.5 EXPRESIONES ...................................................................................................................... 14
4.6 EXPRESIONES LOGICAS .................................................................................................... 15
4.7 ESTRUCTURAS SELECTIVAS ........................................................................................... 16
4.8 ESTRUCTURA SIMPLE ....................................................................................................... 16
4.9 ESTRUCTURA SELECTIVA ................................................................................................ 16
4.10 ESTRUCTURA SELECTIVA MULTIPLE ......................................................................... 16
4.11 ESTRUCTURA SELECTIVA MULTIPLE CASOS ........................................................... 17
4.12 ESTRUCTURA ITERATIVA .............................................................................................. 17
4.13 ESTRUCTURA ITERATIVA PARA ................................................................................... 18
4.14 IDENTIFICADORES ........................................................................................................... 19
4.15 OPERADORES UNITARIOS .............................................................................................. 19
4.16 REGLAS DE PRIORIDAD .................................................................................................. 19
4.17EXPRESIONES LOGICAS BOOLEANAS .......................................................................... 20
4.18 PRIORIADAD DE LOS OPERADORES LÓGICOS .......................................................... 21
4.19 OPERACIÓN DE ASIGNACIÓN ........................................................................................ 21
4.20 ENTRADA Y SALIDA DE DATOS.................................................................................... 22
5. DIAGRAMAS DE FLUJO ........................................................................................................... 23
5.1 ESTRUCTURAS DE CONTROL DE FLUJO ....................................................................... 24
5.2 ESTRUCTURAS CONDICIONALES ................................................................................... 24
5.3 ESTRUCTURA SELECTIVA IF ELSE ............................................................................................. 26
5.4 ESTRUCTURA SELECTIVA MULTIPLES CASOS ........................................................... 27
5.5 ESTRUCTURA CICLO FOR ................................................................................................. 28
2
1. EVOLUCIÓN DE LA PROGRAMACIÓN
1.1 Abaco
-Maquina de almacenar información
-Necesita de interacción humana para funcionar como máquina de cálculo completa.
1.2 Mecanismo de Antikythera (Greek island) 2,000-year-old
Predice posiciones astronómicas y los eclipses de hasta diecinueve años
1.3 Fuller´s slide rule
Las reglas de calculo se inventaron en 1600 y fueron utilizadas ampliamente durante el
siglo 20.
1.4 Partes de la calculadora Curta mid-1950s
Populares en las carreras de rally incluso antes de las calculadoras electrónicas.
1.5 Answers in Black and Whithe
Calculadora que imprimía sus resultados, frecuentemente las respuestas eran erróneas.
1.6 Vannevar Bush´s differential analyzer
Ecuaciones diferenciales por integración inventada en 1931
1.7 Blaise Pascal (16321-1662)
Rueda de pascal o pascalina
1.8 Gottfried Wilhelm Leibniz (1646-1716)
Sistema numeral binario (base 2)
1
1.12 Ada Lovelace
Se le considera la primera programadora
En 1943 publico una transcripción de un articulo sobre la “Analycal Engine” Luigui
Menebrea a la cual añadió anotaciones.
La idea de que una máquina que pudiera manipular símbolos de acuerdo a ciertas reglas y
que los números pudieran representar otra entidad que no fuera una cantidad , marca la
transición del cálculo hacia la computación.
1.13 Tarjetas Perforadoras
Joseph Jacquard (1752-1834): el primer telar programable con tarjetas perforadas.
-Ayudaron a la transición entre hacer operaciones a manipular la información.
-Una tarjeta perforada puede representar cualquier tipo de información.
1.14 Maquina tabuladora
Utilizo las tarjetas perforadas para procesar la información del censo de población de
estados unidos de 1890.
Un operador podía procesar mas de 7000 tarjetas.
10 veces mas rapidos que los métodos manuales
1.15 Computadora Z1
Konrad Zuse 1935-1936
Construida 1936-1938
Computadora mecánica con limitado número de operaciones
Operación con tarjetas perforadas
1.16 ENIAC (Electronic Numerical Integrator And Computer) 1946
Propuesta y construida por John Mauchly y John Presper
Primera computadora de propósito general.
Primera computadora de correr a la velocidad electrónica.
Utilización de bulbos
Sin ningún componente mecánico.
1.17 CIRCUITOS INTEGRADOS
William Shockley, John Bardeen, y Walter Brattain ganadores del premio Novel en 1956
Bell Laboratories
2
3
2. LENGUAJE DE PROGRAMACIÓN
Un lenguaje de programación es un conjunto de símbolos y palabras (instrucciones y
sentencias) que el usuario tiene a su disposición para elaborar un programa.
2.1 Lenguaje Máquina
La memoria de un computador está compuesta por números. La memoria de la
computadora no almacena estos números en decimal (base 10). Las computadoras
almacenan toda la información en binario (base 2) de prog
2.2 Lenguaje de bajo nivel
El primer lenguaje programación fue el ensamblador (lenguaje de segunda generación),
lenguaje basado en simbolos y números.
2.3 Lenguaje de Alto nivel
Lenguaje de programación que se asemeja a las lenguas humanas, ya que utiliza palabras y
frases fáciles de entender. Los lenguajes de programación de alto nivel fueron diseñados en
la década de 1950.
2.3 FORTRAN
El nombre FORTRAN proviene de “FORmula TRANslator” (traductor de fórmulas), y fue
desarrollado originalmente por IBM en 1954, con el objetivo de poder escribir programas
de cómputo científico en un lenguaje de alto nivel en vez de tener que recurrir a lenguaje de
máquina o ensamblador.
John McCarthy, del MIT diseño LISP(List Processing) procesamiento de listas para la
IBM 704.
4
2.4 COBOL
Lenguaje de programación para aplicaciones de negocios
Grace Hooper encabezo un grupo en UNIVAC para desarrollar FLOWMATIC con la
finalidad de desarrollar aplicaciones de negocios usando una forma de texto parecido al
inglés.
Yngve del MIT desarrollo el COMIT y ATT desarrollo SNOBOL, lenguajes donde se
podían sustituir cadenas de símbolos por otras cadenas.
Aparece PROLOG (1972) como un lenguaje para usos especiales cuya estructura básica
de control y su estrategia de implementación se basaban en conceptos de lógica
matemática.
Whirth desarrolla PASCAL el cual se convirtió en el lenguaje de la ciencia de la
computación en los 70.
-Estos lenguajes se clasifican de acuerdo a su traductor.
2.5 Traductor
Es un Sw que toma un código denominado fuente y lo transforma a un código denominado
objeto.
2.6 Compiladores
Aquellos traductores que cuyo código fuente está en lenguaje de alto nivel y lo transforman a
lenguaje de bajo nivel. Ej. C, Pascal, Fortran, C++
El Ensamblador es un caso particular de un compilador, ya que traduce el lenguaje
ensamblador a lenguaje máquina.
5
2.7 Intérpretes
Es un programa que traduce un lenguaje de alto nivel al lenguaje de máquina de una computadora,
el programa siempre permanece en su forma original y traduce cuando está en la fase de ejecución
instrucción por instrucción
Uno de los entornos más comunes de uso de los intérpretes informáticos es Internet
El Software, existe entonces para el procesamiento de datos.
Esta información puede ser interpretada y reorganizada como números binarios.
La información es interpretada en símbolos, listas, tablas, etc
6
7
3.ALGORITMO
Formalmente definimos un algoritmo como un conjunto de pasos, procedimientos o
acciones que nos permiten alcanzar un resultado o resolver un problema.
Un algoritmo constituye entonces una lista bien definida, ordenada y finita de operaciones,
que permite encontrar la solución a un problema determinado. Dado un estado inicial y
una entrada, es a través de pasos sucesivos y bien definidos que se llega a un estado final,
en el que se obtiene una solución o la solución (si es única).
Entonces debemos de pensar en la serie de operaciones que deben ocurrir, para que
ciertos eventos ocurran como nosotros queremos que ocurran.
Esta fase requiere una clara definición, donde se contemple exactamente lo que debe hacer el
programa y el resultado o solución deseada.
8
Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
-¿Qué entradas se requieren? (tipo y cantidad).
-¿Cuál es la salida deseada? (tipo y cantidad).
-¿Qué método (algoritmo, si es que existe) produce la salida deseada?
9
-Un algoritmo documenta el “como” para completar una tarea particular.
-Si el algoritmo esta bien escrito, este puede ser usado para completar no solo una tarea si
no un grupo de tareas relacionadas
-La existencia de un algoritmo nos permite pensar en la potencial automatización* del
proceso (realizado por la computadora)
-La automatización de tareas redundantes, tediosas, o peligrosas libera a las personas de
realizarlas.
3.4 CARACTERISTICAS DE UN ALGORITMO
1. Preciso: (indicar el orden de realización en cada paso),
1. Definido: (si se sigue dos veces, obtiene el mismo resultado cada vez),
2. Finito: (tiene fin; un número determinado de pasos).
3. General: Debe tolerar cambios
4. Correcto: Sin errores
5. Debe tener al menos una salida (solución concreta)
6. Debe ser sencillo y legible
7. Eficiente y efectivo
8. Se ha de desarrollar en el menor tiempo posible
9. Un algoritmo debe producir un resultado en un tiempo finito. Los métodos que
utilizan algoritmos se denominan métodos algorítmicos, en oposición a los métodos
que implican algún juicio o interpretación que se denominan métodos heurísticos.
10. Para cualquier tarea, no trivial, puede haber muchas formas de completarla. (Si, hay
más de una respuesta correcta)
12. Algunos algoritmos son más eficientes que otros. Muchos de los retos en el estudio
de los algoritmos se dedican a estudiar cuanto tiempo, recursos y esfuerzo utilizan
los algoritmos. Buscar algoritmos más eficientes
13. Los algoritmos deben modificarse después de muchos años de uso, para adaptarse a
los cambios. (tecnológicos, requerimientos de uso, nuevas funcionalidades, etc.)
10
ENTORNO OPERATIVO
11
3.5 MAQUINA DE VON NEUMAN
12
4.PSEUDOCODIGO
El pseudocódigo es una herramienta de programación en la que las instrucciones se
escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la
lectura de programas.
-También se puede definir como un lenguaje de especificaciones de algoritmos.
INICIO (Siempre se pone)
LEER (Equivalente a leer variables)
ESCRIBIR (Muestra en pantalla)
FIN (Siempre se pone)
4.1 REGLAS SISTEMATICAS DEL PSUDOCODIGO
Todo pseudocodigo tiene las etiquetas INICIO Y FIN que son los limites de este.
Las palabras reservadas son escritas en mayusculas
El pseudocodigo debe de estar con sagria para que sea más facil de entender
4.2 TIPOS DE DATOS
Las principales caracteristicas de los tipos de datos que que solo ocupan un ligar ne la
memoria, os mas comunes son enteros, reales y carateres.
13
4.3 CLASIFICACION DE LOS DATOS
4.4 IDENTIFICADORES
Los datos que procesará una computadora, ya sean simples o estructurados, se deben
almacenar en casillas o celdas de memoria para utilizarlos posteriormente.
Recomendación:
Deben empezar con letra, excepto ñ o Ñ, o guión bajo y estar seguidos de cero o más letras,
números o guiones bajos
No se permiten símbolos como:
$ ¡ ! ¿ ? ° | & - % # @ , . ‘ “ / \ o espacios en blanco y tabuladores
14
carácter -> resultado tipo carácter. (Letras, números)
Las expresiones aritmeticas son operaciones que realiza la computadora
4.6 EXPRESIONES LOGICAS
Listado de operadores racionales
Operador racional significado
= Igual a…
> Mayor que…
< Menor que..
>= Mayor o igual que…
<= Menor o igual que…
<> Diferente o no igual a…
• Operadores lógicos
• Precedencia
• ! o ~ o not (negado)
• and o && (conjunción)
• or o || (disyunción)
• Nota: En C un valor falso se toma como 0 y un valor verdadero se toma como
cualquier valor diferente de cero
EJEMPLOS
Expresion lóigica Resultado Valor Binario
(2>3) FALSO 0
(8<15) VERADERO 1
(7>5) y (4<9) VYV 1
(12>6) y (13<9) F 0
(12>6) o (13<9) V 1
No (2>4) V 1
No (5<8) F 0
15
4.7 ESTRUCTURAS SELECTIVAS
Las estructuras selectivas permiten expresar las elecciones que se hacen durante la
resolución del problema. Hay varios tipos de estructuras de este tipo.
1. Selectiva simple
2. Selectiva doble (alternativa).
3. Selectiva múltiple.
4. Selectiva casos.
4.8 ESTRUCTURA SIMPLE
• La estructura selectiva simple es de la siguiente forma
SELECCIONAR expresión
CASO valor1
Instrucciones1
CASO valor2
Instrucciones2
CASO valor3
Instrucciones3
.
.
.
EN OTRO CASO
Instruccionesn
FIN seleccionar
17
4.13 ESTRUCTURA ITERATIVA PARA
• La estructura iterativa para , toma en cuenta la noción de variable-contador.
18
4.14 IDENTIFICADORES
• Normalmente los identificadores de las variables y de las constantes con nombre
deben ser declaradas en los programas antes de ser utilizadas. La sintaxis de la
declaración de una variable suele ser:
19
4.17EXPRESIONES LOGICAS BOOLEANAS
20
4.18 PRIORIADAD DE LOS OPERADORES LÓGICOS
21
4.20 ENTRADA Y SALIDA DE DATOS
• Las operaciones de entrada permiten leer determinados valores y asignarlos a
determinadas variables (Leer – read)
• La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc.). La
operación de salida se denomina escritura (write).
• LEER dato
• ESCRIBIR datos
22
5. DIAGRAMAS DE FLUJO
Es una representación gráfica de un algoritmo. Los sombolos utilizados han sido
normalizados por (ANSI)
Esta tecnica es de la más antigua empleada.
Los diagramas de flujo utilizan los simbolos (cajas) Deben de estar unidos por flechas
Los símbolos más utilizados representan:
proceso
Decisión
conectores
Inicio/fin
entrada/salida
23
dirección del flujo
Ejemplos de diagrama de flujo (Practica 4)
5.1 ESTRUCTURAS DE CONTROL DE FLUJO
Las estructuras de control de flujo permiten la ejecución condicional y la repetición de un
conjunto de instrucciones.
Existen 3 estructuras de control:
Secuencial
Condicional
Repetitivas o iterativas.
5.2 ESTRUCTURAS CONDICIONALES
Estas evaluan las condiciones para evaluar una expresión lógica. La estrucutra de control
más simple es la de SI.
24
25
5.3 ESTRUCTURA SELECTIVA IF ELSE
26
5.4 ESTRUCTURA SELECTIVA MULTIPLES CASOS
27
5.5 ESTRUCTURA CICLO FOR
28
29