Versão – Prof.: Mauro César Lopes

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Laboratório de Programação
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Versão – Prof.: Mauro César Lopes
Programação II Estruturas de Dados Aula 01
Tipos de dados, Variáveis, Expressões e Operadores
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05) Universidade Federal do Vale do São.
Linguagem Java Renata Araujo
Características imperativas de Java zTokens zOperadores zExpressões.
LINGUAGEM C.
Expressões, controle de fluxo, wrappers e strings Profa
Tópicos Preliminares na Linguagem C
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Programação II Expressões(operadores) Comandos Básicos Professora: Norminda Luiza.
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Paradigmas da Programação
Versão – Prof.: Mauro César Lopes
Linguagem C.
Laboratório de Programação de Computadores I
Linguagem C Estruturas de Sequências
Unidades de Armazenamento
Prof. Msc. Raul Paradeda Aula 3 Fundamentos
Variável Variável: “objecto” que pode assumir diversos valores;
Ling. C - Variáveis Uma variável não é mais do que o nome que nós damos a uma determinada posição de memória para conter um valor de um determinado tipo.
Linguagem C Conteúdos já desenvolvidos
O Portal do Estudante de Computação
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
C# Introdução.
Introdução a Computação e Cálculo Numérico
Arrays em Java Revisão Assuntos Aulas Anteriores
< declaração de variáveis > ( estrutura de dados )
Ameliara Freire Os programas manipulam dados, armazenando- os e, muitas vezes, modificando seus valores. Basicamente, a linguagem.
1 A Tecnologia Java. 2 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória.
Introdução a Linguagem de Programação C
PROGRAMAÇÃO ou LINGUAGEM C?
Seminário 1: Revisão de C
PROGRAMAÇÃO I UNIDADE 2.
Fábio de Oliveira Borges
PCI- Introdução a linguagem C
Prof. Daniel Aula 03.  Criar Projeto  Criar Pacote  Criando classes  Meu primeiro programa  Compilar  Comentários  Variáveis.
Tipos de Dados Paradigmas de Programação
Operadores e Atribuições Capítulo 3
Introdução à Linguagem Java
Programação em C++ Compiladores
Linguagem de Programação JAVA
Mini Curso Java como Programar
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
3. Introdução à Linguagem C
Linguagem de Programação C#
Tipos de Dados Operadores
Programação Orientada a Objetos - Java
MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
William Ivanski Curso de Programação C#. Sumário  Exercícios para Fixação  Utilizando uma IDE  Elementos da Linguagem C#  Valores  Variáveis  Tipos.
Tipos de dados inteiro caracter real logico
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Linguagem C.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 2 Variáveis e Atribuições.
Introdução Sintaxe Básica da Linguagem JAVA
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Profa. Maria Augusta Constante Puget
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
Profº Antonio Carlos Marcelino de Paula
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Transcrição da apresentação:

Versão – 091008 Prof.: Mauro César Lopes Linguagem C# Versão – 091008 Prof.: Mauro César Lopes

Sumário Identificadores Tipos Constantes Enumerações Expressões Declarações Bloco de declarações

Identificadores São nomes utilizados para identificar os elementos nos seus programas. Esses elementos podem ser: namespace (espaço de nomes), classes, métodos, variáveis, etc. Podemos usar apenas letras, número e sublinhado para compor o nome dos identificadores

Palavras Chaves C# reserva 77 identificadores, os quais não poderão ser utilizados para outros propósitos Alguns exemplos: bool, break, char, default, enum, float, ...

Variáveis Uma variável é definida como um lugar onde podemos armazenar dados temporariamente e usá-los posteriormente Normalmente um variável possui um nome (identificador) que é usado para acessar seu conteúdo Uma variável poderá armazenar um número inteiro, de ponto flutuante, um caractere, uma cadeia de caracteres (String) , um valor booleano, etc. O nome de uma variável pode conter letras, número e '_' (não pode haver sinais de pontuação e espaços em branco) Uma variável é uma localização da memória que armazena um valor, ou seja, uma caixa na memória do computador que contém informações temporárias

Boas práticas de programação Adote uma convenção de nomes que torne claras as variáveis definidas Não utilize sublinhados nos identificadores Exemplo: Use valorMercadoria ao invés de valor_da_mercadoria Não use identificadores cuja única diferença seja entre letras maiúsculas e minúsculas (Exemplo: contador e Contador) É importante notar que C# faz diferença entre letras maiúsculas e minúsculas Comece o nome com uma letra Camel Notation (Notação do Camelo) txtNamo btnOk, btnCancel frmCadastroDeAluno

Tipos de variáveis Define o tipo de dados que a variável irá armazenar Inteira (sem parte fracionária) byte, sbyte, short, ushort, int, uint, long, ulong Ponto flutuante (é capaz de representar valores fracionários) float, double, decimal Caractere char Booleana bool: valores true (verdadeiro), false (falso)

Tipos de variáveis Tipo Tamanho (em bytes) Tipo .NET Descrição byte 1 Sem sinal (0-255) char 2 Char Caractere Unicode bool Boolean Booleano (Verdadeiro ou Falso) sbyte Sbyte Com sinal (-128 a 127) short Int16 Com sinal ushort UInt16 Sem sinal int 4 Int32 uint UInt32 float Single Números de ponto flutuante double 8 Double Números de ponto flutuante de precisão dupla decimal 16 Decimal Valores monetários long Int64 Números inteiros ulong UInt64

Tipos de variáveis Tipo Tamanho (em bytes) Tipo .NET Descrição byte 1 Sem sinal (0-255) char 2 Char Caractere Unicode bool Boolean Booleano (true=Verdadeiro ou false=Falso) short Int16 Com sinal (-32.768 a 32.767) int 4 Int32 Com sinal (-2.147.483.648 e 2.147.483.647) float Single Números de ponto flutuante. Armazena os valores de aproximadamente +/- 1,5*10-45 até aproximadamente +/-3,4*10^38 com sete número significativos. Usa o sufixo F double 8 Double Números de ponto flutuante de precisão dupla (com 15 a 16 números significativos) decimal 16 Decimal Valores monetários. Precisão fixa até 28 dígitos e a posição do ponto decimal. É normalmente usado em cálculos financeiros. Exibe sufixo "m" ou "M" long Int64 Números inteiros com sinal de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 A precisão de um número refere-se ao número de dígitos significativos que o tipo de dados pode representar

Uma variável unsigned possui apenas valores positivos Variáveis Uma variável poderá ser signed (sbyte, short, int) ou unsigned (byte, ushort, uint), isto é, com sinal ou sem sinal. Uma variável unsigned possui apenas valores positivos Uma variável signed possui valores positivos e negativos unsigned = sem sinal

Exemplos de declaração de variáveis int a, idade; char ch, caracter; float f, valor; double d; string s; Toda variável deverá ser declarada explicitamente antes de ser usada

Atribuição de valores a variáveis Podemos atribuir o valor a uma variável usando o símbolo '=' (operador de atribuição) Exemplos: int a = 1; // atribui o valor 1 a variável inteira a float f = -8.76F; // observe o sufixo F char c='a'; Obs: C# não permite utilizar uma variável não atribuída (dá erro em tempo de compilação) O operador de atribuição '=' atribui o valor a direita a variável da esquerda.

Atribuições Se tentarmos atribuir um número a uma propriedade do tipo texto o programa não irá compilar Por exemplo value.text = 1;  erro value.text = "1";  ok, porém o número um está sendo tratado como texto e não como número value.text = string.Parse(1);  o número um é convertido de inteiro para uma string pelo uso do método parse da classe string

Comentários // comentário até o final da linha /* ... Comentário multilinha */ Os comentários são ignorados pelo compilador, porém são úteis aos desenvolvedores porque ajudam a comentar o que o programa está fazendo

Numéricos  agem em valores para criar novos valores Operadores Numéricos  agem em valores para criar novos valores Lógicos ou Booleanos  é um operador que faz cálculos cujo resultado é verdadeiro ou falso. Relacionais  são usados para descobrir se um valor é menor ou maior que outro do mesmo tipo Binários Os operadores aritméticos são usados para desenvolver operações matemáticas Operadores: unários  agem sob um único operando binário  agem sobre dois operandos

Operadores Numéricos (ou Aritméticos) ++, -- Incremento, decremento +, -, *, /, % adição, subtração, multiplicação, divisão, módulo (resto) Exemplo: int a = 7; int b = 3; int x,y; x = a / b; y = a % b;

Operador ++ int x; int y; x = 23; y = x++; // operador pós-fixado Console.WriteLine(x + " " + y); // 23 24 y = ++x; // operador pré-fixado Console.WriteLine(x + " " + y); // 24 e 24

Operadores Relacionais e Lógicos (Booleanos) Um operador booleano é um operador que faz um cálculo cujo resultado é true (verdadeiro) ou false (falso) Operador Ação ==, != Igual a, diferente de >, >=, <, <= Maior que, maior ou igual a, menor que, menor ou igual a && "E" lógico (AND) || "OU" lógico (OR) ! "NÃO" lógico

Operadores Lógicos Podem ser usados para testar condições mais complexas combinando condições simples Operador && ("e" lógico - AND) Operador || ("ou" lógico - OR) Operador ! ("não" lógico - NOT) Exemplo: bool porcentagemValida = (porcentagem>=0) && (porcentagem<=100);

Operadores Lógicos (Tabela Verdade) Expr1 Expr2 AND True False Expr1 Expr2 OR True False Expr1 NOT False True

Operadores Relacionais > Maior que >= maior ou igual a < menor que <= menor ou igual a

Operadores Lógicos Bit a Bit & "E" binário ^ "XOR" ou-exclusivo | "OU" binário ~ "NÃO" binário >> deslocamento de bits a direito << deslocamento de bits a esquerda

Operadores de Atribuição Uso = Atribuição simples. Atribui o valor localizado a direita do '=' a variável a esquerda *= /= %= += -= <<= >>= &= ^= |=

Operadores de igualdade e atribuição Não confunda o operador de igualdade '==' com o operador de atribuição '='. A expressão x==y compara x com y tem valor true se os dois valores forem idênticos e false caso contrário. Já a expressão x=y atribui o valor de y a variável x

Expressões São combinações de variáveis, constantes e operadores Quando montamos expressões temos que considerar a ordem em que os operadores são executados Essa ordem é definida pela tabela de precedência

Precedência de Operadores Categoria Operadores Primário (x) x.y x'y f(x) a[x] x++ x– new typeof sizeof checked unchecked stackalloc Unário + - ! ~++x –x (T)x *x &x Multiplicativo * / % Aditivo + - Deslocamento << >> Relacional < > <= >= is as Igualdade == != Lógico AND & Lógico XOR ^ Lógico OR | Condicional AND && Condicional OR || Condicional ?: Atribuição = *= /= %= += -= <<= &= ^= |= A precedência (ou prioridade) controla a ordem em que os operadores das expressão são avaliados

Seqüência de comandos Um programa é uma seqüência de comandos ou instruções (executa uma ação) <comando 1>; <comando 2>; ... <comando N>; Sintaxe = conjunto bem definido de regras que descrevem o formato e construção de uma linguagem Semântica = a especificação do que as instruções fazem Exemplo de regra de sintaxe: Toda instrução deve ser terminada com um ponto=e-vírgula O truque para programar bem em qualquer linguagem é aprender sua sintaxe e semântica e então utilizá-a de maneira natural e idiomática

Bloco de comandos Um bloco é uma seqüência de instruções agrupadas entre uma chave de abertura ({) e uma de fechamento (}) Um bloco inicia um novo escopo, isto é, define onde as variáveis serão visíveis Novas variáveis poderão ser definidas dentro do bloco, porém seus valores serão perdidos no final do bloco

Comandos condicionais Permitem que uma expressão seja avaliada e que uma ação seja executada no caso da expressão ser avaliada verdadeira (true) ou falsa (false).

Comando if É usado para que possamos escolher entre dois blocos diferentes de código com base no resultado de uma expressão booleana. A sintaxe de uma instrução if é: if(expressãoBooleana) instrução-1; else instrução-2;

Comando if - Exemplo int a = 5; if(a<0) Console.WriteLine ("a é negativo"); else Console.WriteLine ("a é positivo");

Comando if - Exemplo int a = 5; if(a<0) // avalia a condição (expressão relacional) { // avalia a condição a<0 Console.WriteLine ("a é negativo"); } else Console.WriteLine ("a é positivo");

Comandos if em cascata if(dia==0) nome="Domingo"; else if (dia==1) nome="Segunda-Feira"; else if (dia==2) else if (dia==3) else if (dia==4) else if (dia==5) else if (dia==6) if aninhados

Switch switch (expressãoDeControle) { case expressãoConstante: instruções; break; ... default: } O comando switch é próprio para se testar uma variável em relação a diversos valores pré-estabelecidos (expressãoConstante) O switch testa a variável (expressãoDeControle) e executa a declaração case correspondente ao valor da variável, caso essa seja encontrada. A declaração default, opcional, será executada caso nenhum valor constante 'case' com a expressãoDeControle.

Switch expressãoDeControle: é avaliada uma única vez expressãoConstante

Comparação if / switch if(dia==0) nome="Domingo"; else if(dia==1) nome="segunda-feira"; ... else nome="desconhecido"; switch(dia) { case 0: nome="Domingo"; break; case 1: nome="segunda-feira"; break ... default: nome="desconhecido"; } Observe que o comando break é obrigatório no final de cada caso no comando switch, mesmo do caso default (padrão)

Controle de Fluxo Um loop (laço) é uma série de instruções que devem ser repetidas até que uma certa condição seja encontrada

Controle de Fluxo Basicamente temos duas formas de controlar um laço: 1) laço controlado por contador usa-se um contador para controlar o número de repetições do laços o contador deverá ser decrementado ou incrementado a cada iteração visando que atinja uma condição de parada do laço 2) laço controlado por sentinela é necessário usar uma variável com um valor de sentinela o laço estará ativo enquanto a condição dada pela sentinela permanecer sem alteração o valor da sentinela deverá ter seu valor alterado para que o laço seja interrompido

Controle de Fluxo (2) Loops (laços) com teste no início (while) Loops (laços) com testes no final (do/while) Loops (laços) de tamanho definido (for) Saindo de loops (laços) antes do término (break) Retestando a condição em loops (laços) (ex: continue)

Repete o laço enquanto uma condição for verdadeira Exemplo: int i=0; Comando while Repete o laço enquanto uma condição for verdadeira Exemplo: int i=0; while(i<5) { Console.WriteLine (i); i = i + 1; } O comando while testa uma condição. Ele repete a declaração enquanto a condição for verdadeira.

Console.WriteLine("i={0}",i); i = i + 1; } while (i<5); Comando do/while int i=0; do { Console.WriteLine("i={0}",i); i = i + 1; } while (i<5); O comando do/while executa a declaração e testa se uma condição é verdadeira. Se a condição for verdadeira, ele executa novamente a declaração. Se a condição for falsa ele termina o loop e continua a execução do programa. Observe que a declaração é executada pelo menos uma vez independente de qualquer condição.

Exemplo do uso de do/while Console.WriteLine("Menu"); Console.WriteLine("1. Incluir"); Console.WriteLine("2. Alterar"); Console.WriteLine("3. Excluir"); Console.WriteLine("4. Consultar"); Console.WriteLine("0. Sair"); String opcao=Console.ReadLine(); } while(opcao!="0"); Um uso para estrutura do/while é a construção de menus, nos quais queremos garantir que o valor digitado pelo usuário seja válido. Esse é um exemplo de laço controlado por sentinela. O laço repetir-se-á enquanto a "sentinela" opção permanecer com um valor diferente de 0. Perceba que o usuário poderá interromper o laço caso entre com a opção 0. Perceba que não há um contador especificando quantas vezes o laço será executado.

Exercício Escreva uma aplicação que leia e exiba a tecla lida enquanto a tecla 's' não for pressionada. A aplicação deverá contar também o número de teclas pressionadas e exibi-las no final da aplicação

Repete um loop (laço) um determinado número de vezes Exemplo: Comando for Repete um loop (laço) um determinado número de vezes Exemplo: int i = 0; for(i=0;i<5;i++) { Console.WriteLine("i={0}",i); } O loop for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop for(inicialização; condição; incremento) declaração; inicialização; while(condição) { declaração; incremento; }

Comparação for x while for( inicialização; condição; incremento ) declaração; inicialização; while(condição) { declaração; incremento; }

Comparação for x while int i; for(i=0; i<=9; i++) { Console.WriteLine(i); } int i; i=0; while(i<=9) { Console.WriteLine(i); i++; }

Loop Infinito int i; for(;;) { Console.WriteLine(i); } int i; i=0; while(true) { Console.WriteLine(i); } O loop infinito é executado para sempre, a não ser que ele seja interrompido.

Console.WriteLine("i={0}",i); if(i==5) { break; } Comando break int i=0; while (i++<10) { Console.WriteLine("i={0}",i); if(i==5) { break; } Uma forma de interromper um loop infinito é usar o comando break. O comando break interrompe o loop e o programa continuará sua execução no próximo comando fora do loop

Exemplo do Comando Break int numTeclas=0; while (true) { // loop infinito // leia uma tecla em ch if(ch=='s') { break; } // exibe a tecla pressionada // incrementa contador de teclas pressionadas numTeclas++;

Comando continue int i=0; while (i<10) { if(i%2!=0) {// testa se o número for par continue; } // exibe os números ímpares Console.WriteLine(i); i++; O comando continue existe apenas dentro de um loop. Quando o comando continue é encontrado, o loop pula para próxima iteração, sem abandono do loop.

Formatação de Cadeia de Caracteres {númParâmetro,espaçoReservado:formatação} onde: númParâmetro: indica qual parâmetro está sendo formatado (0, 1, ...) espaçoReservado: indica o número de caracteres mínimos para ocupar com o parâmetro formatação: indica formatação específica do tipo de dados a utilizar

Formatação de cadeia de caracteres - Exemplo Especificação Aplicação Significado C valores em geral valor monetário de acordo com o pais local D inteiros inteiros genéricos E notação científica F valores reais numero em formato de ponto fixo G geral (é utilizada a representação mais adequada ao número) N numero de acordo com o pais local P percentagem X C currency D decimal value E exponencial F fixed floating point G general numeric value N local numerical value P percentage value X hexadecimal value

Exemplo {0,4}  parâmetro 0, 4 espaços reservados com alinhamento à direita, sem formatação específica {0,-4}  parâmetro 0, 4 espaços reservados com alinhamento à esquerda, sem formatação específica

Exemplos Console.WriteLine("{0:C}", 1000.32); Console.WriteLine("{0:D}", 23); Console.WriteLine("{0:E2}", 13.322); Console.WriteLine("{0:F2}", 13.322); Console.WriteLine("{0:G}", 13.322); Console.WriteLine("{0:G}", 13); Console.WriteLine("{0:N}", 1000000.32); Console.WriteLine("{0:P}", 0.43); Console.WriteLine("{0:X}", 29);

Exemplos (2) Console.WriteLine("{0,8:C}", 1000.32); Console.WriteLine("{0,8:D}", 23); Console.WriteLine("{0,8:E2}", 13.322); Console.WriteLine("{0,8:F2}", 13.322); Console.WriteLine("{0,8:G}", 13.322); Console.WriteLine("{0,8:G}", 13); Console.WriteLine("{0,8:N}", 1000000.32); Console.WriteLine("{0,8:P}", 0.43); Console.WriteLine("{0,8:X}", 29);

Concatenção de Strings Console.WriteLine("mauro " + "cesar " + "lopes"); Console.WriteLine("3 " + "7"); Retorna a string 37 e não a operação de 3+7=10 Para obtermos a soma de 3 + 7 teríamos que proceder da seguinte forma: Console.WriteLine(int.Parse("3") + int.Parse("7"));

Conversão de Tipos Use o método chamado Int32.Parse ou int.Parse para converter um valor contido em uma string em um inteiro se você precisar realizar cálculos aritméticos em valores armazenados em string

Conversão de Tipos // o método Console.ReadLine() recebe // retorna uma variável do tipo String String s = Console.ReadLine(); // quando temos um número representado por // uma string não podemos fazer operações aritméticas com ele // Abaixo estão definidas as variáveis i, f e d int i; float f; double d; // converte uma variável do tipo String (s no exemplo) em um inteiro i = int.Parse(s); // converte uma variável do tipo String (s no exemplo) em um float f = float.Parse(s) // converte uma variável do tipo String (s no exemplo) em um double d = double.Parse(s)

Definição de Constantes const <tipo> <nomeDaConstante> = <valor> Exemplos: const int numLinhas = 3; const int numColunas = 2;

Possui acesso direto a cada elemento através de índices Arrays O array é uma estrutura de dados de tamanho finita que armazena elementos do mesmo tipo. Possui acesso direto a cada elemento através de índices O primeiro elemento do array é acessado através do índice 0. Se o array possuir n elementos, então o índice no n-ésimo elemento será dado por n-1 O array é uma estrutura de dados de tamanho finita que armazena elementos do mesmo tipo. Possui acesso direto a cada elemento através de índices

tipoDoVetor[] nomeDoVetor = new tipoDoVetor[N] Vetores Para criar um vetor que armazene N elementos de um certo tipo (tipoDoVetor), utiliza-se a seguinte forma: tipoDoVetor[] nomeDoVetor = new tipoDoVetor[N] O vetor é uma matriz unidimensional

Criação de um vetor com a nota de prova de cada aluno da turma Vetores - Exemplo Criação de um vetor com a nota de prova de cada aluno da turma int numAlunos=30; double[] notas = new double[numAlunos]; double[] = "leia-se double array"

Vetores Para acessar cada elemento do array, usa-se o índice do elemento entre colchetes: // coloca na posição 3 (isto é, 4ª posição) do // vetor a nota 7.9 notas[3]=7.9; // atribui a nota da posição 0 do vetor double nota = notas[0];

Vetores Observe que o primeiro elemento do array é o elemento 0 [0]  primeiro elemento [1]  segundo elemento ... [N-1]  enésimo elemento

Criação e inicialização de um vetor // Cria e inicializa um vetor string[] nomeDePessoas = { "Antonio", "Jose", "Joao"}; string[] nomeDePessoas = new String[] { "Antonio", "Jose", "Joao"}; Obs: o compilador determina qual deverá ser o tamanho do vetor

Matrizes Multidimensionais São matrizes com mais de uma dimensão (duas, três, quatro, ...) Exemplo: Uma matriz bidimensional de 2 linhas por 3 colunas (2x3) int[,] matriz = new int[2,3]; Uma matriz tridimensional de 3 linhas, por 3 colunas por 3 níveis de profundidade é definida como: int[,,] matriz3D = new int[3,3,3];

Acesso de elementos matriz[1,2]=35; int valor = matriz[1,2];

Exemplo - Matriz com três dimensões double[,,] matriz3D = new double[10,10,10]; matriz3D[0,0,1]=1.0; matriz3D[0,1,0]=0.65; ...

Inicialização de Matrizes // inicializa uma matriz bidimensional (2 x 3), // isto é, duas linhas e três coluna int[,] matriz = { {1,2,3}, {4,5,6} }; Cada linha é iniciada por '{' e finalizada por '}'. As colunas são listadas entre ','

Inicialização de Matrizes // inicializa uma matriz bidimensional (3 x 2), // isto é, três linhas e duas coluna int[,] matriz = { {1,2}, {3,4}, {5,6} };

Alguns métodos da matrizes matriz.Length  obtém o número de elementos da matriz matriz.Rank  obtém o número de dimensões da matriz matriz.GetLength(dim)  obtém o número de elementos da dimensão dim (inicia por 0)

Soma de Matrizes int[,] matrizA = { {1,2,3}, {4,5,6} }; int[,] matrizB = { {4,-1,2}, {-3,-7,-6} }; int[,] matrizC = new int[2,3]; // duas linha e // três colunas // C = A + B

Multiplicação de Matrizes int[,] matrizA = { {1,2}, {4,5} }; int[,] matrizB = { {4,-1}, {-3,-7} }; int[,] matrizC = new int[2,2]; // C = A x B Condições: - o número de colunas da matriz A deverá ser igual ao número de linhas da matriz B - a matriz resultante, C, terá a dimensão dada pelo número de linhas da matriz A e o número de colunas da matriz B

Multiplicação de Matrizes Cada elemento c[i,j] será dado pela multiplicação dos elemento da linha i multiplicados pelos elementos da linha j c[i,j] += a[i,k] * b[k,j] onde k varia de 0 a número de linhas da matriz A ou número de colunas da matriz B, que são iguais

Criando um método para exibir uma matriz static void print(double[,] a) { // numero de linhas int m = a.GetLength(0); // numero de colunas int n = a.GetLength(1); for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) Console.Write("a[{0},{1}]={2}",i,j,a[i, j]+"\t"); } Console.WriteLine();

Laço foreach/in Usado para percorrer arrays ou coleções Não necessita testar condição booleana para garantir sua execução Quando todos os elementos do array ou coleção tiverem sido varridos, o laço será abandonado

foreach/in string[] alunas = {"giovanna","fabiana","livia","iris"}; // percorre os nomes presentes no array // alunas foreach (string nome in alunas) { Console.WriteLine(nome); }

Backup - Slides

Palavras chave da Linguagem C# abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explict extern false finally

Palavras chave da Linguagem C# (2) fixed float for foreach get goto if implict in int interface internal is lock long namespace new null object operator out override params private protected

Palavras chave da Linguagem C# (3) public readonly ref return sbyte sealed set short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using

Palavras chave da Linguagem C# (4) value virtual void volatile while

Classe String Propriedades Métodos

Propriedades e Métodos Length  retorna o número de caracteres da String ToUpper()  converte para maiúsculas ToLower()  converte para minúscula IndexOf()  retorna a primeira ocorrência do caracter na string LastIndexOf()  retorna a última ocorrência do caráter na string Substring() Remove