




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
informática
Tipologia: Notas de estudo
1 / 154
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Programação de computadores
São Paulo 2010
Informática
Dados Internacionais de Catalogação na Publicação (CIP) D Della Croce Filho, Ralfe Informática, programação de computadores / Ralfe Della Croce Filho, Carlos Eduardo Ribeiro ; revisor Sérgio Furgeri ; coordenador Luis Eduardo Fernandes Gonzalez. -- São Paulo : Fundação Padre Anchieta, 2010 (Manual de Informática Centro Paula Souza, v. 4) ISBN 978-85-61143-46-
Vice-Diretor Superintendente César Silva Chefe de Gabinete da Superintendência Elenice Belmonte R. de Castro Coordenadora da Pós-Graduação, Extensão e Pesquisa Helena Gemignani Peterossi Coordenador do Ensino Superior de Graduação Angelo Luiz Cortelazzo Coordenador de Ensino Médio e Técnico Almério Melquíades de Araújo Coordenador de Formação Inicial e Educação Continuada Celso Antonio Gaiote Coordenador de Infraestrutura Rubens Goldman Coordenador de Gestão Administrativa e Financeira Armando Natal Maurício Coordenador de Recursos Humanos Elio Lourenço Bolzani Assessora de Avaliação Institucional Roberta Froncillo Assessora de Comunicação Gleise Santa Clara Procurador Jurídico Chefe Benedito Libério Bergamo
GovernaDor José Serra vICe-GovernaDor Alberto Goldman SeCretárIo De DeSenvolvImento Geraldo Alckmin
Presidente do Conselho Deliberativo Yolanda Silvestre Diretora Superintendente Laura Laganá
núcleo Cultura educação Coordenador : Fernando José de Almeida Gerente: Monica Gardelli Franco Equipe de autoria Centro Paula Souza Coordenação geral: Ivone Marchi Lainetti Ramos Coordenação da série Informática: Luis Eduardo Fernandes Gonzalez Autores: Carlos Eduardo Ribeiro, Evaldo Fernandes Réu Júnior, Gustavo Dibbern Piva, João Paulo Lemos Escola, Luciene Cavalcanti Rodrigues, Ralfe Della Croce Filho, Wilson José de Oliveira Revisão técnica : Anderson Wilker Sanfins, Luis Claudinei de Moraes, Humberto Celeste Innarelli, Sérgio Furgeri
equipe de edição Coordenação geral Alfredo Nastari Coordenação editorial Mirian Ibañez Consultor técnico Victor Emmanuel J. S. Vicente
Presidente Paulo Markun vice-Presidente Fernando José de Almeida
Edição de texto: Marlene Jaggi Editores assistentes : Celia Demarchi e Wagner Donizeti Roque Secretário editorial : Antonio Mello Revisores : Antonio Carlos Marques, Fabiana Lopes Bernardino, José Batista de Carvalho, Lieka Felso e Miguel Facchini Direção de arte: Deise Bitinas Edição de arte : Ana Onofri Editoras assistentes : Nane Carvalho, Nicéia Cecilia Lombardi e Roberta Moreira Assistentes : Ana Silvia Carvalho, Claudia Camargo e Felipe Lamas Ilustrações : Carlos Grillo Pesquisa iconográfica : Completo Iconografia, Maria Magalhães e Priscila Garofalo Fotografia : Carlos Piratininga, Eduardo Pozella (fotógrafos) e Daniela Müller (produtora) Tratamento de imagens: Sidnei Testa Impresso em Vitopaper 76g, papel sintético de plástico reciclado, da Vitopel, pela Gráfica Ideal.
4.5.6.1.1. Método get.................. 114 4.5.6.1.2. Método set.................. 115 4.5.7. Representação do encapsulamento em objeto do tipo Pessoa...................... 115 4.5.8. Visão geral da classe Pessoa e sua estrutura......................... 116 4.6. Entrada e saída de dados.............................. 117 4.6.1. Declaração import.............................. 117 4.6.2. Apresentação de dados (saída)................. 117 4.6.3. Leitura de dados (entrada)..................... 119 4.7. Assinatura de métodos................................ 120 4.7.1. Retorno de valor................................ 120 4.7.2. Passagem de parâmetro........................ 121 4.7.3. Retorno de valor e passagem de parâmetro...................... 121 4.8. Estruturas e recursos da linguagem Java.............. 122 4.8.1. Palavras reservadas do Java.................... 122 4.8.2. Tipos de dados................................. 123 4.8.3. Operadores..................................... 124 4.8.4. Variáveis e constantes.......................... 125 4.8.5. Conversões de tipos de dados................. 126 4.8.5.1. Conversão............................. 126 4.8.5.2. Cast (matriz).......................... 127 4.8.5.3. Promoção............................. 128
4.2. Origem da orientação a objetos...................... 100 4.2.1. Abstração....................................... 101 4.3. UML (Unified Modeling Language).................... 101 4.4. Eclipse................................................. 102 4.5. Orientação a objetos (1).............................. 102 4.5.1. Componentes elementares..................... 104 4.5.1.1. Classes................................. 104 4.5.1.1.1. Atributos..................... 105 4.5.1.1.2. Métodos...................... 105 4.5.1.1.3. Detalhando o diagrama de classe........... 105 4.5.1.1.4. Codificação da classe Pessoa................. 106 4.5.1.1.5. Comentários................. 109 4.5.1.2. Objetos................................ 109 4.5.2. Modificadores de acesso....................... 111 4.5.2.1. Private................................. 111 4.5.2.2. Public.................................. 112 4.5.2.3. Protected.............................. 112 4.5.3. Métodos construtores......................... 112 4.5.4. Garbage collector (coletor de lixo)............ 113 4.5.5. O comando this................................ 113 4.5.6. Encapsulamento................................ 113 4.5.6.1. Métodos de acesso.................... 114
4.5.1. Componentes elementares 4.5.1.1. Classes 4.5.1.1.1. Atributos 4.5.1.1.2. Métodos 4.5.1.1.3. Detalhando o
4.5.1.1.4. Codificação da
4.5.1.1.5. Comentários 4.5.1.2. Objetos 4.5.2. Modificadores de acesso 4.5.2.1. Private 4.5.2.2. Public 4.5.2.3. Protected 4.5.3. Métodos construtores 4.5.4. Garbage collector (coletor de lixo)
Sumário
Throwable
Exception
RuntimeException ArrayIndexOutOfBoundsException
Inpu
stException
NullPointeNullPointe
IOException
ThreadDeath
AWTError
Error
4.10.3. Packages....................................... 155 4.11. Interfaces gráficas.................................... 156 4.11.1. AWT (Abstract Window Toolkit)............. 156 4.11.2. Interfaces listeners............................ 159 4.11.3. Swing........................................... 163 4.12. Tratamento de exceções............................. 165 4.12.1. Error........................................... 166 4.12.2. Exception...................................... 166 4.12.2.1. Unchecked Exception................ 167 4.12.2.2. Checked Exception.................. 167 4.12.2.3. Throws............................... 167 4.12.2.4. Try-catch-finally...................... 167 4.13. Conexão com banco de dados....................... 172 4.13.1. JDBC (Java Database Connectivity)........... 172 4.13.2. Implementação do acesso a dados............ 174 4.13.2.1. Classe java.sql.Statement............. 176 4.13.2.2. A classe PreparedStatement......... 176 4.13.2.3. A classe CallableStatement.......... 176 4.13.3. Inclusão........................................ 176 4.13.4. Alteração...................................... 178 4.13.5. Exclusão....................................... 179 4.13.6. Listagem geral................................. 180 4.13.7. Pesquisa........................................ 181
4.8.6. Desvios condicionais........................... 129 4.8.6.1. If-else.................................. 129 4.8.6.2. Switch-case............................ 130 4.8.7. Laços de repetição.............................. 130 4.8.7.1. While................................... 130 4.8.7.2. Do-while............................... 131 4.8.7.3. For..................................... 131 4.8.8. Array (Vetor)................................... 131 4.8.8.1. Unidimensional........................ 131 4.8.8.2. Bidimensional (Matrizes).............. 133 4.8.9. Collections...................................... 136 4.8.9.1. ArrayList............................... 136 4.9. Orientação a objetos (2).............................. 140 4.9.1. Herança......................................... 140 4.9.2. Sobrecarga de método (overload)............. 142 4.9.3. Sobrescrita de método (override).............. 145 4.9.4. Classes e métodos abstratos................... 147 4.9.5. Interfaces....................................... 148 4.9.6. Polimorfismo.................................... 151 4.9.6.1. De métodos............................ 151 4.9.6.2. De classe............................... 151 4.9.6.3. De interface........................... 152 4.10. Padrões de desenvolvimento de sistemas........... 154 4.10.1. Programação em três camadas................ 154 4.10.2. MVC (Model, View, Controller).............. 154
nteiros
s
es
valores
Sumário
)
Console.ReadKey() b
Sub^ Main() Dim^ x^ As Integer
= 3
IfIfIf^ x = 1x = 1
Then Console.WriteLine(
“A variável X é UM”
)
ElseIfElseIfElseIf^ x = 2x = 2
Then Console.WriteLine(
“A variável X é DOIS”
)
ElseIf^ x = 3 ElseIf^ x = 3 ElseIf^
Then Console.WriteLine(
“A variável X é TRÊS”
)
Else Console.WriteLine(
“Qualquer outro valor”
)
EndEndEnd^ IfIf Console.ReadKey() b
6.9.5. ComboBox..................................... 219 6.9.6. ListBox.......................................... 219 6.9.7. CheckBox....................................... 220 6.9.8. RadioButton.................................... 221 6.9.8.1. Agrupamento.......................... 222 6.10. Eventos............................................... 223
7.1. Programação.......................................... 226 7.1.1. Console Application............................. 226 7.1.2. Windows Form Application.................... 226 7.2. Tipos de dados e variáveis............................ 227 7.2.1. Atribuição – DIM............................... 228 7.2.2. Variáveis globais................................ 228 7.3. Operadores............................................ 229 7.3.1. Operadores aritméticos........................ 229 7.3.2. Operadores relacionais......................... 229 7.3.3. Operadores aritméticos de atribuição reduzida.. 230 7.3.4. Operadores lógicos............................. 230 7.3.5. Conversões em VB.NET....................... 230 7.4. Estrutura de decisão................................... 231 7.4.1. Condição Verdadeiro – if....................... 231 7.4.2. Condição Verdadeiro ou Falso – if…else...... 231
Sumário
7.4.3. Condições Múltiplas
9.1. DataSet................................................. 264 9.2. DataReader............................................ 264 9.3. Objetos para banco de dados......................... 265 9.3.1. Objeto DataTable............................... 265 9.3.2. Objeto DataView............................... 266 9.4. Métodos de conexão.................................. 266 9.4.1. Objeto Command.............................. 266 9.4.2. Exemplo genérico de conexão................. 267 9.4.2.1. Implementando a leitura de dados.... 268 9.4.3. Conexão com VB.NET......................... 269 9.4.3.1. Base de dados.......................... 269 9.4.3.2. Criando o Form....................... 270 9.4.3.3. Inserindo o código..................... 270 9.4.3.4. Utilizando uma DataTable............. 271 9.4.3.4.1. Visual do DataGrid.......... 274 9.4.3.5. Travando colunas...................... 274 9.4.4. Utilizando um DataView........................ 275 9.4.5. Conectando com ASP.NET.................... 277
Considerações finais referências bibliográficas Glossário
8.1. Aplicação ASP.NET.................................... 244 8.1.2. Web Form...................................... 245 8.1.3. Projeto Web Application (Aplicação Web).. 245 8.1.4. Ciclo de vida da Aplicação...................... 246 8.1.5. Executando uma Application Service (Serviço de Aplicação).......................... 246 8.1.6. Escrevendo a Aplicação......................... 247 8.1.7. Estruturando uma página ASP.NET............ 248 8.1.7.1. HTML Server Controls................ 248 8.1.7.2. Web Server Controls................. 249 8.1.7.3. Validation Server Controls............ 249 8.2. Eventos................................................ 249 8.3. HTML Server Controls e Web Server Controls..... 250 8.3.1. HTML Server Controls......................... 250 8.3.2. Web Server Controls.......................... 251 8.4. Sessões em ASP.NET.................................. 252 8.4.1. Recuperando sessão em outra página por meio de um evento........................ 254 8.4.2. Recuperando sessão em outra página automaticamente............................... 256 8.5. Dados via URL........................................ 257
Sumário
8.1.2. Web Form 8.1.3. Projeto Web Application (Aplicação Web) 8.1.4. Ciclo de vida da Aplicação 8.1.5. Executando uma Application Service
8.1.6. Escrevendo a Aplicação 8.1.7. Estruturando uma página ASP.NET 8.1.7.1. HTML Server Controls 8.1.7.2. Web Server Controls 8.1.7.3. Validation Server Controls 8.2. Eventos
A
lógica computacional é um dos primeiros passos para quem pretende entrar no mundo da computação. Normalmente, não percebemos sua aplicação para resolver diferentes níveis de problemas nem sua relação com outras áreas da ciência. Isso porque, em geral, a lógica computacional está associada à lógica matemática (FORBELONE, 2005). É um recurso que permite a criação de alter- nativas viáveis e tecnicamente corretas, eficientes e rápidas. Antes de resolver um problema, no entanto, temos de saber interpretá-lo. Assim, evitam-se resultados indesejáveis ou desvios de percurso, da mesma ma- neira que surge a oportunidade de eliminar eventuais dúvidas, definin- do o melhor algoritmo, que pode ser o pseudocódigo ou o f luxograma. A maioria das atividades que executamos é resultado de uma sequência de pas- sos lógicos. Por exemplo, amarrar o cadarço de um tênis, abrir uma porta, trocar uma lâmpada ou fazer aquele delicioso bolo de chocolate. A sequência das etapas, ou melhor, das operações a executar, é determinada pelo algoritmo de forma lógica. Uma maneira mais simples de dizer isso é que a sucessão de ações faz todo o sentido. Usando o mesmo exemplo do bolo, o começo de tudo é reunir os ingredientes e usá-los na sequência certa. É assim também com as operações de cálculos, representadas pelo pseudocódigo a partir de comandos no formato de texto (exatamente como uma receita) ou pelo fluxograma de forma gráfica. E o fato de ser constituído por símbolos geométricos facilita o processo de visualização das operações.
Para entender melhor o conceito, vamos elaborar, resumidamente, um al- goritmo que represente os passos necessários para que alguém tome um refrigerante em uma lata: 1. pegar o recipiente; 2. abrir a tampa; 3. tomar o conteúdo (veja quadro Algorítimo com os passos necessários da latinha ). A partir dessa mesma situação, é possível inserir mais operações em nosso algoritmo, deixando-o mais detalhado (observe o quadro Algoritmo deta- lhado da latinha ).
1 - Pegar o recipiente.
1 - Pegar o refrigerante com a mão esquerda.
4 Eliminar o lacre.
7 - Ingerir o líquido. 8 - Voltar a lata na posição original.
3 - Remover o lacre.
6 - Inclinar a lata.
2 - Abrir a tampa. 3 - Tomar o conteúdo.
2 - Segurar o lacre com a mão direita.
5 Posicionar a lata corretamente na boca.
Quadro Algoritmo detalhado da latinha.
Quadro Algoritmo com os passos necessários da latinha.
InFoRmátICa 4
22
CaPítulo 1
23
Entre os diferentes símbolos que constituem a estrutura de um fluxograma, os mais comuns estão incluídos na tabela 1.
Aproveitando o mesmo exemplo da latinha de refrigerante, vamos reescre- ver os passos lógicos por meio de um fluxograma (figura 1).
Figura 1 Fluxograma dos passos lógicos.
Programa nome_do_programa Declare {declaração de variáveis} Início {instruções e comandos} Fim Comandos einstruções ordenados de forma lógica
Declarações de variáveis
Título do Algoritmo
Existem muitos softwares destinados à construção de fluxogramas, mas é possí- vel fazê-los também com o uso do Microsoft Word®. Os exemplos desse material foram elaborados pelo Microsoft Visio®.
Os algoritmos são desenvolvidos em uma linguagem denominada pseudocó- digo ou, como preferem alguns autores, português estruturado. Podem ser criados sem o formalismo das linguagens de programação, mas obedecem a uma regra básica de estruturação: cabeçalho, declaração e instruções, confor- me o seguinte modelo:
Pegar a^ InícioInício^ Fim latinha
Remover o lacre
Eliminar o Abrir a lacre tampa
Segurar o lacre
Posicionar a lata na boca
Voltar a lata na posição Tomar o original refrigerante
Pegar o refrigerante
Inclinar a lata
Ingerir o líquido
tabela 1
NOME = TERMINAL FUNÇÃO = Indica INÍCIO ou FIM de um processamento NOME = PROCESSAMENTO FUNÇÃO = Definição de variáveis ou processamentos em geral (Cálculos) NOME = ENTRADA MANUAL FUNÇÃO = Entrada de dados via teclado, idêntico ao comando LEIA NOME = DISPLAY FUNÇÃO = Saída de Dados, mostra um texto e/ou variável na tela, idêntico ao comando ESCREVA NOME = DOCUMENTO FUNÇÃO = Saída de Dados, envia um texto e/ou variável para a impressora, usado em relatórios. Idêntico ao comando IMPRIMA NOME = DECISÃO FUNÇÃO = Decisão a ser tomada, retornando verdadeiro ou falso, idêntico ao comando SE NOME = CONECTOR FUNÇÃO = Desvia o fluxo para uma outra página, sendo interligados pelo conector NOME = ENTRADA/SAÍDA FUNÇÃO = Leitura de gravação de arquivos NOME = SETA FUNÇÃO = Indica a direção do fluxo
NOME = LOOP FUNÇÃO = Realiza o controle de loop
SÍMBOLO NOME E FUNÇÃO (^) Início
InFoRmátICa 4
24
CaPítulo 1
25
Para compreender o processo lógico de dados, observe as tabelas abaixo, mos- trando os valores originais e os resultados adquiridos a partir dos operadores lógicos. Esse tipo de quadro é conhecido como Tabela Verdade (tabela 5).
Uma ação para o computador é definida com um comando que executa deter- minada operação (mostrar os dados e realizar um cálculo, por exemplo). Essas ações serão representadas nos pseudocódigos por meio de expressões predefini- das na lógica computacional.
Figura 3 Comando Escreva().
Simulação dos operadores “E” e “OU”
tabela 2
tabela 3
tabela 5
tabela 4
Mensagem ouvariável
+ adição de números fl utuantes ou inteiros + Concatenação de valores literais (caracteres)
- Subtração de números fl utuantes ou inteiros ***** multiplicação de números fl utuantes ou inteiros / Divisão de números fl utuantes e inteiros ****** Potência de números fl utuantes e inteiros
Valor Entrada 01 Resultado Verdadeiro Falso Falso Verdadeiro E // AND Valor Entrada 01 Valor Entrada 02 Resultado Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Falso Falso Verdadeiro Falso Falso Falso Falso OU // OR Valor Entrada 01 Valor Entrada 02 Resultado Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Falso
= Igual <> Diferente > maior < menor <= menor igual >= maior igual
não / not Inverte o resultado de uma expressão
E / and Retorna verdadeiro caso todas as condições retornem verdadeiro ou / or Retorna verdadeiro quando uma das condições retorna verdadeiro
chave 1 chave 2 Lógica E (^) lâmpada bateria
lógica ou
InFoRmátICa 4
28
CaPítulo 1
29
Leia(nome) Leia(nota1) Leia(nota2) Leia(temp)
Ao realizar uma entrada de dados, o ideal é que o usuário seja notificado sobre o tipo de informação que deverá ser inserida. Veja como: Programa exemplo_leia Declare nome como caractere média, nota1, nota2 como flutuante Início Escreva(“calculando a média”) Escreva(“Qual o seu nome?”) Leia(nome) Escreva(“Qual a sua nota 1?”) Leia(nota1) Escreva(“Qual a sua nota 2?”) Leia(nota2) media ß (nota1 + nota2)/ Escreva(“Sua média final é:”) Escreva(media) Fim
O pseudocódigo a seguir representa um exemplo mais completo, assim como o fluxograma, na sequência (figura 4): Programa exemplo_escreva Declare nome como caractere média, nota1, nota2 como flutuante Inicio nome ß “Fulaninho” nota1 ß 10. nota2 ß 2. media ß (nota1 + nota2)/ Escreva(“Sua nota final é:”) Escreva(média) Fim
Figura 4 Fluxograma Escreva.
Figura 5 Entrada de Dados.
Entrada de dados
Fim
nomenota1 ß “Fulaninho” ß 10. nota2 ß 2.
média ß (nota1+nota2)/
Início
média, nota1, nota2 como^ nome como caractere flutuante
“Sua nota final é”
média
InFoRmátICa 4
30
CaPítulo 1
31
Em alguns momentos, haverá necessidade de testar a mesma variável diversas vezes, como acontece no menu de opções. Para isso, utilizamos o comando “Se- lecione Caso” da seguinte forma (figura 10):
Vamos organizar todo o pseudocódigo, apresentando-o, também, no formato de fluxograma (figura 9).
Figura 9 Exemplo de teste.
Programa exemplo_teste Declare nome como caractere media, nota1, nota2 como flutuante
Início Escreva(“calculando a média”) Escreva(“Digite o seu primeiro nome.”) Leia(nome) Escreva(“Qual a sua nota 01?”) Leia(nota1) Escreva(“Qual a sua nota 02?”) Leia(nota2) média ß (nota1 + nota2)/ Escreva(“Sua nota final é:”) Escreva(média) Se (media >= 7.00) Então Escreva(“Aprovado”) Senão Escreva(“Reprovado”) Fim-Se Escreva(“Fim de programa”) Fim
Selecione Caso {variável} Caso condição 01 {comando(s)} Caso condição 02 {comando(s)} Caso condição 03 {comando(s)} Senão {comando(s)} Fim-Selecione
Figura 10 Selecione Caso.
Sim
Sim
Não
Sim
Não
Fim
nota
“Aprovado”
“Reprovado”
média >=7.
Início
nota1 nome
média
“Qual a suanota 02?” “Qual a suanota 01?”
“Sua médiafinal é”
programa”“Fim do
(nota1 + nota2)/2média =
nome como caracteremédia, nota1, nota2 “Calculandoa média” “Qual o seunome?” como flutuante
InFoRmátICa 4
34
CaPítulo 1
35
É preciso descobrir, em determinada situação, se o usuário escolheu os números 1, 2 ou 3. Qualquer outro diferente, deverá gerar a mensagem “número inváli- do” (figura 11):
Figura 11 Selecione caso.
Alguns exemplos:
Para x = 1 Até 5 Faça Escreva(x) // Serão visualizados os números: 1,2,3,4 e 5. Fim-Para
Para num = 3 Até 6 Faça Escreva(num) // Serão visualizados os números: 3,4,5 e 6. Fim-Para
Para vlr = 0 Até 10 Passo 2 Faça Escreva(vlr) // Serão visualizados os números: 0,2,4,6,8 e10. Fim-Para
Para cont = 3 Até 0 Passo -1 Faça Escreva(cont) // Serão visualizados os números: 3,2,1 e 0. Fim-Para
Figura 12 Para...Fim-Para.
Leia(número) Selecione Caso número Caso 1 Escreva(“Você escolheu o número 01”) Caso 2 Escreva(“Você escolheu o número 02”) Caso 3 Escreva(“Você escolheu o número 03”) Senão Escreva(“Número inválido”) Fim-Selecione
Para <variável> = <vlr.inicial> Até <vlr.final> Passo
Comando(s)
Não
Sim
Não
Sim
Não
Sim
01 02 03
“Você escolheu o número 01” “Você escolheu o número 02” “Você escolheu o número 03”
“Número inválido”
número
InFoRmátICa 4
36
CaPítulo 1
37