Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1
Introdução a Linguagem C# 2
Linguagens de Programação Linguagens de Programação Baixo nível Linguagens máquina Assembly Alto nível PHP C++ JAVA Comunicação com computador Inadequadas para humanos Adequadas para humanos 3
Estudo sobre Linguagens de programação 4
Arquitetura (.NET) A linguagem C# foi criada junto com a arquitetura.net. Embora existam várias outras linguagens que suportam essa tecnologia (como VB.NET, C++, J#), C# é considerada a linguagem símbolo do.net, devido as funcionalidade da plataforma.net terem sido desenvolvidas em C#. 5
Histórico C# AlinguagemC#(Sharp)foiinfluenciadalinguagensC++eJavaque ganhou popularidade na comunidade de informática quando a Microsoft decidiu incluí-la no pacote Visual Studio. 6
C# (CSharp) é uma linguagem de programação orientada a objetos criada pela Microsoft, faz parte da sua plataforma.net. A companhiabaseouc#nalinguagemc++ejava. 7
Linguagem de Programação Características Operacionais 8
Características O Java utiliza comentários Javadoc e o C# utiliza comentários baseados em XML; OJavautilizaaJVM, C# e.netframework. Compiladores de linha de comando. Compiladores para Windows, Windows Mobile, Linux, Mac OS X e Solaris. Orientação à Objetos. Manipulação de Banco de Dados. 9
Característica C# é mais seguro com os tipos que C++. A sintaxe para a declaração de vetores é diferente ("int[] a = new int[5] ao invés de "int a[5]"). Membros de enumeração são colocados em seu próprio espaço de nomes (namespace). C++ não possui modelos (templates), mas C# 2.0 possui genéricos (generics). Propriedades estão disponíveis, as quais permitem que métodos sejam chamados com a mesma sintaxe de acesso a membros de dados. Recursos de reflexão completos estão disponíveis 2003 tornou-se um padrão ISO (ISO/IEC 23270)- ECMA (European Computer Manufacturers Association) ECMA- 334(Padrões). 10
using System; Estrutura de um programa C# Aplicação (Console) using System.Collections.Generic; using System.Linq; using System.Text; Determina pacotes que deverão ser usados pelo programa. namespace ConsoleApplication1 { class Program { static void Main(string[] args) {... } } } Declara escopo que contém um conjunto de classes relacionadas. Área de Template 11
Janela Principal do Ambiente 12
Principais modelos para criação de aplicações. Modelo Windows Forms Aplication (Aplicativo WindowsFoms)(*) WPF Application(Aplicativo WPF) Console Application (Aplicativo de console)(*) Tipos de Projetos Criados Aplicaçãodesktop para o sistema operacional Windows Aplicação Desktop para criação de templates(código Reutilizáveis) Aplicação que ocorre apartirde linha de comandos do Windows. 13
Linguagem de Programação Características Operacionais 14
Característica principais de uma Linguagem de Programação (C#) Sintaxe (Escrita) Semântica (Significado) Pragmática (Lógica) 15
Conceito Interpretadores Captura o código de fonte na linguagem correspondente e converte-o em linguagem de Máquina(atividade realizada por linhas de código). Compilador - Captura o código de fonte na linguagem correspondente e converte-o em linguagem de Máquina (atividade realizada em uma única vez). 16
Compiladores e VM (Máquinas Virtuais) CLR (Command Language Runtime) Compiladores CLI (Comman Intermediate Language) (Máquinas Virtuais) 17
Conceito de Framework 18
Conceito de Framework. Um framework vem a ser uma ferramenta que possui como características captura a funcionalidade comum a várias aplicações. 19
Características de FrameWork: Aplicações Orientadas a Objetos; Componentes 20
Tipos de Dados 21
Conceito de Tipos de Dados O tipo de dados representa o tipo de informação que uma variável ou uma constante pode armazenar estabelecendo seu limite mínimo e máximo de valores suportados. 22
Memória RAM 128 64 32 16 8 4 2 1 0 0 0 0 0 1 0 1 64 bits 23
Tabela de tipos de dados -128 a 127-32.768 a 32.767 1,2e-38 até 3,4e+38-2.147.483.648 a 2.147.483.647 2,2e-308 a 1,8e+308 char... Vetor de caracteres. 24
Exemplo Inteiro de 3 bits (int3) 4 2 1 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 2 n n = 3 byte a = 5; 25
Tipos em C# (u -unsigned) Tipo de Dados Byte, Ushort, Uint e Ulong Sbyte, Short, Int e Long Float, Double e Decimal Char e String Bool Armazenamento Números inteiros positivos Números inteiros positivos e negativos Números inteiros e reais (Positivos e negativos) Caracteres e cadeias de caracteres. Valores lógicos 26
Literais (Valores pré-definidos) Tipo de Dados Sufixo Exemplo uint U uint valor = 35U; long L long valor = 35L; ulong UL ulong valor = 10UL; float F Float valor = 20.3F; double D double valor = 20.3D; decimal M decimal valor = 20.3M; 27
Tipos Principais Tipo de Dados Tamanho Exemplo Int 4 bytes int valor = 35; long 8 bytes long valor = 35; byte 1 byte byte valor = 255; float 4 bytes float valor = 20.3; double 8 bytes double valor = 20.3; decimal 16 bytes decimal valor = 20.3; char 2 bytes Apenas um caractere string - Conjunto de caracteres bool 1 byte true/false (Booleano) 28
Operações Matemáticas de Lógicos 29
Operadores Aritméticos + Adição -Subtração *-Multiplicação /-Divisão %-Resto da Divisão (Módulo) 30
Operadores de atribuição = Atribuição simples += Atribuição com adição -= Atribuição com subtração *= Atribuição com multiplicação /= Atribuição com divisão %= Atribuição com módulo 31
Operadores Lógicos! - Não inverso && - e lógico - ou lógico 32
Operadores Relacionais = = -Igual!= - Diferente de < -Menor que > -Maior que >= -Maior ou Igual <= -Menor ou Igual 33
Operadores de Incremento e decremento ++ - Incremento -- - Decremento 34
Exemplo atribuição int a = 5; a++; // Resultado de a = 6. int y = 4; int k = y++; // Resultado y = 5 e k = 4 35
Linguagem de Programação C# Estrutura Básica Atribuição Condição Repetição 36
Decisão Composta 37
Condicional if() if(<condição>) { [Bloco-Instruções-1] } else { [Bloco-Instruções-2] } 38
Condicional if() if(<condição>) [Instrução-1] else [Instrução-2] 39
Decisão Simples 40
Exemplo de if() char sexo = M ; if(sexo == F ){ idade = 45; cintura = 20; nasc = Brasileira ; } 41
Decisão Dupla duas condições 42
Séries de Instruções Condicionais 43
switch(): cadeia de condição switch(<expressão>) { case valor1: [bloco de instruções] break; case valor2: [bloco de instruções] break; default: [bloco de instruções] break; } 44
Exemplo switch() switch(categoria) { case 1: bonus = salario * 0.1; break; case 6: bonus = salario * 0.07; break; case 7: bonus = 100; break; default: bonus = 0; break; } A instrução break deve ser usada para que haja abandono da estrutura. 45
Estrutura de repetição 46
while():enquanto a condição verdadeira executa. while (<condição>) { } [bloco de instruções] do{ [bloco de instruções] } while(<condição>); 47
Exemplo: while() int num = 20; int contador = 0; while (num > 10) { num = num -1; contador = contador + 1; } 48
Exemplo: do while() int num = 8; int contador = 0; do { num = num -1; contador = contador + 1; } while (num!= 0); 49
Instrução for() for(<inicio>;<condição>;<atualização>) { [bloco de instruções] } 50
Exemplo do for() int num = 8; int contador = 0; for (int i = 0; i <= 10; i++) { num = num -1; contador = contador + 1; } 51
Quebra e permanência de ciclo em estruturas de Controle. 52
Quebra de ciclo (break) Estrutura for (para) Estrutura while (enquanto) 53
Exemplo Prático (break) int num = 8; int contador = 0; while (num!= 0) { if (contador == 2) break; num = num -1; contador = contador + 1; } 54
Permanência de ciclo (continue) Estrutura for (para) Estrutura while (enquanto) 55
Exemplo Prático (continue) int num = 8; int contador = 0; while (num!= 0) { if (contador == 2) { num = 0; continue; } num = num - 1; contador = contador + 1; } 56
Entrada e Saída de Dados 57
Classe: Console Representa a entrada, as saídas, e os fluxos de erro padrão para aplicativos do console. Esta classe não pode ser herdada. Sistema Operacional Console Processador Dispositivos de Entrada e Saída 58
Entrada de dados Métodos read e readline() Método Descrição read() Realiza a leitura de um caractere pelo teclado. readline() Realiza a leitura de uma String pelo teclado. 59
Saída de dados Métodos write e writeline() Método write() writeline() Descrição Realiza a escrita de uma string sem salto de linhas. Realiza a escrita de uma String com salto de linhas. 60
Exemplo de Entrada e Saida String str = Console.ReadLine(); Console.WriteLine(str); 61
Conversão de Tipos de Dados 62
Método: Parse() Converte uma String em um número de acordo com seu tipo de dado especificado. Referência de tipos slide 23. 63
Exemplo de conversão de tipos double num1 = double.parse(console.readline()); double num2 = double.parse(console.readline()); double soma = num1 / num2; Console.WriteLine(soma); 64