Criptografia
1ª Lista de Exercícios – Paradigmas de Programação – Aulas 1 a 5
1) A tabela abaixo apresenta as 32 duas palavras reservadas da linguagem C#. Quais poderiam ser eliminadas sem que linguagem perdesse sua funcionalidade mínima como linguagem de programação?
auto default float register struct volatile break do for return switch while case double goto short typedef
char else if signed union
const enum int sizeof unsigned
continue extern long static void
Uma linguagem de programação deve possuir ao menos uma variável do tipo inteiro, uma do tipo real e outra do tipo caractere; assim, as palavras int, double e char não podem ser eliminadas (optei por manter a double, porque é maior que a float).
Um comando condicional também é necessário, por isso if e else, devem ser mantidos.
Por último, também é preciso ao menos um comando de repetição, por isso while e do devem ser mantidos.
Assim, as palavras que poderiam ser eliminadas são:
auto default float register struct volatile break
for return switch
case
goto short typedef
signed union const enum sizeof unsigned continue extern long static void
2) O que é a cardinalidade de uma variável? De que formas as cardinalidades de duas variáveis podem ser combinadas?
Cardinalidade é a quantidade de valores diferentes que uma variável pode assumir.
As cardinalidades de duas variáveis S e T podem ser combinadas de duas formas:
Produto cartesiano: ocorre quando, por exemplo, criamos um vetor ou associamos duas variáveis em um par. Neste caso a cardinalidade do conjunto é #S x #T.
União: ocorre quando criamos uma variável pela sobreposição de duas variáveis. Neste caso, a cardinalidade é #S + #T.
3) O que é aridade de um operador? Cite exemplos.
Aridade é a quantidade de operadores que um operador relaciona. Exemplos:
A + B: + é um operador binário,