Está en la página 1de 16

I.T.P.S.

Instituto técnico pana system

Nombre: Wilfredo González

Cedula: 2-749-2008

Tema: Introducción a la lógica de programación

Materia: tecnología de información

Fecha: lunes 22 de julio 2019


Índice

1. Introducción a la lógica de programación

1.1 El computador 1

1.2 análisis del problema 1

1.3 diseño de algoritmo 1

1.4 codificación 1

1.4.1 Acciones elementales

1.4.2 Secuencia de acciones elementales

1.4.3 Composición condicional

1.4.4 Composición condicional doble (alternativa)

1.4.5 Composición condicional múltiple

1.5 Desarrollo lógico de unos problemas. 2

1.5.1 definición

1.5.2 análisis

1.5.3 diseño

1.5.4 codificación

1.5.5 depuración

1.5.6 compilación

1.5.7 mantenimiento

2. Análisis de la estructura básica de la solución de problemas

2.1 entrada

2.2 proceso

2.3 salida

3. lenguaje de programación

3.1 bajo nivel


3.2 alto nivel

4. estructuras de datos

4.1 constante

4.2 variable

4.3 Expresiones Aritméticas

4.4 Expresiones lógicas o booleanas

5. Técnicas para el Desarrollo Lógico de Problemas.

5.1 Algoritmo

6. introducción

7. fuentes de consulta
1- Introducción a la lógica de programación

1.1 El computador es una máquina que por sí sola no puede hacer nada, necesita ser
programada, es decir, introducirle instrucciones u órdenes que le digan lo que tiene que
hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el
Problema. El proceso de programación es el siguiente: Dado un determinado problema el
programador debe idear una solución y expresarla usando un algoritmo (aquí es donde
entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja una
solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de
computadores.

Definición del problema

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora;
mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
etapa.

1.2 análisis del problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

O Los datos de entrada.

O Cual es la información que se desea producir (salida)

O Los métodos y fórmulas que se necesitan para procesar los datos.

Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué


es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

1.3 diseño de algoritmo

Las características de un buen algoritmo son:

O Debe tener un punto particular de inicio.

O Debe ser definido, no debe permitir dobles interpretaciones.

O Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la
definición del problema.

O Debe ser finito en tamaño y tiempo de ejecución.

O Diseño del Algoritmo


O Prueba de escritorio o Depuración

1.4 codificación:

1.4.1 Acciones elementales

Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y


que serán de dos tipos:

 Aritmético – lógicas: Operaciones que, a partir de unos determinados datos, realizan


un cálculo aritmético (suma, resta, multiplicación,...) o un cálculo lógico (mayor que,
menor que, igual que,...).Las primeras devuelven un valor numérico (4, -5.67,...) y las
segundas un valor lógico (verdadero o falso).
 De entrada – salida: Acciones que permiten capturar datos para su posterior
tratamiento (las de entrada) y guardar los resultados de dicho tratamiento (las de
salida).

1.4.2 Secuencia de acciones elementales


Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, éstas se
describen una detrás de otra según el orden en que deban ejecutarse. Si se desea se
puede emplear algún tipo de símbolo para separar dos acciones consecutivas. En el
siguiente ejemplo se muestra la descripción de acciones separadas por punto y coma
(símbolo que habitualmente se emplea como separador).

Acción 1;
Acción 2;
...
Acción n;

1.4.3 Composición condicional


Cuando en un algoritmo se quiere indicar que cierta acción solo se debe ejecutar bajo cierta
condición se indica del siguiente modo:

Si Condición Entonces
Acción;
FinSi

Solo si la Condición (operación lógica) es verdadera se ejecutará la Acción. En este caso,


la Acción puede referirse tanto a una acción elemental como a un conjunto de ellas.

1.4.4 Composición condicional doble (alternativa)


En ocasiones, se deben ejecutar unas acciones u otras dependiendo de la ocurrencia de una
determinada condición. Esta especificación se realiza del siguiente modo:

Si Condición Entonces
Acción A;
SiNo
Acción B;
FinSi

Dependiendo de si la Condición es verdadera o falsa se ejecutará la Acción A o la Acción


B respectivamente. De forma análoga a como ocurría en el caso anterior, tanto la Acción A
como la Acción B pueden referirse a una acción elemental o a un conjunto de ellas.

1.4.5 Composición condicional múltiple


También es posible que a la hora de especificar la ejecución de una acción haya que escoger
ésta entre varias dependiendo del valor de una determinada variable (o indicador). Este caso
se expresa del siguiente modo:

Según Indicador Hacer


Caso Valor 1:
Acción 1;
Caso Valor 2:
Acción 2;
...
Caso Valor n:
Acción n;
[De Otro Modo:
Acción X;]
FinSegun

1.5 Desarrollo lógico de unos problemas.

1.5.1 definición: son la base para elaborar soluciones informáticas, tanto en


software como en hardware. Es bien conocido que los profesionales que aplican
adecuadamente el razonamiento lógico tiene mayores posibilidades de éxito, tanto
en lo profesional como en lo personal, ya que analizar, saber buscar posibilidades,
demostrar o refutar afirmaciones diversas, le permite a quien tiene ese
conocimiento y manejo ser un mejor ser humano y por consiguiente un profesional
con mayores y mejores aptitudes y actitudes para vivir en una sociedad como la
actual, necesitada de ecuanimidad, raciocinio y capacidad de análisis para
solucionar sus cada vez más complejos problemas.

Diseñar, desarrollar y mantener software son procesos netamente creativos que


se sustentan fundamentalmente en la capacidad de razonamiento, en el
pensamiento computacional y algorítmico y en la habilidad para abstraer cualquier
problema, por lo que es necesario estructurar este curso para ofrecer una base
sólida de la lógica en la línea computacional para los futuros ingenieros de
sistemas. Desde la publicación de los trabajos de Herbrand en 1930 la lógica se
ha convertido en un valioso instrumento conceptual al servicio de las ciencias
computacionales, en la que ayudan para representar el conocimiento y para
soportar el diseño de sistemas de información, es decir, hoy la lógica
computacional se aborda desde la perspectiva de aplicación a la computación.

1.5.2 análisis

La principal razón para que las personas aprendan lenguajes de


programación es utilizar un ordenador como una herramienta para la
resolución de problemas. Tres fases pueden ser identificadas en el proceso
de resolución:

- Fase de Identificación (qué nos plantean)

- Fase de resolución del problema

- Fase de implementación (realización) en un lenguaje de

Programación
1.5.3 diseño: se debe comenzar por identificar las tareas

Más importantes para resolver el problema y disponerlas en el orden en el que

Han de ser ejecutadas. Los pasos en esta primera descripción pueden requerir

Una revisión adicional antes de que podamos obtener un algoritmo claro,

Preciso y completo.

Este método de diseño de algoritmos en etapas, yendo de los conceptos

Generales a los de detalle, se conoce como método descendente (top-down).


1.5.4 codificación: enfocaremos lo máximo posible a la nomenclatura que se
emplea en lenguaje C para que en el momento de programar

en esta lenguaje la adaptación sea lo más rápida posible

1.5.5 depuración: Las herramientas de depuración se utilizan para detectar la/s


sentencia/s en donde se han producido errores en el diseño de un algoritmo. La
tarea de depuración consiste básicamente en explorar el algoritmo, ejecutándolo
paso a paso y comparando en todo momento los valores que van tomando las
distintas variables con los valores esperados. Es necesario, por tanto, haber
analizado con anterioridad algunos casos de prueba que permitan anticipar en
todo momento los valores que deben tomar las variables y saber si la progresión
del algoritmo es correcta o no.

Normalmente la depuración se realizará ante la presencia de errores de ejecución


o lógicos, ya que los de sintaxis suelen ir acompañados de algún tipo de mensaje
que facilita su localización.

Los botones relacionados con la depuración son los siguientes (acercando el ratón
a cada uno de ellos puedes ver la etiqueta con el nombre que le asocia DFD:)
1.5.6 compilación:

El programa escrito en un lenguaje de programación (comprensible por el ser


humano, aunque se suelen corresponder con lenguajes formales descritos por
gramáticas independientes del contexto) no es inmediatamente ejecutado en una
computadora. La opción más común es compilar el programa, aunque también
puede ser ejecutado mediante un intérprete informático
El código fuente del programa se debe someter a un proceso de transformación
para convertirse en lenguaje máquina, interpretable por el procesador. A este
proceso se le llama compilación.

1.5.7 mantenimiento: Este es el último paso del ciclo de vida de un programa. Se

Realiza después de que el programa ya ha tenido vida útil

Y debido a las nuevas necesidades de los usuarios, es

Necesario hacer modificaciones al programa.

Cuando estos cambios son demasiados, se debe elaborar

un nuevo programa.
2 Análisis de la estructura básica de la solución de problemas:

2.1 entrada: Información dada al algoritmo.


2.2 Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.

2.3Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

3. lenguaje de programación

3.1 los lenguajes de bajo nivel son lenguajes de programación que se acercan al
funcionamiento de una computadora.

El lenguaje de más bajo nivel es el código máquina.


A este le sigue el lenguaje ensamblador. Al programar en ensamblar se trabajan con los
registros de memoria de la computadora de forma directa.

3.2 Lenguaje de programación de alto nivel es un tipo de lenguaje de programación que


permite al programador escribir programas (algoritmos) que son más o menos
independientes de un tipo particular de computadora (del hardware). Estos lenguajes son
considerados de alto nivel porque son más parecidos al lenguaje natural humano y más
lejanos al lenguaje de las máquinas. En otras palabras, utilizan una fuerte abstracción de
los detalles de la computadora.

4 estructuras de datos

4.1 Una constante es un elemento con un valor que no cambia. El valor no cambia
durante el proceso. Para expresar una constante se escribe explícitamente su valor, por
ejemplo:

5, -70, 3.1416.
4.2 Una variable es un elemento cuyo valor puede cambiar. Toda variable posee dos
atributos: un nombre (invariable, denominado en ocasiones identificador) que sirve para
designarla y un tipo (invariable) que describe la posible utilización de la variable.

El valor de las variables puede ser modificado durante la ejecución del programa.

4.3 Expresiones Aritméticas

La mayoría de los lenguajes permiten diferentes tipos de expresiones. Las expresiones aritméticas
son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas y las
operaciones son las aritméticas clásicas.

Los paréntesis se utilizan también para agrupar términos juntos y asegurar que las operaciones se
ejecuten en el orden correcto.

Ejemplo: En la expresión M*(5+N), la constante 5 se suma al valor de N, y su resultado se


multiplica por el valor de M.

4.4 Expresiones lógicas o booleanas

Un segundo tipo de expresión es la expresión booleana, cuyo valor puede


ser verdadero o falso. Un medio de generación de expresiones booleanas es combinar
constantes y expresiones a través de operadores de comparación y por medio de los
operadores lógicos and y or.

Conjunción AND: Una proposición compuesta solo será verdadera cuando ambas
proposiciones sean verdaderas.

Disyunción OR: Una proposición compuesta solo será falsa cuando ambas proposiciones
sean falsas.

Ejemplos de expresiones:

A+ (B/C) * D es una expresión aritmética.

A > B es una expresión lógica.

(A - 5) < (B - 6) es una expresión lógica.

5. Técnicas para el Desarrollo Lógico de Problemas.

5.1 Un algoritmo consiste en una especificación clara y concisa de los pasos necesarios
para resolver un determinado problema, pero para poder diseñar algoritmos es necesario
disponer de una notación, que llamaremos ‘notación algorítmica’, que permita:

 Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)


 Describir los objetos manipulados por el algoritmo (datos/informaciones)
 Controlar la realización de las acciones descritas, indicando la forma en que estas se
organizan en el tiempo
Para poder describir cualquier tipo de acción de las que intervienen en un algoritmo,
diversos autores proponen el uso de un conjunto de construcciones lógicas (secuencia,
decisión e iteración) con las que es posible escribir cualquier programa. Lo que sigue a
continuación es la descripción de las diferentes construcciones disponibles para el diseño
de algoritmos.
6. Introducción

La programación lógica es un tipo de paradigmas de programación dentro del paradigma


de programación declarativa. El resto de los su paradigmas de programación dentro de la
programación declarativa son: programación funcional, programación con restricciones,
programas DSL (de dominio específico) e híbridos. La programación funcional se basa en
el concepto de función (que no es más que una evolución de los predicados), de corte
más matemático. La programación lógica gira en torno al concepto de predicado, o
relación entre elementos.

Históricamente, los ordenadores se han programado utilizando lenguajes muy cercanos a


las peculiaridades de la propia máquina: operaciones aritméticas simples, instrucciones
de acceso a memoria, etc. Un programa escrito de esta manera puede ocultar totalmente
su propósito a la comprensión de un ser humano, incluso uno entrenado. Hoy día, estos
lenguajes pertenecientes al paradigma de la Programación imperativa han evolucionado
de manera que ya no son tan crípticos.

En cambio, la lógica matemática es la manera más sencilla, para el intelecto humano, de


expresar formalmente problemas complejos y de resolverlos mediante la aplicación de
reglas, hipótesis y teoremas. De ahí que el concepto de "programación lógica" resulte
atractivo en diversos campos donde la programación tradicional es un fracaso.

La mayoría de los lenguajes de programación lógica se basan en la teoría lógica de


primer orden, aunque también incorporan algunos comportamientos de orden superior
como la lógica difusa. En este sentido, destacan los lenguajes funcionales, ya que se
basan en el cálculo lambda, que es la única teoría lógica de orden superior que es
demostradamente computable (hasta el momento).
7. FUNTES DE CONSULTA

https://www.academia.edu/5691891/INTRODUCCION_A_LA_LOGICA_DE_PROGRAMACION

https://es.wikipedia.org/wiki/Codificaci%C3%B3n

https://es.slideshare.net/yanethcandanedo/desarrollo-lgico-de-problemas-de-computadoras

https://es.wikipedia.org/wiki/Depuraci%C3%B3n_de_programas

https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

http://www.alegsa.com.ar/Dic/lenguaje_de_programacion_de_alto_nivel.php

https://sites.google.com/site/fprogati/la-estructura-general

También podría gustarte