Introducción a la Programación I

Page 1

Programación I

Ing. Auramaria Londoño Cano Universidad del Quindío-Ingeniería Ingeniería Electrónica- Programación I

16/08/2014

1


 Introducción  Arquitectura de un computador  Lenguajes de programación  Algoritmos y análisis de problemas  Representación de algoritmos  Metodología de programación

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

2


No solo los computadores utilizan programas también otros sistemas electrónicos como los cajeros automáticos, robots, carros, aviones etc. En general todos los sistemas basados en microprocesadores, microcontroladores, procesador digital de señales, necesitan programas para poder funcionar por lo que la programación se convierte en herramienta indispensable para todo ingeniero.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

3


Definición de la Informática: La informática trata de la adquisición, tratamiento y transmisión de la información en forma automática mediante computadores. La palabra informática proviene del acrónimo: Informática = Información + Automática

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

4


Información: Tipo de comunicación basada en conocimientos anteriores pero que aporta algo nuevo. La información implica forma y contenido. Proceso: Todo lo que implique un proceso de la forma de presentación de la información o que permita la adquisición (mediante la comunicación con otros) de la misma. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

5


La informática podríamos decir que es el conjunto de disciplinas que llevan a los ordenadores aquellos procesos susceptibles de ser descritos mediante pasos automáticos, aportando los computadores la precisión y velocidad de los mecanismos electrónicos. Las Ciencias de la Computación serían todas aquellas áreas científicas relacionadas con la construcción, verificación y análisis de programas informáticos. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

6


Evolución histórica

El origen de las Ciencias de la Computación se encuentra en el desarrollo de “máquinas programables de propósito general”. Su objetivo inicial fue el resolver problemas esencialmente numéricos mediante tales máquinas.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

7


Ábaco: Es un dispositivo que sirve para efectuar operaciones aritméticas sencillas (sumas, restas y multiplicaciones).

Fig. 1. Ábaco Universidad del Quindío-Ingeniería 16/08/2014 Electrónica- Programación 1

8


Primera calculadora: Wilhelm Schickard diseñó y construyó en 1623 lo que se considera la primera calculadora digital: permitía hacer cálculos automáticos de sumas, restas y, parcialmente automáticos, multiplicaciones y divisiones.

Fig. 2. Primera calculadora Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

9


Máquina analítica: La primera máquina interesante es la “Máquina Analítica” del inglés Charles Babbage (1791–1871), realizada con componentes mecánicos, pero sobre todo programable con un programa cargable y así no dedicada a una única tarea. Babbage propuso dos máquinas: “La Máquina de Diferencias” y “La Máquina Analítica”, ambas computadoras movidas por máquinas de vapor.

Fig. 3. Máquina Analítica Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

10


Simultáneamente Leonardo Torres Quevedo (1852–1936) propuso una máquina electromecánica basada en el modelo de Babbage. En 1928, las tarjetas perforadas se utilizaron para recoger un problema de cálculo astrofísico: tabular las distintas posiciones de la Luna en el cielo. 

“Z3” del alemán Konrad Zuse con aritmética binaria (1941) Una máquina debida a Howard Aiken junto con IBM de redes dentadas decimales (1939–1943)

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

11


La idea de almacenar datos y programas en la misma memoria es de John von Neumann (1903–1957), que en 1946 arranca el proyecto „IAS‟, una máquina con lógica binaria paralela y palabra de 40 bits, precursora de actuales computadoras. 1. Hasta 1959. Uso de la electrónica 2. 1959–1964. Aparición de los transistores. 3. 1965–1970. Integración de múltiples transistores y circuitos en los “circuitos integrados”. 4. Microtransistorización. 5. Desarrollo de software „inteligente‟. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

12


Las computadoras están estructuradas según un modelo básico de funcionamiento que describe la interacción que se realiza entre los elementos que la componen. Este modelo es:

Fig. 4. Modelo de un computador Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

13


Tipos de Computador Con base a la forma de representar la información tenemos dos tipos de sistemas: 

Analógico: La información está mediante algún mecanismo físico directamente relacionada con la magnitud real externa que se mide. Digitales: Los rangos de valores de la información se cuantizan mediante valores numéricos discretos. Esto es, se miden mediante alguna „escala‟ dando así lugar a valores discretos (dependientes de la precisión de la escala) en números enteros. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

14


Fig. 5. Modelo digital de captación de la información real frente al analógico

Ahora bien, según el criterio de la técnica de construcción, podríamos hablar de computadores de:  Lógica cableada: En los que de una manera prefijada por el fabricante, el funcionamiento (los procesos que puede seguir) están „cableados‟, o sea, físicamente fijados en los circuitos.  Lógica programable: Los procesos se pueden escribir en la memoria y el computador los sigue, de manera que pueden realizarse distintos tipos de procesos. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

15


Fig. 6. Clasificación más común de los computadores Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

16


La Máquina de Von Neumann: Este modelo tiene varias características clave que se muestran de una manera u otra en todos los sistemas actuales:

1. Una

Unidad de Memoria 2. Una Unidad Central de Proceso 3. Una instrucción 4. Un programa 5. Un Contador de Programa 6. Un lenguaje de programación

Fig. 7. El modelo de Von Neumann esquematizado Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

17


Arquitectura de un computador La arquitectura de un computador dividida en dos partes importantes:

está

Hardware:

Es la que hace referencia a la parte física de un computador.

Software:

Es la que hace referencia a la parte lógica de un computador. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

18


HARDWARE  Componentes electrónicos y mecánicos.  Unidad Central de Proceso  Dispositivos de entrada, salida, almacenamiento, comunicación y cómputo.  Memoria

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

19


Unidad Central de Proceso

Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

20


Dispositivos

Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

21


Tipos de memoria  RAM (Random Access Memory): Memoria de escritura y lectura. El contenido solo se mantiene mientras el computador está encendido.  ROM (Read Only Memory): Memoria de solo lectura, es permanente y no se afecta por el encendido o apagado del computador.

 Caché: Memoria de acceso muy rápido, usada como puente entre la CPU y la memoria RAM, para evitar las demoras en la consulta de la memoria RAM. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

22


Elementos que pueden estar en dos estados (prendidos o apagados).

El sistema de numeración binario: representación de este tipo de datos. Utiliza dos símbolos el 1 y el 0.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

23


Cada 1 en un número binario representa potencia de 2 según su posición

Ejemplo: El número binario 100110 representa el valor 38

1

0

0

1

1

0

25

24

23

22

21

20

una

1*32 0*16 0*8 1*4 1*2 0*1 =38 Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

24


 Unidad básica de información: BIT que corresponde a un único dígito binario (puede tomar los valores 1 o 0).

 BYTE:

conjunto de 8 bits. 256 valores diferentes: desde el 00000000 (0 en decimal) al 11111111 (255 en decimal). 1 Kilo Byte = 210 Bytes = 1024 Bytes 1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes 1 Giga Byte = 210 MBytes = 230 Bytes 1 Tera Byte = 210 GBytes = 240 Bytes Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

25


 Enteros Son representados utilizando 2, 4 u 8 bytes. 2 bytes: rango(0 - 65536) enteros sin signo. rango(-32767 - 32768) enteros con signo.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

26


 Reales Son representados utilizando dos esquemas:

 Punto

Flotante: Real representado como un entero y un byte adicional que indica la posición del punto.  Punto Fijo: Real representado como una mantisa y un exponente; que son representados como enteros.

12345.6789 es representado como: Mantisa = 1.23456789 Exponente =104 pues 1.23456789*104= 12345.6789 Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

27


 Alfanuméricos: Representados en codificación ASCII, se asigna a cada carácter un valor numérico representado por un byte.

Ejemplo: el carácter „A‟ mayúscula es representado por el byte 01000001 (65 en decimal), la letra „B‟ mayúscula por el byte 66 en decimal y así sucesivamente.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

28


 Existe

un código ASCII para cada carácter representable (lista utilizada en los Laboratorios), algunos ejemplos: Espacio ; 0 * 1 a 9

32 59 48 42 49 97 57 Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

29


SOFTWARE

 Conjunto

de instrucciones que le dicen al hardware que hacer. Conjunto de programas o procedimientos que determinan las acciones de la máquina, es todo lo concerniente a la programación. El software de un sistema de información está formado por los datos, los programas de ingreso, actualización e informe de resultados y los procedimientos manuales y por máquina.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

30


Lenguaje Alto Nivel

Lenguaje Lenguaje Ensamblador Maquina

Hardware

Sistema Operativo

Aplicaciones

Herramientas Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

31


 Software

encargado recursos del sistema.

de

administrar

los

 Ofrece

un conjunto de comandos a los humanos, para interactuar con la máquina.

 Puede

ser escrito en lenguaje de alto nivel, en lenguaje ensamblador y/o en lenguaje máquina. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

32


Un lenguaje de programación es una notación para escribir programas, a través de los cuales podemos comunicarnos con el hardware y dar así las órdenes adecuadas para la realización de un determinado proceso. Un lenguaje viene definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

33


Lenguajes: Declarativos: - Funcionales. - Lógicos. Imperativos: - Inestructurados. - Modulares. - Orientados a objeto. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

34


Periodo 1950 – 1955

1956 - 1960

1961 - 1965

1966 - 1970

1971 - 1975

1976 – 1980

1980

Influencias Ordenadores primitivos

Lenguajes Lenguajes ensamblador. Lenguajes experimentales de alto nivel

Ordenadores pequeños, caros y lentos Cintas magnéticas. Compiladores e intérpretes Optimización del código. Ordenadores grandes y caros Discos magnéticos Sistemas operativos Lenguajes de propósito general.

FORTRAN ALGOL 58 y 60 COBOL LISP FORTRAN IV COBOL 61 Extendido ALGOL 60 Revisado APL (como notación sólo) PL/I FORTRAN 66 (estándar) COBOL 65 (estándar) ALGOL 68 SIMULA 67 BASI C APL/360

Ordenadores de diferentes tamaños, velocidades, y costes. Sistemas caros de almacenamiento masivo de datos. Sistemas operativos multitarea e interactivos. Compiladores con optimización. Lenguajes estándar, flexibles y generales. Micro ordenadores. Sistemas pequeños y baratos de almacenamiento masivo de datos. Programación estructurada. Ingeniería del software. Lenguajes sencillos. Ordenadores baratos y potentes. Sistemas distribuidos. Programación interactiva. Abstracción de datos. Programación con fiabilidad y fácil mantenimiento. Ordenadores más baratos y potentes. Mayor abstracción de datos. Menor costo de memorias Programación Orientada o Objetos

PASCAL COBOL 74 PL/I ADA FORTRAN 77 PROLOG C SmallTalk OOCOBOL C++ Ojective C Object Pascal (Delphi) Visual Basic

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

35


   

Único lenguaje que entiende el hardware (máquina). Específico para cada hardware (procesador, dispositivos). Usa exclusivamente el sistema binario. Programa: almacenado en memoria, contiene instrucciones y datos. 

EJEMPLO 0000 0001 1000 1001 0011 1010 0111 0100 1110 1001

1010 1001 1001 0111 0010

0001 1010 1100 0000 0000

01 A1 89 9A 3A 9C 74 70 E9 20

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

36


Software, generalmente escrito en lenguaje de máquina, capaz de traducir de lenguaje ensamblador a lenguaje de máquina.

 Usa mnemónicos para codificar las operaciones. Los datos y/o 

direcciones son codificados generalmente como números en sistema hexadecimal. Es específico (aunque no único) para cada lenguaje de máquina. 

EJEMPLO INICIO: ADD MOV CMP JE JMP FIN : END

B, 1 A, E A, B FIN INICIO

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

37


Es un lenguaje basado en una estructura gramatical para codificar estructuras de control e instrucciones.

Cuenta con un conjunto de palabras reservadas, para codificar estructuras de control e instrucciones.

Permite el uso de símbolos aritméticos y relacionales.

COMPILADORES e INTERPRETES: software capaz de traducir de un lenguaje de alto nivel al lenguaje ensamblador específico de una máquina.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

38


Objetivos 

 

Lograr independencia de la máquina, pudiendo utilizar un mismo programa en diferentes equipos con la única condición de disponer de un programa traductor o compilador Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma más sencilla Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemáticas, manejo de tablas, etc. Ej: FORTRAN, LISP, ALGOL, COBOL, APL, SNOBOL, PROLOG, MODULA2, ALGOL68, PASCAL, SIMULA67, ADA, C++, LIS, EUCLID, BASIC Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

39


Software que le permite al computador realizar una tarea específica y con el cual no se puede construir otro software. Ejemplos: procesadores de texto como WORD, las hojas electrónicas como EXCEL.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

40


Es un programa que presenta un ambiente en el que, empleando un lenguaje de programación, se puede desarrollar nuevo software. Ejemplos: ambientes integrados de desarrollo como DevC++, Visual C++, en los que se emplea el lenguaje C++.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

41


Un algoritmo no es más que una secuencia de pasos que, seguidos uno a uno, permiten resolver un problema. Hay que tener en cuenta que un buen algoritmo debe ser legible, correcto, modular, eficiente, estructurado y no ambiguo. Además debe procurar ser ejecutado en el menor tiempo posible.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

42


Se tiene un problema cuando se desea encontrar uno o varios objetos desconocidos (ya sean estos números, símbolos, diagramas, figuras, u otras cosas), que cumplen condiciones o relaciones, previamente definidas, respecto a uno o varios objetos conocidos.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

43


 Solucionar

el problema es encontrar los objetos desconocidos.

 Para

solucionar un problema se debe determinar de manera clara y concisa: cuáles son los objetos conocidos, las condiciones y de que tipo son los objetos desconocidos.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

44


1. Compresión del problema .

2. Encontrar conexiones con problemas replantearse el problema de otra manera.

anteriores,

3. Llevar a cabo un plan, demostrar que los pasos encontrados son los correctos. 4. Comprobar la solución obtenida demostrando que son válidos los algoritmos empleados y que son factibles para resolver otro problema. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

45


 

Partición: reducción en partes más pequeñas. Analogías: similitudes con otros problemas.

Para partir un problema este debe de estar compuesto de varias partes independientes conceptualmente y reconocibles.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

46


Tipos de problemas

 Problemas solubles: Si se sabe de antemano que existe una solución para él.

 Problemas insolubles:

Si se sabe que no existe una

solución para él.

 Problemas indecidibles: Si no se sabe si existe o no existe solución algorítmica para él.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

47


Un robot debe trasladar una pila (montón) de cajas desde un punto A hasta un punto C usando, si lo requiere, un punto intermedio B. Las cajas inicialmente están todas en el punto A, ordenadas como muestra la siguiente figura. En cada traslado, el robot sólo puede tomar una caja que esté en la cima de un montón y llevarla a uno de los otros dos puntos. Además, en ningún momento puede poner una caja sobre otra más pequeña. Mirando la figura, ¿cómo puede el robot pasar las tres cajas apiladas en el lugar A, al lugar C.?

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

48


Una partícula se mueve en el espacio de manera aleatoria, si en el instante de tiempo t se encuentra en la posición x, ¿cuál será la posición exacta de dicha partícula 10 segundos después?

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

49


Ejemplos Problemas Indecidible

Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

50


Secuencia bien definida y finita de tareas, cada una de las cuales se puede realizar con una cantidad de recursos finitos.

Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

51


Precisión

Hay un orden preciso en el cual deben ejecutarse las tareas que conforman el algoritmo.

De finitud o Determinismo Todas las veces que se realicen las tareas o pasos de un algoritmo, con las mismas condiciones iniciales, se deben obtener resultados idénticos.

Finitud

El algoritmo debe terminar en algún momento y debe usar una cantidad finita de recursos.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

52


Estructura de un Algoritmo Datos

Instrucciones

Estructuras de control

Para almacenar información: datos de entrada, de salida o intermedios.

Las acciones o procesos que el algoritmo realiza sobre los datos.

Las que determinan el orden en que se ejecutarán las instrucciones del algoritmo.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

53


Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿Que debe hacer el estudiante?

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

54


1. Dormir hasta que suene el despertador (o lo llame la mamá). 2. Mirar la hora. 3. Hay tiempo suficiente? 3.1. Si, entonces

3.1.1. Bañarse. 3.1.2. Vestirse. 3.1.3. Desayunar.

3.2. No, entonces

3.2.1. Vestirse. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

55


Las representaciones más conocidas son:

Diagramas de flujo. Pseudo-código.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

56


Esquema de representación gráfico algoritmos.

Usa elementos gráficos como rectángulos y rombos.

Se pueden usar operaciones matemáticas.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

de

16/08/2014

57


A, B, C

Universidad del Quind铆o-Ingenier铆a Electr贸nica- Programaci贸n 1

16/08/2014

58


 Esquema

de representación de algoritmos que usa un subconjunto del lenguaje natural del diseñador de algoritmos.

 Elimina

posibles ambigüedades empleando una notación que aunque libre es más restringida que la del lenguaje natural.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

59


leer A, B, C si A>B si A>C Mayor  A sino Mayor  C fin_si

sino si B>C

Mayor  B sino Mayor  C fin_si fin_si escribir Mayor Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

60


Problema

Metodología

Programa

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

61


 Análisis del problema.  Especificación del problema.  Diseño del algoritmo.  Prueba del algoritmo y refinamiento.  Codificación.  Prueba y verificación. Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

62


Entender de manera clara el problema que se esta resolviendo.

Esta fase de la metodología concuerda con el proceso de identificación de objetos conocidos, objetos desconocidos y condiciones usado en la sección de problemas.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

63


 Descripción clara y precisa de: ◦ ◦ ◦

Las entradas del problema. Las salidas del problema. Las condiciones, es decir la dependencia que mantendrán las salidas obtenidas con las entradas recibidas.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

64


Problema:

Construir un algoritmo que determine el mayor de tres números enteros.

Especificación:

Entradas: entrada) de tipo entero.

A,B,C

(números

de

Salidas: Mayor de tipo entero. Condiciones: A, B y C.

Mayor debe ser el valor máximo de

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

65


Es la fase en la que se construye el algoritmo que permitirá problema.

encontrar

la

solución

al

La

forma adecuada de realizar este proceso es subdividirlo.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

66


 Proceso de seguimiento del algoritmo para

verificar que cumple con la especificación. Si no se cumple con la especificación se va refinando hasta lograr el objetivo.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

67


Codificación

Proceso en el cual se escribe el algoritmo en un lenguaje de programación, utilizando el editor de la herramienta.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

68


Prueba y Verificación

Proceso en el cual se corrigen los errores de sintaxis y de lógica del programa, hasta lograr que el programa resuelva el problema.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

69


Diagrama de Flujo Representan gráficamente paso a paso todas las instrucciones del programa a codificar reflejando la secuencia lógica de las operaciones necesarias para la resolución del problema. Muestra gráficamente el algoritmo del programa. 1. Debe tener un Inicio y un fin. 2. Deben usarse líneas rectas. 3. Debe diseñarse de arriba abajo y de izquierda a derecha. 4. Debe guardarse la mayor simetría gráfica posible. 5. Deben usarse expresiones independientes de los lenguajes de programación. 6. Deben intentar evitarse los cruces de líneas. 7. Debe utilizarse el mínimo número de instrucciones posible.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

70


Pseudocódigos Es una notación mediante la cual podemos escribir la solución a un problema dado en forma de algoritmo (pasos ordenados) utilizando palabras y frases del lenguaje natural aunque sujetas a determinadas reglas impuestas. • Instrucciones primitivas: (En pseudocódigo se escriben igual pero sin la figura geométrica)

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

71


Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

72


Diagramas de Flujo y Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

73


Diagramas de Flujo y Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

74


Diagramas de Flujo y Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

75


Diagramas de Flujo y Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

76


Diagramas de Flujo y Pseudocódigos

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

77


Diagramas de Flujo y Pseudocódigos

Algunas convenciones que utilizaremos: • Palabras reservadas en mayúsculas (MOSTRAR, LEER, MIENTRAS, SI, INICIO…). • Variables en minúsculas o sólo con la primera letra en mayúsculas (número, Nombre, valor…). • Textos literales entre comillas dobles (“hola”, “Introduzca su nombre”, “El resultado es:”…). • Números literales sin comillas (1, 34, -23, 4,25…). • Cada carácter suelto o tecla suelta entre comillas simples („a‟, „@‟, „=‟…). • Identación (tabulación) del código para mejor legibilidad.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

78


Diagramas de Flujo y Pseudocódigos

Ejemplo: Realizar el diagrama de flujo y el pseudocódigo de un algoritmo que permita pedir 2 números por teclado y muestre la suma de ellos.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

79


Diagramas de Flujo y Pseudocódigos

Ejemplo: Realizar el diagrama de flujo y el pseudocódigo de un algoritmo que permita pedir 2 números por teclado y muestre la suma de ellos.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

80


Diagramas de Flujo y Pseudocódigos

Ejemplo: diagrama de flujo y pseudocódigo de un algoritmo que solicita un número por teclado al usuario e informa de si el número introducido es negativo (menor que cero) o no.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

81


Diagramas de Flujo y Pseudocódigos

Ejemplo: Diagrama de flujo y pseudocódigo de un algoritmo que solicita un número por teclado al usuario e informa de si el número introducido es negativo (menor que cero) o no.

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

82


Diagramas de Flujo y Pseudocódigos

Ejercicio: Diagrama de flujo y pseudocódigo de un algoritmo que muestra en pantalla 10 veces la cadena de caracteres “hola” usando los 3 tipos de bucles que hemos visto: • Usando un bucle MIENTRAS • Usando un bucle HASTA • Usando un bucle PARA

Universidad del Quindío-Ingeniería Electrónica- Programación 1

16/08/2014

83


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.