M - Semana 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Manual del Taller Técnico X – Programación .

Net I - Ingeniería de Sistemas y Computación

EXPLICANDO LA TECNOLOGÍA JAVA Y


ANALIZANDO UN PROBLEMA Y DISEÑANDO
UNA SOLUCIÓN

TEMAS A DESARROLLAR:

1 - Objetivos del curso y nociones


básicas de programación
2 - Creación de un proyecto en C#
3 - Codificación del diagrama de flujo
en C#
4 - Errores sintácticos y lógicos
5 - Estructura de programación
secuencial

8
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

1 - Objetivos del curso y nociones básicas de programación


El curso está ideado para ser desarrollado por una persona que no conoce nada de programación
y se utilice C# como primer lenguaje.
El objetivo fundamental de este tutorial es permitir que el estudiante pueda resolver problemas de
distinta índole (matemáticos, administrativos, gráficos, contables etc.) empleando como
herramienta la computadora.
Hay que tener en cuenta que para llegar a ser programador se debe recorrer un largo camino
donde cada tema es fundamental para conceptos futuros. Es importante no dejar temas sin
entender y relacionar.
La programación a diferencia de otras materias como podría ser la historia requiere un estudio
metódico y ordenado (en historia se puede estudiar la edad media sin tener grandes conocimientos
de la edad antigua)
La programación es una actividad nueva para el estudiante, no hay en los estudios primarios y
secundarios una materia parecida.
Es bueno tenerse paciencia cuando los problemas no se resuelven por completo, pero es de
fundamental importancia dedicar tiempo al análisis individual de los problemas.
¿Qué es un programa?
Programa: Conjunto de instrucciones que entiende un ordenador para realizar una actividad.
Todo programa tiene un objetivo bien definido: un procesador de texto es un programa que permite
cargar, modificar e imprimir textos, un programa de ajedrez permite jugar al ajedrez contra el
ordenador u otro contrincante humano.
La actividad fundamental del programador es resolver problemas empleando el ordenador como
herramienta fundamental.
Para la resolución de un problema hay que plantear un algoritmo.
Algoritmo: Son los pasos a seguir para resolver un problema.
Diagrama de flujo
Un diagrama de flujo es la representación gráfica de un ALGORITMO.
Los símbolos gráficos a utilizar para el planteo de diagramas de flujo son:

Estos son los elementos esenciales que intervienen en el desarrollo de un diagrama de flujo.

9
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

Planteo de un problema utilizando diagramas de flujo.


Para plantear un diagrama de flujo debemos tener muy en claro el problema a resolver.
Ejemplo : Calcular el sueldo mensual de un operario conociendo la cantidad de horas trabajadas
y el pago por hora.
Podemos identificar:
Datos conocidos:
Horas trabajadas en el mes.
Pago por hora.
Proceso:
Cálculo del sueldo multiplicando la cantidad de horas por el pago por hora.
Información resultante:
Sueldo mensual.
Si hacemos un análisis todo problema está constituido por:
-Datos conocidos: Datos con los que se cuenta al plantear el problema.
-Proceso: Operaciones a realizar con los datos conocidos.
-Información resultante: Es la información que resuelve el problema.
Esta forma de expresar un problema identificando sus datos conocidos, procesos e información
resultante puede llegar a ser engorrosa para problemas complejos donde hay muchos datos
conocidos y procesos. Es por eso que resulta mucho más efectivo representar los pasos para la
resolución del problema mediante un diagrama de flujo.

Resulta mucho más fácil entender un gráfico que un texto.


El diagrama de flujo nos identifica claramente los datos de entrada, operaciones y datos de
salida.
En el ejemplo tenemos dos datos de entrada: horasTrabajadas y costoHora, a las entradas las
representamos con un paralelogramo y hacemos un paralelogramo por cada dato de entrada.
La operación se representa con un rectángulo, debemos hacer un rectángulo por cada
operación. A la salida la representamos con la hoja rota.
El diagrama de flujo nos da una idea del orden de ejecución de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego hacemos las operaciones necesarias y por último
mostramos los resultados.

10
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

2 - Creación de un proyecto en C#
Descarga del entorno para programar con C#.
Podemos utilizar el Visual Studio Community 2017 que tiene entre otros lenguajes el C# y lo
podemos descargar desde la pagina de Windows. También si ya tiene instalado el Visual Studio
2015, 2013 o 2012 puede hacer este curso.

Cuando procedamos a instalar debemos seleccionar como mínimo "Desarrollo de escritorio de


.Net":

11
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

En el caso de estudiar luego los cursos de aplicaciones para la web, aplicaciones universales para
Windows etc. podemos instalarlas en otro momento.

Codificación del problema con el lenguaje C#.


No debemos perder de vista que el fin último es realizar un programa de computación que permita
automatizar una actividad para que muchos procesos sean desarrollados por la computadora.
El diagrama de flujo es un paso intermedio para poder ser interpretado por la computadora.
El paso siguiente es la codificación del diagrama de flujo en un lenguaje de computación, en
nuestro caso emplearemos el lenguaje C#.
Lenguaje de computación: Conjunto de instrucciones que son interpretadas por una computadora
para realizar operaciones, mostrar datos por pantalla, sacar listados por impresora, entrar datos
por teclado, etc.

Conceptos básicos para codificar un programa.


Variable: Es un depósito donde hay un valor. Consta de un nombre y pertenece a un tipo.
Para el ejemplo planteado la variable HorasTrabajadas almacena la cantidad de horas trabajadas
por el operario. La variable ValorHora almacena el precio de una hora de trabajo. La variable
Sueldo almacena el sueldo a abonar al operario.
En el ejemplo tenemos tres variables.
Tipos de variable:
Una variable puede almacenar:
- Valores Enteros (100, 260, etc.)
- Valores Reales (1.24, 2.90, 5.00, etc.)
- Cadenas de caracteres ("Juan", "Compras", "Listado", etc.)
Elección del nombre de una variable:

12
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

Debemos elegir nombres de variables representativas. En el ejemplo el nombre HorasTrabajadas


es lo suficientemente claro para darnos una idea acabada sobre su contenido. Podemos darle
otros buenos nombres. Otros no son tan representativos, por ejemplo, HTr. Posiblemente cuando
estemos resolviendo un problema dicho nombre nos recuerde que almacenamos las horas
trabajadas por el operario, pero cuando pase el tiempo y leamos el diagrama probablemente no
recordemos ni entendamos qué significa HTr.

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 con el tutorial muchos conceptos que
iremos dejando pendientes se irán aclarando.
Veremos los pasos para la creación de un proyecto en C#.

Pasos.
1 - Ingresemos al "Microsoft Visual Studio".

2 - Creación del proyecto. Para esto seleccionamos desde el menú la opción "Archivo" -> "Nuevo"
-> "Proyecto..."

Aparece un diálogo donde debemos indicar del lado izquierdo que utilizaremos el lenguaje Visual

13
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

C# y del lado de la derecha seleccionamos "Aplicación de consola (.Net Framework)" y en la parte


inferior definimos el "nombre", "ubicación" y "nombre de la solución" (podemos usar el mismo texto
para el "nombre de la solución" y "nombre"):

Podemos ver que el entorno nos generó automáticamente el esqueleto de nuestro programa:

14
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

3 - Si vamos al Explorador de archivos de windows podemos ver que tenemos creada la carpeta
con nuestro programa:

4 - Una vez que finalizamos de trabajar con el proyecto lo cerramos desde el menú de opciones
Archivo -> Cerrar solución:

3 - Codificación del diagrama de flujo en C#


Ahora debemos codificar el diagrama de flujo utilizando las instrucciones del lenguaje C#. Como
hemos visto el entorno de programación del Visual C# nos creó un esqueleto básico sobre el
cual continuaremos el programa:

15
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CalculoSueldo
{
class Program
{
static void Main(string[] args)
{
}
}
}
A medida que avancemos en el curso veremos que significa una clase y namespace, cual es el
objetivo del using etc. por el momento nos centraremos donde codificaremos nuestros diagramas
de flujo.
La codificación del diagrama de flujo la haremos dentro de la función Main (la función Main es la
primera que se ejecuta al iniciarse un programa)
El programa completo para el calculo del sueldo de un operario conociendo la cantidad de horas
trabajadas y el costo por hora es:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CalculoSueldo
{
class Program
{
static void Main(string[] args)
{
int horasTrabajadas;
float costoHora;
float sueldo;
string linea;
Console.Write("Ingrese Horas trabajadas por el operario:");
linea = Console.ReadLine();
horasTrabajadas = int.Parse(linea);
Console.Write("Ingrese el pago por hora:");
linea = Console.ReadLine();
costoHora = float.Parse(linea);
sueldo = horasTrabajadas * costoHora;
Console.Write("El sueldo total del operario es:");
Console.Write(sueldo);
Console.ReadKey();
}
}
}

16
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

Para probar el funcionamiento del programa debemos presionar el ícono con un triángulo verde
(o la tecla especial F5 o desde el menú elegir la opción "Depurar" -> "Iniciar depuración"):

La ejecución del programa permite ingresar la cantidad de horas trabajadas por un operario y su
pago por hora, mostrando seguidamente el sueldo que se debe pagar, un ejemplo de la
ejecución de este programa es:

Si el texto de la ventana donde se ejecuta el programa es muy pequeño podemos modificar su


tamaño de fuente desde el menú que tiene a la izquierda:

17
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

Y seleccionar un tamaño mayor:

Conceptos que deben quedar claros:


Por el momento haremos todo el algoritmo dentro de la función Main. Es decir, el resto siempre lo
crea el entorno del Visual C#.
Si observamos el diagrama de flujos vemos que debemos definir tres variables: (horasTrabajadas,
costoHora, sueldo), aquí es donde debemos definir que tipos de datos se almacenarán en las
mismas. La cantidad de horas normalmente será un valor entero (ej. 100 - 150 - 230 etc.), pero el
costo de la hora es muy común que sea un valor real (ej. 5.35 - 7.50 etc.) y como el sueldo resulta
de multiplicar las horas trabajadas por el costo por hora el mismo deberá ser real.
La definición de las variables la hacemos en la Main:
int horasTrabajadas;

18
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

float costoHora;
float sueldo;
Utilizamos la palabra clave int para definir variables enteras (en C# las palabras claves deben ir
obligatoriamente en minúsculas, sino se produce un error sintáctico) Luego de la palabra clave
debemos indicar el nombre de la variable, por ejemplo: horasTrabajadas (se propone que el
nombre de la variable comience con minúscula y en caso de estar constituida por dos palabras o
más palabras deben ir en mayúsculas el primer caracter (un nombre de variable no puede tener
espacios en blanco, empezar con un número, ni tampoco utilizar caracteres especiales)
Debemos buscar siempre nombres de variables que nos indiquen que almacenan (no es
conveniente llamar a nombres de variables con letras individuales)
Para mostrar mensajes en la pantalla utilizamos el objeto "Console":
Console.Write("Ingrese Horas trabajadas por el operario:");
Con esta sintaxis todo lo que se encuentra contenido entre comillas aparecerá exactamente en la
ventana de la "Console".
Si disponemos una variable:
Console.Write(sueldo);
Aparecerá el contenido de la variable. Es decir, el valor almacenado en la variable sueldo y no el
mensaje "sueldo".
Para hacer la entrada de datos por teclado en C# se complica. Debemos definir una variable de
tipo string que la llamaremos linea:
string linea;
Luego cada vez que necesitemos ingresar por teclado un conjunto de caracteres utilizaremos la
función ReadLine del objeto Console con la siguiente sintaxis:
linea = Console.ReadLine();
Un segundo paso es copiar el contenido de la variable linea en una variable de tipo int:
horasTrabajadas = int.Parse(linea);
O una variable de tipo float:
costoHora = float.Parse(linea);
La variable linea almacena temporalmente los datos que ingresa el operador del programa, para
luego copiarse a la variable respectiva (como vemos si queremos convertir un string a tipo de dato
entero utilizamos la función Parse del objeto int (int.Parse))
Las operaciones que indicamos en el diagrama de flujo mediante la figura rectángulo la
codificamos tal cual:
sueldo = horasTrabajadas * costoHora;
Podemos ver una relación entre las instrucciones que debemos utilizar para cada símbolo del
diagrama de flujo:

19
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

En el diagrama de flujo no indicamos la definición de variables:


int horasTrabajadas;
float costoHora;
float sueldo;
string linea;
No representamos con símbolos los mensajes a mostrar previo a la carga de datos por teclado:
Console.Write("Ingrese Horas trabajadas por el operario:");
Como hemos visto hasta ahora hay muchas partes de nuestro código que no entendemos, pero
son indispensables para la implementación de nuestros programas, a medida que avancemos
con el curso muchos de estos conceptos se irán aclarando.
Recordar que cuando terminamos con un programa debemos cerrarlo antes de crear uno nuevo
mediante Archivo -> Cerrar solución:

20
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

4 - Errores sintácticos y lógicos


Confeccionaremos un problema y agregaremos adrede una serie de errores tipográficos. Este tipo
de errores siempre son detectados por el COMPILADOR, antes de ejecutar el programa.
A los errores tipográficos, como por ejemplo la falta de puntos y comas, nombres de variables
incorrectas, falta de paréntesis, palabras claves mal escritas, etc. los llamamos errores
SINTACTICOS.
Un programa no se puede ejecutar sin corregir absolutamente todos los errores sintácticos.
Existe otro tipo de errores llamados ERRORES LOGICOS. Este tipo de errores en programas
grandes (miles de líneas) son más difíciles de localizar. Por ejemplo, un programa que permite
hacer la facturación, pero la salida de datos por impresora es incorrecta.
Problema:
Hallar la superficie de un cuadrado conociendo el valor de un lado.
Diagrama de flujo:

21
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

Proyecto:
Creemos un proyecto llamado SuperficieCuadrado.
Recordemos que si tenemos un proyecto abierto actualmente debemos cerrarlo desde Archivo ->
Cerrar solución:

Codificamos el algoritmo en C# e introducimos dos errores sintácticos:


1. Disponemos el nombre del objeto Console con minúsculas.

22
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

2. Tratamos de imprimir el nombre de la variable superficie con el primer caracter en


mayúsculas.

Como podemos observar aparece subrayado la línea donde disponemos Console con minúsculas
como en la línea que imprimimos la variable superficie con mayúsculas. Si modificamos y
corregimos los errores sintácticos podremos ejecutar nuestro programa.
Programa correctamente codificado:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SuperficieCuadrado
{
class Program
{
static void Main(string[] args)
{
int lado;
int superficie;
String linea;
Console.Write("Ingrese el valor del lado del cuadrado:");
linea = Console.ReadLine();

23
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

lado = int.Parse(linea);
superficie = lado * lado;
Console.Write("La superficie del cuadrado es:");
Console.Write(superficie);
Console.ReadKey();
}
}
}
Programa con un error lógico:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SuperficieCuadrado
{
class Program
{
static void Main(string[] args)
{
int lado;
int superficie;
String linea;
Console.Write("Ingrese el valor del lado del cuadrado:");
linea = Console.ReadLine();
lado = int.Parse(linea);
superficie = lado * lado * lado;
Console.Write("La superficie del cuadrado es:");
Console.Write(superficie);
Console.ReadKey();
}
}
}
Como podemos observar si ejecutamos el programa no presenta ningún error de compilación.
Pero luego de ingresar el valor del lado del cuadrado (por ejemplo, el valor 10) obtenemos como
resultado un valor incorrecto (imprime el 1000), esto debido que definimos incorrectamente la
fórmula para calcular la superficie del cuadrado:
superficie = lado * lado * lado;

5 - Estructura de programación secuencial


Cuando en un problema sólo participan operaciones, entradas y salidas se la denomina una
estructura secuencial.
Los problemas diagramados y codificados previamente emplean solo estructuras secuenciales.
La programación requiere una práctica ininterrumpida de diagramación y codificación de
problemas.
Problema:
Realizar la carga de dos números enteros por teclado e imprimir su suma y su producto.
Diagrama de flujo:

24
Taller TécnicoX: Programación .Net I– Ingeniería de Sistemas y Computación

Tenemos dos entradas num1 y num2, dos operaciones: realización de la suma y del producto de
los valores ingresados y dos salidas, que son los resultados de la suma y el producto de los valores
ingresados. En el símbolo de impresión podemos indicar una o más salidas, eso queda a criterio
del programador, lo mismo para indicar las entradas por teclado.
Programa:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SumaProductoNumeros
{
class Program
{
static void Main(string[] args)
{
int num1, num2, suma, producto;
string linea;
Console.Write("Ingrese primer valor:");
linea = Console.ReadLine();
num1 = int.Parse(linea);
Console.Write("Ingrese segundo valor:");
linea = Console.ReadLine();
num2 = int.Parse(linea);
suma = num1 + num2;

25
Manual del Taller Técnico X – Programación .Net I - Ingeniería de Sistemas y Computación

producto = num1 * num2;


Console.Write("La suma de los dos valores es:");
Console.WriteLine(suma);
Console.Write("El producto de los dos valores es:");
Console.WriteLine(producto);
Console.ReadKey();
}
}
}
Recordemos que tenemos que seguir todos los pasos vistos para la creación de un proyecto.
Algunas cosas nuevas que podemos notar:
Podemos definir varias variables en la misma línea:
int num1, num2, suma, producto;
Si llamamos a la función WriteLine en lugar de Write, la impresión siguiente se efectuará en la
próxima línea:
Console.WriteLine(suma);
Problemas propuestos
 Realizar la carga del lado de un cuadrado, mostrar por pantalla el perímetro del mismo (El
perímetro de un cuadrado se calcula multiplicando el valor del lado por cuatro)
 Escribir un programa en el cual se ingresen cuatro números, calcular e informar la suma
de los dos primeros y el producto del tercero y el cuarto.
 Realizar un programa que lea cuatro valores numéricos e informar su suma y promedio.
 Se debe desarrollar un programa que pida el ingreso del precio de un artículo y la cantidad
que lleva el cliente. Mostrar lo que debe abonar el comprador.

26

También podría gustarte