Clase 1 - Introducción A La Programación
Clase 1 - Introducción A La Programación
Introducción a la programación
Introducción a la programación
Introducción
¿QUÉ IMPLICA HACER UN PROGRAMA?
Antes de comenzar de comenzar con los contenidos del curso es importante que puedas
reflexionar cual es la importancia de aprender a programar en estos tiempos. Nuestra
vida está mediada por dispositivos que nos permiten realizar muchas operaciones en poco
tiempo y a larga distancia. Todo esto no sería posible sin las personas que crean órdenes
que luego los dispositivos ejecutan. Aprender a programar nos permite comprender el
mundo de la tecnología, dejar de ser solo usuarios de programas y convertirnos en
creadores de nuevas tecnologías.
El “pensamiento computacional” es, por lo tanto, una forma de pensar, caracterizada por
un conjunto de habilidades promovido por el aprendizaje de la computación. Hablar de
pensamiento computacional es entender que la programación no tiene que ser sólo para
programadores. Las habilidades adquiridas por esta práctica son útiles para todos los
individuos: el pensamiento divergente o lateral, la creatividad,
Introducción a la programación
Lorem ipsum O1
la resolución de problemas, el pensamiento abstracto, la recursividad, la iteración, los métodos por
aproximaciones sucesivas, el ensayo-error, los métodos colaborativos, entre otros
“un problema surge cuando existen obstáculos entre una situación dada y la situación a la que
se quiere llegar, es querer encontrar un camino para poder llegar del estado actual al estado
final, o al que se quiere obtener” (Torres, 2011, p. 64).
George Pólya fue un matemático destacado que en gran parte de su vida académica se dedicó a
investigar en el área de resolución de problemas. Es considerado pioneroen la temática por sus aportes,
que se basan en una perspectiva global y para nada restringida a las matemáticas. Pólya enfocó la
resolución de problemas desde un punto de vista que permitió plantear una serie de procedimientos que
se aplican en la vida cotidiana:
O2 Introducción a la programación
Netbeans es un entorno de desarrollo integrado de código abierto. Es el IDE más querido y usado
por los desarrolladores de Java. Proporciona modularidad al código, ya que admite un enfoque
modular, es decir, permite que las aplicaciones se desarrollen como módulos (como un componente
de un software). Es compatible con todos los principales sistemas operativos.
Mi punto de vista es que la parte más importante de la forma de pensar que se desarrolla en
matemática es la correcta actitud de la manera de acometer y tratar los problemas. Tenemos
problemas en la vida diaria, en las ciencias, en la política, tenemos problemas por doquier. La
actitud correcta en la forma de pensar puede ser ligeramente diferente de un dominio a otro,
pero solo tenemos una cabeza y por lo tanto es natural que en definitiva haya solo un método
de acometer toda clase de problemas. Mi opinión personal es que lo central en la enseñanza de
la matemática es desarrollar tácticas en la resolución de problemas. (Pólya, 1969)
Para Pólya (1945), la heurística es el área que trata de comprender el método que conduce a la
solución de problemas y, en particular, se centra en las operaciones mentales útiles en este proceso.
La heurística hace uso de la sistematización de la experiencia de resolver problemas a partir de
cómo lo hacen los expertos.
Para ello se propone una serie de cuatro pasos:
1. Comprender el problema. Reconocer qué se pregunta, identificar lo que hay que resolver y las
condiciones asociadas.
Introducción a la programación O3
2. Elaborar un plan. Se trata de establecer la vinculación entre los datos presentes y el problema
a resolver, determinar los recursos que se utilizarán, verificar la similitud con otros problemas
previamente resueltos y también la posibilidad de utilizar teorías o modelos útiles, todo esto en
función de buscar una manera de resolver el problema.
4. Revisar y verificar la solución. Controlar qué hace y que dice el resultado, con vistas a
considerar la posibilidad de transferir la solución a otros problemas.
1.1.2 ¿QUÉ ES EL
O4 Introducción a la programación
Características de NetBeans:
Así es que los lenguajes de programación pueden clasificarse en tres grandes grupos: lenguajes de
máquina, lenguajes ensambladores y lenguajes de alto nivel.
Si bien esto facilitó en gran medida la tarea de programar, aún resultaba una tarea lenta ya que, para
llevar a cabo hasta la tarea más simple, se requería de un gran número de instrucciones del lenguaje
de ensamblado. Es así que surgieron entonces los lenguajes de programación conocidos como
lenguajes de alto nivel, donde cada sentencia del lenguaje involucra un grupo de instrucciones de
máquina.
En contraposición a los lenguajes de alto nivel, se suele hacer referencia a los lenguajes de máquina
como lenguajes de bajo nivel.
Los lenguajes de alto nivel se encuentran más lejos de lo que la máquina comprende y más cerca del
programador. Acompañando a los lenguajes de alto nivel, surgieron los respectivos programas
traductores conocidos con el nombre de compiladores, los que convierten del lenguaje de alto nivel al
lenguaje de máquina.
Introducción a la programación O5
Estos lenguajes tienen una sintaxis que los define. La sintaxis es un conjunto de reglas que
especifican cuáles son los elementos constitutivos válidos del lenguaje y de qué manera estos
pueden combinarse entre sí para escribir programas sintácticamente correctos. Los programas
sintácticamente correctos son los que pueden ser traducidos por el compilador al lenguaje de
máquina.
1.1.3 ¿QUÉ ES UN PROGRAMA?
En esta sección nos acercaremos a la idea de qué es un programa. Una forma de comprenderlo es
mediante el uso de analogías con tareas de la vida cotidiana.
Cuando un cocinero escribe una receta para realizar un plato, está creando un algoritmo dado que
otros pueden seguir los pasos y así reproducirla.
• Cuando un amigo anota las instrucciones para llegar a su casa, está especificando una secuencia
de pasos (un algoritmo) para que otra persona lo pueda ubicar.análisis y aprendizaje.
O6 Introducción a la programación
Cuando un profesor proporciona un conjunto de instrucciones para llevar a cabo un
experimento, está especificando un algoritmo, que es seguido por los estudiantes y así obtienen
datos para su análisis y aprendizaje.
Estos programas generan listas de instrucciones destinadas a un ser humano, pero demuestra
un aspecto importante de los programas para computadora: son series de instrucciones que se
llevan a cabo de manera secuencial, empezando por la primera y avanzando ordenadamente
por las subsecuentes hasta completar la secuencia de instrucciones.
El conjunto de instrucciones disponibles para que una computadora las lleve a cabo suele
componerse de:
Introducción a la programación O7
Programar consisten entonces en seleccionar de esta lista aquellas instrucciones que lleven a cabo
la solución de la tarea requerida. Estas instrucciones se escriben en un lenguaje especializado,
conocido como lenguaje de programación, y C# es uno de ellos.
Aprender a programar significa conocer las herramientas del lenguaje de programación y saber
cómo combinarlas para realizar aquello que se desea
ACTIVIDAD DE REPASO
PRÁCTICAS DE AUTOEVALUACIÓN
A continuación, se listan las instrucciones para calcular el sueldo de un empleado:
• calcular el sueldo
O8 Introducción a la programación
Respondé: ¿Hay algún problema con el aviso? ¿Cómo podría escribirlo para mejorarlo?
Este ejercicio se refiere a los pasos que se realizan para levantarse e ir a trabajar.
• despertarse
• vestirse
• desayunar
1. Completá los pasos. Tené en cuenta que no hay una secuencia de pasos ideal; los pasos varían de
un individuo a otro.
2. El paso “lavarse los dientes” incluye una repetición, ya que representa una acción que hacemos
una y otra vez.
Introducción a la programación O9
1.2 ¿DE QUÉ SE TRATA EL LENGUAJE C#?
Requisitos previos
Se recomienda Visual Studio para Windows o Mac. Puede descargar una versión
gratuita desde la página de descargas de Visual Studio. Visual Studio incluye el SDK de
.NET.
También puede usar el editor de Visual Studio Code. Deberá instalar el SDK de .NET más
reciente por separado.
10 Introducción a la programación
Recordemos que el concepto de lenguaje de programació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.
Ejemplo: Calcular el sueldo mensual de un operario conociendo la cantidad de horas trabajadas y
el pago por hora.
Podemos identificar:
Si hacemos un análisis todo problema está constituido por:
• Datos conocidos: Datos con los que se cuenta al plantear el problema.
- Horas trabajadas en el mes.
- Pago por hora.
• Proceso: Operaciones a realizar con los datos conocidos.
- Cálculo del sueldo multiplicando la cantidad de horas por el pago por hora.
• Información resultante: Es la información que resuelve el problema.
- Sueldo
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.
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.
Introducción a la programación 11
TIPOS DE VARIABLES:
12 Introducción a la programación
Pasos.
Introducción a la programación 13
Aparece un diálogo donde tenemos distintas opciones para abrir proyectos anteriores, clonar
proyectos almacenados en GitHub etc, nosotros elegiremos la opción de 'Continuar sin código' para
conocer el entorno de Visual Studio 2022:
14 Introducción a la programación
2 - Creación del proyecto. Para esto seleccionamos desde el menú la opción "Archivo" → "Nuevo" →
"Proyecto..."
Introducción a la programación 15
2 - Creación del proyecto. Para esto seleccionamos desde el menú la opción "Archivo" → "Nuevo" →
"Proyecto..."
El diálogo siguiente nos solicita ingresar el "Nombre del proyecto", la "ubicación", y "nombre de la
solución" (podemos usar el mismo texto para el "nombre de la solución" y "nombre del proyecto"):
16 Introducción a la programación
Podemos ver que el entorno nos generó automáticamente el esqueleto de nuestro programa:
Introducción a la programación 17
- Una vez que finalizamos de trabajar con el proyecto lo cerramos desde el menú de opciones
Archivo → Cerrar solución:
18 Introducción a la programación
1.3 PARADIGMA DEL LENGUAJE.
C# es un lenguaje de programación orientado a objetos. Los cuatro principios básicos de la
programación orientada a objetos son:
- Abstracción: modelar los atributos e interacciones pertinentes de las entidades como clases para
definir una representación abstracta de un sistema.
Hola Mundo C#
Introducción a la programación 19
El programa "Hola mundo" empieza con una directiva using que hace referencia al espacio de
nombres System. Los espacios de nombres proporcionan un método jerárquico para organizar las
bibliotecas y los programas de C#. Los espacios de nombres contienen tipos y otros espacios de
nombres; por ejemplo, el espacio de nombres System contiene varios tipos, como la clase Console a la
que se hace referencia en el programa, y otros espacios de nombres, como IO y Collections. Una
directiva using que hace referencia a un espacio de nombres determinado permite el uso no
calificado de los tipos que son miembros de ese espacio de nombres. Debido a la directiva using,
puede utilizar el programa Console.WriteLine como abreviatura de System.Console.WriteLine.
La clase Hello declarada por el programa "Hola mundo" tiene un miembro único, el método llamado
Main. El método Main se declara con el modificador static. Mientras que los métodos de instancia
pueden hacer referencia a una instancia de objeto envolvente determinada utilizando la palabra
clave this, los métodos estáticos funcionan sin referencia a un objeto determinado. Por convención,
un método estático denominado Main sirve como punto de entrada de un programa de C#.
20 Introducción a la programación
Cuando en un problema sólo participan operaciones, entradas y salidas se la denomina una
estructura secuencial.
Problema:
Realizar la carga de dos números enteros por teclado e imprimir su suma y su producto.
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.
Introducción a la programación 21
22 Introducción a la programación
Recordemos que tenemos que seguir todos los pasos vistos para la creación de un proyecto.
Algunas cosas nuevas que podemos notar:
Console.WriteLine(suma);
1.5 SENTENCIAS DE FLUJO DE EJECUCIÓN.
Las acciones que realiza un programa se expresan en instrucciones. Entre las acciones comunes se
incluyen declarar variables, asignar valores, llamar a métodos, recorrer colecciones en bucle y
crear una bifurcación a uno u otro bloque de código, en función de una condición determinada. El
orden en el que se ejecutan las instrucciones en un programa se denomina flujo de control o flujo de
ejecución. El flujo de control puede variar cada vez que se ejecuta un programa, en función de cómo
reacciona el programa a la entrada que recibe en tiempo de ejecución.
Una instrucción puede constar de una sola línea de código que finaliza en un punto y coma o de una
serie de instrucciones de una sola línea en un bloque. Un bloque de instrucciones se incluye entre
llaves {} y puede contener bloques anidados.
Introducción a la programación 23
No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que
tomar una decisión aparecen las estructuras condicionales. En nuestra vida diaria se nos
presentan situaciones donde debemos decidir.
24 Introducción a la programación
Introducción a la programación 25
La palabra clave "if" indica que estamos en presencia de una estructura condicional;
seguidamente disponemos la condición entre paréntesis. Por último, encerrada entre llaves las
instrucciones de la rama del verdadero.
Es necesario que las instrucciones a ejecutar en caso que la condición sea verdadera estén
encerradas entre llaves { }, con ellas marcamos el comienzo y el fin del bloque del verdadero.
Ejecutando el programa e ingresamos un sueldo superior a 3000 pesos. Podemos observar como
aparece en pantalla el mensaje "Esta persona debe abonar impuestos", ya que la condición del if es
verdadera.
Volvamos a ejecutar el programa y carguemos un sueldo menor o igual a 3000 pesos. No debe
aparecer mensaje en pantalla.
Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es decir
tenemos actividades por el verdadero y por el falso de la condición. Lo más importante que hay que
tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se
realizan las actividades de las dos ramas.
En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la
rama del verdadero como por la rama del falso.
Se hace la entrada de num1 y num2 por teclado. Para saber cual variable tiene un valor mayor
preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es
verdadera vamos por la rama de la derecha e imprimimos num1, en caso que la condición sea falsa
vamos por la rama de la izquierda (Falsa) e imprimimos num2.
26 Introducción a la programación
Como podemos observar nunca se imprimen num1 y num2 simultáneamente.
Estamos en presencia de una ESTRUCTURA CONDICIONAL COMPUESTA ya que tenemos actividades
por la rama del verdadero y del falso.
Introducción a la programación 27
Cotejemos el diagrama de flujo y la codificación y observemos que el primer bloque de llaves
después del if representa la rama del verdadero y el segundo bloque de llaves representa la rama
del falso.
Compilemos el programa, si hubo errores sintácticos corrijamos y carguemos dos valores, como por
ejemplo:
Ingrese el primer valor: 10
Ingrese el segundo valor: 4
10
Si ingresamos los valores 10 y 4 la condición del if retorna verdadero y ejecuta el primer bloque. Un
programa se controla y corrige probando todos sus posibles resultados. Ejecutemos nuevamente el
programa e ingresemos:
Ingrese el primer valor: 10
Ingrese el segundo valor: 54
54
Cuando a un programa le corregimos todos los errores sintácticos y lógicos ha terminado nuestra
tarea y podemos entregar el mismo al USUARIO que nos lo solicitó.
Operadores
En una condición deben disponerse únicamente variables, valores constantes y operadores
relacionales.
28 Introducción a la programación
Operadores Relacionales:
> (mayor)
< (menor)
>= (mayor o igual)
<= (menor o igual)
== (igual)
!= (distinto)
• Operadores Matemáticos
+ (más)
- (menos)
* (producto)
/ (división)
% (resto de una división) Ej.: x=13%5; {se guarda 3}
Hay que tener en cuenta que al disponer una condición debemos seleccionar que operador
relacional se adapta a la pregunta.
Ejemplos:
Introducción a la programación 29
ESTRUCTURAS CONDICIONALES ANIDADAS
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de
una estructura condicional hay otra estructura condicional.
Problema:
Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e
imprima alguno de estos mensajes:
30 Introducción a la programación
Introducción a la programación 31
Codifiquemos y ejecutemos este programa. Al correr el programa deberá solicitar por teclado la
carga de tres notas y mostrarnos un mensaje según el promedio de las mismas.
Hasta ahora hemos empleado estructuras SECUENCIALES y CONDICIONALES. Existe otro tipo de
estructuras tan importantes como las anteriores que son las estructuras REPETITIVAS.
Una estructura repetitiva permite ejecutar una instrucción o un conjunto de instrucciones varias
veces.
- El test o prueba de condición antes de cada repetición, que motivará que se repitan o no las
sentencias.
32 Introducción a la programación
Importante: Si la condición siempre retorna verdadero estamos en presencia de un ciclo repetitivo
infinito. Dicha situación es un error de programación, nunca finalizará el programa.
Programa:
Introducción a la programación 33
Probemos algunas modificaciones de este programa y veamos qué cambios se deberían hacer para:
Respuestas:
34 Introducción a la programación
En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad
de veces que queremos que se ejecute el bloque de instrucciones.
Ejemplo: cargar 10 números, ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad
de veces que queremos que el bloque se repita. Veremos, sin embargo, que en el lenguaje C# la
estructura for puede usarse en cualquier situación repetitiva, porque en última instancia no es otra
cosa que una estructura while generalizada.
En su forma más típica y básica, esta estructura requiere una variable entera que cumple la función
de un CONTADOR de vueltas. En la sección indicada como "inicialización contadora", se suele
colocar el nombre de la variable que hará de contador, asignándole a dicha variable un valor
inicial. En la sección de "condición" se coloca la condición que deberá ser verdadera para que el
ciclo continúe (en caso de un falso, el ciclo se detendrá). Y finalmente, en la sección de "incremento
contador" se coloca una instrucción que permite modificar el valor de la variable que hace de
contador (para permitir que alguna vez la condición sea falsa)
Cuando el ciclo comienza, antes de dar la primera vuelta, la variable del for toma el valor indicado
en la sección de "inicialización contador". Inmediatamente se verifica, en forma automática, si la
condición es verdadera. En caso de serlo se ejecuta el bloque de operaciones del ciclo, y al finalizar
el mismo se ejecuta la instrucción que se haya colocado en la tercer sección.
Seguidamente, se vuelve a controlar el valor de la condición, y así prosigue hasta que dicha
condición entregue un falso.
Si conocemos la cantidad de veces que se repite el bloque es muy sencillo emplear un for, por
ejemplo si queremo que se repita 50 veces el bloque de instrucciones puede hacerse así:
La variable del for puede tener cualquier nombre. En este ejemplo se la ha definido con el nombre f.
Introducción a la programación 35
Problema 1:
Realizar un programa que imprima en pantalla los números del 1 al 100
36 Introducción a la programación
ESTRUCTURA REPETITIVA DO WHILE
La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque
repetitivo, a diferencia del while o del for que podían no ejecutar el bloque. Esta estructura
repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutará el
bloque repetitivo.
La condición de la estructura está abajo del bloque a repetir, a diferencia del while o del for que está
en la parte superior.
Es importante analizar y ver que las operaciones se ejecutan como mínimo una vez.
Problema 1:
Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre un mensaje de
cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0.
Introducción a la programación 37
38 Introducción a la programación