Вы находитесь на странице: 1из 30

Módulo I - Unidad 1 Introducción a la Programación

Módulo I - Unidad 1 Introducción a la Programación Objetivo: Identificar el entorno de un sistema

Objetivo: Identificar el entorno de un sistema informático, las partes y elementos de un computador y los lenguajes de programación.

1. DEFINICIÓN Y ORIGEN DE LA INFORMÁTICA ¿Qué es la Informática?

Informática es la ciencia que estudia el tratamiento automático y racional de la información. La cual tiene una diversidad de ramas como ser la programación, la arquitectura de redes, electrónica, inteligencia artificial, entre otras. Estas ramas de la ciencia nos permite desarrollar el hardware y el software necesario y fundamental en la informática.

¿De dónde proviene el término informática?

El vocablo informática proviene del alemán informatik acuñado por Karl Steinbuch en 1.957. El término es una contracción de las palabras information y automatic (Información Automática) Fuente: http://es.wikipedia.org/wiki/Informática

2. CONOCIENDO EL ORDENADOR

2.1 Computadora

El elemento físico utilizado para el tratamiento de la información es el computador, computadora u ordenador. Es de propósito general, lo que significa que se utiliza en diversos campos o áreas de la actividad humana. Para lograr cumplir con sus funciones el computador requiere de dos partes principales, una que es física a la que se le llama hardware y otra que es intangible y

hace que el computador funcione, que se le llama software.

2.2 Hardware

Se denomina hardware al conjunto de elementos tangibles o físicos del computador.

Todo lo que podemos tocar, armar y desarmar hace parte del Hardware del computador.

computador. Todo lo que podemos tocar, armar y desarmar hace parte del Hardware del computador. Prof.
computador. Todo lo que podemos tocar, armar y desarmar hace parte del Hardware del computador. Prof.

2.2.1

Componentes del Hardware

2.2.1 Componentes del Hardware  Dispositivos de Entrada /Salida Se encargan de los intercambios de información

Dispositivos de Entrada /Salida

Se encargan de los intercambios de información con el exterior.

- Dispositivos de entrada: Son dispositivos periféricos que permiten la comunicación desde el usuario hacía el computador.

- Dispositivos de salida: Son los dispositivos que permiten la comunicación desde el computador hacía el usuario.

Unidades de Almacenamiento

Son todos los dispositivos que se utilizan para grabar o almacenar los datos de la

computadora de forma temporal o permanente. Podemos clasificarla de la siguiente manera:

- Unidades de almacenamiento primarios, como la RAM (random access memory - memoria de acceso aleatorio) que guarda los datos de manera temporal. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo, se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayor parte del software y la ROM (read only memory - memoria de solo lectura) que sólo contiene información de arranque del sistema, permite sólo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.

- Unidades de almacenamiento secundarios, que guardan la información permanentemente, como el disco duro, los CD, DVD, memorias USB, disco externos.

CPU

Encargada de ejecutar los programas almacenados en memoria y de realizar los

cálculos y transformaciones en los datos, además de coordinar, controlar y realizar todas las operaciones del sistema Consta de dos partes:

- Unidad de Control (UC): se encarga de ejecutar las instrucciones

- Unidad Aritmético Lógica: que efectúa las operaciones

de ejecutar las instrucciones - Unidad Aritmético Lógica: que efectúa las operaciones Prof. Carolina Candia 3
de ejecutar las instrucciones - Unidad Aritmético Lógica: que efectúa las operaciones Prof. Carolina Candia 3
Fuente: http://edutecnomatica.pbworks.com/w/page/50851704/COMPONENTES DEL COMPUTADOR 2.3 Software Conjunto de elementos
Fuente: http://edutecnomatica.pbworks.com/w/page/50851704/COMPONENTES DEL COMPUTADOR 2.3 Software Conjunto de elementos

Fuente: http://edutecnomatica.pbworks.com/w/page/50851704/COMPONENTES DEL COMPUTADOR

2.3 Software Conjunto de elementos intangibles o lógicos de la computadora, o sea los programas e instrucciones que conducen las actividades del ordenador. El Software se puede clasificar en: Firmware, Sistemas Operativos y Aplicaciones.

Firmware: Es el conjunto de instrucciones necesarias para el buen funcionamiento del computador; también es llamado “Programa de arranque” y generalmente podemos ver algo de ellas, al momento de encender la computadora.

Sistemas Operativos: Es el programa que administra los dispositivos y recursos del computador. Ejemplos: Windows Vista, Windows 7, Windows 8, Linux, Mac, Unix.

y recursos del computador. Ejemplos: Windows Vista, Windows 7, Windows 8, Linux, Mac, Unix. Prof. Carolina
y recursos del computador. Ejemplos: Windows Vista, Windows 7, Windows 8, Linux, Mac, Unix. Prof. Carolina
 Aplicaciones: Son programas para tareas específicas tales como: procesadores de textos, planillas electrónicas,

Aplicaciones: Son programas para tareas específicas tales como: procesadores de textos, planillas electrónicas, navegadores, aplicaciones con diversas utilidades como crear dibujos, descargar música, etc.

Componentes del Software

Software Firmware Sistemas Operativos Aplicaciones
Software
Firmware
Sistemas Operativos
Aplicaciones

3. NIVELES DE INFORMACIÓN Todo software, sea programas o datos (textos, sonidos, imágenes, etc.), está representado en la computadora por conjuntos de bits.

3.1 Bit

La palabra bit se origina de la abreviatura de dígito binario. Es la unidad mínima de

información utilizada por un equipo. Un bit se expresa con un 1 o un 0, en un código binario.

3.2 Carácter (Byte)

Las computadoras manejan la información binaria en grupo de 8 bits denominados byte. Un byte puede representar muchos tipos de información, como una letra del alfabeto, un dígito decimal, un carácter, etc.

Ejemplo 1Byte >> 10110011 >> o sea 1Byte = 8 bits

3.3 Múltiplos del byte

Cuando se trata de grandes cantidades de bytes contenidas en un archivo o en una carpeta incluida dentro de un dispositivo de almacenamiento masivo de información, como puede ser disco duro, CD, DVD, etc., se utilizan los siguientes múltiplos del byte:

como puede ser disco duro, CD, DVD, etc., se utilizan los siguientes múltiplos del byte: Prof.
como puede ser disco duro, CD, DVD, etc., se utilizan los siguientes múltiplos del byte: Prof.
1 kilobyte (kB) = 1.024 bytes 1 megabyte (MB) = 1.048.576 bytes 1 gigabyte (GB)
1 kilobyte (kB) = 1.024 bytes
1 kilobyte (kB) =
1.024 bytes
1 megabyte (MB) = 1.048.576 bytes
1 megabyte (MB) =
1.048.576 bytes
1 gigabyte (GB) = 1.073.741.824 bytes
1 gigabyte (GB) =
1.073.741.824
bytes
1 terabyte (TB) = 1.099.511.627.776 bytes
1 terabyte (TB) =
1.099.511.627.776
bytes

3.4 Código ASCII

Código ASCII (American Standard Code for Information Interchange - Código Estándar Estadounidense para el Intercambio de Información) se emplea para representar los caracteres alfanumérico, es decir, letras, números y signos. Este código comprende los números decimales del 0 al 255. Del 0 al 31 corresponde a instrucciones. El número 32 corresponde a la orden de ejecutar espacios entre palabras cuando oprimimos la barra espaciadora en el teclado. Del 33 al 127 corresponde a los caracteres alfanuméricos más utilizados. A partir del número 128 aparecen otras letras y algunos signos que generalmente no

aparecen en el teclado del ordenador.

4. SISTEMAS DE TRATAMIENTO DE LA INFORMACION

4.1 Sistema de Procesamiento de Datos

Dato
Dato
Proceso Información
Proceso
Información
TRATAMIENTO DE LA INFORMACION 4.1 Sistema de Procesamiento de Datos Dato Proceso Información Prof. Carolina Candia
TRATAMIENTO DE LA INFORMACION 4.1 Sistema de Procesamiento de Datos Dato Proceso Información Prof. Carolina Candia
 Dato / Entrada: captación de la información. Normalmente son datos y órdenes ingresados por

Dato / Entrada: captación de la información. Normalmente son datos y órdenes ingresados por los usuarios a través de cualquier dispositivo de entrada conectado a la computadora.

Proceso: tratamiento de la información. Se realiza a través de programas y aplicaciones diseñadas por programadores que indican de forma secuencial cómo resolver un requerimiento.

Información / Salida: transmisión de resultados. A través de los dispositivos de salida los usuarios pueden visualizar los resultados que surgen del procesamiento de los datos.

5. ELEMENTOS DEL SISTEMA INFORMÁTICO

Usuarios Un usuario es una persona que utiliza una computadora, sistema operativo, servicio o cualquier sistema o aplicación, además se utiliza para clasificar a diferentes privilegios, permisos a los que tiene acceso un usuario o grupo de usuario, para interactuar o ejecutar con el ordenador o con los programas instalados en este.

Programa El conjunto de órdenes que se dan a una computadora para realizar un proceso determinado. Es un conjunto de instrucciones escritas en algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema específico.

Aplicación Informática Conjunto de uno o varios programas más la documentación correspondiente para realizar un determinado trabajo. La documentación se refiere a documentar el o los programas realizados en la etapa de la construcción. Se debe confeccionar un manual de uso que contenga por lo menos los siguientes puntos:

Se debe confeccionar un manual de uso que contenga por lo menos los siguientes puntos: Prof.
Se debe confeccionar un manual de uso que contenga por lo menos los siguientes puntos: Prof.
- Descripción del método de solución utilizado - Requerimientos lógicos como el sistema operativo, software,

- Descripción del método de solución utilizado

- Requerimientos lógicos como el sistema operativo, software, etc.

- Requerimientos físicos como ser el tipo de hardware, servidores, etc.

Sistema Informático El término sistema informático se utiliza para nombrar al conjunto de elementos necesarios (computadoras, impresoras, etc.) para la realización y explotación de aplicaciones informáticas. Es un conjunto de elementos que interactúan entre sí para llevar a cabo la automatización de la información.

Sistema Informático Hardware Software Usuarios
Sistema Informático
Hardware
Software
Usuarios

6. LENGUAJES DE PROGRAMACIÓN

6.1 ¿Qué es un lenguaje de programación?

Es considerado un lenguaje formal que tiene como función principal llevar a cabo

procesos que son ejecutados por el computador. Es un conjunto de reglas para comunicar ideas. Un programa se escribe en un lenguaje de programación.

6.2 Tipos de Lenguajes

Lenguaje Máquina Lenguaje más básico, propio de cada computadora, ya que está relacionado con el diseño del hardware de la misma (dependiente de la máquina).

Características

Escritos en lenguajes directamente inteligibles por la máquina

Instrucciones son cadenas binarias

en lenguajes directamente inteligibles por la máquina  Instrucciones son cadenas binarias Prof. Carolina Candia 8
en lenguajes directamente inteligibles por la máquina  Instrucciones son cadenas binarias Prof. Carolina Candia 8
 Las instrucciones en lenguaje máquina dependen del hardware de la computadora y por tanto

Las instrucciones en lenguaje máquina dependen del hardware de la computadora y por tanto diferirán de una computadora a otra.

Operaciones: Cargar, Almacenar, Sumar, Restar

Ejemplo

Código de operación

Dirección

Significado

00010101

10000001

(a) Cargar contenido de la dir. 129 en Acumulador

00010111

10000010

(b) Sumar contenido de la dir 130 al Acumulador

00010110

10000011

(c) Almacenar contenido del Acumulador en la dir. 131

(c) 10000011 = 2 7 +2 1 +2 0 = 131.

 

Lenguaje de Bajo Nivel Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas, que permiten representar las operaciones elementales de la computadora. Características

Lenguaje de bajo nivel por excelencia es el ensamblador

No puede ser ejecutado directamente por la computadora

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, ya directamente inteligible por la computadora.

Cada modelo de computadora tiene un lenguaje ensamblador propio diferente del de los demás, por lo cual un programa sólo puede utilizarse en la máquina para la que se programó.

Lenguaje de Alto Nivel Permite a los programadores escribir instrucciones en un lenguaje más familiar para ellos y que contiene notaciones matemáticas comúnmente utilizadas. La programación es más fácil para los usuarios ya que éste no necesita tener

utilizadas. La programación es más fácil para los usuarios ya que éste no necesita tener Prof.
utilizadas. La programación es más fácil para los usuarios ya que éste no necesita tener Prof.
conocimiento de la estructura interna o arquitectura de la computadora como sucedía en los lenguajes

conocimiento de la estructura interna o arquitectura de la computadora como sucedía en los lenguajes anteriores.

Características

Diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores

Es independiente de la máquina

Son portables

6.3 Lenguajes de programación utilizados en la actualidad Hoy en día se utilizan los lenguajes de alto nivel, que proporcionan sentencias muy fáciles de recordar. Entre los lenguajes de programación más utilizados podemos citar los siguientes:

Lenguaje de Programación Java: es el lenguaje utilizado para programas punteros como herramientas, juegos y aplicaciones. Este lenguaje de programación se utiliza en dispositivos móviles y aparatos de televisión y en más millones de ordenadores personales de todo el mundo. Java está instalado en inmensidad de aplicaciones y sitios web.

Lenguaje de Programación C: Este lenguaje de programación está orientado a los Sistemas Operativos y es muy eficaz y con él podemos crear Softwares de sistemas operativos como Windows o Linux y también para aplicaciones. Es también muy utilizado en robótica con el que se programan simuladores, etc.

Lenguaje de Programación SQL: Este lenguaje está creado para realizar consultas a bases de datos principalmente. SQL son las siglas de Structured Query Lenguaje (Lenguaje estructurado de consultas.

Lenguaje de Programación HTML: Este lenguaje es con el que se crean las páginas web, por ejemplo, que básicamente es un conjunto de etiquetas que sirven para definir el texto y otros elementos que puedes ver en las páginas web. HTML significa HyperText Markup Lenguaje («lenguaje de marcas de hipertexto»).

páginas web. HTML significa HyperText Markup Lenguaje («lenguaje de marcas de hipertexto»). Prof. Carolina Candia 10
páginas web. HTML significa HyperText Markup Lenguaje («lenguaje de marcas de hipertexto»). Prof. Carolina Candia 10
 Lenguaje de Programación XML: Este lenguaje es también un lenguaje de etiquetas como el

Lenguaje de Programación XML: Este lenguaje es también un lenguaje de etiquetas como el HTML, pero a diferencia de éste, el lenguaje XML separa el contenido de la presentación.

Lenguaje de Programación PHP: El PHP es un lenguaje de programación similar al HTML que nos sirve fundamentalmente para páginas web y se puede combinar con el lenguaje HTML. El lenguaje PHP se basa en los “scripts” que es un guión de órdenes o instrucciones que recibe un servidor de una página web para leer su código fuente. Casi todos los lenguajes de programación tienen unos fundamentos o bases comunes, esto hace que sea relativamente fácil aprender un lenguaje nuevo si ya conocemos otro.

MÓdulo I - Unidad 2 Algoritmos

1. ALGORITMO

La palabra Algoritmo es de origen árabe y proviene del famoso matemático y astrónomo Abu Abdullah Muhammad Bin Musa, quien tomó como seudónimo Al- Khowarizmi, que escribió un conocido tratado sobre la manipulación de números y ecuaciones titulado Kitab al-jabr w’almugabala.

1.1 Definición de Algoritmo

Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a la

solución de un problema.

1.2 Características del algoritmo

Preciso: Indica el orden de realización de cada paso.

Definido: Si se sigue un algoritmo varias veces proporcionándole distintos datos, se debe obtener siempre el resultado correcto.

Finito: Al seguir el algoritmo, este debe terminar en algún momento, esto significa que debe tener un numero finito de datos.

este debe terminar en algún momento, esto significa que debe tener un numero finito de datos.
este debe terminar en algún momento, esto significa que debe tener un numero finito de datos.

1.3

Tipos de algoritmo

1.3 Tipos de algoritmo  No Computacional: Es la manera de resolver un problema de la

No Computacional: Es la manera de resolver un problema de la vida cotidiana

a través de una serie de pasos ordenados y finitos.

Por ejemplo considere el algoritmo que se elaboraría para el problema o situación de

levantarse todas las mañanas para ir al trabajo:

1. Salir de la cama

2. quitarse el pijama

3. ducharse

4. vestirse

5. desayunar

6. arrancar el automóvil para ir al trabajo o tomar transporte.

En este algoritmo se ha llegado a la solución del problema en 6 pasos, y no se

resaltan aspectos como: decidir si el desayuno será un café negro o con leche, elegir

la vestimenta, etc. Estos aspectos han sido descartados, pues no tienen mayor

trascendencia, en otras palabras los estamos suponiendo.

Computacional: Es la manera de resolver un problema mediante el uso de un

computador a través de una serie de pasos ordenados y finitos, utilizando algún

método para el diseño.

2. MÉTODOS PARA EL DISEÑO DE ALGORITMOS

“Divide y Vencerás” Los problemas complejos se pueden resolver más eficazmente cuando se descomponen en sub problemas que sean más fáciles de solucionar que el original. Divide un problema complejo en otros más simples

más fáciles de solucionar que el original. Divide un problema complejo en otros más simples Prof.
más fáciles de solucionar que el original. Divide un problema complejo en otros más simples Prof.
Ventajas El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulos

Ventajas

El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulosVentajas Las modificaciones en los módulos son más fáciles La comprobación del problema se puede verificar

al dividirse en partes más simples denominadas módulos Las modificaciones en los módulos son más fáciles

Las modificaciones en los módulos son más fácilesal dividirse en partes más simples denominadas módulos La comprobación del problema se puede verificar fácilmente

Las modificaciones en los módulos son más fáciles La comprobación del problema se puede verificar fácilmente

La comprobación del problema se puede verificar fácilmenteLas modificaciones en los módulos son más fáciles  Top Down (de arriba abajo) Muy utilizados.

La comprobación del problema se puede verificar fácilmente  Top Down (de arriba abajo) Muy utilizados.

Top Down (de arriba abajo) Muy utilizados. Parte de una idea general y define cada paso posterior con más detalle hasta llegar a la resolución del problema. Se formula un resumen del problema, sin especificar detalles. Cada parte del sistema se refina diseñando con mayor detalle. Cada parte nueva es entonces redefinida, cada vez con mayor detalle, hasta que la especificación completa es lo suficientemente detallada para validar el modelo.

Botton Up (de abajo arriba)

Poco utilizados.

enlazan para formar componentes más grandes.

y pruebas tempranas, que pueden comenzar tan pronto se ha especificado el primer módulo. Este enfoque tiene el riesgo de programar cosas sin saber cómo se van a conectar al resto del sistema, y esta conexión puede no ser tan fácil como se creyó al comienzo. La reutilización del código es uno de los mayores beneficios del enfoque bottom-up.

Hace énfasis en la programación

Las partes individuales se diseñan con detalle y luego se

3. MÉTODOS PARA LA REPRESENTACIÓN DE ALGORITMOS Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo de los lenguajes de programación y al mismo tiempo, conseguir que sea fácilmente codificable.

de los lenguajes de programación y al mismo tiempo, conseguir que sea fácilmente codificable. Prof. Carolina
de los lenguajes de programación y al mismo tiempo, conseguir que sea fácilmente codificable. Prof. Carolina
3.1 Diagrama de Flujo Es la representación gráfica del algoritmo o proceso. Cada paso del

3.1 Diagrama de Flujo Es la representación gráfica del algoritmo o proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. El diagrama de flujo ofrece una descripción visual de las actividades relacionadas en un proceso mostrando la relación secuencial ente ellas.

3.1.1

Ventajas del Diagrama de Flujo

Facilita la obtención de una visión transparente del proceso, mejorando su comprensión.

Permiten definir los límites de un proceso.

3.1.2

Desventajas del Diagrama de Flujo

Lento de crear

Difícil de modificar sin un nuevo redibujo

3.1.2

Reglas para la construcción de Diagrama de Flujo

1. Todo diagrama debe tener un principio y un fin

2. Las líneas de conexión o flujo deben ser siempre rectas

3. Las líneas que enlazan los símbolos entre si deben estar todas conectadas

4. Se deben dibujar todos los símbolos

5. Realizar un gráfico claro y equilibrado

6. Evitar terminología especifica de un lenguaje de programación

7. Indicar comentarios Sin abusar

8. A cada bloque o símbolo se accede por arriba y/o por la izquierda y se sale por abajo y/o por la derecha

o símbolo se accede por arriba y/o por la izquierda y se sale por abajo y/o
o símbolo se accede por arriba y/o por la izquierda y se sale por abajo y/o
Función Símbolo 1 Inicio y Fin del Algoritmo 2 Proceso     3 Entrada /

Función

Símbolo

1 Inicio y Fin del Algoritmo

1 Inicio y Fin del Algoritmo

2 Proceso

   

3 Entrada / Salida

3 Entrada / Salida

4 Decisión

4 Decisión

5 Conector

5 Conector

Diagrama de Flujo Ordinograma

Ejemplo 1.

Se desea obtener la calificación media de un alumno correspondiente a las diferentes asignaturas de un semestre.

calificación media de un alumno correspondiente a las diferentes asignaturas de un semestre. Prof. Carolina Candia
calificación media de un alumno correspondiente a las diferentes asignaturas de un semestre. Prof. Carolina Candia
Inicio INICIO Lectura de Datos Entrada de Datos Sumar notas de todas las Proceso calcular
Inicio INICIO Lectura de Datos Entrada de Datos Sumar notas de todas las Proceso calcular
Inicio
INICIO
Lectura de Datos
Entrada de Datos
Sumar notas
de todas las
Proceso calcular la suma total
materias
Dividir la suma
total por el nro
Proceso calcular promedio
de materias
Imprimir
Salida de Datos
Resultado
Fin
FIN

Comentarios

No se ejecutan se utilizan para una mayor comprensión de las variables, procesos, módulos …

se ejecutan se utilizan para una mayor comprensión de las variables, procesos, módulos … Prof. Carolina
se ejecutan se utilizan para una mayor comprensión de las variables, procesos, módulos … Prof. Carolina

3.2

Diagrama N-S (Nassi Schneidermann)

3.2 Diagrama N-S (Nassi – Schneidermann) Constan de una serie de cajas contiguas que se leerán

Constan de una serie de cajas contiguas que se leerán siempre de arriba abajo y se

documentaran de la forma adecuada.

Sentencia 1 Sentencia 2 Sentencia 3
Sentencia 1
Sentencia 2
Sentencia 3

En el diagrama Nassi Schneidermann la decisión se representa de la siguiente manera:

la decisión se representa de la siguiente manera: Fuente:

3.3 Pseudocódigo

Es un lenguaje de especificación de algoritmos que utiliza palabras reservadas y

exige la indentación o sangría, o sea sangría en el margen izquierdo, de algunas

líneas. Este método nace con el objeto de superar las principales desventajas del diagrama de flujo y es muy buena para el seguimiento de la lógica de un algoritmo y para transformar con facilidad los algoritmos a programas, escritos en un lenguaje de programación especifico. Todo pseudocódigo debe posibilitar la descripción de los siguientes elementos:

Instrucciones de entrada/salida.

Instrucciones de proceso.

Sentencias de control de flujo de ejecución.

Acciones compuestas (subprogramas).

Comentarios

de control de flujo de ejecución.  Acciones compuestas (subprogramas).  Comentarios Prof. Carolina Candia 17
de control de flujo de ejecución.  Acciones compuestas (subprogramas).  Comentarios Prof. Carolina Candia 17
La estructura general de un pseudocódigo es la siguiente: Inicio Declaración de variables, constantes Entrada

La estructura general de un pseudocódigo es la siguiente:

Inicio Declaración de variables, constantes Entrada de Datos Secuencia de instrucciones Salida de Datos

Fin

4. DISEÑO DE ALGORITMOS PARA LA RESOLUCIÓN DE DIFERENTES PROBLEMÁTICAS La fase de resolución del problema indica que el problema es perfectamente comprensible, luego se continúa con el diseño del algoritmo por medio de la representación seleccionada, en donde se plantea una solución conceptual detallando los procesos mediante un algoritmo. Y por último se realiza la verificación del algoritmo a través de la prueba de escritorio. La fase de implementación consiste en la realización de la solución planteada mediante el algoritmo, en un lenguaje de programación.

• Análisis del problema • Diseño del algoritmo • Verificación de algoritmos
• Análisis del problema
• Diseño del algoritmo
• Verificación de algoritmos
• Realizacion en un lenguaje de programación
• Realizacion en un lenguaje de
programación

Fase de

resolución del

Problema

Fase de implementación

en un lenguaje de programación Fase de resolución del Problema Fase de implementación Prof. Carolina Candia
en un lenguaje de programación Fase de resolución del Problema Fase de implementación Prof. Carolina Candia
 Análisis del problema El primer paso para encontrar la solución a un problema es

Análisis del problema

El primer paso para encontrar la solución a un problema es analizarlo. Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se pide y determinar cuáles son los datos necesarios para llegar al resultado deseado. El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada/salida, son los requisitos más importantes para llegar a

una solución eficaz.

Diseño del algoritmo

Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y colocarlas en el orden que han de ser ejecutadas.

Verificación de algoritmos

Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para la cual ha sido diseñado y produce el resultado correcto y esperado.

La verificación o comprobación del algoritmo se realiza mediante una ejecución manual, utilizando datos que abarquen todo el posible rango de valores. Este proceso es lo que se conoce como prueba del algoritmo.

4.1 Especificaciones a tener en cuenta para el diseño de un algoritmo

Especificaciones de entrada: Información necesaria para la solución del problema. ¿Qué datos son de entrada? ¿Cuántos datos se ingresaran? ¿Cuántos son datos de entrada validos?

Especificaciones de salida: Operaciones o cálculos necesarios para encontrar la solución del problema. ¿Cuáles son los datos de salida?

necesarios para encontrar la solución del problema. ¿Cuáles son los datos de salida? Prof. Carolina Candia
necesarios para encontrar la solución del problema. ¿Cuáles son los datos de salida? Prof. Carolina Candia
¿Cuántos datos de salida se producirán? ¿Qué precisión tendrán los resultados? 5. ESTRUCTURAS ALGORÍTMICAS Las

¿Cuántos datos de salida se producirán? ¿Qué precisión tendrán los resultados?

5. ESTRUCTURAS ALGORÍTMICAS

Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos

que nos llevan a la solución de problemas.

Secuenciales: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. La secuencia supone una acción con un punto de entrada y punto de salida. Una estructura secuencial debe contener las siguientes partes:

- Asignación

- Entrada

- Salida

las siguientes partes: - Asignación - Entrada - Salida Secuencia 1 Secuencia 2 Secuencia N 

Secuencia 1

Secuencia 2
Secuencia 2
Secuencia N
Secuencia N

Condicionales: Las estructuras condicionales comparan una variable contra otro/s valor/es, para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. La estructura Condicional puede ser de tres tipos:

- Simples

- Dobles

- Múltiples

programa. La estructura Condicional puede ser de tres tipos: - Simples - Dobles - Múltiples Prof.
programa. La estructura Condicional puede ser de tres tipos: - Simples - Dobles - Múltiples Prof.
Pseudocódigo: Diagrama de flujo: Pseudocódigo: Diagrama de flujo: Pseudocódigo: Diagrama de flujo: Fuente:
Pseudocódigo: Diagrama de flujo:
Pseudocódigo:
Diagrama de flujo:
Pseudocódigo: Diagrama de flujo:
Pseudocódigo:
Diagrama de flujo:
Pseudocódigo: Diagrama de flujo:
Pseudocódigo:
Diagrama de flujo:
flujo: Pseudocódigo: Diagrama de flujo: Fuente: http://fus123.wikispaces.com/Condicionales Prof. Carolina Candia 21
flujo: Pseudocódigo: Diagrama de flujo: Fuente: http://fus123.wikispaces.com/Condicionales Prof. Carolina Candia 21
 Cíclicas: Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario

Cíclicas: Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Las estructuras cíclicas o repetitivas son los siguientes:

- Hacer para Fin Para

- Hacer mientras Fin Mientras

- Repetir hasta / Desde hasta

mientras – Fin Mientras - Repetir hasta / Desde hasta Fuente:
mientras – Fin Mientras - Repetir hasta / Desde hasta Fuente:
mientras – Fin Mientras - Repetir hasta / Desde hasta Fuente:
hasta / Desde hasta Fuente: http://www.slideshare.net/ralhum/estructuras-de-control-8050957 Prof. Carolina Candia 22
hasta / Desde hasta Fuente: http://www.slideshare.net/ralhum/estructuras-de-control-8050957 Prof. Carolina Candia 22

6.

EJERCICIOS RESUELTOS Ejemplo 1:

6. EJERCICIOS RESUELTOS Ejemplo 1: Suponga usted que tiene un examen de Conocimiento en la Universidad

Suponga usted que tiene un examen de Conocimiento en la Universidad Americana en la materia de Introducción a la Programación. Según una decisión al azar, lanzando una moneda algunos alumnos estudian antes del examen y otros se van a un concierto de rock. Realizar el análisis Entrada, Proceso y Salida. Luego diseñar un algoritmo no computacional para representar esta situación. Análisis del Problema

Entrada: una moneda para tomar la decisión aleatoria.

Proceso: lanzar la moneda y luego tomar la decisión.

Salida: resultado en el examen.

Diseño del algoritmo Algoritmo: Tomar examen de Conocimiento Paso 1 Inicio

Paso 2 Lanzar una moneda. Paso 3 – Si el resultado es “cara” ir a 6. Paso 4 Si el resultado es sello estudiar para el examen.

Paso 5

Paso 6 Ir a un concierto de rock Paso 7 Presentar el examen al día siguiente. Paso 8 Fin

Ir a 7.

concierto de rock Paso 7 – Presentar el examen al día siguiente. Paso 8 – Fin
concierto de rock Paso 7 – Presentar el examen al día siguiente. Paso 8 – Fin

Módulo I - Unidad 3 Datos y Operadores

Módulo I - Unidad 3 Datos y Operadores 1. TIPOS DE DATOS Los tipos de datos

1. TIPOS DE DATOS Los tipos de datos se agrupan en tipos simples o bien en tipos estructurados. Los valores que se pueden almacenar en memoria vamos a dividirlos en los Siguientes tipos:

 

Numéricos (enteros y reales).

Lógicos.

Carácter.

Cadenas

1.1

Variable

Área de memoria en la que se almacena un dato cuyo valor puede cambiar durante el proceso. Las variables se identifican por un nombre que se le asigna y el tipo que

indica los valores que puede contener para un uso correcto de la variable.

1.2 Constantes

Área de memoria en la que se almacena un dato cuyo valor permanece invariable

durante todo el proceso.

1.3 Identificadores Son los nombres que se dan a las constantes simbólicas, variables, funciones, procedimientos, u otros objetos que manipula el algoritmo. La regla para construir un identificador establece que:

Debe resultar significativo, sugiriendo lo que representa

No podrá coincidir con palabras reservadas, propias del lenguaje algorítmico.

Se recomienda un máximo de 50 caracteres

Comenzará siempre por un carácter alfabético y los siguientes podrán ser letras, dígitos o símbolos de subrayado

Podrá ser utilizado indistintamente escrito en mayúsculas y minúsculas.

de subrayado  Podrá ser utilizado indistintamente escrito en mayúsculas y minúsculas. Prof. Carolina Candia 24
de subrayado  Podrá ser utilizado indistintamente escrito en mayúsculas y minúsculas. Prof. Carolina Candia 24
1.4 ¿Cómo se declara una variable? Declaración de una variable Declaración de varias variables tipo

1.4 ¿Cómo se declara una variable?

Declaración de una variable

Declaración de varias variables

tipo nombre

tipo nombre1, nombre2, nombre3,

,

nombrex

TIPOS DESCRIPCIÓN Entero Almacena números enteros Real Almacena números decimales Carácter Almacena un
TIPOS
DESCRIPCIÓN
Entero
Almacena números enteros
Real
Almacena números decimales
Carácter
Almacena un carácter
Cadena
Almacena un conjunto de caracteres
Lógico
Almacena el valor verdadero o el valor falso

Ejemplos:

Declaración de variables según el tipo:

TIPO DE DATO

NOMBRE DEL TIPO DE DATO

entero

edad, año, mes

real

promedio

carácter

respuesta

cadena

Nombre, apellido, dirección

2. TIPO DE OPERADORES Son los elementos que permiten indicar la realización de una operación entre determinados valores. La sintaxis de estas expresiones con operadores será siempre de la siguiente forma:

operador

Debemos tener en cuenta que cada expresión puede ser un solo valor, constante o

variable, o una expresión como conjunto de valores relacionados mediante operadores, por lo que es necesario que existan unas reglas que indiquen en qué orden deben efectuarse las operaciones.

Expresión1

Expresión2

reglas que indiquen en qué orden deben efectuarse las operaciones. Expresión1 Expresión2 Prof. Carolina Candia 25
reglas que indiquen en qué orden deben efectuarse las operaciones. Expresión1 Expresión2 Prof. Carolina Candia 25
a. Operadores Aritméticos SIGNO SIGNIFICADO + Suma - Resta * Multiplicación / División

a. Operadores Aritméticos

SIGNO

SIGNIFICADO

+

Suma

-

Resta

*

Multiplicación

/

División

%

Residuo

ˆ

Potenciación

( )

Agrupa operaciones

b. Reglas de jerarquía de los operadores aritméticos

Operador

Orden de evaluación

()

Se evalúan en primer lugar

*, /, %

Se evalúan en segundo lugar

+, -

Se evalúan en tercer lugar

c. Operadores Relaciónales

Operador

Significado

Ejemplo

>

mayor que

a > b

>=

mayor o igual que

a >= b

<

menor que

a < b

<=

menor o igual que

a <= b

==

igual a

a == b

!=

diferente de

a != b

menor o igual que a <= b == igual a a == b != diferente de
menor o igual que a <= b == igual a a == b != diferente de

d.

Operadores Lógicos

d. Operadores Lógicos Operador Significado Ejemplo ! NOT (NO) !a && AND (Y) a

Operador

Significado

Ejemplo

!

NOT (NO)

!a

&&

AND (Y)

a && b

||

OR (O)

a || b

Estos operadores actúan sobre valores lógicos, es decir, entre el valor verdadero y el valor falso, por lo que se muestra cada operación mediante una tabla con todas las combinaciones entre estos valores, lo que comúnmente es conocido como tabla de verdad. Operador AND:

 

A

B

AND B

V

V

V

V

F

F

F

V

F

F

F

F

Operador OR:

 

A

B

A OR B

V

V

V

V

F

V

F

V

V

F

F

F

Operador NOT:

A NOT A V F F V
A
NOT A
V
F
F
V
V V V F V F V V F F F Operador NOT: A NOT A
V V V F V F V V F F F Operador NOT: A NOT A
Este operador NOT es una excepción a la sintaxis descrita anteriormente porque opera sobre un

Este operador NOT es una excepción a la sintaxis descrita anteriormente porque opera sobre un solo valor (operador unario), por tanto su sintaxis es: NOT expresión.

3. ASIGNACIÓN DE VARIABLES Una de las acciones básicas que se puede ejecutar en el computador es la asignación de un valor a una variable. Ya hemos visto que una variable está relacionada con posiciones de memoria que van a contener valores que cambiarán durante la ejecución del proceso, por lo cual es necesario que exista una acción que nos permita dar valores a cada variable para obtener al final del proceso los resultados correctos. Se debe tener en cuenta el tipo de variable en el momento de la asignación, es decir, nunca se permitirá asignar por ejemplo, a una variable numérica el valor “a” que ya sabemos es de tipo carácter, o a una variable de tipo cadena el valor 124.56 que es de tipo numérico. Recordaremos también que la asignación de un valor a una variable supone una escritura en memoria y por tanto una operación destructiva del valor que tuviera la variable anteriormente. El símbolo utilizado para indicar esta acción de asignación será “=”, de forma que la operación se señalará de la siguiente manera:

variable = valor o expresión.

4. TIPOS DE PROCESO

3.1 Proceso

Acción que se puede descomponer en otras más simples.

3.2 Proceso Secuencial

Una acción del mismo no puede empezar antes que la acción en curso esté completamente terminada. Dos acciones no se ejecutan simultáneamente, sino en un orden secuencial

3.3 Proceso Paralelo

Si se ejecutan simultáneamente dos o más acciones

orden secuencial 3.3 Proceso Paralelo  Si se ejecutan simultáneamente dos o más acciones Prof. Carolina
orden secuencial 3.3 Proceso Paralelo  Si se ejecutan simultáneamente dos o más acciones Prof. Carolina
3.4 Expresiones • CONSTANTES Las expresiones • VARIABLES son • SÍMBOLOS DE OPERACIÓN combinaciones •

3.4 Expresiones

• CONSTANTES Las expresiones • VARIABLES son • SÍMBOLOS DE OPERACIÓN combinaciones • PARENTESIS de:
• CONSTANTES
Las expresiones
• VARIABLES
son
• SÍMBOLOS DE OPERACIÓN
combinaciones
• PARENTESIS
de:
• NOMBRE DE FUNCIONES

5. EJERCICIOS RESUELTOS

a. ¿Cuál de los siguientes identificadores son válidos?

a. Salario

b.

c.

d. Martin’s

e. Tres Metros

f. D3ZO

Materia

Constante

g. Bienvenido>1

h.

i.

notas

4T5G7

j. 13Vacaciones

k. Nombre_Apellidos

l. NombreApellidos

Se consideran correctos los identificadores a, b, c, f, h k y l.

El d no se considera correcto porque incluye el apostrofe el cual es un carácter no valido

como nombre de un identificador. Lo mismo ocurre con el e con el espacio en blanco y

el g con el carácter >.

El i y el j no serán válidos al no comenzar por un carácter alfabético sino que comienzan

por una letra.

serán válidos al no comenzar por un carácter alfabético sino que comienzan por una letra. Prof.
serán válidos al no comenzar por un carácter alfabético sino que comienzan por una letra. Prof.

6.

BIBLIOGRAFÍA

6. BIBLIOGRAFÍA  http://edutecnomatica.pbworks.com/w/page/50851704/COMPONENTESDELC OMPUTADOR 

IES Gonzalo Nazareno, Fundamentos de Programación

Fundamentos de Programación y Estructura de Datos, Luis Joyanes Aguilar

Libro de Problemas, Luis Joyanes Aguilar

Introducción a la Lógica de la Programación, Lic . DanielLukoski, UAA, Año 2000

 Introducción a la Lógica de la Programación, Lic . DanielLukoski, UAA, Año 2000 Prof. Carolina
 Introducción a la Lógica de la Programación, Lic . DanielLukoski, UAA, Año 2000 Prof. Carolina