Buscar

Roteiro Laboratorio 02 - LPII

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Linguagem Programação II
Prof. Edson Batista de Sena
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Roteiro Laboratorio 01 - LPII
Agenda
Sintaxe Básica da Linguagem;
Variáveis;
Expressões;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Definição
Se os programas de computador são basicamente a realização de operações em dados, precisamos de uma forma de armazenagem dos dados e alguns é todos para manipulá-los.
 Essas duas funções são fornecidas pelas VARIÁVEIS e EXPRESSÕES.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Sintaxe Básica do C#
A aparência e o funcionamento do código C# são semelhantes àqueles do C++ e do Java;
Ao contrário dos compiladores de algumas outras linguagens, os compiladores C# não observam o espaçamento adicional no código, seja por meio de espaços, mudança de linha ou caracteres de tabulação;
O código C# é formado por uma série de instruções, cada qual terminada por um ponto e vírgula;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
 O C# é uma linguagem estruturada em blocos
delimitados por chaves ( “{“ e “}”), podendo conter qualquer quantia de instruções. Os caracteres-chave não precisam vir seguidos de ponto e vírgula;
Ex: 	{
	<linha de código 1, instrução 1>;
	<linha de código 2, instrução 2>
	<linha de código 3, instrução 2>;
	}
 
Sintaxe Básica do C#
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Os blocos de código podem ser aninhados uns nos outros (blocos podem conter outros blocos);
Ex: {
	<linha de código 1>;
	{
		<linha de código 2>;
		<linha de código 3>;
	}
	<linha de código 4>;
 }
 
Sintaxe Básica do C#
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Sintaxe Básica do C#
Os COMENTÁRIOS não são exatamente um código C#, mas podem co-habitar com ele.
Tipos de comentários em C#:
a)De Bloco – Inicia com /* e termina com */
Ex: /* Este é um comentário */
/* E este ...
.......... também */
b)De Linha – Começa com //
Ex: // Este é um tipo de comentário diferente
c)De Documentação em XML – Começa com ///
Ex: /// Um comentário especial
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Sintaxe Básica do C#
O código C# é case sensitive ( faz a diferenciação entre maiúsculas e minúsculas);
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Variáveis no C#
Variáveis dizem respeito ao armazenamento de dados;
Podemos fazer analogia das variáveis na memória de um computador como caixas em uma prateleira;
Com as caixas podemos colocar e retirar coisas ou podemos simplesmente olhar dentro de uma caixa para ver se há algo dentro nela;
O mesmo vale para as variáveis; nós colocamos os dados nelas e podemos retirá-los ou olhar seu conteúdo, conforme a necessidade;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Variáveis no C#
Embora todos os dados em um computador sejam efetivamente a mesma coisa (uma série de zeros e uns), as variáveis têm espécies diferentes (tipos).
Fazendo analogia com as caixas, podemos imaginar que as nossas caixas tem tamanhos e formas diferentes e algumas coisas se encaixarão apenas em determinadas caixas;
Os tipos de dados poderão requerer diferentes métodos de manipulação e ao restringir as variáveis a tipos individuas evitamos que eles se misturem;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Variáveis no C#
 Para usar variáveis temos que declará-las, ou seja, devemos atribuir a elas um nome e um tipo, quando então poderemos usá-las como unidades de estocagem para o tipos de dados que declaramos que elas teriam;
 A sintaxe C# para a declaração de variáveis envolve a especificação do tipo e do nome da variável:
< tipo > < nome > ;
int num1;
float num2;
string nome;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Declaração de Variáveis
Regras básicas:
1. O primeiro caractere de um nome de variável deverá ser ou uma letra, ou um sublinhado(“_”) ou “@”;
2. Os caracteres subsequentes podem ser letras, sublinhados ou números;
3. Não se pode usar palavras-chave.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Declaração de Variáveis e Atribuição de valores
 Declaramos as variáveis usando o seu tipo e nome:
int idade;
 Depois, atribuimos valores usando o operador de
atribuição (=):
idade = 25;
 Podemos declarar muitas variáveis do mesmo tipo
simultaneamente:
int xSyze, ySyze;
Declarar e atribuir valor às variáveis ao mesmo
tempo:
int xSyze=4, ySyze=5;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Operadores
Podemos ser classificados em:
Unários – que atuam em um único operando;
Binários – que atuam em dois operandos;
Ternários – que atuam em três operandos.
A maior parte pertence à categoria dos binários, com alguns unários e um único ternário chamado condicional (LÓGICO).
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Operadores Matemáticos
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Operadores de Atribuição
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Precedência de Operadores
Quando uma operação é avaliada, cada operador é processado na sequência . Isto não significa, necessariamente, que esses operadores sejam avaliados da esquerda para a direita.
var1 = var2 + var3; (o operador + atua antes de = )
Podemos controlar a precedência dos operadores usando parênteses.
var1 = (var2 + var3) * var4;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Precedência de Operadores
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Declaração de Variáveis e Atribuição de valores
int numero = 15; //variável numero recebendo valor 15
numero = numero + 10; // variável numero recebendo incremento de 10, ficando com valor 25
numero = 36 * 15; // este comando apaga o valor anterior e armazena o valor da operação que é 540
numero = 12 – (42 / 7); // a primeira operação realizada é a divisão pela precedência de operadores em seguida o valor é aramazenado na variável numero 
numero += 10; // este comando (+=) significa que a variável manterá o valor inicial e incrementará em 10
numero *= 3; // este comando (*=) mantém o valor inicial e multiplicará por 3
numero = 71 / 3; // o resultado da divisão é 23,66666, porém o valor armazenado será somente 23, uma vez que a variável foi declarada como inteiro.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Revisando a sintaxe do C#
Cada comando precisa terminar com um ponto e virgula.
x = x+1;
Um comentário de linha começa com duas barras.
// esta linha será ignorada 
Os espaços em branco é ignorada.
x = 3; é a mesma coisa que x = 3;
Variáveis são declaradas usando tipo e depois o nome.
int peso; // peso irá armazenar um inteiro
Blocos de código são delimitados dentro de chaves { }.
 public void vamos( )
{
 //seu código aqui
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Laços e Repetições
Até agora, a execução dos programas seguia de linha para linha e de cima para baixo, sem perder coisa alguma.
Se todos os aplicativos funcionassem assim, estaríamos bastante limitados quanto ao que poderíamos fazer.
O tipo bool pode conter apenas um de dois valores, true ou false. Este tipo é usado para armazenar o resultado de uma comparação.
As comparações booleanas requerem o uso de operadores de comparação booleanos ou relacionais.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Operadores Relacionais
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Os comandos if/else
Forma mais versátil e útil de tomar decisões. Adequado para executar grandes partes de código baseadas em comparações.
Use os comandos “if/else” para dizer aos seus programas para fazer coisas apenas no caso de as condições estabelecidas serem ou não verdadeiras. 
Sintaxe :
if (<teste>)
<código executado se <teste> for verdadeiro>;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Os comandos if/else
if (algumValor == 24)
{
MessageBox.Show(“O valor
foi 24.”);
}
-------------------------------------------
if (algumValor == 24)
{
MessageBox.Show(“O valor foi 24.”);
}else{
	MessageBox.Show(“O valor não foi 24.”);
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Laços de Repetição (Looping)
O looping ocorre quando as instruções são executadas repetidamente. Essa técnica pode ser bastante, visto que com ela podemos repetir as operações quantas vezes quisermos (milhares, talvez milhões de vezes) sem precisar escrever o mesmo código a cada vez.
Uma aplicação de loop importante é aquela que executamos até que uma determinada condição seja verificada.
Os Laços de Repetição (Loopping) dizem ao seu programa para executar um certo conjunto de instruções enquantoo uma condição especifica for verdadeira ou falsa.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Laços de Repetição (while)
Num laço while (enquanto), todos os comandos dentro das chaves são executadas enquanto a condição for atendida.
{
	int x = 15,
	while (x > 5)
	{
 x = x-3;
	}
	MessageBox.Show(“O valor de x é:” + x);
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Laços de Repetição (for)
Os Laços “for” são executados por um determinado número de vezes, e mantém o seu próprio contador. Para definir um loop for, precisamos das seguintes informações:
1. Um valor de início para inicializar a variável contador.
2. Uma condição para continuar o loop, geralmente envolvendo a variável contador.
3. Uma operação a ser realizada no final de cada ciclo do loop, geralmente na variável contador.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Laços de Repetição (for)
{
	for (int i=0; i<8; i=i+2)
	{
		MessageBox.Show(“Vou aparecer 4 vezes”);
	}
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Vamos Praticar !!!
No Visual Studio 2010, crie um novo aplicativo Windows Form;
Insira 4 botões simples, como na imagem abaixo:
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Botão 01...
Clique duas vezes no primeiro botão e adicione os seguintes comandos ao método button1 click( ). Examine e avalie atentamente o código e o resultado que ele produz:
 private void button1_Click(object sender, EventArgs e)
 {
 String nome = "José"; //declaração da variável tipo String
 int x = 3; //declaração da variável x do tipo inteiro 
 x = x * 17; //atribuição a x do valor de x multiplicado por 17
 double d = Math.PI / 2; //declaração da variável d, recebendo o valor de PI dividido por 2
 MessageBox.Show("nome é " + nome + "\nX é " + x + "\nD é " + d); //exibição de todas as variáveis em uma tela de mensagem
 
 }
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Botão 2 ...
Clique duas vezes no segundo botão e adicione os seguintes comandos ao método button2 click( ). Examine e avalie atentamente o código e o resultado que ele produz:
private void button2_Click(object sender, EventArgs e)
 {
 int x = 5;
 if (x == 10)
 {
 MessageBox.Show("X é igual a 10");
 }
 else
 {
 MessageBox.Show(" X é diferente de 10");
 }
 }
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Botão 3 ...
Clique duas vezes no terceiro botão e adicione os seguintes comandos ao método button3 click( ). Examine e avalie atentamente o código e o resultado que ele produz:
{
 int resultado = 0;
 int x = 6;
 while (x > 3)
 {
 resultado = resultado + x;
 x = x - 1;
 }
 for (int z = 1; z < 3; z = z + 1)
 {
 resultado = resultado + z;
 }
 MessageBox.Show("O resultado é: " + resultado);
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Botão 4 ...
private void button4_Click(object sender, EventArgs e)
 {
 int contador = 0;
 while (contador < 10)
 {
 contador = contador + 1;
 }
 for (int i = 0; i < 5; i++)
 {
 contador = contador - 1;
 }
 MessageBox.Show("O Resultado é: " + contador);
 }
 }
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Analise os laços a seguir e apresente o resultado obtido:
LAÇO 01
int contador = 5;
while (contador > 0)
{
	contador = contador * 3;
	contador = contador * -1;
}
LAÇO 02
int i = 0;
while (i == 0);
{
	contador = contador * 3;
	contador = contador * -1;
}
LAÇO 03
int j = 2;
for (int i = 1; i < 100; i = i*2;
{
	j = j – 1;
	while (j < 25)
	{
		j = j + 5;
	}
}
LAÇO 04
int p = 2;
for (int q = 2; q 32; q = q * 2)
{
	while (p < q)
	{
		p = p * 2;
	}
 q = p – q;
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Junte os fragmentos de código e gere o programa correto
MessageBox.Show(resultado);
x=x-1;
Resultado = resultado + “-”;
int x = 3;
string Resultado = “”;
while (x > 0) 
{
if (x > 2){
resultado = resultado + “a”;
}
if (x == 1) { resultado = resultado + “d”;
x = x – 1;}
if (x==2) { resultado = resultado + “b c”;}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão de Tipos
Mesmo sendo possível passar uma sequência de bits de uma variável para outra de um tipo diferente, os resultados podem não ser o que se espera.
Precisamos então de uma conversão de tipo nos dados, para viabilizar o mapeamento de bits de uma variável para outra.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão de Tipos
A conversão de tipos pode assumir duas formas:
Conversão implícita – em que a conversão do tipo A para o tipo B é possível em todas as circunstâncias e as regras para realizar a conversão são simples o suficiente para que possamos confiar no compilador.
 Conversão explícita – em que a conversão do tipo A para o tipo B é possível apenas em determinadas circunstâncias ou em que as regras para a conversão sejam complicadas o suficiente para merecer um processamento adicional de alguma espécie.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Implícita
A conversão implícita não requer nenhum código adicional para efetuá-la, basta o uso do comando de atribuição.
Exemplo:
ushort varDestino;
char varFonte;
varDestino = varFonte;
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Implícita
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Explícita
A conversão explícita ocorre quando pedimos explicitamente ao computador que converta o valor de um tipo de dados para outro.
Elas requerem código extra para se obter a conversão exata.
kmInicial = (int)numericUpDown1.Value;
kmFinal = (int)numericUpDown2.Value;
string temp2 = temp.ToString();
Double e1 = (Double)Convert.ToDouble(textBox1.Text);
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Explícita
A conversão explícita ocorre quando pedimos explicitamente ao computador que converta o valor de um tipo de dados para outro.
Elas requerem código extra para se obter a conversão exata.
kmInicial = (int)numericUpDown1.Value;
kmFinal = (int)numericUpDown2.Value;
string temp2 = temp.ToString();
Convert.ToChar(temp);
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Somando dois inteiros usando Componente textBox
		 
{
		 int a1 = (int)Convert.ToInt16(textBox1.Text);
 int a2 = (int)Convert.ToInt16(textBox2.Text);
 int a3 = a1 + a2;
 string temp = Convert.ToString(a3);
 textBox3.Text = temp;
}
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Explícita (Overflow)
Devemos ficar atentos ao forçar a conversão de uma variável, caso a variável de destino não suporte o tamanho do conteúdo da variável de origem, ocorrerá o que chamamos de “Overflow”. 
Exemplo:
byte varDestino;
short varFonte = 281;
varDestino = (byte) varFonte;
Qual o resultado produzido????
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Explícita (Overflow)
O que acontece? Verificando a
representação binária dos números 25 e 281, percebemos que o bit mais à esquerda foi perdido.
281 = 100011001
25 = 000011001
255 = 011111111
O que produzirá o resultado:
valor de varFonte: 281
valor de varDestino: 25
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Conversão Explícita (Overflow)
Durante a codificação o programador poderá solicitar ao compilador que verifique se está havendo sobrecarga da variável. Para isso ele poderá utilizar a expressão “checked”
byte varDestino;
short varFonte = 281;
varDestino = checked((byte) varFonte);
O que produzirá um erro de compilação quando o código for executado.
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
© Denis R. de Carvalho – denisrcarvalho@hotmail.com
Atividades de Fixação – Dupla - 5 pts
1) Escrever na tela: “Hoje é Sexta - Feira, 23 de Agosto de 2013”.
2) Faça uma aplicação que receba os valores da expressão (A+B)x C em caixa de texto para as variáveis, faça os calculos e exiba o resultado em outra caixa de texto.
3) Faça uma aplicação que receba um valor em caixa de texto e calcule a raiz quadrada de um número.
4) Faça uma aplicação que receba as dimensões de um retângulo e exiba os valores em uma caixa de texto.
5) Faça uma aplicação que receba os valores dass variáveis de uma equação do segundo grau e retorne o resultado para o usuário.
6) Faça uma aplicação que compare três números e retorne o maior.
7) Faça uma aplicação que faça o calculo da área da circunferência.
8) Faça uma aplicação gráfica cujo o usuário digita o KM inicial e KM final e a aplicação calcula o custo total da viagem e o KM percorrico, lembrando que o custo do KM é de R$ 0,85 por KM rodado. O resultado deverá ser exibido em uma Label e em uma Caixa de Texto (TextBox)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais