Uploaded by Américo Veloz

secme-13288 1

advertisement
UNIVERSIDAD AUTÓNOMA
DEL ESTADO DE MÉXICO
FACULTAD DE INGENIERÍA
LICENCIATURA DE INGENIERÍA MECÁNICA
U.A. PROGRAMACIÓN BÁSICA
TEMA: METODOLOGÍA DE LA PROGRAMACIÓN
María de los Ángeles Contreras Flores
Agosto 2019
Contenido
1. Introducción
2. Objetivo
3. Programación, programa, algoritmo y pseudocódigo
4. Paradigma de la programación estructurada.
5. Lenguajes de programación.
6. Lenguaje C++
7. Guión explicativo
8. Bibliografía
Introducción
 Actualmente
Nuestras actividades cotidianas se han vuelto menos complicada gracias al uso de la
tecnología.
A diario surgen nuevas aplicaciones como sitios webs, programas, redes sociales, juegos,
y otras que a veces ni siquiera imaginamos, todas ellas nos permiten realizar una gran
diversidad de actividades con un mínimo de tiempo, costo y, además, sin la necesidad de
hacer desplazamientos.
Todo esto se logra gracias al desarrollo de software, haciendo que aquellas personas que
saben programar, tengan ventajas competitivas en su entorno profesional y laboral.
Introducción
 Sin embargo
uno de los mayores beneficios de aprender a programar, no se percibe fácilmente, porque
no es algo que el ojo humano sea capaz de ver. Aprender a programar, enseña a analizar
y resolver problemas de una manera lógica y razonada. La programación involucra tomar
decisiones, basándose en un profundo análisis del problema a resolver.
En este sentido, la programación ha cobrado un rol importante en la formación de los
ingenieros porque, además de las ventajas mencionadas en el párrafo anterior, le permite
realizar aplicaciones particulares para solucionar problemas propios de su disciplina.
OBJETIVO
Analizar problemas e integrar su solución
diseñando algoritmos y una metodología de
programación para aplicaciones en ingeniería.
NOCIONES DE
PROGRAMACIÓN.
Programación, Programa, Algoritmo y Pseudocódigo
¿Qué es la Programación?
 Algunas definiciones son:
1. La programación informática es el proceso por medio del cual se diseña, codifica,
limpia y protege el código fuente de programas computacionales.
 A través de la programación se dictan los pasos a seguir para la creación del
código fuente de programas informáticos. De acuerdo con ellos el código se
escribe, se prueba y se perfecciona. (https://conceptodefinicion.de/programacion-informatica/)
2. La programación es un proceso por el cual se escribe (en un lenguaje de
programación), se prueba, se depura y se mantiene el código fuente de un
programa informático
¿Qué puedes hacer si aprendes a programar?
Por favor espera a
que cargue el video
Observa con atención éste
video, te ayudará a descubrir
algunas ventajas de aprender
a programar.
¿Qué es un programa?
Este
es
un
concepto
desarrollado por Von Newman
en 1946.
Un programa “es un conjunto
de instrucciones que sigue la
computadora para alcanzar un
resultado específico”.
Todos los programas se
encuentran escritos en un
lenguaje de alto nivel (o
lenguaje de programación, por
ejemplo C, Pascal, Java, etc)
Concepto de algoritmo
 Algoritmo
 Proviene del latín, dixit algorithmus y éste a su vez del matemático persa Muhammad Ibn
Musa al-Jwarizmi, quién lo define como:
“Una lista bien definida, ordenada y finita de operaciones que permite
hallar la solución a un problema o alcanzar un resultado”
Importancia de los algoritmos
Observa con atención éste
video, en el se explica que es
un algoritmo y su importancia
en la vida diaria.
Pasos para construir un algoritmo
Etapa 1
Etapa 3
“Análisis del
problema”
“Verificación del
algoritmo”
Etapa 2
“Construcción
del algoritmo”
Características de los algoritmos
 Preciso
 Definido
 Finito
 Los pasos a seguir en el  No debe ser ambiguo
 Independientemente de
(dobles
algoritmo deben ser
la complejidad del
interpretaciones).
especificados con
algoritmo, siempre debe
claridad.
tener una longitud finita.
 Dado un conjunto de
datos de entrada
 Debe tener un punto
idénticos, el algoritmo
particular de inicio y fin
siempre debe arrojar los
mismos resultados.
 General
 Debe tolerar cambios
que se puedan
presenter en la
definición del problema.
Tipos de algoritmos
 Computacionales
 No Computacionales
 Son desarrollados para dar solución
a una diversidad de problemas y ser
implementados en una computadora.
 Se refieren a actividades realizadas
por las personas.
 Se escribe Inicio y Fin.
 Algunos ejemplos son: recetas de
cocina, instructivos, etc.
 Se representan mediante diagramas
de flujo o pseudocódigos.
 No se escribe ni Inicio ni Fin.
Ejemplo de algoritmo
En éste video se explica como
realizar un algoritmo que sume
dos números, observa y
escucha con atención.
Pseudocódigo
 Concepto
 Es la combinación del lenguaje natural (español, inglés o cualquier otro idioma),
símbolos y términos usados dentro de la programación. (Corona & Ancona, 2011)
 Ventajas
 Es fácil de utilizar porque es similar al lenguaje natural.
 Es más sencillo de modificar que los diagramas de flujo, ya que en caso de error, no
tiene que volver a dibujarse.
 Desarrollo
 En este curso todos los pseudocódigos inician con la palabra reservada principal (main)
y las palabras inicio ({) y fin (}) para delimitar el bloque de instrucciones.
Ejemplos de Pseudocódigo
 Ejemplo 2
 Ejemplo 1
 Pseudocódigo que obtiene el área de un triángulo
rectángulo
 Pseudocódigo que pide ingresar el sueldo de un trabajador y su
categoría, dependiendo de la categoría se le dará una
bonificación en el sueldo neto a pagar
PARADIGMA DE LA
PROGRAMACIÓN
ESTRUCTURADA
Nociones de programación.
¿Qué es un paradigma?
El diccionario de la Real Academia
Española, define paradigma como:
“1. m. Ejemplo o ejemplar.
2. m. Teoría o conjunto de teorías cuyo
núcleo central se acepta sin cuestionar
y que suministra la base y modelo para
resolver problemas y avanzar en el
conocimiento. El paradigma
newtoniano.”
https://dle.rae.es/?id=RpXSRZJ
Paradigma
de la programación estructurada
Other Services
 Es un paradigma
de programación
 Surgió en 1960
 Refuerza
 Por el trabajo Böhm y
Jacopini, y de la carta de
Edsger Dijkstra escrita en
1968 “La sentencia goto
considerada perjudicial”.
 El teorema del programa
estructurado.
 Orientado a mejorar la
claridad, calidad y tiempo de
desarrollo de un programa
de computadora
 Estructuras
 Módulos
 Go To
 Emplea tres estructuras de
control: secuencia, selección
e iteración
 Utiliza subrutinas o funciones
 Es innecesario y
contraproducente el uso de
la instrucción de
transferencia incondicional
(GoTo), que podría conducir
a "código espagueti"
Teorema del programa estructurado
 El teorema es resultado de la teoría de los lenguajes de programación.
Establece que toda función computable puede ser implementada
en un lenguaje de programación que combine sólo tres
estructuras lógicas, no importa lo complicado que sea el problema.
Esas tres formas (también llamadas estructuras de control) son:
Secuencial
Tema
Selección
Iteración
Ventajas de la programación estructurada
 La PE es un paradigma
o forma de programar.
1
 Es un conjunto de técnicas que desarrollan
programas fáciles de escribir, verificar, leer y
mantener e incluyen:
2
 Diseño descendente Top-Down
3
 Estructuras de datos
4
 Estructuras de control
5
 Programación modular
Diseño Top-Down
Inicio
Cuerpo del
programa
Fin
 En la programación estructurada las instrucciones se ordenan o escriben de arriba hacia abajo, dando
como resultado un algoritmo más sencillo de entender y corregir.
Tema
Estructuras de datos
 Entero corto (int)
−32,768 𝑎 + 32,767
 Entero de largo
alcance (long)
−2’147,483,648 𝑎 2’147,483,647
 Real de precisión
sencilla (float)
3.4𝑥10−38 𝑎 3.4𝑥1038
 Real de doble
precisión (double)
 Caracter (char)
Tema
1.7𝑥10−308 𝑎 1.7𝑥10308
−127 𝑎 128
Símbolos del abecedario, números o caracteres especiales
encerrados entre comillas simples (apóstrofo)
Estructuras de control
 Iteración
 Ejecuta una o varias
instrucciónes mientras una
variable booleana es 'verdadera'
 Selección
 Ejecuta una de dos instrucciones
según el valor de una variable
booleana.
 Selección
 Ejecuta una instrucción tras otra
03
02
01
Tema
Programación modular
 “El lenguaje C
Fue diseñado como un lenguaje de programación estructurado o de programación modular.
Esto permite dividir un programa en módulos en lugar de tener uno solo de gran tamaño.
El programa se divide en varios módulos (pequeñas rutinas llamadas funciones), logrando
con ello varios beneficios: aislar problemas, optimizar tiempo, distribuir las tareas, fácil
mantenimiento, entre otros.
De ésta forma C se compone de diferentes funciones y cada una realiza una función
principal.
Una función es, entonces, un miniprograma dentro de un programa y se caracteriza porque
contienen varias sentencias bajo un solo nombre, y puede ser utilizada todas las veces que
sea necesario.” (Joyanes & Zahonero, 2010)
Tema
Programación modular (ejemplo)
Programa principal
Módulo de lectura
Módulo de escritura
Tema
Módulo de cálculos
Módulo para guardar
información
Módulo de impresión
LENGUAJES DE
PROGRAMACIÓN
Lenguajes de programación
 Concepto
 “Es la combinación de reglas y
símbolos que permiten elabora
programas de cómputo para
realizer tareas o resolver problemas
de manera eficiente” (Corona & Ancona,
2011)
 Clasificación:
 Lenguajes máquina
 Lenguajes de bajo nivel
 Lenguajes de alto nivel
Características de los lenguajes de programación
 Lenguaje máquina
 Las instrucciones se escriben como cadenas binarias (0,1) y son entendibles por la
computadora, no necesitan de un traductor para que la UCP entienda y ejecute el
programa. Dependen del hardware del equipo.
 Lenguaje de bajo nivel (Ensambladores)
 Las instrucciones se escriben en códigos alfabéticos conocidos como mnemótecnicos o
mnemónicos. Es un lenguaje intermedio entre el código máquina y los de alto nivel.
 Lenguaje de alto nivel
 Es un lenguaje semejante al de las personas (palabras en inglés), haciéndolo amigable y
de fácil comprensión. Es el más utilizado por los programadores. Algunos ejemplos son:
Basic, Pascal, Cobol, Fortran, C, entre otros.
LENGUAJE C++
Lenguaje de programación estructurado
Historia
C es un lenguaje de programación
creado por Dennis M. Ritchie en
los Laboratorios Bell como evolución del
lenguaje B, a su vez basado en BCPL


El lenguaje C tuvo mucho auge en los
años 80, comenzó a desplazar a BASIC,
haciendo populares a los compiladores,
además, se empezó a usar en los IBM PC.
 Inicio
 Boom
 1972
 1980
 1979
 1990
 Libro
 Evolución
 Kernighan y Ritchie publican la
descripción del lenguaje C en The C
Programming Language, donde se
señalan todas las posibilidades del
lenguaje. Aún se usa como manual de
referencia.

Su evolución permitió generar otros
lenguajes como C++ , Objetive C, Dev
C++. Ha sido ejemplo para crear otros
lenguajes no compatibles con C como
Java, JavaScript, C.
Características del lenguaje de Programación C.
• Uso de gran cantidad
de tipo de datos y
operadores
• Acceso a memoria de
bajo nivel mediante el
uso de punteros
Permite realizar
programas modulares
Características
• Bibliotecas que permiten
utilizar funciones
matemáticas y manejo de
archivos
• Produce código objeto
optimizado
• Conjunto reducido de
palabras reservadas
• Paso de parámetros a
funciones por valor
Lenguaje flexible que
permite la programación
estructurada
Ejemplo de un programa en Dev C++
Resultados obtenidos de la
ejecución del programa.
Programa que inicializa un vector y acumula algunos de sus
elementos dependiendo del valor del subíndice.
Gracias
Guión explicativo
Este material ha sido desarrollado para apoyar la impartición de la asignatura de
Programación Básica, con los temas de la Unidad 1 titulada “Metodología de
programación”, misma que es impartida en la licenciatura de Ingeniería Mecánica de la
UAEM, plan 2019.
El propósito de éste trabajo, es contribuir al cumplimiento del objetivo particular que
señala:
“Manejar y aplicar los principios de la programación estructurada para la solución de
problemas, considerando la metodología base para construir programas, enfatizando el
uso de pseudocódigo”.
Guión explicativo
Nota: Se recomienda el uso de Power Point 2016, para la
correcta visualización de este material.
38
Guión explicativo
Se sugiere permitir el uso de contenido externo para
visualizar los
videos insertados en la presentación, en caso contrario serán
bloqueados.
Bibliografía
1. Corona, N. y Ancona M. (2011). Diseño de Algoritmos y su codificación
en Lenguaje C. México: McGraw-Hill.
2. Cairó, Osvaldo. (2006). Fundamentos de programación. Piensa en C.
Pearson-Prentice Hall.
3. Joyanes, Luis y Zahonero, Ignacio. (2010). Programación en C, C++,
Java y UML. México: McGraw-Hill
4. Joyanes, Luis y Zahonero, Ignacio. Programación en C, metodología,
estructura de datos y objetos. McGraw-Hill
Créditos de imágenes
Tiro al blanco: https://st2.depositphotos.com/3218141/5724/i/950/depositphotos_57244759-stock-photo-arrows-on-target.jpg
Construcción: http://rgbsoluciones.net/images/construccion.gif
Verificación: https://www.despachantesargentinos.com/img_articulos/56c91da04b8285069797313d7e415558.gif
Paradigma: https://www.joselepadilla.com/wp-content/uploads/2017/03/Paradigma.png
Código binario:
https://www.google.com/imgres?imgurl=https%3A%2F%2Fs3.amazonaws.com%2Fs3.timetoast.com%2Fpublic%2Fuploads%2Fphotos%2F6411
272%2FLenguaje_Ensamblador.jpg&imgrefurl=https%3A%2F%2Fwww.timetoast.com%2Ftimelines%2Fhistoria-del-lenguaje-demaquina&docid=_RkJ_CXtqO945M&tbnid=TawXCX_6nZa5yM%3A&vet=10ahUKEwibmcvp3IfkAhUI0awKHcEfDEgQMwhXKAcwBw..i&w=639&h
=480&bih=729&biw=1584&q=lenguaje%20m%C3%A1quina&ved=0ahUKEwibmcvp3IfkAhUI0awKHcEfDEgQMwhXKAcwBw&iact=mrc&uact=8
Ensamblador: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTR5BXb7yLL-k0IyETph26x8EzwdwSIPNcws0chaisXd_HaYCpYZw
stick_figure_in_hourglass_md_wm_v2:
https://content.presentermedia.com/files/animsp/00009000/9837/stick_figure_in_hourglass_md_wm_v2.gif
 Créditos
 Un agradecimiento a toda la gente que hace y permite el uso de
diseños de manera libre,
especialmente a Jun Akizaki-
http://thepopp.com por las creativas animaciones realizadas en
algunas de las diapositivas.
Download