Cursos de Algorítmica y Lenguajes de Programación (CLASE 1)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

CURSOS DE ALGORÍTMICA Y LENGUAJES DE PROGRAMACIÓN

NIVEL: BASICO
FACILITADOR: TSU. Esp. Inform. Juan José Meza
CURSOS DE ALGORÍTMICA Y LENGUAJES DE PROGRAMACIÓN
NIVEL: BASICO
FACILITADOR: TSU. Esp. Inform. Juan José Meza

CLASE N° 1
Iniciación a los conocimientos fundamentales para construir Algoritmos y Software (Programas Computacionales)
Los programas (software)
Los programas o software son un conjunto de instrucciones ordenadas para ejecutarse de forma
rápida y precisa en una computadora. El software se divide en dos grupos: software de sistema
operativo y software de aplicaciones.
El proceso de escribir un programa se denomina programación, y el conjunto de instrucciones que se
utilizan para escribir un programa se llama lenguaje de programación.

Lenguajes de programación
Sirve para escribir programas y permite la comunicación usuario (programador) versus máquina (PC).
Existen tres tipos de lenguajes de programación:
. Lenguaje de máquina: Programación binaria, difícil de programar y dependiente de la máquina.
. Lenguaje de bajo nivel (ensamblador): Usa símbolos nemotécnicos, necesita ser traducido al
lenguaje de máquina y sigue siendo dependiente.
. Lenguaje de alto nivel: Cercano al lenguaje natural, tiempo de programación relativamente corto, es
independiente de la máquina. A continuación se muestra un plano de la evolución de los lenguajes de
programación de alto nivel.
Traductores del lenguaje de programación
Son programas que traducen los códigos fuentes (programas escritos en un lenguaje de alto nivel) a
código máquina.
Los traductores se dividen en:
. Intérpretes: Traducción y ejecución secuencial (línea por línea), ejecución lenta.
. Compiladores: Traduce el código fuente a programa objeto (ejecutable código máquina). Ejecución
rápida.

Ciclo de vida de un software


La construcción de un software, por más pequeño que sea, involucra las siguientes etapas:
. Requerimiento: Enunciado del problema a resolver.
. Análisis: ¿Qué? (Entender el problema – entrada – proceso – salida).
. Diseño: ¿Cómo? (Resolver el problema – algoritmo – diagrama de flujo – diseño de interfaz de
usuario).
. Implementación: ¿Hacerlo? (Codificación / Programar).
. Pruebas: ¿Funciona? (Verificar / Comprobar).
. Despliegue: ¿Instalar? (Distribuir el programa).
Algoritmo
Método que describe la solución de un problema computacional mediante una serie de pasos precisos,
definidos y finitos.
. Preciso: Indicar el orden de realización en cada paso.
. Definido: Al repetir los pasos n veces se obtiene el mismo resultado.
. Finito: Tiene un número determinado de pasos.
La solución de un algoritmo debe describir tres partes:
. Entrada: Datos que se necesitan para poder ejecutarse.
. Proceso: Acciones y cálculos a realizar.
. Salida: Resultado esperado.
La palabra algoritmo procede del matemático árabe Mohamed Ibn Al Kow Rizmi, quien escribió
entre los años 800 y 825 su obra Quitad Al Mugabala, donde recogió el sistema de numeración
hindú y el concepto del cero. Fibonacci, tradujo la obra al latin y la llamó Algoritmi Dicit.

El lenguaje algorítmico es aquel que implementa una solución teórica a un problema, indicando
las operaciones a realizar y el orden en el que deben efectuarse. Por ejemplo, en el caso de que
nos encontremos en casa con un foco malogrado de una lámpara, un posible algoritmo sería:

a. Comprobar si hay foco de repuesto.


b. En el caso de que haya, sustituir el foco anterior por el nuevo.
c. Si no hay foco de repuesto, bajar a comprar uno nuevo en la tienda y ponerlo en lugar del malogrado.

Los algoritmos son la base de la programación de ordenadores, ya que los programas de


ordenador se pueden entender como algoritmos escritos en un código especial, entendible por
un ordenador.
La desventaja del diseño de algoritmos radica en que no podemos escribir lo que deseemos; el
lenguaje ha utilizar no debe dejar posibilidad de duda, debe recoger todas las posibilidades.
Características que deben de cumplir los algoritmos obligatoriamente:
. Un algoritmo debe resolver el problema para el que fue formulado. Lógicamente, no
sirve un algoritmo que no resuelve ese problema. En el caso de los programadores, a
veces crean algoritmos que resuelven problemas diferentes al planteado.
. Los algoritmos son independientes del lenguaje de programación. Los algoritmos se
escriben para poder ser utilizados en cualquier lenguaje de programación.
. Los algoritmos deben ser precisos. Los resultados de los cálculos deben ser exactos, de
manera rigurosa. No es válido un algoritmo que sólo aproxime la solución.
. Los algoritmos deben ser finitos. Deben de finalizar en algún momento. No es un
algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.
. Los algoritmos deben poder repetirse. Deben permitir su ejecución las veces que haga
falta. No son válidos los que tras ejecutarse una vez ya no pueden volver a hacerlo por la
razón que sea.
Fases en la creación de algoritmos
Hay tres fases en la elaboración de un algoritmo:
a. Análisis: En esta se determina cuál es exactamente el problema a resolver. Qué datos forman la entrada
del algoritmo y cuáles deberán obtenerse como salida.
b. Diseño: Elaboración del algoritmo.
c. Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la salida esperada para todas las
entradas.
Herramientas de un algoritmo
Para expresar la solución de un problema se pueden usar diferentes herramientas de
programación, tales como diagrama de flujo (flow chart), diagrama N-S (Nassi Schneiderman),
pseudocódigo.

. Diagrama de flujo: Es una representación gráfica que utiliza símbolos normalizados por ANSI, y
expresa las sucesivas instrucciones que se deben seguir para resolver el problema. Estas
instrucciones no dependen de la sintaxis de ningún lenguaje de programación, sino que deben
servir fácilmente para su transformación (codificación) en un lenguaje de programación.
. Diagrama de Nassi Scheneiderman (N-S): Conocido también como el diagrama de Chapin,
es como un diagrama de flujo pero sin flechas y con cajas continuas.
. Pseudocódigo: Permite expresar las instrucciones en un lenguaje común (ingles, español, etc.)
para facilitar tanto la escritura como la lectura de la solución de un programa. No existen reglas
para escribir pseudocódigo.
Instrucciones
Son las acciones que debe realizar un algoritmo para resolver un problema. Las instrucciones más comunes
son las siguientes:
A. Instrucción de inicio/ fin: Representa el inicio y fin de un algoritmo.
B. Instrucción de asignación: Representa la asignación de un valor a una variable, se puede representar
usando una flecha o el símbolo de igualdad, el cual es usado por muchos de los lenguajes de programación.
C. Instrucción de lectura: Representa el ingreso de datos mediante un dispositivo de entrada, que muchas
veces es representado por un símbolo de teclado.
D. Instrucción de escritura: Representa la salida de la información mediante un dispositivo de salida,
puede ser representado por el símbolo de entrada/salida, por símbolo de pantalla o impresora.
E. Instrucción de bifurcación: Cambian el flujo del programa según el resultado de una expresión lógica
(condición).
Comentarios
Permiten describir y explicar, además sirve como ayuda para recordar y entender las operaciones que se van
a ejecutar. Los comentarios no son instrucciones, por lo tanto al ser traducido el código fuente a código
binario (tiempo de compilación), los lenguajes de programación los ignoran. Dependiendo del lenguaje de
programación los comentarios se escriben usando cierta simbología, en gran parte se usa el símbolo // en los
pseudocódigos para colocar comentarios.
Palabras reservadas
Son palabras usadas por el lenguaje de programación que no deben ser utilizadas como identificadores de
variables, funciones, entre otros.
Algunas de las palabras reservadas de Visual Basic
Dim, Integer, Long, Single, Double, If, For, Select, Me ...
C++ como la mayoría de los lenguajes tiene reservados algunos identificadores con un significado especial,
que sólo pueden ser usados con ese cometido. Una palabra reservada, tal como void (ausencia de tipo, o tipo
genérico), es una característica del lenguaje C++. Una palabra reservada no se puede utilizar como nombre de
identificador, objeto o función. Son palabras reservadas de C++ las siguientes:
Identificadores
Son los nombres que asignamos a las variables, constantes, funciones, objetos, entre otros; y no pueden
coincidir con las palabras reservadas porque ocasionaría ambigüedad, y el compilador no lo entendería.
Por lo general, los identificadores deben de cumplir las siguientes reglas:
. Deben comenzar por una letra. Evite usar ñ y tilde.
. No debe coincidir con palabras reservadas del lenguaje de programación que está utilizando.
Error de Compilación Visual Basic

Variables
Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún proceso en
particular; dicho valor puede ser modificado en cualquier momento. Las variables contienen, por lo general,
un identificador (nombre) y, asignado, el tipo de dato que se esta utilizando; es decir, si almacena un número
(entero), si es texto o alfanumérico (cadena), si es un valor verdadero o falso (lógico) llamado también
booleano.
Para asignarle un valor, usamos el operador de asignación, para algoritmos usaremos (←) o ( = ); este
último es el más usado por los lenguajes de programación.
Constantes
Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún proceso en
particular; dicho valor permanece fijo, es decir, no puede cambiarse en la ejecución del programa. Las
constantes tienen, al igual que las variables, un identificador (nombre) y un tipo de dato.
Tipo de datos simples (primitivos)
Al declarar una variable, debemos indicar el tipo de dato que es permitido almacenar en dicha variable. Cada
lenguaje de programación trabaja con una variedad de tipo de datos; por lo general, todos usan los llamados
«primitivos», que son los siguientes:
A. Entero: Representan los números enteros (no almacena decimales).
Ejemplo pseudocódigo

En el lenguaje de Visual Basic el tipo entero se puede trabajar con short, int y long; la diferencia está en
que uno almacena rangos de números diferentes, llamados también «entero corto» y «entero largo».
B. Real: Representan los números reales (almacena decimales).

En el lenguaje de Visual Basic, el tipo real se puede trabajar con float o double, la diferencia está en la
cantidad de decimales que pueden almacenar, llamados también «precisión simple» y «precisión doble».
C. Carácter: Representa un carácter de cualquier tipo: texto, número, símbolo, etc. El valor se coloca entre
comillas simples.
E. Lógico: Representan los valores «verdadero» o «falso», conocidos también como boolean, no se colocan
comillas simple ni dobles.

En Visual Basic se utiliza el tipo de dato llamado «boolean», para almacenar valores lógicos.
Tipo de datos complejos (estructurados)
Son aquellos que están construidos por tipos de datos simples y definen una estructura de datos, un ejemplo
claro es el tipo cadena, que esta compuesta por un conjunto de caracteres (tipo de dato carácter). Existe una
variedad de tipo de datos complejos, el enfoque de este curso es Algoritmos y solo tocaremos Dos tipos de
datos complejos que son cadena y arreglos, los contenidos que profundizan el tema de datos más complejos
se le denominan Estructura de datos.

A. Cadena: Representa un conjunto de caracteres, internamente es un arreglo de caracteres; por lo general,


se representa con comillas dobles.
Operadores y expresiones
Son los que permiten realizar los cálculos entre valores fijos y variables. Los operadores se clasifican en:
aritméticos, relacionales, lógicos y de cadena. Sobre estos expondremos a continuación.
A. Operadores aritméticos: Son aquellos operadores que permiten realizar las operaciones aritméticas,
de la misma forma como se utilizan en las matemáticas.

Dependiendo el lenguaje de programación los operadores varían o no implementan uno u otro, en el


caso de Visual Basic implementa todos los mencionados en la tabla.
B. Operadores relacionales: Llamados también operadores de comparación, y permiten evaluar si dos
valores guardan alguna relación entre sí.

Dependiendo el lenguaje de programación, los operadores varían o no implementan uno u otro; en el caso de
Visual Basic implementa todos los mencionados en la tabla.
Control de flujo
Todos los lenguajes de programación implementan estructuras para controlar la ejecución de un
programa, estas son:
. Estructura secuencial
. Estructura selectiva simple y doble
. Estructura selectiva múltiple
. Estructura repetitiva mientras
. Estructura repetitiva para
En las siguientes clases se explicarán cada una de las estructuras mencionadas.
Resolver los siguientes Problemas y
Ejercicios Propuestos en Clase o en Casa
1- Desarrolla un Algoritmo para prepararte un té.
2- Desarrolla un Algoritmo para freír un huevo.
3- Desarrolla un Algoritmo para calcular el área de un triángulo rectángulo.
4- Desarrolla un Algoritmo de como lavarse las manos adecuadamente descrito de manera grafica
(no diagrama de flujo) dibujar los pasos.
5- Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resultado.
Desarrolla su pseudocódigo.
6- Hacer un diagrama de flujo que permita leer 2 números diferentes y nos diga cual es el mayor de
los 2 números. Desarrolla su pseudocódigo.
7- Crear un diagrama de flujo de procesos en el que se almacenen 3 números en 3 variables A, B y
C. El diagrama debe decidir cual es el mayor y cual es el menor.
8- Realizar el diagrama de flujo para que nos calcule la hipotenusa de un triángulo rectángulo,
conocidos su dos catetos.
Visita mis sitios Web por internet
Somos un Servicio Técnico especializado en la reparación de equipos de computación
de todo tipo con mas de 25 Años de experiencia en la actividad de la Informática y
Computación.
Estamos ubicado en Ejido, Conjunto Res. La Fortaleza. Torre F, Modulo C, Apto PB 00-
01. Av. Fernández Peña, Municipio Campo Elías, Parroquia Montalbán. Ejido Edo.
Mérida.

Consulte por:
0414-0820969 WhatsApp, Llamadas y Texto
Informática Paranormal.
0414-7070506 WhatsApp, Texto
Sito donde encontraras
todo lo referente a la
Informática y Computación

También podría gustarte