Escolar Documentos
Profissional Documentos
Cultura Documentos
2009/2010
LP 2009/20010
ajtavares@ipca.pt
Agenda:
Variáveis e memória
Rigidez de tipos
Constantes
Tipos de dados primitivos
Tipo de dados String
Interatividade
Expressões e Operadores
Expressões de controlo de fluxo
Expressões condicionais
Expressões de selecção de alternativa
Expressões de repetição
Aninhamento de expressões de controlo de fluxo
Exemplos
LP 2009/20010
2
ajtavares@ipca.pt
1
1- Variáveis e Memória
Uma variável é uma área de memória que armazena valores de um
determinado tipo – é identificada por um nome e tem um tipo
LP 2009/20010
3
ajtavares@ipca.pt
1- Variáveis e Memória
Declaração de variável:
tipoDaVariavel nomeDaVariavel = valorInicial;
tipoDaVariavel nomeDaVariavel;
LP 2009/20010
4
ajtavares@ipca.pt
2
1- Variáveis e Memória
Operação de atribuição ( = )
variável = expressão;
Exemplos: contador = 0;
letra = ‘a’;
contador = contador + 10;
LP 2009/20010
5
ajtavares@ipca.pt
2- Constantes
Operação de atribuição ( = )
const tipoDaConstante nomeDaConstante = valor;
Igual a uma variável mas o seu conteúdo não pode ser alterado
através da operação de atribuição
LP 2009/20010
6
ajtavares@ipca.pt
3
3- Tipos de dados Primitivos
Tipo Intervalo Tamanho
sbyte -128 to 127 Assinado inteiro de 8 bits
LP 2009/20010
7
ajtavares@ipca.pt
ulong 0
bool false
LP 2009/20010
8
ajtavares@ipca.pt
4
4- Tipo de dados String
String: sequência de caracteres
string nomeVar;
LP 2009/20010
9
ajtavares@ipca.pt
5- Interactividade
Leitura de valores através da consola
O resultado da operação é sempre uma string que terá de ser
convertida para posterior utilização
int x = Int32.Parse(linha);
int y = Int.Parse(linha); //errado não existe Int
int z = int.Parse(linha);
int w = int.Parse(Console.ReadLine());
LP 2009/20010
10
ajtavares@ipca.pt
5
5- Interactividade
Escrita de valores para a consola
O valor parâmetro terá de ser sempre uma string ….
int x = 10;
string nome = “Tavares” + linha; // concatenação de strings
Console.WriteLine(nome);
Console.WriteLine(“Isto é um numero…” + x);
LP 2009/20010
11
ajtavares@ipca.pt
5- Expressões e Operadores
Expressões:
Uma expressão é uma combinação de operandos e operadores.
LP 2009/20010
12
ajtavares@ipca.pt
6
5- Expressões e Operadores
Exemplos:
6/2/3 é calculado como (6/2)/3
neste caso a associatividade é à esquerda
LP 2009/20010
13
ajtavares@ipca.pt
5- Expressões e Operadores
Principais Operadores em ordem de precedência:
LP 2009/20010
14
ajtavares@ipca.pt
7
5- Expressões e Operadores
Operadores de atribuição combinados:
O operador de atribuição pode ser combinado com outros operadores
aritméticos
Estes operadores têm associatividade à direita
Operador Significado
= Atribuição simples
+= Atribuição com adição
-= Atribuição com subtração
*= Atribuição c/ multiplicação
/= Atribuição c/ divisão
%= Atribuição do resto
Testar Variantes: =+ =-
LP 2009/20010
15
ajtavares@ipca.pt
5- Expressões e Operadores
Operadores relacionais
Comparação entre valores do mesmo tipo;
O resultado será sempre do tipo lógico (true,false);
têm menor prioridade que os operadores aritméticos
LP 2009/20010
16
ajtavares@ipca.pt
8
5- Expressões e Operadores
Operadores lógicos
Utilizados no processo de tomada de decisão e controles de repetição
O resultado será sempre do tipo lógico (true,false);
têm menor prioridade que os operadores aritméticos
Operador Significado
LP 2009/20010
17
ajtavares@ipca.pt
6- Controlo de Fluxo
Expressões de controlo de fluxo
Permitem alterar o fluxo de execução de um programa
Tipos:
Expressões condicionais
Expressões de selecção de alternativa
Expressões de repetição com base numa condição
Expressões de repetição com base num contador
Quebra de Ciclos
LP 2009/20010
18
ajtavares@ipca.pt
9
6- Controlo de Fluxo
Expressões condicionais (IF-THEN)
o bloco de instruções (ou a instrução) é executada se a condição
lógica for verdadeira
if (<condição>)
{
<bloco de instruções>
}
if (<condição>) <instrução>;
LP 2009/20010
19
ajtavares@ipca.pt
6- Controlo de Fluxo
Expressões condicionais (IF-THEN-ELSE)
se condição lógica for verdadeira é executado o primeiro bloco de
instruções (ou a instrução) senão é executado o segundo bloco
if (<condição>)
{
<primeiro bloco de instruções>
}
else
{
<segundo bloco de instruções>
}
LP 2009/20010
20
ajtavares@ipca.pt
10
6- Controlo de Fluxo
Expressões de selecção de alternativa (switch)
É executado um bloco de instruções de acordo com o valor de uma
variável
switch (<variável>)
{
case <valor>:
<bloco de instruções>
break;
…
case <valor>:
<bloco de instruções>
break;
…
default:
<bloco de instruções>
break;
}
LP 2009/20010
21
ajtavares@ipca.pt
6- Controlo de Fluxo
Expressões de repetição com base numa condição
É executado um bloco de instruções de acordo com o valor de uma
variável
Primeiro é testada a condição, só se esta for verdadeira o bloco de
instruções é executado
while (<condição>)
{
<bloco de instruções>
}
LP 2009/20010
22
ajtavares@ipca.pt
11
6- Controlo de Fluxo
Expressões de repetição com base numa condição
É executado um bloco de instruções de acordo com o valor de uma
variável
Primeiro é executado o bloco de instruções, depois é testada a
condição, se esta for verdadeira o bloco volta a ser repetido
LP 2009/20010
23
ajtavares@ipca.pt
6- Controlo de Fluxo
Expressões de repetição com base num contador
É executado um bloco de instruções de acordo com o incremento de
uma variável enquanto uma condição for verdadeira
Primeiro são executadas as operações sobre a variável de controlo, e
só depois é executado o bloco de instruções
LP 2009/20010
24
ajtavares@ipca.pt
12
6- Controlo de Fluxo
Quebra de ciclos - break
Em qualquer bloco de instruções numa expressão de repetição o
comando break termina o ciclo
O seu uso leva a uma Programação pouco estruturada
LP 2009/20010
25
ajtavares@ipca.pt
6- Controlo de Fluxo
Aninhamento de estruturas de controlo de fluxo
Uma expressão de repetição é no seu todo um comando como
outro qualquer
Pode fazer parte de um qualquer bloco de instruções
As combinações podem ser as mais variadas, tendo apenas de
respeitar este principio de que esta expressão é um comando como
outro qualquer
LP 2009/20010
26
ajtavares@ipca.pt
13