Está en la página 1de 26

Lenguaje de programación: Es un lenguaje formal que proporciona la capacidad de escribir

una serie de instrucciones u órdenes compuesto por algoritmos para controlar el


comportamiento físico y lógico de una computadora con el objetivo de resolver un
problema (de vida cotidiana). A todas estas órdenes y algoritmos se les conoce como
programa.

Está formado por un conjunto de símbolos, reglas gramaticales (léxico/morfológicas y


sintácticas) y reglas semánticas que en conjunto definen las estructuras válidas en el
lenguaje y su significado. Al proceso por el cual se escribe, se prueba, se depura, se compila
y se mantiene el código fuente de un programa informático se le llama programación.

Las dos clasificaciones principales de lenguajes de programación son:

● Bajo nivel: lenguaje de máquina, lenguajes ensambladores.


● Alto nivel: Java, Pascal, Visual Basic, PHP, Python, Javascript,C#. → Lenguaje más
cercano, en inglés.

Compilación: se traduce el lenguaje de programación al lenguaje máquina para que el


programa pueda ser ejecutado.

Algoritmo: Es un conjunto de instrucciones o reglas definidas, ordenadas y finitas que


permite, principalmente, solucionar un problema determinado. Por lo general va a tener un
inicio, un flujo determinado, y luego un fin. Es decir que se trata de una serie de
instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten
arribar a un resultado o solución.

Hay diferentes tipos de programación:


1. Programación secuencial: Se basa en la creación de sentencias (hechas por el
programador), que se van a ejecutar en un orden específico. La estructura
secuencial es aquella en la que una acción sigue a otra en secuencia. Las
operaciones se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso.
2. Programación estructurada: Está orientada a mejorar la claridad, calidad y tiempo
de desarrollo de un programa de computadora recurriendo únicamente a subrutinas
y tres estructuras básicas:
● Secuencia
● Selección (if, switch): Se van a ejecutar ciertas sentencias según ciertas
condiciones. Por ejemplo, si vendo bebidas alcohólicas se determina una
condición de que si sos menor de edad no se puede comprar.
● Iteración (bucles for y while): sentencias repetitivas hasta que se da
determinada condición.
3. Programación orientada a objetos: Es una forma más moderna de programar, más
cercana a cómo expresaríamos las cosas en la vida real que los otros tipos de
programación. Se basa en objetos (Ej. Usuario) creados por el programador, los
cuales van a tener propiedades ( Ej. nombre, apellido, clave, DNI) y métodos (Ej.
Login, Logout, agregar/eliminar rol).
Tipos de datos de programación:

● Numérico: enteros/reales
● Carácter: carácter o cadena de caracteres (símbolo, número, letra)
● Lógico: 1/0 o Verdadero/Falso

Específicos de C#

Tipos Integrados Simples Tipos Integrados No Simples

String: Oraciones

Numéricos

● Byte: Lo usaremos más para la edad por ejemplo.


● Float: 7 dígitos
● Long
● Datetime

Bool: Sentencia True or false


Operadores:

Incremento y decremento: Contadores, cada cuánto cuento.

Lógicos condicionales: && (AND), || (OR), ! ( NOT)

● Public: Puedo acceder desde otro


archivo
● Void: Rutina
● Nombre de la rutina(parámetros)
{}: Declarar variables

String: secuencia de variable unicode


Byte: es numérico

Como se ve en la tabla, para


asignar debo hacerlo con el =.

Para poder verlo en la consola,


debemos escribir el comando
console.WriteLine()
Nos dirigimos a program.cs*
y colocamos nombre del
proyecto.nombre de la clase letra
random básicamente creamos una
instancia para poder llamar a cada
método: e.DeclararVariables();

Forma de declarar una constante:


1. Const: constante
2. Tipo de dato: int (número entero) y string (texto)
3. Nombre de la constante y el valor

Console.Write: escribir y
va a quedar el cursor baja.

Convert to
byte para
que tome
edad.

Cómo
calcular promedios
Para hacer un punto y aparte en la consola:

Clase 3

El comando Console.Writeline(); Permite hacer


un punto y aparte. Es útil para cuando antes hubo
un Console.Write y queremos que prosiga con
otro Console. Writeline luego.
if , elseif, else, switch - Mecanismos de control.
switch (si) - le da una evaluación que sucede si puede seguir un camino de todos los que
estamos ofreciendo. (Para universos acotados)
If - (condición más elaborados)

for, while,do - Mecanismos de interacción

Comando 1: El código se debe evaluar antes de que se ejecute.


Comando 2: Primero se ejecuta, y luego se valida.

Do – Console.writeline: El input del usuario


Console.Readline: Lectura del input del usuario.
While ,valida que leerá el texto siempre y cuando
los valores sean diferentes a cero

Con la otra opción:


For Iterar para cada ocurrencia finita.

Para cuando el entero i (declaro la variable


INT I =0;) sea cero (Valor), es menor a 5, le
sumo 1. Si I es menor a 5, es TRUE. Le
sumo 1 a i hasta que llegue a 5.

Respuesta:

Si declaro I por fuera de la iteración


puede utilizarse el Console.WriteLine
para que me muestre el valor final= 5
(Que es el primer valor que se excluye de
la iteración.

1) Declaro procedimiento.
2) realizo el procedimiento pero no devuelvo
nada.

Para el parcial es mejor


usar el 1. Pero hay que
entender cuantas veces
lo uso.
Clase dos Estructuras condicionales

Este condicional va a arrojar un true dado que es


cierto que la nota es menor a 4 porque es un 2.

Cuando el condicional nota < 4 es false,


evaluará si es true el else if (o sino)

Acá tenemos el plus de que si es …..


o sino si es ….
entonces si no es ninguna, es ….

|| =se hace ALT +124 y significa OR


Mayor/menor o igual
&& =AND

Switch (VALOR)
Asignamos los casos como o 1 o 2 o 3
break cierra las opciones del condicional.

—-----------------------------------
Condicionales de repetición
-
Validación

La validación de datos es un proceso que sirve para verificar, controlar o filtrar la entrada de
datos provenientes de sistemas externos o internos. Este proceso nos asegura que los
datos queden limpios, aptos y útiles para el propósito deseado en nuestro programa.

¿Que se valida? Los datos

¿Qué se puede validar?

● Tipo de dato
● Longitud
● Rangos
● Valores determinados
● Vacíos
● Formatos

Funcion TryParse

Es una función booleana que tiene cada tipo de dato en C# que devuelve true o false,
dependiendo si pudo o no parsear/convertir un valor determinado a ese tipo de dato.

Además del valor que deseo convertir, que es el primer parámetro, devuelve un valor de
salida como segundo parámetro.

Sintaxis: TipoDato.TryParse(valor, out Salida);


1- Siempre se valida en un DO WHILE

2- Validar solo cuando lo pidan en el parcial

SI no (!) lo puedo convertir arroja que ingrese un dato numerico


validar texto

validar longitud del texto


validar que no sea un numero – no lo pide el profe en el parcial

validar fechas:

valido que fecha no sea mayor a hoy:


valido formato fecha

Guia 3.

Funciones y Procedimientos

Programación Modular

Las aplicaciones informáticas suelen contener decenas y aún cientos de miles de líneas de
código fuente. A medida que los programas se van desarrollando y aumentan de tamaño,
se convertirían rápidamente en sistemas poco manejables si no fuera por la
modularización, que es el proceso que consiste en dividir un programa en módulos o
subprogramas con el fin de hacerlo más legible y manejables (divide y vencerás). Esto se
logra en la práctica con las funciones y procedimientos.

Ventajas de la división de un programa en unidades más pequeñas


· Modularización: Cada función tiene una misión muy concreta, de modo que nunca tiene
un número de líneas excesivo y siempre se mantiene dentro de un tamaño manejable.
Cada función puede ser desarrollada y testeada por separado.

· Ahorro de memoria, tiempo de desarrollo y errores: una función es utilizada muchas


veces, y esto hace que el número total de líneas de código del programa disminuya, al
no repetirse el código de la misma, y también lo hace la probabilidad de introducir
errores de tipeo en el programa, además del tiempo en escribir el código.

· Independencia de datos y ocultamiento de información: Una función es capaz de


mantener una gran independencia con el resto del programa, manteniendo sus propios
datos y variables, no teniendo ninguna posibilidad de acceso a la información que no le
compete, la cual generalmente estará en la rutina principal.

Nivel de acceso y ámbito de las variables

Variables Públicas (Public)

En este caso las variables serán visibles por todas las clases existentes en el proyecto.

public int numero;

Variables privadas (Private)

Cuando creamos una variable con ámbito protegido, esta solo podrá ser accedida desde la
misma clase en la que la declaramos, y no desde otras clases del proyecto.

(No podemos acceder desde program, solo de la clase)

private int Numero;

Este tipo de variables pueden tener 3 ámbitos:

● Bloque: sólo el código del bloque tendrá la posibilidad de trabajar con la variable
(por ejemplo un bucle do while) - la màs restringida.
● Función/procedimiento: sólo el código de la función/procedimiento donde se declara
la variable podrá trabajar con ella, se llama normalmente variable local. Void es un
ejemplo de procedimiento.
● Clase: una variable declarada dentro de una clase es accesible desde cualquier
parte del código de esta clase sin restricción.
Por ejemplo, el int numero; como no especifiqué será
privado.

Por defecto, en las clases, si no se declara el nivel


de acceso, el mismo será privado.En las
funciones/procedimientos no se puede declarar el
nivel de acceso, ya que siempre será privado.

con this puedo llamar a la clase.

Declaración de variables

Dentro de un procedimiento NO Dentro de un bloque NO sucede


No importa si la variable la sucede lo mismo. Las variables lo mismo. Las variables nacen y
declaro al final o al principio DE nacen y terminan dentro de ese terminan dentro de ese bloque
LA CLASE , dado que cuando se procedimiento por lo que no por lo que no puedo llamarla por
compila lo puede leer igual. puedo llamarla por fuera del fuera del mismo.
mismo.
Diferencias y Similitudes

La fundamental diferencia entre un procedimiento void y una función es que ésta última
devuelve un valor de retorno.

Por tanto, las funciones siempre devuelven valores, a diferencia de los procedimientos que
no tienen necesidad de devolver ningún valor (se puede realizar con parámetros de
salida).

Igualmente ambas estructuras se pueden utilizar para realizar las mismas tareas, es decir
que todo lo que hago con una función lo puedo hacer con un procedimiento, y viceversa.

Sintaxis función

private TipoDato NombreFuncion(Parámetros)


{
Sentencias
return valor;
}

USAMOS EL PASCAL

La llamada a una función se hace de diversas formas. Por ejemplo, una de las más usuales
es la siguiente:

variable = NombreFuncion(Argumentos);

Donde Argumentos son una lista de constantes, variables o expresiones separadas por
comas que serán utilizadas en la función. Los tipos de los argumentos deben coincidir con
los tipos de sus correspondientes parámetros en la definición de la función.

Aclaración: en los llamados a las funciones/procedimientos, los valores que se pasan se


llaman argumentos y en la definición se llaman parámetros.
Sintaxis Procedimiento

private void NombreProcedimiento(Parámetros)


{
Sentencias
}

La llamada a un procedimiento es de la siguiente manera:

NombreProcedimiento(Parámetros);

Parámetros por referencia y por valor

En las funciones y en los procedimientos, por defecto los argumentos se pasan por valor,
de este modo, cualquier cambio de contenido que sufra un parámetro dentro de la función o
del procedimiento, no se produce en el argumento.

Si queremos que el contenido de ese argumento cambie afuera del método en cuestión,
debemos declararlo por referencia (ref) en la declaración de los paramentos.

Por valor (PARÁMETRO DE ENTRADA) Por referencia (PARÁMETRO DE SALIDA)

private void IntercambiarValores(int variable1, int private void IntercambiarValores(ref int variable1,
variable2) ref int variable2)
{ {
} }

Pasar argumentos por valor evita modificaciones accidentales.


Ejemplo de por valor.
1. Tengo el valor parametro= 0;
2. Corre un procedimiento que cambiarà
el valor a 2
3. En la consola me
muestra el valor 0.
Porque saliò del
procedimiento y volvió
a su valor original.
no tiene que coincidir el
nombre de la variable
aunque si el tipo (int).

Ejemplo por referencia – modifico también su valor original.


1. Solicito al usuario que ingrese un monto que lo guardamos en montoInput.
2. Llamamos al procedimiento CalcularIvaVoid que toma ese valor de input, y el valor
de output inicial que es cero
3. corre el procedimiento que obtiene como monto de salida el monto original + iva.
(SIEMPRE QUE SEA FLOAT PONER f AL FINAL).
4. Mostramos el output al usuario.

Mismo procedimiento con funcion

EN PARCIAL DIRÀN HACE FUNCIÓN O HACER PROCEDIMIENTO


Cuando validamos un dato, siempre tiene que ser un string

Vectores y Matrices estáticos

Array

Definición general: Es un conjunto finito y ordenado de elementos homogéneos.

· Ordenado: tienen un orden específico de 1 a N elementos en forma secuencial.

· Homogéneo: van a respetar el mismo tipo de dato.

Definición específica: Es un conjunto de datos del mismo tipo.

Vector

Es un array de 1 dimensión.
Sintaxis

TipoDato[] nombreVector = new TipoDato [Tamaño del Vector];

Ej: string[] alumnos = new string[5];

Con la función Length, obtenemos el tamaño de nuestro vector:

alumnos.Length devolverá 5.

Matriz

Es un array de 2 o más dimensiones.

Sintaxis

TipoDato[,] nombreMatriz = new TipoDato [Tamaño de la Dimensión 0, Tamaño de la


Dimensión 1, Tamaño de la Dimensión n];

Nosotros trabajaremos con matrices de 2 dimensiones, en la que la dimensión 1 son las


filas, y la dimensión 2 son las columnas.

Ej: string[,] alumnos = new string[5, 3];

0,0 0,1 0,2

1,0 1,1 1,2

2,0 2,1 2,2

3,0 3,1 3,2

4,0 4,1 4,2

Con la función GetLength(0), obtenemos el tamaño de nuestra matriz en la dimensión 0:

alumnos.GetLength(0) devolverá 5.
Para saber cuantos elementos tiene, ponemos el console writeline alumnos.Length

● alumnos.GetLength(0) devolverá 5 dado que el 0 refiere a filas.


● alumnos.GetLength(1) devolverá 3 dado que el 1 refiere a columnas.

Para que recorra una matriz debemos hacer:

y recorre desde el indice 0 hasta el 4 inclusive. el 5 no porque no es un indice.


podemos poner i < alumnos.Length o i < 5

PARCIAL SI O SI ESTO
Realice un procedimiento que permita al dueño de una verdulería ingresar la
información de los 50 productos que vende. Debe ingresar nombre del producto,
cantidad en kilos (puede ser cero), y el precio que pagó por kilo.
Se debe validar que tanto la cantidad como el precio sean datos numéricos, positivos o
cero.

Al finalizar la carga debe mostrar el valor total del stock


Sobre la matriz anterior, desarrollar un procedimiento que reciba el nombre del
producto y devuelva el precio de venta calculado como: costo por kilo más un 10%.

Sobre la matriz del punto 9, desarrollar un procedimiento que reciba el nombre del
producto y permita actualizar el stock, pidiendo la nueva cantidad al usuario y validando
que sea numérico y positivo. También debe actualizar el precio del mismo, pidiendo el
nuevo costo al usuario y guardando en la matriz el promedio entre el precio anterior y el
actual (a menos que el stock anterior haya sido cer

También podría gustarte