Está en la página 1de 5

20/3/2023

PROGRAMACIÓN 1: APUNTES DE LA PRESENTACIÓN

Algoritmos
Algoritmos
Definición:
Lista bien definida, ordenada y finita de acciones que permite hallar la solución a un problema.
Permite hallar la solución a un problema, pueden tener distintas complejidades y demorar mas que otros, pero al
final os encuentra una solución (aunque “no exista la solución”).
Se pueden expresar como:
 Lenguaje verbal
 Pseudocódigo
 Diagramas de flujo
 Implementación

En general, los programas cuentan con una gran cantidad de algoritmos para realizar su cometido. La calidad del
algoritmo es determinante para la calidad del programa. Esto no asegura que el programa corra o sea correcto.
Su calidad se puede medir en: Correctitud, claridad, tiempo de respuesta, robustez.
La calidad no es únicamente que el programa pare y funcione correctamente.
Es importante el tiempo de ejecución, si el código es eficiente o no eficiente. Hay para problemas para los cuales no
se conocen algoritmos que resuelvan el algoritmo de manera eficiente.
Mantenibilidad del programa: Que tan sencillo es de modificarlo en tiempos razonables.
Robustez: ¿Qué pasa cuando se ingresan datos no limpios? Como reacciona el programa ante determinados
problemas.
Normas ISO: examen de calidad sobre accesibilidad, gestión empresarial, gestión de la seguridad de información,
riesgo. Algunas tienen que ver con la calidad de datos y desarrollo de códigos.

Pseudocódigo
Es un lenguaje artificial pero no de programación. Creado para ayudarnos a pensar el paso a paso de un código,
nos ayuda a pensar antes de siquiera determinar el lenguaje, para saber qué será indicado. Nos ayuda a centrarnos
en la lógica antes de los detalles técnicos.
Mezcla el lenguaje verbal con instrucciones de programación, palabras clave, etc. Cada uno tiene su forma de
escribirlo, no tiene reglas es personal. Solo nos ayuda a nosotros a planear. Un borrador donde plasmamos
nuestras ideas, pensamos que operaciones, redactarlo, entender rápidamente de que se trata, hacer más macro las
instrucciones.
Permite que el programador se centre en la lógica de la resolución del problema antes que en la sintaxis.
Cada cual tiene su propia forma de escribirlo. Hay tendencias, pero no una forma estandarizada.
Ventajas:
Ocupa menos papel que el lenguaje natural. También deja de lado recursos del lenguaje natural que no sirven en la
lógica.
Permite representar sencillamente operaciones complejas.
Es muy fácil pasar de pseudocódigo a lenguaje de programación. Siendo independiente del mismo.

Lucía Eboli | Grupo 1 | FIUM


20/3/2023

Ejemplo:
Asignar Y a X
SUMAR 1 a X
ASIGNAR a X la suma de Y más 2
SI X=Y ENTONCES HACER ALGO
REPETIR MIENTRAS X sea mayor a 6 y HACER
LO SIGUIENTE:
REPETIR HASTA QUE Y < 10
PARA i desde 1 a 10 HACER ALGO CON i

¿Qué haría este algoritmo?


X al principio vale Y, le asignamos un valor
Luego le agregamos 1 a X; luego a X le asignamos el valor de Y mas 2
Define que cada vez que X = Y se debe realizar una función. Luego nos dice que esta función se repita mientras X
sea mayor a 6 (mientras esto sea verdadero) y que se repita otra función hasta que Y menor a 10
Para i desde 1 a 10

Diagramas de flujo
Es la representación gráfica de un flujo de ejecución. Siempre tiene un inicio y un fin.
Ayudan a comprender mejor el proceso al representarlo gráficamente.
Siempre hay un inicio, siempre hay un fin.

Pasar de diagrama a pseudocódigo

Lampara no funciona;
está enchufada?
No == enchufar
¿Si == foco quemado?
Si ==remplazar
No == Comprar una nueva

Ejemplo de la profe

Lucía Eboli | Grupo 1 | FIUM


20/3/2023

Paradigmas de Programación:
“Un paradigma de programación es una manera o estilo de programación de software. Existen
diferentes formas de diseñar un lenguaje de programación y varios modos de trabajar para
obtener los resultados que necesitan los programadores. Se trata de un conjunto de métodos
sistemáticos aplicables en todos los niveles del diseño de programas para resolver problemas
computacionales.”
Miriam Martínez Canelo – www.porfile.es

 Existen varios paradigmas de programación, algunos se pueden complementar. Dependiendo de qué tipo
de problema quiera resolver el paradigma que elegiré.
 Algunos paradigmas surgieron como evolución de otros a partir de algunas necesidades.
 Algunos paradigmas se ajustan mejor que otros para determinados tipos de sistemas.
 Las sentencias que se utilizan en la programación estructurada se encuentran en la mayoría de los
lenguajes, aunque con alguna variación de nombre
 El lenguaje de programación no necesariamente me determina el paradigma de programación
 La calidad del programa quedará determinada por:
o Diseño (modular, procedimientos, objetos)
o Calidad de los algoritmos

La asignación es cuando le asignamos un valor a una variable. Repetir mientras “while.


Hay convenciones para decir cuando algo empieza y hasta cuando lo voy a repetir. Por ejemplo, en C++:
While (………) {

}
El lenguaje de programación no me determina el paradigma de programación.

Programación declarativa
No decimos cómo, sino, que. Describen el problema y detallo la solución.
Se declara un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones, transformaciones
que describen el problema y detallan su solución.
 Programación funcional
 Programación lógica

Programación estructurada
Forma “clara” d escribir programas sin utilizar instrucciones de transferencia incondicional (GOTO).
Tipos de instrucciones de control:
 Secuencial: Bloque de sentencias, se ejecutan una tras otra.
 Condicional: Bloque de sentencias que se ejecutan si se cumple una condición.
 Repetitiva: Un bloque de sentencias que se ejecuta varias veces en función de que se cumpla una
condición.

Lenguajes orientados a objetos


Objeto: Estructura abstracta que describe con la mayor fiabilidad posible un objeto del mundo real y cómo se
relaciona o interactúa con el resto del mundo que lo rodea a través de interfaces. Está compuesto por estados y
métodos.
 Los estados son propiedades del objeto y están representados por variables con valores únicos
para cada objeto y que son llamadas variables de instancia
 Los métodos son representaciones de los comportamientos que el objeto es capaz de hacer.
El concepto de objeto permite reutilizar las definiciones de cada uno múltiples veces para diferentes “instancias”.

Lucía Eboli | Grupo 1 | FIUM


20/3/2023

Tenemos un objeto con estados, atributos que lo caracterizan. A dicho objeto le podemos aplicar ciertos métodos.
A partir de los valores que le asignamos al objeto podemos crear una seria de instancias, a las cuales le aplicamos
los métodos.
Por ej.: A una cuanta bancaría le asignamos datos como propietario, número de cuenta, CI, fecha de nacimiento…
(instancias; objetos a los cuales les asignamos valores). En la cual podemos transferir saldo, depositar, retirar…
(métodos).

Programación orientada a objetos


 El diseño del programa se basa en definir los objetos y las interacciones entre ellos.
 Cuentan con varias características como por ejemplo la abstracción, encapsulamiento, ocultamiento,
herencia, polimorfismo, etc.
 Los objetos tienen pequeñas unidades lógicas que facilita la reutilización de código.
 Permiten un diseño del programa “más real”.
 Es más fácil escribir programas más complejos

Que atributos o estados voy a ingresar como valores del objeto, a la hora de definirlo, debo identificar cuales
valores necesito para resolver los problemas que debemos resolver. Vamos a definir varios objetos, por ejemplo,
productos, usuarios…
Características de los Objetos
Abstracción: que pertenecen a una clase abstracta; una clase que permite otras clases derivadas de ellas.
Encapsulamiento: que encierra ciertas características de los objetos.

Lucía Eboli | Grupo 1 | FIUM


20/3/2023

Ejercicio
1) Escriba un algoritmo para cambiar la rueda de un auto y otro para convertir un número en base 10 a base
2 utilizando:
a. Lenguaje verbal
b. En pseudocódigo

1.1
A) Verificar si la rueda está pinchada, si no, seguir. Si está pinchada, sacar las herramientas y la rueda de la valija,
levantamos el auto con el gato, des aflojamos la rueda, sacamos la rueda pinchada, colocamos la rueda sana,
ajustamos la rueda, bajamos el auto, tirar rueda rota, guardar herramientas, seguir.

B) La rueda está pinchada?


NO: parar
SÍ: Sacar herramientas y rueda nueva
Levantar auto con Gato
Des aflojar rueda
Sacar rueda pinchada
Tirar rueda pinchada
Colocar rueda sana
Ajustar
Bajar el auto
Guardar Herramientas
Parar.

1.2
A) Dado un número n. Si n es menor a 0 definimos resto(n+1)=1, si n es mayor a 0 continuamos; dividimos n entre
2, y su resto lo definimos como resto(n), continuamos hasta que n sea =2 o =1. Ordenar los restos de mayor a
menor, de la forma resto(n)resto(n-1)….resto(1). Terminar.

B)
Leer n
N menor a 0
SI: def

Lucía Eboli | Grupo 1 | FIUM

También podría gustarte