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

Tecnólogo:

Redes de Información

Asignatura:
Fundamento de programación

Instructor:
José Abreu Sánchez

Tema:
La lógica de Programación

Nombres / Apellidos:
Pamela María Germán Fernández

Matricula:
2009-1338
Tarea

1. La Lógica

Método o razonamiento en el que las ideas o la sucesión de los hechos se manifiestan


o se desarrollan de forma coherente y sin que haya contradicciones entre ellas.

2. Conceptos Básicos de Informática

Informática: Es la ciencia que estudia el procesamiento automático de información


mediante dispositivos electrónicos y sistemas computacionales. Los sistemas
informáticos deben contar con la capacidad de cumplir tres tareas básicas: entrada
(captación de la información),procesamiento y salida (transmisión de los resultados).

El software: Está conformado por toda la información, ya sean instrucciones o


datos, que hacen que el computador funcione, sin el concurso de éste el hardware no
realizar ninguna función. El software está clasificado en los siguientes grupos, según
la tarea que realiza.

Hardware: Conjunto de elementos físicos o materiales que constituyen una


computadora o un sistema informático

Sistema operativo: Es un conjunto de programas indispensable para que el


computador funcione. Estos se encargan de administrar todos los recursos de la
unidad computacional y facilitan la comunicación con el usuario.

3. Diagrama de flujo y UML

Diagrama de flujo: Un diagrama de flujo es un


diagrama que describe un proceso, sistema o
algoritmo informático. Se usan ampliamente en
numerosos campos para documentar, estudiar,
planificar, mejorar y comunicar procesos que
suelen ser complejos en diagramas claros y
fáciles de comprender. Los diagramas de flujo
emplean rectángulos, óvalos, diamantes y otras
numerosas figuras para definir el tipo de paso,
junto con flechas conectoras que establecen el
flujo y la secuencia.

UML: El Lenguaje Unificado de Modelado (UML) desempeña un rol importante no


solo en el desarrollo de software, sino también en los sistemas que no tienen software
en muchas industrias, ya que es una forma de mostrar visualmente el comportamiento
y la estructura de un sistema o proceso

4. Metodología para solucionar un problema

Se puede definir como los métodos y procedimientos que se usan con un enfoque de
proceso, para dar solución a las distintas problemáticas que se van presentando,
concretando a través de una serie de pasos para dar pie a una eficiente solución a la
situación que se presente y poder obtener un aprendizaje de ella

5. Algoritmos

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

6. Trascripción

Este es el proceso a través del cual “convertimos” un algoritmo, escrito en términos


informales, en un listado de instrucciones entendibles a un computador y que se
ajustan a las reglas sintácticas de determinado lenguaje de programación. Podríamos
decir que es la “traducción” de un algoritmo con la “ortografía” de un Lenguaje de
Programación.

7. Compilación

Al re-escribir un
algoritmo con las
reglas sintácticas de
un Lenguaje de
Programación es
decir al escribir un
programa, es posible
omitir algunas reglas
lo que provoque
algunos errores. Para
ello el computador
facilita una
herramienta que
revisa la sintaxis del
programa, nos dice si tiene errores y, en los casos más depurados, nos dice en qué líneas
del programa están los errores y hasta nos sugiere la corrección.

8. Ejecución o puesta en marcha

Un programa en ejecución se le suele llamar también proceso.


El proceso de ejecución de un programa escrito en un lenguaje de programación y
mediante un compilador tiene los siguientes pasos:

• Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una máquina de escribir electrónica) y
guardarlo en un dispositivo de almacenamiento.
• Introducir el programa fuente en memoria.
• Compilar el programa con el compilador.
• Verficar y corregir errores de compilación.
• Obtención del programa objeto
• El enlazador (linker) obtiene el programa ejecutable.
• Se ejecuta el programa y, si no existen errores, se tendrá la salida del
programa.

9. Verificación de resultados:

La verificación o depuración de un programa es el proceso de ejecución del programa


con una amplia variedad de datos de entrada, llamados datos de test o prueba, que
determinarán si el programa tiene o no errores

10. Variables, constantes y operadores

Variables: En programación, una variable es un


espacio de memoria reservado para almacenar
un valor que corresponde a un tipo de dato
soportado por el lenguaje de programación. Una
variable es representada y usada a través de una
etiqueta (un nombre) que le asigna un
programador o que ya viene predefinida.

Constantes: Un valor constante es aquel que no cambia. C++ proporciona dos palabras
clave para que pueda expresar la intención de que un objeto no está pensado para ser
modificado y aplicar dicha intención.

C++ requiere expresiones constantes —expresiones que se evalúan como una


constante— para las declaraciones de:

• Límites de matrices
• Selectores en instrucciones case
• Especificación de longitud de
campo de bits
• Inicializadores de enumeración
11. Tipo entero

El tipo de datos entero se define en el


lenguaje de programación C por la palabra
reservada int. Para definir un tipo de dato
en C se escribe lo siguiente: int
nombre_variable = valor; No es necesario
que la variable tenga un valor
predeterminado.

12. Tipo real

Un dato de tipo real (float o double en


lenguaje C) es aquel que puede tomar
por valor un número perteneciente al
conjunto de los números reales ®, el
cual está formado por los números
racionales e irracionales.

13. Tipo carácter

El tipo char se usa para almacenar


el valor entero de un miembro del
juego de caracteres que se puede
representar. Ese valor entero es el
código ASCII correspondiente al
carácter especificado. Los valores
de carácter de tipo unsigned char
tienen un intervalo de 0 a 0xFF
hexadecimal.

14. Asignaciones

Una asignacion en C es una instrucción de la forma var=e donde var es una variable y
e es una expresión del mismo tipo que var. Ejemplos: Supongamos declaramos int
x,y; podemos realizar la asignación: x=2+y.

18. Secuencia

Son series de acciones desarrolladas en un orden específico, ya que se realiza una


acción tras otra hasta que todas se hayan llevado a cabo. Un claro ejemplo de esto es la
rutina matutina: te levantas, tomas agua, te bañas, desayunas, etc.

19. Decisión

Las sentencias de decisión o también llamadas de CONTROL DE FLUJO son


estructuras de control que realizan una pregunta la cual retorna verdadero o falso
(evalúa una condicion) y selecciona la siguiente instrucción a ejecutar dependiendo la
respuesta o resultado

20. Ciclos

Los bucles o ciclos de programación se utilizan en los programas de código para


establecer sentencias o trozos de código que se repiten o se iteran. Este se repita hasta
que una condición deja de cumplirse y da lugar al siguiente trozo de código

21. La secuencia de órdenes

Una secuencia es la unión de varias instrucciones.

Con las cuatro instrucciones básicas (avance, giro a la derecha, giro a la izquierda y
acción) introducimos y trabajamos ampliamente el concepto de secuencia, tan sencillo
como esencial en programación.

23. Técnicas para representar algoritmos

Podemos expresar un algoritmo de muchas maneras, incluyendo lenguaje natural,


diagramas de flujo, pseudocódigo y, por supuesto, en lenguajes de programación
reales. El lenguaje natural es popular, pues se nos da naturalmente y puede comunicar
los pasos de un algoritmo a una audiencia general.

25. Seudo códigos

El pseudocódigo (o lenguaje de descripción algorítmico) es una descripción de alto


nivel compacta e informal[2] del principio operativo de un programa informático u
otro algoritmo.

26. Lenguajes de bajo nivel

Un lenguaje de programación de bajo nivel, es aquel en el que sus instrucciones ejercen


un control directo sobre el hardware y por lo tanto están condicionados por la estructura
física de las computadoras que lo soportan.

27. Lenguajes de alto nivel

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos


de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad con
que los ejecutan las máquinas. Estos lenguajes permiten una máxima flexibilidad al
programador a la hora de abstraerse o de ser literal.

28. Lenguajes interpretados

Un lenguaje de programación interpretado es aquel que el código fuente se ejecuta


directamente, instrucción a instrucción.

Es decir, el código no pasa por un proceso de compilación, sino que tenemos un


programa llamado intérprete que lee la instrucción en tiempo real, y la ejecuta.
Actualmente, muchos lenguajes de programación están apostando por se lenguajes
interpretados, como la plataforma .NET Frameowrk, Python o Java.

29. Lenguajes compilados

Un lenguaje compilado es un lenguaje de programación cuyas implementaciones son


normalmente compiladores (traductores que generan código de máquina a partir del
código fuente) y no intérpretes (ejecutores paso a paso del código fuente, donde no se
lleva a cabo una traducción en la preejecución).

El término es un tanto vago. En principio, cualquier lenguaje puede ser implementado


con un compilador o un intérprete. Sin embargo, es cada vez más frecuente una
combinación de ambas soluciones: un compilador puede traducir el código fuente en
alguna forma intermedia (muchas veces llamado Bytecode), que luego se pasa a un
intérprete que lo ejecuta.

30. Errores en un programa

Un error de software, error o simplemente fallo (también conocido por el inglés bug)
es un problema en un programa de computador o sistema de software que desencadena
un resultado indeseado. En resumen, en un desarrollo de software, el error es algo que
no funciona como se esperaba.

31. Errores humanos

Son todos aquellos errores que dependen exclusivamente de la participación del ser
humano en el proceso de escritura de un programa (a partir de un algoritmo)
obviamente.

32. Errores de concepción

Este es el tipo de error que se presenta cuando el programador cree que tiene el objetivo
claramente identificado y entendido y resulta que no es así (pero él no lo sabe) con lo
cual es evidente que finalizado el programa seguramente habrá logrado algo totalmente
diferente a lo que inicialmente necesitaba lograr.

33. Errores lógicos

Los errores lógicos son errores que se producen mientras estamos haciendo uso de un
programa ya compilado. Si nos encontramos con un error que no sabemos solucionar,
tendremos que investigar, y saber qué es un error lógico en C puede ayudarnos a
localizar el origen del problema.

34. Errores de procedimiento

Los cuatro tipos básicos de errores son: de sintaxis, por proceso no válido, lógicos tipo
bucle infinito y lógicos tipo resultado incorrecto. Son todos aquellos que se generan
por infringir las normas de escritura de un lenguaje.
36. Errores de sintaxis

Son errores en el código fuente. Pueden deberse a palabras reservadas mal escritas,
expresiones erróneas o incompletas, variables que no han sido declaradas, etc. Los
errores de sintaxis se detectan en la fase de compilación. El compilador, además de
generar el código objeto, nos dará una lista de errores de sintaxis. De hecho nos dará
sólo una cosa o la otra, ya que si hay errores no es posible generar un código objeto.

37. Desarrollo histórico de la programación

El primer hallazgo de algo relacionado con la programación lo encontramos en 1801


de la mano de Joseph Marie Jacquard y su telar programable. Con el se da a luz al
primer sistema de programación, integrado en un telar que leía el código introducido y
automatizaba los procesos.

Sin embargo, la programación tal y como la conocemos nace en 1957 con el conocido
científico John W. Backus, cuando creó el primer lenguaje de programación de alto
nivel, Fortran. Su finalidad era clarificar y facilitar la comprensión (ante los lenguajes
erráticos e indescifrables que había en la época), acercándolo a una notación
matemática normal.

Más tarde, en 1964 nació BASIC, familia de lenguajes de programación que surgió
como una herramienta de apoyo enfocada a la enseñanza pero que acabo adquiriendo
una relevancia sorprendente, hasta el punto de que, a día de hoy, sigue siendo utilizado
en programas como “Gambas” o “Visual Basic”.

La década de los 70 fue realmente importante en términos de programación:

En 1970 tuvo lugar la creación de Pascal, que al igual que BASIC, nació como una
herramienta de enseñanza que pronto pasó a utilizarse para el desarrollo de
aplicaciones. A pesar de que su influencia se ha visto reducida con el paso del tiempo,
se sigue utilizando sobre todo en escuelas de programación.

En 1972 llegó el lenguaje C, y el resto es historia. C fue creado por Dennis Ritchie
como un lenguaje básico de programación, de un nivel no muy complejo, que pronto
adquiriría una relevancia vital, hasta acabar convirtiéndose en uno de los lenguajes más
utilizados en la actualidad.

Finalmente en 1979 tiene lugar otro hito histórico para la programación: se crea el
lenguaje C++ con la idea de añadir al lenguaje C mecanismos para manipular objetos.

Con la llegada de 1990 y la década de internet, fueron numerosos los nuevos


lenguajes de programación que surgieron. Muchos de ellos alcanzaron una gran
popularidad y siguen siendo masivamente utilizados actualmente. Entre ellos
destacamos algunos como HTML, Python, Visual Basic, Java, JavaScript o PHP que
están presentes en casi la totalidad de páginas web y aplicaciones en la aactualida

39. Concepción del problema


Un problema es una proposición encaminada a averiguar el modo de obtener un resul-
tado, cuando se conocen ciertos datos de partida.

41. Prueba de escritorio

La prueba de escritorio es un proceso manual a través del cual se busca verificar la


programación y la lógica de un algoritmo antes de iniciar un programa.

42. Técnicas de representación

Existen varias técnicas de representación entre las que podemos mencionar:

• Diagramas de flujo: signos dónde el hilo conductor de la lógica se representa


por fechas que van a significar la dirección del flujo de la idea
• Diagramación rectangular estructurada: esquema dónde se utiliza un
rectángulo cómo base y el uso de tres tipos de notaciones.
• Seudocódigo: Texto basado en unas normas técnicas que lo hace muy
entendible y sobre todo mu fácil de codificar

43. Trascripción o codificación

Es la representación de un algoritmo a través de un lenguaje de programación.

44. Estructura Si-Entonces-Sino

La estructura selectiva si
entonces/sino permite que el flujo del
diagrama se bifurque por dos ramas
diferentes en el punto de la toma de
decisión(es). Si al evaluar la
condición (o condiciones) el
resultado es verdadero, entonces se
sigue por un camino específico y se
ejecuta(n) cierta(s) operación(es).

SI el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s)


operación(es).

45. Decisiones en cascada


En este tipo de decisiones, un nuevo condicional completo se coloca dentro de la opción
SI o de lo opción SI NO de otro condicional. Permite optimizar el programa y escribir
menos instrucciones.

46. Decisiones en secuencia

La secuencia en programación estructurada indica


que las instrucciones del código se leerán de
principio a fin desde la primera línea de código hasta
la última, sin excepción.

47. Decisiones anidadas

Permiten comparar una variable contra distintos posibles resultados, ejecutando para
cada caso una serie de instrucciones especificas.

48. Estructura casos

Con la estructura de control CASE podemos evaluar una variable y realizar acciones
dependiendo del valor de esta. La diferencia con el IF consiste en que el número de
posibilidades de la evaluación de esta variable no tiene por que ser si o no, pudiendo
hacer cosas para un número indeterminado de valores.

49. Estructura casos simples


Permite controlar la ejecución de una o más acciones cuando sólo existe una opción
(ejecutar las acciones o no ejecutarlas). Se utiliza cuando una o varias acciones se
encuentran condicionadas para que se lleven a cabo, pero no se tiene una opción
alterna.

50. Estructura casos anidados

Decimos que una estructura condicional es anidada cuando por la rama del verdadero

o el falso de una estructura condicional hay otra estructura condicional.

51. Ciclos

Los bucles o ciclos de programación se utilizan en los programas de código para


establecer sentencias o trozos de código que se repiten o se iteran. Este se repita hasta
que una condición deja de cumplirse y da lugar al siguiente trozo de código

53. Ciclo WHILE

Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o
líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso
a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos
while, no dependen directamente de valores numéricos, sino de valores booleanos, es
decir su ejecución depende del valor de verdad de una condición dada, verdadera o
falso, nada más. De este modo los ciclos while, son mucho más efectivos para
condiciones indeterminadas, que no conocemos cuando se van a dar a diferencia de los
ciclos for, con los cuales se debe tener claro un principio, un final y un tamaño de paso.

¿Cómo funciona un Ciclo While?

Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo,
imaginemos que por algún motivo, queremos pedirle a un usuario una serie de números
cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor
a 100. Como vemos, aquí no podríamos utilizar un ciclo for, pues no tenemos ni idea
de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, es algo
indeterminado para nosotros, sin embargo el ciclo while nos permite ejecutar una
acción de forma infinita hasta que se cumpla alguna condición especifica, en nuestro
caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario nos
ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 …, nuestro
programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo
si nos ingresara el numero 300, el programa finalizaría inmediatamente.

54. Ciclo FOR

Los ciclos for son lo que se


conoce como estructuras de
control de flujo cíclicas o
simplemente estructuras cíclicas,
estos ciclos, como su nombre lo
sugiere, nos permiten ejecutar una
o varias líneas de código de forma
iterativa, conociendo un valor
especifico inicial y otro valor
final, además nos permiten
determinar el tamaño del paso
entre cada “giro” o iteración del
ciclo.

En resumen, un ciclo for es una estructura de control iterativa, que nos permite ejecutar
de manera repetitiva un bloque de instrucciones, conociendo previamente un valor de
inicio, un tamaño de paso y un valor final para el ciclo.

55. Ciclo DO UNTIL

Utilice la sentencia DO UNTIL para ejecutar el bloque de código hasta que la expresión
sea verdadera. El contenido de un bloque DO UNTIL se ejecutará siempre al menos
una vez, incluso si la expresión es verdadera la primera vez que se procesa la sentencia
DO

56. Ciclo DO WHILE

Los ciclos do-while son una estructura de


control cíclica, los cuales nos permiten
ejecutar una o varias líneas de código de
forma repetitiva sin necesidad de tener
un valor inicial e incluso a veces sin
siquiera conocer cuando se va a dar el
valor final, hasta aquí son similares a los
ciclos while, sin embargo el ciclo do-
while nos permite añadir cierta ventaja
adicional y esta consiste que nos da la
posibilidad de ejecutar primero el bloque
de instrucciones antes de evaluar la condición necesaria, de este modo los ciclos do-
while, son más efectivos para algunas situaciones especificas. En resumen un ciclo do-
while, es una estructura de control cíclica que permite ejecutar de manera repetitiva un
bloque de instrucciones sin evaluar de forma inmediata una condición especifica, sino
evaluándola justo después de ejecutar por primera vez el bloque de instrucciones

57. Ciclos anidados

Un bucle anidado es aquel que está dentro de otro. Aunque los bucles anidados pueden
ser útiles, utilizar demasiados puede hacer que la ejecución del código sea lenta o difícil
de entender. Este código imprimiría 1,6, luego 1,7, luego 1,8, luego 1,9.

58. Ejemplos de ciclos


59. Arreglos

Un arreglo (matriz) es una colección ordenada de datos (tanto primitivos u objetos


dependiendo del lenguaje). Los arreglos (matrices) se emplean para almacenar
multiples valores en una sola variable, frente a las variables que sólo pueden almacenar
un valor (por cada variable

60. Ejemplos de vectores

En programación, se le denomina vector,


formación, matriz (en inglés array, del cual
surge la mala traducción arreglo), a una zona
de almacenamiento contiguo que contiene
una serie de elementos del mismo tipo, los
elementos de la matriz.

61. Matrices

Las matrices o como algunos las llaman “arreglos multidimensionales” son una
estructura de datos bastante similar a los vectores o arreglos. De hecho, una matriz no
es más que una serie de vectores contenidos uno en el otro (u otros), es decir, una matriz
es un vector cuyas posiciones son otros vectores. Hablemos con más detalle de esto
para quedar más claros.

62. Funciones

Las funciones permiten automatizar tareas repetitivas, encapsular el código que


utilizamos, e incluso mejorar la seguridad, confiabilidad y estabilidad de nuestros
programas. Dominar el uso de funciones es de gran importancia, permiten modularizar
nuestro código, separarlo según las tareas que requerimos, por ejemplo una función
para abrir, otra para cerrar, otra para actualizar, etc. Básicamente una función en
nuestro código debe contener la implementación de una utilidad de nuestra aplicación,
es decir que por cada utilidad básica (abrir, cerrar, cargar, mover, etc.) sería adecuado
tener al menos una función asociada a ésta.

También podría gustarte