0% encontró este documento útil (0 votos)
15 vistas16 páginas

Teoria Sem 04 - 05 Esmc

El documento aborda conceptos fundamentales de algoritmos y programación, incluyendo lenguajes algorítmicos como pseudocódigo y diagramas de flujo. Se detalla la estructura general de un programa, las fases de programación, tipos de instrucciones y estructuras de control. Además, se explican las diferencias entre estructuras secuenciales, condicionales y repetitivas, así como la importancia de la sintaxis y los elementos básicos en la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas16 páginas

Teoria Sem 04 - 05 Esmc

El documento aborda conceptos fundamentales de algoritmos y programación, incluyendo lenguajes algorítmicos como pseudocódigo y diagramas de flujo. Se detalla la estructura general de un programa, las fases de programación, tipos de instrucciones y estructuras de control. Además, se explican las diferencias entre estructuras secuenciales, condicionales y repetitivas, así como la importancia de la sintaxis y los elementos básicos en la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Nacional Jorge Basadre Grohmann

Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

UNIDAD I: ALGORTIMOS Y TÉCNICAS DE PROGRAMACIÓN

2. Lenguajes algorítmicos

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un
proceso, estos lenguajes algorítmicos pueden ser:

a. No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un


algoritmo (pseudocódigo).

Ejemplo:
Calcular e imprimir el área de un triángulo a partir de su base y altura.
Pseudocódigo
Inicio
Definir base, altura, Area como real
Leer base, altura
Area=(base * altura)/2
Escribir Area
Fin

b. Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo


(diagrama de flujo y diagrama Nassi shneiderman).

Un diagrama de flujo es la representación gráfica de un algoritmo. También se


puede decir que es la representación detallada en forma gráfica de cómo deben
realizarse los pasos en la computadora para producir resultados. Esta representación
gráfica se da cuando varios símbolos (que indican diferentes procesos en la
computadora), se relacionan entre sí mediante líneas que indican el orden en que se
deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el
Instituto Norteamericano de Normalización (ANSI).

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 1
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 2
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

Ejemplo:
Calcular e imprimir el área de un triángulo a partir de su base y altura.
Diagrama de flujo

Inicio

Leer
base, altura

Area=(base*altura)/2

Escribir
Area

Fin

Recomendaciones para el diseño de Diagramas de Flujo

- Se deben se usar solamente líneas de flujos horizontales y/o verticales. Se debe


evitar el cruce de líneas utilizando los conectores.

- Se deben usar conectores solo cuando sea necesario. No deben quedar líneas
de flujo sin conectar.

- Se deben trazar los símbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá
ser escrito claramente, evitando el uso de muchas palabras.

Un diagrama Nassi-Shneiderman (también conocido como diagrama NS o diagrama


de Chapin) es una forma de representar gráficamente un algoritmo o proceso de
programación de manera clara y estructurada. Se utiliza para ilustrar la lógica de
control de un programa.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 3
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

3. Estructura general de un programa


3.1 Programa
Un programa en computadora es un conjunto de instrucciones -órdenes dadas a la
máquina – que producirá la ejecución de una determinada tarea. En esencia, un
programa es un medio para conseguir un fin.

El procso de programación es, por consiguiente, un proceso de solución de


problemas, el desarrollo de un programa requiere las siguientes fases:

- Definición y análisis del problema

- Diseño de algoritmos:
o Pseudocódigo
o Diagrama de flujo
o Diagrama N-S

- Codificación del programa

- Depuración y verificación del programa

- Documentación

- Mantenimiento.

3.2 Partes constitutivas de un programa


El programador debe establecer el conjunto de especificaciones que debe contener
el programa: entrada, salida y algoritmos de resolución (proceso), que incluirán las
técnicas para obtener las salidas a partir de las entradas. El algoritmo de resolución,
en realidad, es el conjunto de códigos que transforman las entradas del programa
(datos) en salidas (resultados).

El programador debe establecer de dónde provienen las entradas al programa. Las


entradas, en cualquier caso, procederán de un dispositivo de entrada —teclado,
disco...—. El proceso de introducir la información de entrada —datos— en la
memoria de la computadora se denomina entrada de datos, operación de lectura o
acción de leer. Las salidas de datos se deben presentar en dispositivos periféricos de

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 4
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

salida: pantalla, impresoras, discos, etc. La operación de salida de datos se conoce


también como escritura o acción de escribir.

3.3 Instrucciones y tipos de instrucciones


El proceso de diseño del algoritmo o posteriormente de codificación del programa
consiste en definir las acciones o instrucciones que resolverán el problema. Las
acciones o instrucciones se deben escribir y posteriormente almacenar en memoria
en el mismo orden en que han de ejecutarse, es decir, en secuencia.

Un programa puede ser lineal o no lineal. Un programa es lineal si las instrucciones


se ejecutan secuencialmente, sin bifurcaciones, decisión ni comparaciones.

En el caso del algoritmo las instrucciones se suelen conocer como acciones, y se


tendría:

Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones


de bifurcación.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 5
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

3.3.1 Tipos de instrucciones


Las instrucciones disponibles en un lenguaje de programación dependen del
tipo de lenguaje. Por ello, en este apartado estudiaremos las instrucciones —
acciones— básicas que se pueden implementar de modo general en un
algoritmo y que esencialmente soportan todos los lenguajes. Dicho de otro
modo, las instrucciones básicas son independientes del lenguaje.

- Instrucciones de inicio/fin

- Instrucciones de asignación

- Instrucciones de lectura

- Instrucciones de escritura

- Instrucciones de bifurcación.

3.3.2 Instrucciones de asignación


Ejemplo 01:
A ← 80 la variable A toma el valor de 80.

Ejemplo 02:
¿Cuál es el significado de N ← N + 5 si N tiene el valor actual de 2?
N←N+5

Se realiza el cálculo de la expresión N + 5 y su resultado 2 + 5 = 7 se asigna a la

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 6
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

variable situada a la izquierda, es decir, N tomará un nuevo valor 7.

3.3.3 Instrucciones de lectura de datos (entrada)


Esta instrucción lee datos de un dispositivo de entrada. ¿Cuál será el significado
de las instrucciones siguientes?

a) Leer NÚMERO, HORAS, TASA


Leer del terminal los valores NÚMERO, HORAS y TASAS, archivándolos en la
memoria; si los tres números se teclean en respuesta a la instrucción son
12325, 32, 1200, significaría que se han asignado a las variables esos valores
y equivaldría a la ejecución de las instrucciones.
NÚMERO ← 12325
HORAS ← 32
TASA ← 1200

b) Leer A, B, C
Si se leen del terminal 100, 200, 300, se asignarían a las variables los
siguientes valores:
A = 100
B = 200
C = 300

3.3.4 Instrucciones de escritura de resultados (salida)


Estas instrucciones se escriben en un dispositivo de salida. Explicar el resultado
de la ejecución de las siguientes instrucciones:
A ← 100
B ← 200
C ← 300
Escribir (A, B, C)

Se visualizarían en la pantalla o imprimirían en la impresora los valores 100, 200

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 7
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

y 300 que contienen las variables A, B y C.

3.3.5 Instrucciones de bifurcación


El desarrollo lineal de un programa se interrumpe cuando se ejecuta una
bifurcación. Las bifurcaciones pueden ser, según el punto del programa a donde
se bifurca, hacia adelante o hacia atrás.

Las bifurcaciones en el flujo de un programa se realizarán de modo condicional


en función del resultado de la evaluación de la condición.

Bifurcación incondicional: la bifurcación se realiza siempre que el flujo del


programa pase por la instrucción sin necesidad del cumplimiento de ninguna
condición.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 8
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

Fase de la ejecución de un
programa

Bifurcación condicional: la bifurcación depende del cumplimiento de una


determinada condición. Si se cumple la condición, el flujo sigue ejecutando la
acción A. Si no se cumple, se ejecuta la acción B

3.3.6 Elementos básicos de un programa


En programación se debe separar la diferencia entre el diseño del algoritmo y
su implementación en un lenguaje específico. Por ello, se debe distinguir
claramente entre los conceptos de programación y el medio en que ellos se
implementan en un lenguaje específico. Sin embargo, una vez que se

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 9
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

comprendan cómo utilizar los conceptos de programación y, la enseñanza de


un nuevo lenguaje es relativamente fácil. Los lenguajes de programación —
como los restantes lenguajes— tienen elementos básicos que se utilizan como
bloques constructivos, así como reglas para las que esos elementos se
combinan. Estas reglas se denominan sintaxis del lenguaje. Solamente las
instrucciones sintácticamente correctas pueden ser interpretadas por la
computadora y los programas que contengan errores de sintaxis son
rechazados por la máquina. Los elementos básicos constitutivos de un
programa o algoritmo son:

- Palabras reservadas (inicio, fin, si-entonces..., etc.),

- Identificadores (nombres de variables esencialmente, procedimientos,


funciones, nombre del programa, etc.),

- Caracteres especiales (coma, apóstrofo, etc.),

- Constantes,

- Variables,

- Expresiones,

- Instrucciones.
Además de estos elementos básicos, existen otros elementos que forman parte
de los programas, cuya comprensión y funcionamiento será vital para el
correcto diseño de un algoritmo y naturalmente la codificación del programa.
Estos elementos son:

- Bucles,

- Contadores,

- Acumuladores,

- Interruptores,

- Estructuras:
o 1. Secuenciales,
o 2. Selectivas o condicionales,
o 3. Repetitivas.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 10
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

El amplio conocimiento de todos los elementos de programación y el modo de


su integración en los programas constituyen las técnicas de programación que
todo buen programador debe conocer.

En la siguiente tabla se detalla la estructura básica de un programa informático:

4. Estructura de control

Llamamos estructuras de control del flujo de las acciones al conjunto de reglas que
permiten controlar el flujo de las acciones de un algoritmo o programa. Las mismas
pueden clasificarse en secuenciales, condicionales y repetitivas.

4.1 Estructura secuencial

Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra
en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada
de la siguiente y así sucesivamente hasta el final del proceso. La estructura
secuencial tiene una entrada y una salida.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 11
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

Estructura secuencial Diagrama Nassi-Shneiderman /N-S Pseudocódigo

Ejemplo:
Cálculo de la suma y producto de dos números
Pseudocódigo
Inicio
Leer A,B
S<- A+B
P<-A*B
Escribir S,P
Fin

Diagrama de flujo

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 12
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

4.2 Estructura condicional o selectiva

Las estructuras de decisión o selección comparan una variable contra otro(s)


valor(es), para que, de acuerdo al resultado de esta comparación, se siga un curso
de Acción dentro del programa. Cabe mencionar que la Comparación se puede
hacer contra otra variable o contra una constante, según sea necesario. Existen
cuatro tipos básicos: Simples, dobles, anidadas y múltiples.

4.2.1 Estructura condicional simple (SI - ENTONCES)

Las estructuras condicionales simples permiten la toma de decisiones dentro


de un programa. Dentro de una estructura selectiva, se incluye una
expresión lógica (que devuelve un valor de verdad) que será la condición que
se evalúa para definir la ruta que se seguirá dentro del programa. Si la
expresión lógica (condición) es verdadera, entonces, se ejecutarán todas las
sentencias dentro del bloque de la estructura condicional simple. Si la
expresión lógica es falsa, no se ejecutará ninguna de estas sentencias.
a. Diagrama de flujo

b. Diagrama Nassi-Shneiderman

c. Pseudocódigo

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 13
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

4.2.2 Estructura condicional doble (SI – ENTONCES - SINO)

Otra forma de la estructura condicional, es la estructura selectiva doble, en


la que se incluye una cláusula opcional sino para establecer un grupo de
acciones que se ejecutarán en caso de que la condición sea falsa.
a. Diagrama de flujo

b. Diagrama Nassi Shneiderman

c. Pseudocódigo

4.2.3 Estructura condicional anidada

Las estructuras condicionales pueden anidarse, lo que significa que una


estructura selectiva puede contener a su vez otra estructura selectiva,
dentro de cualquiera de las secciones de una estructura condicional, sea
simple o doble, puede incluirse otra estructura condicional que a su vez
puede ser simple o doble y puede contener también dentro de ella, otras
estructuras condicionales o selectivas.

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 14
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

a. Diagrama de flujo

b. Diagrama Nassi Shneiderman

c. Pseudocódigo

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 15
Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecánica

4.2.4 Estructura múltiple

La estructura de selección múltiple segun_sea o casos, permite elegir una


entre varias rutas posibles, evaluando para ello una expresión que puede
tomar n valores distintos, 1, 2, 3, 4, ... , n.
a. Diagrama de flujo

b. Diagrama Nassi Shneiderman

c. Pseudocódigo

Ing. Melina Alférez García Asignatura: Fundamentos de Programación


pág. 16

También podría gustarte