introduccion a la programacion

30

Upload: cesar-jara

Post on 14-Dec-2015

14 views

Category:

Documents


3 download

DESCRIPTION

Introduccion a La Programacion

TRANSCRIPT

Prof. Carolina Candia 2

Módulo I - Unidad 1

Introducción a la Programación

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.

Prof. Carolina Candia 3

2.2.1 Componentes del Hardware

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

Prof. Carolina Candia 4

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.

Prof. Carolina Candia 5

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

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:

Software

Firmware

Sistemas Operativos

Aplicaciones

Prof. Carolina Candia 6

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

1 kilobyte (kB) = 1.024 bytes

1 megabyte (MB) = 1.048.576 bytes

1 gigabyte (GB) = 1.073.741.824 bytes

1 terabyte (TB) = 1.099.511.627.776 bytes

Dato Proceso Información

Prof. Carolina Candia 7

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:

Prof. Carolina Candia 8

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

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

Sistema Informático

Hardware

Software

Usuarios

Prof. Carolina Candia 9

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 = 27+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

Prof. Carolina Candia 10

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

Prof. Carolina Candia 11

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.

Prof. Carolina Candia 12

1.3 Tipos de algoritmo

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

Prof. Carolina Candia 13

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. Las partes individuales se diseñan con detalle y luego se

enlazan para formar componentes más grandes. Hace énfasis en la programación

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.

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.

Ventajas

El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulos

Las modificaciones en los módulos son más fáciles

La comprobación del problema se puede verificar fácilmente

Prof. Carolina Candia 14

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

Prof. Carolina Candia 15

Función Símbolo

1 Inicio y Fin del Algoritmo

2 Proceso

3 Entrada / Salida

4 Decisión

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.

Prof. Carolina Candia 16

INICIO

FIN

Lectura de Datos

Imprimir

Resultado

Sumar notas de todas las

materias

Dividir la suma total por el nro

de materias

Inicio

Entrada de Datos

Proceso calcular la suma total

Proceso calcular promedio

Salida de Datos

Fin

Comentarios

No se ejecutan se utilizan para una

mayor comprensión de las variables,

procesos, módulos …

Prof. Carolina Candia 17

3.2 Diagrama N-S (Nassi – Schneidermann)

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

documentaran de la forma adecuada.

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

manera:

Fuente: http://algorinteco.blogspot.com/2011/04/si-anudado-y-estructuras-secuenciales.html

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

Sentencia 1

Sentencia 2

Sentencia 3

Prof. Carolina Candia 18

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

Fase de resolución del

Problema

• Realizacion en un lenguaje de programación Fase de

implementación

Prof. Carolina Candia 19

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?

Prof. Carolina Candia 20

¿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

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

Secuencia 1

Secuencia 2

Secuencia N

Prof. Carolina Candia 21

Pseudocódigo: Diagrama de flujo:

Pseudocódigo: Diagrama de flujo:

Pseudocódigo: Diagrama de flujo:

Fuente: http://fus123.wikispaces.com/Condicionales

Prof. Carolina Candia 22

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

Fuente: http://www.slideshare.net/ralhum/estructuras-de-control-8050957

Prof. Carolina Candia 23

6. EJERCICIOS RESUELTOS

Ejemplo 1:

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 – Ir a 7.

Paso 6 – Ir a un concierto de rock

Paso 7 – Presentar el examen al día siguiente.

Paso 8 – Fin

Prof. Carolina Candia 24

Módulo I - Unidad 3

Datos y Operadores

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.

Prof. Carolina Candia 25

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

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:

Expresión1 operador Expresión2

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.

DESCRIPCIÓN TIPOS

Almacena números enteros Entero

Almacena números decimales Real

Almacena un carácter Carácter

Almacena un conjunto de caracteres Cadena

Almacena el valor verdadero o el valor falso Lógico

Prof. Carolina Candia 26

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

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

Operador Orden de evaluación

() Se evalúan en primer lugar

*, /, % Se evalúan en segundo lugar

+, - Se evalúan en tercer lugar

Prof. Carolina Candia 27

d. Operadores Lógicos

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

Prof. Carolina Candia 28

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

Prof. Carolina Candia 29

3.4 Expresiones

5. EJERCICIOS RESUELTOS

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

a. Salario

b. Materia

c. Constante

d. Martin’s

e. Tres Metros

f. D3ZO

g. Bienvenido>1

h. notas

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

Las expresiones son combinaciones de:

• CONSTANTES

• VARIABLES

• SÍMBOLOS DE OPERACIÓN

• PARENTESIS

• NOMBRE DE FUNCIONES

Prof. Carolina Candia 30

6. BIBLIOGRAFÍA

http://edutecnomatica.pbworks.com/w/page/50851704/COMPONENTESDELC

OMPUTADOR

http://es.wikipedia.org/wiki/Lenguaje_de_programación

http://www.areatecnologia.com/informatica/lenguajes-de-programacion.html

http://www.aiteco.com/que-es-un-diagrama-de-flujo/

http://www.ecured.cu/index.php/Usuario_(Inform%C3%A1tica)

http://algorinteco.blogspot.com/2011/04/si-anudado-y-estructuras-

secuenciales.html

IES Gonzalo Nazareno, Fundamentos de Programación

http://programacionfacil.wikispaces.com/file/view/Parte_4.pdf

http://fus123.wikispaces.com/Condicionales

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