C# - Elementos básicos Daniela da Cruz 2010 Elementos Básicos Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas Linguagens de Programação - Daniela da Cruz 2010 2
Elementos Básicos Os programas são organizados em classes, que encapsulam dados e métodos; Os métodos representam o local onde é implementada a funcionalidade desejada, sobre a forma de um conjunto de instruções; Os blocos de código são agrupados em chavetas; Linguagens de Programação - Daniela da Cruz 2010 3 Elementos Básicos O programa começa sempre a executar no método Main(). Este método deverá ser regra geral : static void; A directiva using permite importar, para o espaço de nomes correste, o conjunto de símbolos definidos noutro espaço de nomes; UsingSystem; É possível aceder a elementos de outro espaço de nomes sem utilizar a directiva using. Math.sqrt(10) Linguagens de Programação - Daniela da Cruz 2010 4
Tipos de Dados (1) Tipo Gama de Valores Tamanho sbyte -128 até 127 8 bits byte (sem sinal) 0 até 255 8 bits char (unicode) U+0000 até U+ffff 16 bits short -32.768 até 32.767 16 bits ushort (sem sinal) 0 até 65.535 16 bits int -2.147.483.648 até 2.147.483.647 32 bits uint (sem sinal) 0 até 4.294.967.295 32 bits long -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807 64 bits ulong (sem sinal) 0 até 18.446.744.073.709.551.615 64 bits Tipo Gama de Valores Precisão Tamanho float 1.5x10-45 até 3.4x10 38 7 dígitos 32 bits double 5.0 10-324 até 1.7 10 308 15-16 dígitos 64 bits decimal 1.0x10-28 até 7.9x10 28 28 dígitos 128 bits Linguagens de Programação - Daniela da Cruz 2010 5 Tipos de Dados (2) Quando se faz uma atribuição de um valor a uma variável, chama-se ao valor um valor literal int x = 10; // um literal simples é considerado decimal int y = 0x0a; // um número hexadecimal começa com 0x double valor = 1.3e15; //utilização do formato cientifico Linguagens de Programação - Daniela da Cruz 2010 6
Tipos de Dados (3) Conversão implícita: int x = 10; double y = 20.0; x = y + x; Conversão explicita: double a = 20.0; int l =(int) (a+1); Sempre que existe uma conversão explicita, no caso de valores inteiros, esta é feita por truncatura: float origem = 3.765f; int destino = (int) origem; // destino fica com o valor 3 Linguagens de Programação - Daniela da Cruz 2010 7 Tipos de Dados (4) Tipo Gama de Valores Tamanho bool True ou false 8 bits bool fim = true; If (fim) { } console.writeline ( adeus! ); Linguagens de Programação - Daniela da Cruz 2010 8
Tipos de Dados (5) Tipo Tamanho Descrição CHAR 16 bits Tipo que permite representar por exemplo uma letra char c1 = a ; //um carácter simples char c2= \u0041 ; //um carácter representado em unicode char c3 = \n ; //uma sequência de escape Sequência Nome do Caracter \' Plica \" Aspa \\ Barra para trás \b Andar para trás (backspace) \f Avanço de Página \n Nova Linha \r Retornar ao ínicio da linha (carriage return) \t Tabulação Horizontal \v Tabulação Vertical \a Som (beep) \0 Valor nulo Linguagens de Programação - Daniela da Cruz 2010 9 Tipos de Dados (6) Tipo Tamanho Descrição string 20 ou mais bytes Tipo que permite representa uma cadeia de caracteres As cadeias de caracteres, ou strings, são representadas pelo tipo string. Na verdade, as strings são objectos e não elementos de um tipo de dados primitivo. string s1 = bom fim ; string s2 = de semana! ; string s3 = s1 + s2; //faz a junção de s1 com s2 em s3 int tamanho = s3.length; //devolve o tamanho da string s3 char c = s3[0]; //devolve o carácter b que se encontra na posição 0 string parte = s3.substring (4,7); // guarda a pala fim que começa na //posição 4 e termina na 7 Linguagens de Programação - Daniela da Cruz 2010 10
Variáveis Quando se está a escrever um programa, é possível declarar uma variável em qualquer parte do código. Não se pode declarar uma variável com o mesmo nome de uma variável anteriormente definida. int s1 = 10; Linguagens de Programação - Daniela da Cruz 2010 11 Constantes Existem também situações em que não se necessita de uma verdadeira variável mas sim de um nome simbólico para um certo valor constante para isso utiliza-se a palavra-chave const. const double PI = 3.141526535; As constantes têm de ser inicializadas quando são declaradas e nunca mudam de valor. Podem ser declaradas em qualquer ponto do código. Linguagens de Programação - Daniela da Cruz 2010 12
Expressões e operadores Precedência Operador Descrição Primária (expressão) Parêntesis, permitem agrupar uma expressão. X++ X-- Post-increment, utiliza a variável, incrementando-a de seguida. Post-decrement, utiliza a variável, decrementando-a de seguida. Unitária +x Positivo unitário -x Negativo unitário, inverte o sinal!x Not, nega o valor de uma variável. ~x Complemento para um, nega todos os bits de uma variável ++x --x (tipo) x Pré increment Pré-decremente Cast, conversão explicita de uma variável num certo tipo multiplicativa x * y Multiplicação x / y Divisão x % y Resto de divisão Linguagens de Programação - Daniela da Cruz 2010 13 Expressões e Operadores Precedência Operador Descrição Aditiva x + y x y Deslocamento x << n Deslocamento à esquerda, desloca os bits da variável x em n bits à esquerda Relacional x >> n x < y x > y x <= y x >= y Deslocamento à direita, desloca os bits da variável x em n bits à direita Igualdade x is tipo X == y X!= y Verifica se uma variável é de um certo tipo Linguagens de Programação - Daniela da Cruz 2010 14
Expressões e Operadores Precedência Operador Descrição Operações lógicas binárias Operações lógicas sobre variáveis X & y X ^ y X y X && y x y cond? a : b And binário (e lógico) Xor binário (ou exclusivo) Or (ou lógico) Testa se ambas as operações são verdadeiras Testa se pelo menos uma das operações é verdadeira Condição com resultado, verifica se a condição é verdadeira; Caso seja, o resultado é a, senão o resultado será b int x = 20; int y = (x>10)? 5 : 7; // caso x seja maior que 10, y fica com o valor 5, senão //fica com o valor 7 Linguagens de Programação - Daniela da Cruz 2010 15