Você está na página 1de 15

INSTITUTO NACIONAL DE SANTIAGO DE MARÍA

Modulo cero.

Docente : Alis Alberto Cruz Cuz.

Alumno : Gloria Marisela Muñoz


Hernández

Sección : 1° año de bachillerato técnico


vocacional de desarrollo de software.

Santiago de María, 22 de febrero del 2017.


ETAPA DE INFORMARSE
MÓDULO 1.1 Elaboración de algoritmos usando lógica de programación.
Objetivo General: Desarrollar las competencias para realizar el análisis de sistemas, por
medio de
diagramas de flujo o pseudocódigo, para mecanizar un proceso.
Indicación: Desarrolle la siguiente guía de trabajo con las interrogantes y temáticas
siguientes (Cada interrogante deberá ser investigada, leída y ampliada)
1- ¿Qué son los algoritmos?
2- ¿En qué consiste la lógica de programación?
3- ¿Qué son las expresiones lógicas?
4- Investigar sobre la jerarquía de operadores aritméticos, relacionales y lógicos.
5- ¿Qué son diagramas de flujo?
6- ¿Qué es un pseudocódigo?
7- Investigar sobre tablas de verdad
8- ¿Qué son las estructuras de programación?
9- ¿Qué son las estructuras secuenciales?
10- ¿Qué son las estructuras selectivas?
11- ¿Qué son las estructuras de datos y cadenas de caracteres?
12- Investigar sobre DFD y PSEInt.
¿Qué son los algoritmos?

Definición formal
En general, no existe ningún consenso definitivo en cuanto a la definición
formal de algoritmo. Muchos autores los señalan como listas de
instrucciones para resolver un cálculo o un problema abstracto, es decir, que un
número finito de pasos convierten los datos de un problema (entrada) en
una solución (salida).Sin embargo cabe notar que algunos algoritmos no
necesariamente tienen que terminar o resolver un problema en particular.
Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca
termine de calcular números primos no deja de ser un algoritmo. 7
A lo largo de la historia varios autores han tratado de definir formalmente
a los algoritmos utilizando modelos matemáticos. Esto fue realizado por
Alonzo Church en 1936 con el concepto de "calculabilidad efectiva" basada en
su cálculo lambda y por Alan Turing basándose en la máquina de Turing. Los dos
enfoques son equivalentes, en el sentido en que se pueden resolver
exactamente los mismos problemas con ambos enfoques. 8 9 Sin embargo,
estos modelos están sujetos a un tipo particular de datos como son
números, símbolos o gráficas mientras que, en general, los algoritmos
funcionan sobre una vasta cantidad de estructuras de datos.3 1 En general, la
parte común en todas las definiciones se puede resumir en las siguientes
tres propiedades siempre y cuando no consideremos algoritmos paralelos:7
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a
paso–, definiendo así una secuencia de estados computacionales por
cada entrada válida (la entrada son los datos que se le suministran al
algoritmo antes de comenzar).
Estado abstracto. Cada estado computacional puede ser descrito
formalmente utilizando una estructura de primer orden y cada algoritmo es
independiente de su implementación (los algoritmos son objetos
abstractos) de manera que en un algoritmo las estructuras de primer
orden son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda
completamente determinada por una descripción fija y finita; es decir,
entre cada estado y el siguiente solamente se puede tomar en cuenta una
cantidad fija y limitada de términos del estado actual.

En resumen, un algoritmo es cualquier cosa que funcione paso a paso,


donde cada paso se pueda describir sin ambigüedad y sin hacer
referencia a una computadora en particular, y además tiene un límite fijo
en cuanto a la cantidad de datos que se pueden leer/escribir en un solo
paso. Esta amplia definición abarca tanto a algoritmos prácticos como
aquellos que solo funcionan en teoría, por ejemplo el método de Newton y la
eliminación de Gauss-Jordan funcionan, al menos en principio, con números de
precisión infinita; sin embargo no es posible programar la precisión
infinita en una computadora, y no por ello dejan de ser algoritmos. 10 En
particular es posible considerar una cuarta propiedad que puede ser
usada para validar la tesis de Church-Turing de que toda función calculable se
puede programar en una máquina de Turing (o equivalentemente, en un
lenguaje de programación suficientemente general)

En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un


algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático
persa Al-Juarismi)1 es un conjunto prescrito de instrucciones o reglas bien
definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante
pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. 2
Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a
un estado final y se obtiene una solución. Los algoritmos son el objeto de
estudio de la algoritmia.1
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador
por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de
multiplicación, para calcular el producto, el algoritmo de la división para calcular el
cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor
de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones
lineales.
En términos de programación, un algoritmo es una secuencia de pasos lógicos
que permiten solucionar un problema

¿En qué consiste la lógica de programación

La programación es el arte de hacer que una computadora realice lo que


nosotros necesitemos. Para esto es necesario conozcamos su lenguaje, y
como es que este funciona, pero no solo esto debemos de crear mensajes
claros y sencillos, es decir, tenemos que estructurar las órdenes que
damos para que no puedan interpretarse de otra manera.
Para evitar este tipo de cosas tenemos la lógica, para poder darle orden a
nuestras ideas y que estas funcionen de manera correcta.

Definimos lógica como la ciencia que expone las leyes y formas del
conocimiento científico. Se trata de una ciencia formal que no tiene contenido,
sino se dedica al estudio de las formas válidas de interferencia. Es decir, se
trata de los métodos y los principios utilizados para distinguir el razonamiento
correcto del incorrecto

Pero ¿Cómo usaremos la lógica para programar? La respuesta es sencilla,


antes de programar, abrir nuestro IDE y “empezar a tirar código” sobre la
marcha, desarrollaremos un diagrama de lo que será nuestro programa, este
nos llevara a darnos una idea del mensaje que le queremos da r a nuestra
computadora para que realice una tarea. (Este principio de diagramar antes de
programar es equivalente a pensar antes de hablar).

Para diagramar tenemos muchas y muy buenas herramientas en línea, para


este proceso cualquiera es buena, tal vez seas de la “vieja escuela” y te guste
hacer pseudo-código en una hoja. De esta manera aunque tengamos maneras
distintas de darle solución a un problema nos será sencillo explicarlas a otros,
programarlas e incluso comparar cual método es más óptimo.
Por poner un ejemplo, tal vez quieras hacer un programa que Calcular el
factorial de un número, mediante subprogramas.

Este sería el Pseudo-código, del programa, como vemos no hay necesidad de


respetar la sintaxis de ningún lenguaje, solo es necesario que entendamos lo
que vamos a programar y como lo vamos a programar.

Podemos ver otro ejemplo que no necesariamente tiene que ver con la
programación, pero servirá para tener una mejor idea de lo que es diagramar,
esta vez lo haremos con un diagrama de flujo.

Este sería un pequeño diagrama de lo que tendríamos que hacer si una


lámpara no funciona.
En conclusión; utilizar la lógica ayudara a que tengamos programas sencillos y
bien definidos, para hacer esto utilizaremos algún tipo de diagrama que nos
permitirá ver y probar que mensaje le daremos a nuestras máquinas

¿Qué son las expresiones lógicas?


Un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor
es siempre verdadero o falso. Recuerda que existen sólo dos posibles valores
para una variable (o constante) de tipo booleano: verdadero (true) y falso
(false). En esencia, una expresión lógica es aquella cuyo resultado sólo puede
tomar uno de esos dos valores.

Las expresiones lógicas se forman combinando constantes y variables lógicas


con operadores lógicos como not, and y or y operadores relacionales (de
relación o comparación) como =, <, >, <=, >=, <>.

Operadores de relación
Los operadores relacionales o de relación permiten realizar comparaciones
entre valores o expresiones de cualquier tipo. Los operadores relacionales son:

(Clic para agrandar)

El formato general que seguimos para establecer una comparación en un


algoritmo es:

expresión1 operador_de_relación expresión2

y el resultado de la operación siempre será verdadero o falso.

Por ejemplo, si suponemos que A = 4 y B = 3, entonces


A > B es verdadero

mientras que

(A - 2) < (B - 4) es falso

Operadores relacionales y tipos de datos


Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos
de datos estandar que conocemos: enteros, reales, lógicos y caracteres. En el
caso de la aplicación a valores numéricos, la comparación es bastante
evidente:

3 < 6 es verdadero
0 > 1 es falso
4 = 2 es falso
8 <= 5 es falso
9 >= 9 es verdadero
5 <> 5 es falso

Para realizar comparaciones entre caracteres, lo mejor es recurrir al código


ASCII. En este código, cada caracter representable en una computadora tiene
un valor numérico asignado. Ese valor nos servirá para revelar el valor de la
comparación entre 2 caracteres.
Investigar sobre la jerarquía de operadores aritméticos, relacionales y
lógicos

Operadores Aritmeticos, Relacionales y Logicos


Para empezar necesitamos saber que es un operador. Bueno podemos decir
que es un signo, cadena de caracteres o incluso una combinacion de los
anteriores cuya funcion es de realizar calculos, comparaciones sobre diferentes
tipos de expresiones, variables, constantes o valores.
Operadores Aritmeticos

Estos operadores son utilizados para realizar operaciones aritmeticas, es decir,


para calcular un valor dando un resultado. Estos poseen un orden de ejecucion,
es decir, una jerarquia que son:

()()
^
*, /
\
mod
+, -
y los podemos ver en la siguiente tabla:

Los Operadores Relacionales


Estos operadores son también conocidos como operadores de comparación,
comparan dos expresiones dando un resultado True (verdadero), False (falso) o
Null (no válido) y son los mostrados en la siguiente tabla:

Los Operadores Logicos

Estos ultimos se utilizan cuando Visual Basic compara 2 expresiones, lo que


hace es regresar uno de dos valores posibles: True o False, pero Visual Basic
no entiende True o False por lo que utiliza valores numéricos para
representarlos, True o False son valores booleanos donde 0 es False y 1 es
True.

En Visual Basic existen 6 operadores lógicos:


¿Qué son diagramas de flujo?

Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es
representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso.
Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la
dirección de flujo del proceso.
El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso
mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de cada actividad y
su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la
existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de
interdepartamentales… Facilita también la selección de indicadores de proceso

Que es el Pseudocódigo?

El pseudocódigo (falso lenguaje) es una descripción de alto nivel de un algoritmo


queemplea una mezcla de lenguaje natural con algunas convenciones sintácticas
propias delenguajes de programación, como asignaciones, ciclos y condicionales.
Es utilizado paradescribir algoritmos en libros y publicaciones científicas, y como
producto intermediodurante el desarrollo de un algoritmo.El pseudocódigo está
pensado para facilitar a las personas el entendimiento de unalgoritmo, y por lo
tanto puede omitir detalles irrelevantes que son necesarios en
unaimplementación. Programadores diferentes suelen utilizar convenciones
distintas, quepueden estar basadas en la sintaxis de lenguajes de programación
concretos

Investigar sobre tablas de verdad

Una tabla de verdad, o tabla de valores de verdad, es una tabla que muestra el valor de
verdad de una proposición compuesta, para cada combinación de verdad que se pueda
asignar.1

Fue desarrollada por Charles Sanders Peirce por los años 1880, pero el formato más popular
es el que introdujo Ludwig Wittgenstein en su Tractatus logico-philosophicus, publicado en
1921.
Qué son las estructuras de programación?

En lenguajes de programación, las estructuras de control permiten modificar el flujo de


ejecución de las instrucciones de un programa.

Con las estructuras de control se puede:

•De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
•De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
•Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
•Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
•Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control
se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las
cosas que permiten que la programación se rija por los principios de la programación
estructurada.

Los lenguajes de programación modernos tienen estructuras de control similares.


Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su
sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.

Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.

Qué son las estructuras secuenciales


La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en
secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso.
Estructura Selectiva
La estructura lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas.
Las utilizamos cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para
establecer un proceso o señalar un camino alternativo a seguir.
Esta toma de decisión (expresada con un rombo) se basa en la evaluación de una o más condiciones que
nos señalarán como alternativa o consecuencia, la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una decisión, se
marca la rama correspondiente a seguir, se vuelve a tomar una decisión y así sucesivamente. Por lo que
para alcanzar la solución de este problema o subproblema debemos aplicar prácticamente un árbol de
decisión.

Las podemos clasificar en:

1. SI ENTONCES (Esctructura selectiva simple)

2.SI ENTONCES / SINO (Estructura selectiva doble)

3.SI MULTIPE (Estructura selectiva múltiple)

ESCTRUCTURA SELECTIVA SI- ENTONCES


ESTRUCTURA SELECTIVA SI ENTONCES /SINO

ESTRUCTURA SELECTIVAS ANIDADAS.

ESTRUCTURA SI MÚLTIPLE
Investigar sobre DFD y PSEInt.
DFD

Dfd Permite editar y ejecutar algoritmos representados en diagramas de flujo. Está pensado para principiantes, pero se
puede usar para construir algoritmos complejos, incluso usando recursión.

Por el momento corre bajo Windows, y en UNIX (Linux) usando Wine.

Descargar DFD.
PSeint
PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e
intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en
los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y
proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos.

Você também pode gostar