Está en la página 1de 9

Cuestiones de Programación

1ª Evaluación

1.1 (Conceptos básicos)


Cuestiones de Programación 1.1 Conceptos básicos

Índice

Conceptos básicos .................................................................................................. 3


1. ¿Qué es una variable? ................................................................................... 3
2. ¿Qué elementos o características definen una variable? ........................... 3
3. ¿Qué es el identificador de una variable? .................................................... 3
4. ¿Qué normas tiene que cumplir el identificador de una variable? ............ 3
5. ¿Qué normas debe cumplir el identificador de una variable? .................... 3
6. ¿Qué se entiende por el tipo de una variable? Enumera algunos tipos .... 3
7. ¿Cuáles son los tipos básicos en C#? Enumera algunos .......................... 4
8. ¿Qué se entiende por el valor de una variable? .......................................... 4
9. ¿Qué es un literal de un tipo? ....................................................................... 4
10. ¿Qué dos pasos hay que realizar antes de poder utilizar una variable? ... 6
11. ¿Qué es la declaración y b) cómo se realiza? ............................................ 6
12. ¿Qué es la operación de asignación? b) ¿Cómo se realiza? ................... 6
13. ¿Cómo se llama a la primera asignación de una variable? ........................ 6
14. ¿Escribe un ejemplo de declaración y asigna el valor de una variable … 7
15. ¿Qué tipo de operadores tenemos en C#? ................................................... 7
16. Escribir la tabla de verdad de las operaciones lógicas siguientes:
conjunción (AND), disyunción (OR), o exclusiva (ExOR) y negación. ....... 8
17. ¿Cómo podemos componer la operación OR Exclusiva? .......................... 8
18. a) ¿Qué es una constante? b) ¿Para qué se utilizan? ................................ 8
19. a) ¿Condiciones a) tiene que cumplir y b) debe cumplir una constante? . 8
20. Ejemplo de declaración de Constante .......................................................... 9
21. ¿Qué efecto tienen los caracteres ‘\n’ y ‘\t’ dentro de una cadena? ........ 9
22. ¿Qué efecto tiene anteponer el carácter @ a un literal cadena? ................ 9
23. Algunas formas de convertir un entero en un tipo real (float o double). ... 9

Dpto. Informática Altair [ 2 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

Conceptos básicos

1. ¿Qué es una variable?


Una variable es un elemento de un programa que reserva una zona de
memoria en la que se pueden introducir y cambiar valores durante la ejecución
del programa.

2. ¿Qué elementos o características definen una variable?


Identificador, tipo y valor.

3. ¿Qué es el identificador de una variable?


Es el nombre con que vamos a referirnos a dicha variable. Téngase en cuenta
que en C y los lenguajes que derivan de C, como C++, C#, Java,..., se
distingue la capitalidad de las letras, ejemplo: la variable miPeso es distinta de
la variable MiPeso y de la variable mipeso.

4. ¿Qué normas tiene que cumplir el identificador de una variable?


Sólo puede estar constituida de letras (minúsculas y/o mayúsculas), números y
guiones bajos, siempre que no comience por un número.
Ejemplos:
Son correctas: nombre4, mi_casa, _numero, tel_fijo, telFijo, …
Son incorrectas: 4nombre, mi casa, nº, mis$, …

5. ¿Qué normas debe cumplir el identificador de una variable?


 Se deben denominar de forma que ayude a conocer a qué se refiere su
contenido. Ejemplos: nombre, edadDelMayor, peso, ...
 Nosotros vamos a acordar que siempre comenzarán con letra minúscula.
 Cuando haya que asignar un nombre compuesto, se pondrán las palabras
seguidas comenzando en mayúscula a partir de la segunda.

6. ¿Qué se entiende por el tipo de una variable? Enumera algunos tipos


Hace referencia a la cantidad de memoria que tiene que reservar el
compilador. Como consecuencia, determina el rango de valores que puede
tener. Ej: byte, Entero, Real (float, double, decimal), char, string, etc.

Dpto. Informática Altair [ 3 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

7. ¿Cuáles son los tipos básicos en C#? Enumera algunos


En la tabla siguiente se muestran los tipos básicos en C# indicando su Alias,
su tamaño en bits y, en consecuencia, el rango de valores que puede tener
Tipo Alias Descripción NºBits Rango de valores
SByte sbyte Bytes con signo 8 [-128, 127]
Byte byte Bytes sin signo 8 [0, 255]
Int16 short Enteros cortos con signo 16 [-32.768, 32.767]
UInt16 ushort Enteros cortos sin signo 16 [0, 65.535]
[-2.147.483.648,
Int32 int Enteros normales (32 bits) 32
2.147.483.647]
UInt32 uint Enteros normales sin signo 32 [0, 4.294.967.295]
[-9.223.372.036.854.775.808,
Int64 long Enteros largos 64
9.223.372.036.854.775.807]
[0-
UInt64 ulong Enteros largos sin signo 64
18.446.744.073.709.551.615]
Single float Reales con 7 dígitos de precisión 32 [1,5×10-45 - 3,4×1038]
Double double Reales 15-16 dígitos de precisión 64 [5,0×10-324 - 1,7×10308]
Decimal decimal Reales de 28-29 dígitos de precisión 128 [1,0×10-28 - 7,9×1028]
Boolean bool Valores lógicos 8 true, false
Char char Caracteres Unicode 16 [‘\u0000’, ‘\uFFFF’]
String string Cadenas de caracteres ¿? El permitido por la memoria
Object object Cualquier objeto ¿? Cualquier objeto

8. ¿Qué se entiende por el valor de una variable?


El valor de una variable es el contenido de esa variable en cada momento
concreto.

9. ¿Qué es un literal de un tipo?


Es la representación explícita de los valores que pueden tomar los tipos
básicos del lenguaje. Dicho de otro modo, un literal de un tipo es cada uno de
los valores concretos que puede tener dicho tipo.
Ejemplos:literal de byte: el 7 o el 124, …
literal de int: el 7 o el -124 o el 25872, …
literal de char: el ‘h’ o el ‘Z’ o ‘$’. etc.
literal de string: “Hola”, “estoy contento”, “dame 100 $”
A continuación se explica cuál es la sintaxis con que se escriben los literales
en C# desglosándolos según el tipo de valores que representan:

Dpto. Informática Altair [ 4 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

 Literales enteros: Un número entero se puede representar en C# tanto en formato


decimal como hexadecimal. En el primer caso basta escribir los dígitos decimales
(0-9) del número unos tras otros, mientras que en el segundo hay que preceder los
dígitos hexadecimales (0-9, a-f, A-F) con el prefijo 0x. En ambos casos es posible
preceder el número de los operadores + o – para indicar si es positivo o negativo,
aunque si no se pone nada se considerará que es positivo. Ejemplos de literales
enteros son 0, 5, +15, -23, 0x1A, -0x1a, etc.
 Literales reales: Los números reales se escriben de forma similar a los enteros,
aunque sólo se pueden escribir en forma decimal y para separar la parte entera de
la real usan el tradicional punto decimal. También es posible representar los reales
en formato científico. Para indicar el exponente se usa el carácter e o E. Ejemplos
de literales reales son 0.0, 5.1, -5.1, +15.21, 3.02e10, 2.02e-2, 98.8E+1, etc.
 Literales lógicos: Los únicos literales lógicos válidos son true y false, que
respectivamente representan los valores lógicos cierto y falso.
 Literales de carácter: Prácticamente cualquier carácter se puede representar
encerrándolo entre comillas simples. Por ejemplo, 'a' (letra a), ' ' (carácter de
espacio), '?', ‘7’, etc. Las únicas excepciones a esto son los caracteres que se
muestran en la tabla siguiente, que han de representarse con secuencias de escape
que indiquen su valor como código Unicode o mediante un formato especial tal y
como se indica a continuación:

Cód. de Esc. Cód. de Esc.


CARÁCTER Unicode especial
Comilla simple \u0027 \'
Comilla doble \u0022 \″
Carácter nulo \u0000 \0
Alarma \u0007 \a
Retroceso \u0008 \b
Salto de página \u000C \f
Nueva línea \u000A \n
Retorno de carro \u000D \r
Tabulación horizontal \u0009 \t
Tabulación vertical \u000B \v
Barra invertida \u005C \\
Los códigos de escape Unicode también se pueden usar para representar
cualquier código Unicode, por lo que suelen usarse para representar literales de
caracteres no incluidos en los teclados estándares.
 Literales de cadena: Una cadena es una secuencia de caracteres encerrados
entre comillas dobles. Por ejemplo ″Hola, amigos″, ″¿cómo te llamas?″, etc. El texto
contenido dentro estos literales puede estar formado por cualquier número de
literales de carácter concatenados y sin las comillas simples, aunque si incluye
comillas dobles éstas han de escribirse usando secuencias de escape porque si no,
el compilador las interpretaría como el final de la cadena.

Dpto. Informática Altair [ 5 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

Aparte del formato de escritura de literales de cadenas antes comentado, que es el


comúnmente utilizado en la mayoría de lenguajes de programación, C# también
admite uno nuevo consistente en precederlos de un símbolo @, caso en que todo
el contenido de la cadena sería interpretado tal cual, sin considerar la existencia de
secuencias de escape. A este tipo de literales se les conoce como literales de
cadena planos o literales verbatim y pueden incluso ocupar varias líneas. La
siguiente tabla recoge algunos ejemplos de cómo se interpretan:

Literal de cadena Interpretado como...

″Hola\tAlumno″ Hola Alumno

@″Hola\tAlumno″ Hola\tAlumno

Hola
″\tHola\nAlumno″
Alumno

@″\tHola\nAlumno″ \tHola\nAlumno

10. ¿Qué dos pasos hay que realizar antes de poder utilizar una variable?
Declaración e inicialización.

11. ¿Qué es la declaración y b) cómo se realiza?


a) Declaración es el punto del programa en el que se define el tipo de una
variable y se le asocia un identificador.
b) Se escribe el tipo y a continuación el identificador. Si se declaran
varias variables del mismo tipo, se puede utilizar un solo tipo seguido
de todos los identificadores separados por comas.
char letraNif, inicial; // declaramos dos variables de tipo char
int edad, nifSinLetra, numBloque; // declaramos tres variables de tipo int

12. ¿Qué es la operación de asignación? b) ¿Cómo se realiza?


a) Asignación es la operación en que se da un valor a la variable.
b) A la izquierda del operador “=” se coloca un identificador de una
variable ya declarada. A la derecha, cualquier expresión (literal, otra
variable, operación, función) que dé como resultado un valor del tipo de
la variable. Ejemplo:
cumple = edad + 1; //Primero se realiza la operación de la derecha y luego
//se guarda en cumple, que ya debe haberse declarado

13. ¿Cómo se llama a la primera asignación de una variable?


Se llama Inicialización.
Una variable no se puede usar antes de haberla inicializado. La inicialización
se puede realizar en la misma declaración o en cualquier zona de código
del programa.

Dpto. Informática Altair [ 6 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

14. ¿Escribe un ejemplo de declaración y asigna el valor de una variable …


a) …de tipo Entero?
 Declaración: int pesoSaco;
 Asignación: pesoSaco = 45; //después (ó en) la declaración

b) …de tipo Carácter?


 Declaración: char letraNIF;
 Asignación: letraNIF ='H'; // entre comillas simples
letraNIF =(char)72; //Código del carácter ‘H’

c) …de tipo Cadena?


 Declaración: string nombreAlum;

 Asignación: nombreAlum = "Pepe"; //Entre comillas dobles

d) …otros tipos numéricos?


 Declaración: float nota;
double nota2;

 Asignación: nota = 9.8; nota2 = 2*nota;

e) … tipo booleano?
 Declaración: bool esListo;
 Asignación: esListo = true;

Operadores

15. ¿Qué tipo de operadores tenemos en C#?


a) Aritméticos: Las básicas: +, -, *, / ,
Importante: la división entre enteros da como resultado un
entero. Ej.: 17 / 3  5. No sería 5.6666 (se trunca el valor)
Potencia ^
Módulo % // (Ej.: 7%3  1 (resto de dividir 7/3))

b) Lógicos: Conjunción Y (AND) &&


Disyunción O (OR) || (Alt Gr 1)
Negación NO (NOT) ! (shift 1)
c) Relacionales: ==, !=, <, <=, >, >= //devuelve true o false

d) De Asignación: =

Dpto. Informática Altair [ 7 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

16. Escribir la tabla de verdad de las operaciones lógicas siguientes:


conjunción (AND), disyunción (OR), o exclusiva (ExOR) y negación.

A B A&&B A || B AB !A !B
1 1 1 1 0 0 0
1 0 0 1 1 0 1
0 1 0 1 1 1 0
0 0 0 0 0 1 1

17. ¿Cómo podemos componer la operación OR Exclusiva?


En C# no existe el operador OR Exclusivo entre dos valores lógicos, A  B
pero esta operación se puede componer sabiendo que será verdadero cuando
lo sea sólo una de las dos, es decir, (A y no B) o (B y no A):
A  B = (A && !B) || (!A && B)
Demostración

AB A !A B !B A&&!B !A && B A&&!B || !A && B

0 1 0 1 0 0 0 0
1 1 0 0 1 1 0 1
1 0 1 1 0 0 1 1
0 0 1 0 1 0 0 0

18. a) ¿Qué es una constante? b) ¿Para qué se utilizan?


a) Son espacios reservados de memoria, como las variables, pero que no se
pueden modificar en el programa.
b) Normalmente sirven para darle claridad al programa y para hacer
fácilmente versiones distintas del mismo programa

19. a) ¿Condiciones a) tiene que cumplir y b) debe cumplir una constante?

a) Tiene que cumplir:


 Su identificador tiene que cumplir las mismas condiciones que los
identificadores de las variables.
 Hay que asignarle el valor al declararla, que luego no se podrá
modificar.
 Se antepone la palabra const delante del identificador.

b) Además debe cumplir las siguientes condiciones:


 Se suelen declarar globales pero no es obligatorio.
 Su identificador se escribe todo en MAYÚSCULAS

Dpto. Informática Altair [ 8 / 9]


Cuestiones de Programación 1.1 Conceptos básicos

20. Ejemplo de declaración de Constante


Ej.: const int TAMTABLA = 300,
MAXIMO = 50;
const bool VERDADERO = true;

21. ¿Qué efecto tienen los caracteres ‘\n’ y ‘\t’ dentro de una cadena?
\n Se traduce por un salto de línea
\t Se traduce por un salto de tabulador

22. ¿Qué efecto tiene anteponer el carácter @ a un literal cadena?


El carácter @ antes de un literal cadena hace que todo el contenido de la
cadena sea interpretado tal cual, sin considerar la existencia de secuencias de
escape. A este tipo de literales se les conoce como literales de cadena planos
o literales verbatim y pueden incluso ocupar varias líneas.

23. Algunas formas de convertir un entero en un tipo real (float o double).


Ejemplo: tenemos las variables, int valorEntero=12; double valorDouble
Si escribo valorEntero / 7 daría un resultado de 1 en lugar de 1,7142857
porque estamos dividiendo entero entre entero.
Si quiero obtener el valor double, debo antes convertir a double el numerador
o el denominador y puedo hacerlo de distintas formas:
valorDouble = Convert.ToDouble(valorEntero) / 7.
valorDouble = (double)valorEntero / 7: // A esto se llama hacer casting
valorDouble = 1.0 * valorEntero / 7; // convierto el numerador en double
Lo mismo que he hecho en el numerador lo puedo hacer en el denominador.
Convirtiendo el literal:
valorDouble = valorEntero / 7.0; // convierto el literal entero en double
valorDouble = valorEntero / 7d;

Dpto. Informática Altair [ 9 / 9]

También podría gustarte