Introducción a la ingeniería

Funciones

Son trozos que estan fuera del código principal, utilizados para dividir un programa con el objetivo que cada uno de los bloque realice una tarea especifica. Se hacen llamar por su nombre en este ejemplo suma(y,x) y resta(x,y),cambiando solo las variables de origen.

#include <stdio.h>
int suma(int a, int b) { // FUNCION
int Aux;
Aux= a+b;
return Aux;}

int resta(int a, int b) { //FUNCION
int Aux;
Aux= a-b;
return Aux;}

int main()
{ int y, x;

printf("Agregar número :");
scanf("%d", & y) ;
printf("Agregar número :");
scanf("%d", & x) ;
printf (" Esta es la suma: %d", suma(y, x) ) ;
//LLAMA A LA FUNCION suma(int a, int b)
printf ("\n Esta es la resta: %d", resta(y, x) ) ;
//LLAMA A LA FUNCION restaint a, int b)
return 0;

}

Recorrido de un programa.

Recorrido de un programa es saber que hace internamente un programa.
En este caso el código que ocuparemos solo multiplicara por 2 un numero que se almacenara en la variable suma, y suma no debe ser
mayor a 20 o no saldrá en pantalla.
El ciclo que ocupamos es el for
.

Paso 1 suma = 0 ; n = 0*2 <20

Paso 2 suma = 2 ; n = 2*2<20

Paso 3 suma = 4 ; n = 4*2<20

Paso 4 suma = 8 ; n = 8*2<20

Paso 5 suma = 16 ; n = 16*2<20

Paso 6 suma = 32 NO CORRESPONDE 32 NO ES MENOR DE 20

#include <stdio.h>

int main(){
int n, suma,i;
printf("Pon un numero. ");
scanf("%d",&suma);

for(n=suma; n<20;n=n*2){
printf("%d ",n);

}
return 0;
}

Lenguaje C

El lenguaje C es un lenguaje para programadores en el sentido de que proporciona una
gran flexibilidad de programación y una muy baja comprobación de incorrecciones, de
forma que el lenguaje deja bajo la responsabilidad del programador acciones que otros

lenguajes realizan por si mismos. Desarrollado en el año 1972 por Dennis Ritchie para

Unix, un sistema operativo multiplataforma.

El Formato básico del lenguaje c pasa a paso

todo el codigo debe estar escrito dentro de las llaves del
main. que es el programa principal.

main (){

/*Inicio de sentencias función main*/

[Sentencias para el control principal del programa]

}

/*Fin de sentencias función main*/

Bibliotecas: Habilitan ciertas funciones y comandos en los programas. Las bibliotecas por defecto son:

-stdio.h: significa "standard input-output header" (cabecera estándar)
-stdlib.h: corresponde a std-lib: standard library o biblioteca estándar

1) al usar printf () para mostrar al usuario un mensaje o para mostrar el mensaje más
el dato que está almacenado en una variable. Similar a la expresión Escribir en algoritmos

2) al usar scanf () para leer el ingreso de un dato que se almacenará en una variable

1) al usar printf () podemos poner /n que hace un salto de línea en el programa y %d para

indicar que en ese lugar se escribirá la variable de tipo entero.

2) al usar scanf () colocamos "%d" para indicar que se leerá un dato entero y

&nombre_variable para señalar que en esa variable se almacenará el dato

#include <stdio.h> //Definición de las librerías estándar
#include <stdlib.h>


main(){ //Inicio del programa, inicio de llaves

int numero1, numero2, resultado; //Declaración de variables



printf ("Ingrese el primer numero: "); //Los printf para mostrar el mensaje en pantalla

scanf ("%d",&numero1); //El scanf para guardar la variable del usuario

printf ("Ingrese el segundo numero: ");

scanf ("%d",&numero2);



resultado = numero1 + numero2; //Aquí se realiza la suma de la numero1 con la variable 2

luego el resultado se guarda en la variable "resultado"



printf ("\nLa suma es: %d",resultado); //Aquí muestro en pantalla el resultado de la suma y se muestra con la operación "%d", ya que las variables son datos enteros. Y le paso el parámetro resultado, que almacenó la suma de los dos numeros para que se muestre en pantalla



return 0; //Al poner return 0; le decimos al programa que ha terminado correctamente

} //Cierre de llaves

Algoritmos : Estructuras de decisión y repetición

La función Si se ejecutara si la condición es verdadera,
en caso contrario solo no te contestara,
En este caso debes ingresar tu edad, si eres mayor a 18 años
te mostrara que puedes conducir,
pero si tu edad es menor simplemente no dirá nada,
pues este no tiene un valor falso por el cual no tiene respuesta para los menores a 18.

Algoritmo funcion_Si

x = 0;
Escribir "ingrese un edad"
Leer x;

Si x >= 18 Entonces
Escribir "Tiene edad para conducir"
FinSi

FinAlgoritmo

La función Si / No a diferencia del anterior este si te puede dar una respuesta falsa.
En este caso si eres al ingresar tu edad, igual que el anterior si eres mayor a 18
este te dirá que puedes conducir, de lo contrario esta vez te dirá
que "no tienes edad para conducir" debido a que eres menor.

Algoritmo funcion_Si_SiNO

x = 0;
Escribir "ingrese un edad"
Leer x;

Si x >= 18 Entonces
Escribir "Tiene edad para conducir"
SiNo
Escribir "No tienes edad para conducir"
Fin Si

FinAlgoritmo

Algoritmos de repetición se ejecutara mientras la condición sea verdadera,
en caso contrario solo te pedirá el ingresar el valor de nuevo en este caso.

Ejemplo : usted deberá ingresar un numero de su preferencia,
al hacer esto entrara en juego la función mientras que vera si es mayor a 5,
si lo es este mostrara tu numero que escogiste, pero si escogiste un 4 o menor a ese,

la función lo tomara inválido y te pedir ingresar otro numero hasta que se mayor a 5.

Algoritmo repetición

x = 0;
Escribir "ingrese un numero"
Leer x;

Mientras b < 5
escribir "ingresa otro numero"
leer b
FinMientras

FinAlgoritmo

Topic principal

Estructuras de Decisión

El IF un programa que escogerá entre verdadero o falso dependiendo de la condición.
En este caso el IF nos ayudara a identificar si un numero introducido por el usuario, será mayor e igual a 5 o será menor a 5,
si el numero introducido es mayor a 5 se tomara como verdadero y te dirá que es mayor o igual a 5.
En el caso contrario será tomado como falso y te dirá que es menor a 5.

Verdadero || {5,6,7,8,9,10,11,12,13...}

Falso || {...-4,-3,-2,-1,0,1,2,3,4}

#include <stdio.h>

int main() {

int numero, dato = 5;
printf("Digite un numero: \n");
scanf("%d", &numero);

if (numero >= 5) {
printf("El numero es mayor o igual a 5");
}else{
printf("El numero es menor a 5");
}
return 0;
}

Algoritmo y Pseudocódigo

INTEGRANTES

Nicolás Manriquez

Caroline Palacios

Marco

Andy Moscoso

Ignacio Francia

¿Qué es un algoritmo?

Cuando se piensa en un algoritmo en su forma más
general (no en términos de programación), éstos se
encuentran por todas partes.
Una receta para cocinar es un algoritmo, el método
que se usa para resolver una suma o una división es un
algoritmo, y el proceso de doblar una camisa o unos
pantalones es un algoritmo.

Un algoritmo es un conjunto de instrucciones
detalladas paso a paso o una fórmula para
resolver un problema o completar una tarea.
En programación, los programadores
escriben algoritmos que indica al ordenador
cómo realizar una tarea.

Estructuras básicas del algoritmo

Entrada: Se refiere a los datos o variables
deseables.
Proceso: Conjunto de operaciones que se deben
efectuar.
Salida: Representa los datos que se desean
obtener.

¿Cómo se diseña un algoritmo?

En programación, un algoritmo establece,
de manera genérica e informal, la
secuencia de pasos o acciones que
resuelve un determinado problema y,
para representarlo, se utiliza,
fundamentalmente, dos tipos de notación:

1. Pseudocódigo.

2. Diagramas de flujo.

Pseudocódigo

El pseudocódigo (prefijo pseudo significa falso) es una
descripción de alto nivel de un algoritmo que emplea
una mezcla de lenguaje natural con algunas
convenciones sintácticas propias de lenguajes de
programación, como asignaciones, ciclos y
condicionales, aunque no está regido por ningún
estándar.

En general el pseudocódigo, , es comprensible sin
necesidad de conocer o utilizar un entorno de
programación específico, y es a la vez suficientemente
estructurado para que su implementación se pueda
hacer directamente a partir de él.

Ejemplo de pseudocódigo

Realizar la suma de dos números.
1. Entrada:
• Necesitamos ingresar dos números.

• Estos serán ingresados en las variables A y B.

2. Proceso:

• Sumar los dos números.

• Necesitamos almacenar la suma de las variables A y B

en una variable llamada SUMA.

• SUMA=A+B

3. Salida:

• Necesitamos mostrar el resultado que dejamos en SUMA.

Inicio A=0;
B=0;
C=0;

escribir("Introduzca el primer número“);

leer(A);

escribir("Introduzca el segundo número“);

leer(B);

C=A + B;

escribir("La suma de “, a, " y “, b, “es “, c); Fin

Variables

Una variable corresponde a un área reservada
en la memoria principal del ordenador.
Las variables, como su nombre indica, pueden
cambiar de contenido a lo largo de la ejecución
de un programa.

Diagrama de flujo

El diagrama de flujo, flujograma o diagrama de
actividades es la representación gráfica del algoritmo
o proceso. Se utiliza en disciplinas como programación,

economía, procesos industriales y psicología cognitiva.

Estos diagramas utilizan símbolos con significados

definidos que representan los pasos del algoritmo, y

representan el flujo de ejecución mediante flechas que

conectan los puntos de inicio y de fin del proceso.

Ejemplo de diagrama de flujo

Inicio "Introduzca dos valores distintos" A,B A=B A>B B "Es el mayor" A "Es el mayor" Fin

Metodologías de desarrollo

A continuación, explicaremos acerca de que se trata y para que se utilizan las metodologias
de desarrollo.

Metodologias de desarrollo de software

Una metodología de desarrollo de software se refiere a un entorno o marco de trabajo (framework) que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información

El framework para metodología de desarrollo de software consiste en:

1) Una filosofia de desarrollo de programas de computacion con el enfoque del proceso de
desarrollo de software

2) Herramientas, modelos y métodos para asistir al proceso de desarrollo de software

Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla,
apoya el uso y promueve la metodología.

1. Modelo en cascada (Framework lineal): Es un modelo secuencial, fácil de desarrollo en
el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través
de las fases de análisis de las necesidades, el diseño, implantación, pruebas, integración
y mantenimiento.

2. Prototipado/Iterativo (Framework iterativo): El prototipo permite desarrollar modelos
de aplicaciones de software que dejan ver la funcionalidad básica de la misma, sin
necesariamente incluir toda la lógica o características del modelo terminado. El prototipo
permite al cliente evaluar en forma temprana el producto, e interactuar con los diseñadores
y desarrolladores para saber si se esta cumpliendo con las expectativas y las funcionalidades
acordadas.

3. Metodología espiral: Esta metodología amplia el Modelo tradicional de Cascada, al agregar prototipos rápidos. Se adapta a sistemas complejos a gran escala. El Modelo de
Ciclo de Vida en Espiral es un modelo sofisticado que se centra en la identificación temprana y la reducción de los riesgos del proyecto. Un proyecto en espiral comienza a pequeña escala, explora los riesgos, elabora un plan para manejarlos y luego decide si se debe dar el siguiente paso del proyecto. Así, se obtiene un rápido beneficio de desarrollo al reducir continuamente el nivel de riesgo de los proyectos.

4. Desarrollo Ágil: Es una metodología que ayuda a alinear las iniciativas de transformación digital con las necesidades del negocio. Dado que la transformación digital es un proceso continuo, esta metodología se implementa para evitar la espera de tiempos prolongados en el proceso de desarrollo.

El desarrollo Agile (Ágil) es un proceso que ayuda a los equipos a proporcionar respuestas
rápidas a los cambios que se reciben sobre su proyecto. Los equipos evaluan el proyecto
en reuniones regulares llamadas "sprints" o iteraciones.

Algunos tipos de metodologias ágiles:

- Metodología agile Scrum
- Programación extrema-xp
- Metodología agile kanban

Metodologia Scrum

Scrum es un framework pensado para construir productos y es un proceso de equipo. El Equipo
Scrum incluye tres roles: el Product Owner, el Scrum Master y los miembros del equipo de
desarrollo.

- El Product Owner tiene la responsabilidad de decidir que trabajo debera ser realizado

- El Scrum Master actua como lider servicial, ayudando al equipo y a la organizacion
a hacer el mejor uso de Scrum

-El Equipo de Desarrollo construye el producto en forma incremental, en una serie de
periodos cortos de tiempo llamados Sprints

Definicion de Sprint: Es un periodo fijo de tiempo, de una a cuatro semanas, con una
preferencia hacia los intervalos mas cortos. En cada Sprint el Equipo Scrum construira
y entregara un incremento de producto.

Una parte importante en el proceso de la metodologia Scrum es la transparencia entre
todo el equipo. Esto se puede realizar, anotando en notas adhesivas la tareas de
cada miembro que esta relizando, para asi evitar errores y perdidades de tiempo en el proceso.
Tambien para que todo sea mucho mas ordenado.

Modelo en cascada (Framework lineal): Es un modelo secuencial,
fácil de desarrollo en el que los pasos de desarrollo
son vistos hacia abajo (como en una cascada de agua) a
través de las fases de análisis de las necesidades, el diseño,
implantación, pruebas, integración y mantenimiento

Intro Panitas Facheros 😎