You are on page 1of 34

<!

--Tecnicatura Universitaria en Automatización y


Robótica-->

Programación {

<Unidad_1="Introducción a la
informática"/>

}
Resolución de Problemas Computacionales
La informática es la ciencia que estudia el análisis y resolución de problemas
utilizando computadoras.

La palabra ciencia se relaciona con una metodología fundamental y racional para el


estudio y resolución de problemas. En este sentido la informática se vincula
especialmente con la Matemática y la Ingeniería.

La resolución de problemas utilizando herramientas informáticas, llamados


problemas computacionales, tiene aplicaciones en áreas muy diferentes como
biología, comercio, control industrial, administración, robótica, etc.
Resolución de Problemas Computacionales

El programador de computadora es antes que nada una persona que


resuelve problemas, por lo que para llegar a ser un programador
eficaz se necesita de aprender a resolver problemas de un modo
riguroso y sistemático.

DISEÑO DEL
PROBLEMA PROGRAMA
ALGORITMO
Resolución de Problemas Computacionales

La resolución de un problema exige el diseño de un algoritmo


que resuelva el problema propuesto.
Sin algoritmo no puede existir un programa
Un algoritmo es independiente del lenguaje de
programación y de la computadora que lo ejecuta.
Un mismo algoritmo puede expresarse en lenguajes
diferentes de programación y ejecutarse en computadoras
distintas.
Lenguaje de Programación

Un lenguaje de programación es la
combinación de símbolos y reglas que
permiten la elaboración de programas con
los cuales la computadora puede realizar
tareas o resolver problemas de manera
eficiente.
Tipos de lenguaje de Programación
Lenguaje máquina: las instrucciones son directamente
entendibles por la computadora y no necesita traductor para
que la CPU pueda entender y ejecutar el programa. Utiliza
un código binario (0 y 1), se basa en bits (abreviatura inglesa
de dígitos binarios).
Lenguaje de bajo nivel (ensamblador): las instrucciones se
escriben en códigos alfabéticos conocidos como
mnemotécnicos.
Lenguaje de alto nivel: semejante al lenguaje humano, lo
que facilita la elaboración y comprensión del programa. Por
ejemplo: Basic, Pascal, Cobol, Fortran, C, Python, Java, PHP,
etc.
Algoritmo

Se denomina algoritmo al conjunto de pasos


ordenados y finitos que permiten resolver un
problema o tarea específica. Los algoritmos son
independientes del lenguaje de programación y
de la computadora que se vaya a emplear para
ejecutarlo.
Características de un algoritmo
Tienen inicio y fin: todo algoritmo comienza en un estado
inicial con una serie de datos específicos, y culmina con una
solución o salida.
Funcionan en secuencia: un algoritmo está compuesto por
una serie de pasos ordenados.
Las secuencias son concretas: cada paso es claro y no deja
lugar a la ambigüedad.
Son abstractos: son modelos o guías para ordenar procesos.
La cantidad de pasos de un algoritmo es finita.
Algoritmo
Todo algoritmo debe ser:
Finito: en tamaño o número de instrucciones (tiene un primer y último
paso) y tiempo de ejecución (debe terminar en algún momento). Por lo
tanto, debe tener un punto particular de inicio y fin.
Preciso: debe tener un orden entre los pasos.
Claro: no debe ser ambiguo (dobles interpretaciones); si se ejecuta el
mismo algoritmo el resultado siempre será el mismo, sin importar las
entradas proporcionadas.
General: debe tolerar cambios que se puedan presentar en la definición
del problema. Toda actividad que realizamos la podemos expresar en
forma de algoritmo.
Programa
Es una secuencia de instrucciones “escritas” en
un lenguaje de programación en particular, que
una computadora interpreta para resolver un
problema. A fin de permitirnos resolver un
problema o tarea específica.

NO OLVIDEMOS Algoritmo ≠ Programa


Algoritmo ≠ Programa

La diferencia entre programa y algoritmo es


que el algoritmo existe para que alguien lo
siga, el programa es ese alguien que lo realiza,
en este caso: la computadora.
Etapas en la resolución de problemas
computacionales

Proponemos las siguientes


etapas para diseñar un
programa, aunque para
algunos autores pueden
describirse de maneras
diferentes.
Definición del problema

Esta fase proporciona el enunciado del


problema, el cual requiere una definición clara y
precisa (no debe ser ambiguo). Es importante
que se entienda perfectamente lo que
pretendemos que haga la computadora para
poder continuar con la siguiente etapa.
Análisis del problema
Una vez que se ha comprendido lo que se desea que la computadora haga, la
etapa de análisis es muy importante ya que en ésta se identifican tres factores
indispensables:
Qué información se necesita para obtener el resultado deseado (datos de
entrada)
Qué información se desea producir (datos de salida).
Los métodos y fórmulas que se necesitan para procesar los datos y producir
esa salida.
Diseñar caso/s de prueba: un caso de prueba está constituido por una
colección de datos de entrada y las condiciones o restricciones que sobre
ellos operan, necesarios para obtener la salida del diagrama que modela la
solución del problema.
Diseño y técnicas para la formulación de un algoritmo

La etapa de diseño se centra en desarrollar un


algoritmo basándonos en las especificaciones de
la etapa del análisis; podemos presentar un
algoritmo mediante diagramas de flujo,
diagramas de bloque o con pseudocódigo.
Codificación

Se transcribe el algoritmo definido en la etapa


de diseño en un código reconocido por la
computadora; es decir, en un lenguaje de
programación; a este se le conoce como código
fuente.
Prueba y depuración

La prueba consiste en capturar datos hasta que


el programa funcione correctamente. A la
actividad de localizar errores se le llama
depuración.
Prueba y depuración
Pruebas de sintaxis: se ejecutan primero, son las más sencillas y
las realiza el compilador del programa cada vez que se ejecuta el
programa hasta que el código no presente errores, es decir que
la sintaxis que requiere el lenguaje sea la correcta, de lo
contrario el propio compilador va mostrando los errores
encontrados para que se modifiquen y se pueda ejecutar el
código; estos errores pueden ser falta de paréntesis, o puntos y
comas o palabras reservadas mal escritas.
Prueba y depuración

Pruebas de lógica: son las más complicadas ya


que éstas las realiza el programador, consisten
en la captura de diferentes valores y revisar que
el resultado sea el deseado, es decir el
programador tendría que modificar el código
hasta que el programa funcione correctamente.
Documentación
Es la guía o comunicación escrita que permite al
programador o al usuario conocer la
funcionalidad del programa. La documentación
sirve para que el código fuente sea más
comprensible para otros programadores que
tengan que utilizarlo, asó como para facilitar
futuras modificaciones (mantenimiento).
Documentación

Hay dos tipos de documentación:


Interna: se generan en el mismo código y
generalmente es mediante comentarios.
Externa: son los manuales y es
independiente al programa. También puede
ser la ayuda en el mismo software.
Mantenimiento
Se dice que un programa no se termina al 100%, ya que es
necesario hacer algún cambio, ajuste o complementación para
que siga funcionando correctamente; para llevarlo a cabo se
requiere que el programa esté bien documentado.

Muchos de los programas, aplicaciones y sistemas operativos


tienen actualizaciones, por lo que surgen versiones diferentes.
Por ejemplo: Windows 95-98-7, Ubuntu 12.04-16.04-18-04-22.04
Ejemplo

Un procedimiento que realizamos varias veces al


día consiste en lavarnos los dientes. Veamos la
forma de expresar este procedimiento como un
Algoritmo:
Ejemplo
Tomar la crema dental.
Destapar la crema dental.
Tomar el cepillo de dientes.
Aplicar crema dental al cepillo.
Tapar la crema dental.
Abrir la llave del lavamanos.
Remojar el cepillo con la crema dental.
Cerrar la llave del lavamanos.
Frotar los dientes con el cepillo.
Ejemplo

Abrir la llave del lavamanos.


Enjuagarse la boca.
Enjuagar el cepillo.
Cerrar la llave del lavamanos.
FIN DEL ALGORITMO
Ejemplo
Tengo que crear un algoritmo en cual pueda
sumar dos números y mostrar el resultado de
esa suma.
Ejemplo
Reescribimos el problema:
Tengo que crear un algoritmo en el cual pueda
sumar dos números y mostrar el resultado de esa
suma

Dados 2 números reales, calcular y mostrar el


resultado de la suma entre ellos.
Ejemplo
¿Cómo sería el proceso?
Definición del problema.
Análisis del problema.
Diseño y técnicas para la formulación del algoritmo.
Codificación.
Prueba y Depuración.
Documentación.
Mantenimiento.
Ejemplo
Definición del problema: dados 2 números reales, calcular y mostrar
el resultado de la suma entre ellos.

Análisis del problema: necesitamos dos números reales (entrada), los


cuales vamos a sumar (proceso), y mostrar el resultado (salida).

Diseño del algoritmo: se va a ingresar un número (llamado num1),


luego el segundo número (llamado num2), después vamos a calcular
la suma (num 1 + num2), y finalmente vamos a mostrar el resultado.
Ejemplo
Codificación
Ejemplo
Prueba y Depuración

num1 num2 suma salida

3 5 8 8
Ejemplo
Documentación: vamos a crear una anotación sobre qué es lo
que realiza nuestro programa, que en este caso, simplemente
suma dos números.

Este programa realiza la suma de dos números, donde


recibe num1 y num2, luego los suma y finalmente
muestra el resultado de esa suma.
Ejemplo

Mantenimiento: si a futuro queremos mejorar nuestro


programa, añadirle más funcionalidades o que realice otras
operaciones, podemos hacerlo, siempre dependerá del
contexto donde se lo utilice y el problema a resolver.
Actividades

Teniendo el cuenta lo visto en clases el día de hoy, realizar un


algoritmo para los siguiente ejemplo:

Calcular el área y el perímetro de un rectángulo, para lo cual se


debe ingresar el valor del lado A y el valor del lado B, ambos
números reales.

You might also like