FUNDAMENTOS DE ALGORITMOS
1
UNIDAD 1
SEMANA 1
Presentación de la sesión
Logro de sesión
Al término de la sesión, el estudiante aprende conceptos básicos tipos
de datos, estructuras secuenciales, como representarlos y usarlos con
eficacia, utilizando el lenguaje de programación C#.
Temario
• Introducción a los algoritmos
• Reconocimiento del Entorno Integrado de Desarrollo.
• Tipos de datos.
• Estructuras secuenciales
¿Qué se entiende por algoritmos?
¿Cómo se representan?
INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#
Introducción a los lenguajes de programación
Algoritmos y su representación
ALGORITMO: ALGORITMO:
¿? Diagrama de Flujo /
Problema Lenguaje de programación
Pseudocódigo
Código fuente
a
Código maquina
Introducción a los lenguajes de programación
Algoritmos gráficos
ALGORITMO GRÁFICO
Inicio
Leer N Inicio
Leer N
N>0
N>0
F V
Imprimir N es Imprimir N es Imprimir N es Imprimir N es
negativo positivo negativo positivo
Fin
Fin
Diagrama de flujo Diagrama N-S
Introducción al lenguaje de programación C#
Algoritmos no gráficos
ALGORITMO NO GRÁFICO
Inicio
Escribir "Ingresar numero: "
Leer n
si n>0 entonces
Imprimir n, "es positivo";
sino
Imprimir n, "es negativo";
fin si
Fin PROGRAMA: Conjunto de instrucciones escritas en cualquier lenguaje
de programación y que ejecutadas secuencialmente resuelvan un
Pseudo código
problema en específico.
Introducción al lenguaje de programación C#
.NET Framework
• El Microsoft .NET Framework, es un componente de software
que puede ser o es incluido en los sistemas operativos
Microsoft Windows.
• Provee soluciones pre-codificadas para requerimientos
comunes de los programas y gestiona la ejecución de
programas escritos específicamente para este framework.
• El framework incluye soluciones en áreas como: la interfaz de
usuario, acceso a datos, conectividad a bases de datos,
criptografía, desarrollo de aplicaciones web, algoritmos
numéricos y comunicación de redes.
Introducción al lenguaje de programación C#
Lenguaje de programación C#
• C# es un lenguaje de programación desarrollado por
Microsoft, orientado a objetos, que ha sido diseñado para
compilar diversas aplicaciones que se ejecutan en .NET
Framework.
• C# combina las mejores ideas de lenguaje como C, C++ y
Java con las mejoras de productividad de .NET Framework de
Microsoft y brinda una experiencia de codificación muy
productiva tanto para los nuevos programadores como para
los veteranos.
Introducción al lenguaje de programación C#
Aplicaciones del lenguaje C#
Escritorio Web Videojuegos Móviles
Introducción al lenguaje de programación C#
Lenguajes de programación mas usados en el 2020
Fuente: https://www.tiobe.com/tiobe-index/
RECONOCIMIENTO DEL ENTORNO INTEGRADO DE DESARROLLO
(IDE)
Reconocimiento del IDE SharpDevelop
Instalación de SharpDevelop
https://sourceforge.net/projects/sharpdevelop/
Reconocimiento del IDE SharpDevelop
Pantalla de bienvenida de SharpDevelop
Reconocimiento del IDE SharpDevelop
Creación de un proyecto en C#
Reconocimiento del IDE SharpDevelop
Ventana de código en SharpDevelop
Reconocimiento del IDE Visual Studio
Instalación de Visual Studio
Fuente: https://visualstudio.microsoft.com/es/
Reconocimiento del IDE Visual Studio
Instalación de Visual Studio
Reconocimiento del IDE Visual Studio
Consideraciones a tener en cuenta en cada proyecto.
• Hay que tener en cuenta que el entorno de programación
"Microsoft Visual Studio" no ha sido desarrollado pensando
en un principiante de la programación. Lo mismo ocurre con
el propio lenguaje C#, es decir su origen no tiene como
objetivo el aprendizaje de la programación.
• Debido a estos dos puntos veremos que a medida que
avanzamos en clases muchos conceptos que iremos dejando
pendientes se irán aclarando.
Reconocimiento del IDE Visual Studio
Pantalla de bienvenida de Visual Studio
Reconocimiento del IDE Visual Studio
Creación de un proyecto en C#
Reconocimiento del IDE Visual Studio
Selección de un proyecto en C#
Reconocimiento del IDE Visual Studio
Configuración del proyecto en C#
Reconocimiento del IDE Visual Studio
Configuración del proyecto en C#
TIPOS DE DATOS
Tipos de datos
Tipos de datos mas comunes en C#
Tipo Descripción Tamaño en bytes Rango
int Números enteros. 4 –2,147,483,648 a2,147,483,647
long Números enteros. 8 –9,223,372,036,854,775,808 a
9,223,372,036,854,775,807
float Números de punto flotante. 4 +/–3.4 × 10^38
double Números de punto flotante de doble 8 +/–1.7 × 10^308
precisión (más precisos).
decimal Valores de moneda. 16 -7.9 x 10^28 a 7.9 x 10^28
char Un simple carácter Unicode. 2 N/A
bool Valor booleano 1 Falso o Verdadero.
DateTime Momentos en el tiempo 8 0:00:00 del 01/01/2001 a 23:59:59 del
12/31/9999
string Secuencia de caracteres 2 por carácter. N/A
Tipos de datos
Variables en C#
• Las variables son identificadores asociados a valores.
• Se declaran indicando el tipo de dato que almacenará y su string nombre = "César Edinson"; //variable de tipo string
identificador.
• Un identificador puede:
• Empezar por "_".
• Contener caracteres Unicode en mayúsculas y
minúsculas (sensible a mayúsculas y minúsculas).
• Un identificador no puede:
• Empezar por un número.
• Empezar por un símbolo, ni aunque sea una palabra clave.
• Contener más de 511 caracteres.
Tipos de datos
Variables en C#
• Declaración de variables en C#
// Declaramos la variable, pero no la inicializamos con ningún valor.
int miNumero;
/* Para asignar un valor a una variable, se indica el identificador
de la misma, seguido del símbolo igual (=) y el valor que queremos
que almacene: */
miNumero = 5; // Asignamos el valor '5'.
//También se puede declarar y asignar un valor al mismo tiempo:
int miNumero2 = 5; // Declaramos la variable, y asignamos el valor '5'.
Tipos de datos
Constantes en C#
• Las constantes son valores inmutables, y por tanto no se
pueden cambiar.
const
• Cuando se declara una constante con la palabra clave
const, también se debe asignar el valor. Tras esto, la
constante queda bloqueada y no se puede cambiar.
const double PI = 3.1415;
ESTRUCTURAS SECUENCIALES
Estructuras secuenciales
Estructura secuencial
• La estructura secuencial es aquella en la que una acción
(instrucción) sigue a otra en secuencia.
• Una estructura de programa es secuencial si se ejecutan una
tras otra a modo de secuencia, es decir que una instrucción
no se ejecuta hasta que finaliza la anterior.
• Componentes de una estructura:
1. Asignación
2. Lectura
3. Escritura
EJEMPLOS
Ejemplos
Ejemplo 1
• Crear un programa en C# que determine la suma de los N
primeros números enteros positivos, usar la siguiente
formula.
𝑁 ( 𝑁 + 1)
𝑆=
2
Ejemplo 1
using System;
namespace Ejemplo1._1
{
class ejemplo1
{
static void Main(string[] args)
{
int n, s;
string linea;
Console.Write("Ingrese numero: ");
linea = Console.ReadLine();
n = int.Parse(linea);
s = (n * (n + 1)) / 2;
Console.WriteLine("La suma es: " + s);
Console.ReadKey();
}
}
}
Ejemplos
Ejemplo 2
• Crear un programa en C# que permita encontrar el área y el
perímetro del circulo, usar la formula:
Ejemplo 2
using System;
namespace Ejemplo1._2
{
class Program
{
static void Main(string[] args)
{
const double PI = 3.14159;
double a, p, r;
string linea;
Console.Write("Radio: ");
linea = Console.ReadLine();
r = double.Parse(linea);
a = PI * (r * r);
p = 2 * PI * r;
Console.Write("\nArea: " + a);
Console.Write("\nPerimetro: " + p);
Console.ReadKey();
}
}
}
Ejemplos
Ejemplo 3
• Crear un programa en C# que permita calcular el sueldo de un
trabajador en base a las horas trabajadas y el costo hora del
trabajador que serán ingresados por teclados.
Ejemplo 3
using System;
namespace Ejemplo1._3
{
class Program
{
static void Main(string[] args)
{
double sueldo, hora_tra, hora_costo;
string linea;
Console.Write("Ing. horas de trabajo: ");
linea = Console.ReadLine();
hora_tra = double.Parse(linea);
Console.Write("\nIng. costo horas de trabajo: ");
linea = Console.ReadLine();
hora_costo = double.Parse(linea);
sueldo = hora_tra * hora_costo;
Console.Write("\nTotal sueldo (S/): " + sueldo);
Console.ReadKey();
}
}
}
¿Preguntas o comentarios?
Bibliografía
Bibliografía
• Ferguson, J., Patterson, B. and Beres, J., 2003. La Biblia De C#. 1st ed. Madrid: Grupo Anaya S.A.
• Bell, D., 2020. C# Para Estudiantes. 1st ed. México: PEARSON EDUCACIÓN,.
• Cosio, L. and Arrioja, N., 2010. C#. 1st ed. Buenos Aires: Manual Users.
• Ruiz García, J., 2020. Libro C# Yellow Book. [online] Jesús Ruiz García – Blog. Available at:
<https://jesusruizgarcia.wordpress.com/2018/05/30/libro-c-yellow-book-2016-edicion-8-2-en-espanol/>
• Tutoriales Ya. 2020. C# Ya. [online] Available at: <https://www.tutorialesprogramacionya.com/csharpya/>