quinta-feira, 20 de dezembro de 2018

Programação: Esboçar o algoritmo ajuda a criar o programa

Boa noite pessoal,

Venho lembrar para vocês a dica básica que sempre falo em sala de aula e coloco no quadro, que é fazer um ESBOÇO (algoritmo) do que seria a solução do problema proposto.

Esse esboço do algoritmo deve ser feito lembrando das estruturas (sequencial, condiciaonal e as de repetição) é um esboço do que vai ser o programa.

Exemplo não computacional:

Algoritmo AtravessarRua
   Olhar para a direita
   Olhar para a esquerda
   Se estiver vindo algum veículo (carro, moto, bicicleta) de algum lado
      Não atravesse
   Senão
      Atravesse
   FimSe
FimAlgoritmo


Para ilustrar isso, coloco abaixo 3 exemplos mais "computacionais", cada um tendo algo parecido ou sendo uma evolução do anterior:

Exemplo 1: Fazer um programa para listar os números pares de 1 a 100:

Para num de 1 ate 100
  Se o número for par (resto da divisão de num por 2 = 0)
    imprime o numero
FimPara


Exemplo 2: Fazer um programa para pedir números e somar esses números. Quando o usuário digitar zero o programa deve parar e mostrar o total.

Zerar o total
Repita
  Pede para o usuário digitar o numero
  acumula esse numero digitado no total (total=total+numero)
Até que numero=0
Mostra o total


Exemplo 3 (variação do exemplo 2): Fazer um programa para pedir números até que o usuário digite zero, quando o programa deve parar e mostrar quantos números pares e quanos numeros impares o usuario digitou

Zerar o total de pares
Zerar o total de impares
Repita
  Pede para o usuário digitar o numero
  Se numero for par (resto da divisão de num por 2 = 0)
    incrementa total de pares
  Senao Se numero não for zero
    incrementa total de impares
  FimSe
Até que numero=0
Mostra o total de pares
Mostra o total de impares

quarta-feira, 12 de dezembro de 2018

Estudo e atividades sobre Programação Orientada a Objetos


Atividades das aulas dos dias 12, 13 e 14/12/2018:
Respostas:




quinta-feira, 6 de dezembro de 2018

sexta-feira, 23 de novembro de 2018

Programação Web I: Atividades

CONCEITOS:
  1. O que é uma rede de computadores?
  2. Conceitue INTERNET
  3. Quais os principais serviços oferecidos pela Internet?
  4. O que é o protocolo TCP/IP?
  5. O que é uma arquitetura cliente-servidor, que é muito presente na internet? Cite exemplos.
  6. URI o HTTP e HTML são três conceitos ou protocolos mais usados na internet. Explique cada um deles.
  7. Uma mensagem HTTP tem três partes:método, cabeçalho e corpo. Qual a finalidade e conteúdo de cada uma dessas partes?
  8. Que é HTML?

HTML:

1) Crie a um arquivo HTML para mostrar as seguintes listas:

a)

1. Fechar contrato
2. Análise de sistema
    1. Avaliação da empresa
1. Entrevista com funcionários
2. Pesquisa de documentação da empresa
2. Programação
3. Aprovação do projeto
3. Treinamento dos usuário

b) (consulte o guia de referência html para saber como configurar o número inicial da lista)

1. Titanic
2. Meu primeiro amo
3. Uma linda mulher

10. Exterminador do futuro II
11. De volta para o futuro I, II, III
12. Idiana Jones

20. Sexta-feira 13
21. A hora do pesadelo


2) Crie o site abaixo (pode ser no mesmo arquivo html do exercício anterior):



Atividade: Relatório da prática de montagem e instalação de computadores

Os alunos que já participaram diretamente da prática de montagem e configuração dos computadores devem preparar um relatório com as atividades executadas nessas aulas práticas de 09/11 e 10/11/2018.

O relatório deve abordar os seguintes itens:

  • Montagem: relatar como foi o processo, problemas encontrados e soluções adotadas. Lembrando que usamos computadores Itautec antigos que primeiro foram desmontados e depois montados e testados
  • Configuração do BIOS SETUP: relatar o que foi necessário fazer no BIOS Setup para passar para o passo seguinte
  • Instalação do sistema operacional: relatar como foi o passo a passo para instalação do(s) sistema(s) operacional(is) (Windows e Linux), problemas encontrados e resultados obtidos, lembrando que nos computadores Itautec que usamos não havia opção para boot pela USB (somente por CD/DVD), então quem instalou a partir do pendrive teve que usar usar um CD de boot com utilitários chamado PloP Boot Manager (pesquise na internet sobre ele)
  • Instalação de softwares adicionais: Relate quais softwares precisam e foram instalados no computador  em cada sistema operacional (Windows e Linux) 
Como suporte teórico, vocês podem consultar os nosso material de aulas ou mesmo refazer o passo a passo usando o simulador de montagem Cisco IT Essentials Virtual Desktop.

Enviar o relatório para meu e-mail:  maurojansen@ifma.edu.br

Os alunos que não participaram diretamente das práticas ou que mesmo tendo participado de um grupo queiram reforçar a prática, devem executá-la hoje no laboratório de eletrônica.

quinta-feira, 22 de novembro de 2018

Exercícios avaliativos JAVA (respostas)

5a):

package exemplosJavaAulas;
import java.util.Scanner;

public class exemploWhile {
public static void main(String[] args) {
float n=1,soma=0;
int quant=0;
Scanner ler=new Scanner(System.in);
do {
System.out.printf("Digite um numero (zero=fim):");
n=ler.nextFloat();
soma+=n;
if(n!=0)
    quant++;   // contar numeros digitados
//quant=quant + (n!=0 ? 1 : 0);
} while (n!=0);
System.out.printf("A soma dos numeros digitados é: %f\n",soma);
System.out.printf("A média dos numeros digitados é: %f\n",soma/quant);
}
}

sexta-feira, 16 de novembro de 2018

Programação Orientada a Objetos 2018.2 (Téc.Desenvolvimento de Sistemas)

Material de aulas da disciplina Programação Orientada a Objetos, turma Desenvolvimento de Sistemas Subsequente.

OBS: Para fazer o download, clique nos links abaixo e depois no botão "Download" que aparece abaixo do slide.


Material adicional:

Programação Orientada a Objeros - Exercícios Java 16/11/2018


1) Crie um programa para calcular a área de um triângulo, sabendo que

       base x altura
área = -------------
            2

2) Crie programa para perguntar a idade de uma pessoa e, conforme a idade, mostrar mensagens na tela dizendo se ela já pode votar e se já pode tirar carteira de motorista

3) Crie um programa que imprima todos os números de 150 a 300, separados por vírgula ou um abaixo do outro

4) Faça um programa que liste os múltiplos de 3 entre 1 e 100

5.a) (já resolvido em sala de aula) aça um programa para calcular soma e média de números: o programa deve solicitar números e ir acumulando a soma e contagem. Quando o usuário digitar o número 0 (zero) o programa deve encerrar e mostrar o resultado da soma e média dos números digitados.

5.b)  Crie um programa para o "JOGO DO ADIVINHA NÚMERO", que é um jogo para ser jogado entre duas pessoas. O programa deve pedir um número inteiro diferente de zer que um dos jogadores digita e o outro jogador deve adivinhar Após o primeiro jogador digitar o número a ser adivinhado, o programa deve limpar a tela e ficar pedindo o palpite até que o outro jogador acerte o número ou desista digitando 0 (zero) como palpite. Deve também ficar dando dicas como "Mais!" ou "Menos!", conforme o número correto seja maior ou menor que o palpite digitado, respectivamente, e também totalizar a quantidade de tentativas feitas para adivinhar. Se o jogador acertar, mostrar "Parabéns, você acertou em XX tentativas!"

sexta-feira, 9 de novembro de 2018

Programação Orientada a Objetos - exercícios Java 09/11/2018

Fatorial:


package estudoJava;

import java.util.Scanner;

public class fatorial {

 public static void main(String[] args) {
  int num,c,fatorial;
  Scanner ler=new Scanner(System.in);
  // obter os valores de entrada:
  System.out.println("Cálculo do fatorial de um número");
  System.out.print("Digite o número: ");
  num=ler.nextInt();
  // em ordem crescente:
  fatorial=1;
  System.out.printf("%d ", fatorial);
  for (c=2;c<=num;c++) {
    System.out.printf("* %d ", c);
    fatorial=fatorial*c;
  }
  System.out.printf(" = %d",fatorial);
  // em ordem decrescente
  fatorial=num;
  System.out.printf("\n%d ", fatorial);
  for (c=num-1;c>=1;c--) {
    System.out.printf("* %d ", c);
    fatorial=fatorial*c;
  }
  System.out.printf(" = %d",fatorial);
 }
}

OBS: Você pode fazer contagem com o comando FOR e com o comando WHILE, porém o FOR é mais adequado para repetição contada.

Exemplo: contar de 1 a 10 em ordem crescente:


// com FOR:
for(c=1;c<=10;c++)
  System.out.println(c);

// com WHILE:
c=1;
while(c<=10) {
  System.out.println(c);
  c++;
}



EXERCÍCIOS SUGERIDOS: faça programas, usando FOR e WHILE para:

  • Contar de 1 a 100 em ordem crescente;
  • Contar de 100 a 1 em ordem decrescente;
  • Contar de 2 a 100 em ordem crescente, de 2 em 2.
  • Contar de 100 a 2 em ordem decrescente de 2 em 2;



quinta-feira, 8 de novembro de 2018

Informática - testes com o Google Drive



Uma música compartilhada:

https://drive.google.com/file/d/1abYfN8McVEjOiqVlKcx70PRDPvAvItGn/view?usp=sharing


Um documento texto compartilhado:

https://docs.google.com/document/d/1sO-vUDod0EQgubv3kPLxihOPyczO7aJh3KxyQ2oeNeQ/edit?usp=sharing

Programação Orientada a Objetos: Exercícios em Java 23/10/2018

/*
 * Calcular a soma dos números ímpares entre um intervalo informado
 */
package estudoJava;

import java.util.Scanner;

public class SomaImpares {
 public static void main(String[] args) {
  int vinicial,vfinal,c,soma;
  Scanner ler=new Scanner(System.in);
  // obter os valores de entrada:
  System.out.println("Soma números ímpares entre dois números");
  System.out.print("Digite o valor inicial: ");
  vinicial=ler.nextInt();
  System.out.print("Digite o valor final: ");
  vfinal=ler.nextInt();
  soma=0;
  for (c=vinicial;c<=vfinal;c++) {
   if(c % 2 != 0) {  // se o resto da divisão por 2 não for zeero
    System.out.printf("+ %d ", c);
    soma=soma+c;
   }
  }
  System.out.printf("\nA soma é: %d", soma);
 }
}

quarta-feira, 7 de novembro de 2018

Tabelas em HTML - Atividades e 07, 10 e 12/11/2018

Resolver os exercícios abaixo da Apostila Fundamentos de Desenvolvimento Web :
  • Pág. 54, exercício 4 (texto com formatação "os loucos e o cocô")
  • Pág. 73, exercícios 4 e 5  (tabelas)



Pág. 73, exercício 4:


RESPOSTA:

<!DOCTYPE html>
<html lang="pt-br">
   <head>
      <meta charset="UTF-8">
      <title>Tabela de produtos</title>
   </head>

   <body>
      <table width=50% border="3px" align="center">
      <!-- cabeçalho da tabela -->
      <tr bgcolor=green>
         <th colspan=2>Produtos</th>
      </tr>
      <tr>
         <th>Código</th>
         <th>Descrição</th>
      </tr>
      <!-- detalhes (corpo) da tabela -->
      <tr align="center">
         <td>P001</td>
         <td>Webcam</td>
      </tr>
      <tr align="center">
         <td>P002</td>
         <td>Mouse ótico</td>
      </tr>
      <tr align="center">
         <td>P003</td>
         <td>Pendrive 8 GB</td>
      </tr>
      </table>
   </body>
</html>


Pág. 73, exercício 5:


RESPOSTA:

<!DOCTYPE html>
<html lang="pt-br">
   <head>
      <meta charset="UTF-8">
      <title>Tabela de Imagens</title>
   </head>

   <body>
      <table width=420px align="center">
      <tr>
         <td><img src="img\caleidoscopio.jpg" width="200px" height="200px">
         <td><img src="img\bolo_aniversario.jpg" width="200px" height="200px">
      </tr>
      <tr>
         <td><img src="img\bicicleta_speed 5.jpg" width="200px" height="200px">
         <td><img src="img\igreja.jpg" width="200px" height="200px">
      </tr>
   </body>
</html>

OBSERVAÇÕES:

  • As imagens devem ficar todas em uma pasta "img" que é uma subpasta da sua pasta html, onde fica o seu arquivo .html 
  • Colocamos as quatro imagens com altura=200 pixels e largura = 200 pixels, para padronizar o tamanho 
  • Configuramos a tabela com largura de 420 pixels, para caber as imagens (200+200 = 400 + 20 de folga = 420 pixels) e com alinhamento centralizado



sexta-feira, 19 de outubro de 2018

Montagem e Manutenção: Configurar o Flash Player para o Simulador de Montagem Cisco IT Essentials Desktop

A empresa CISCO fabricante de equipamentos de rede e telecomunicações criou alguns software didáticos para uso em seus treinamentos. Esses softwares são gratuitos e dentre eles existe um que simula a montagem de um computador. É o software CISCO IT Essentials Virtual Desktop.

Esse software funciona no navegador web (é uma página web composta por vários arquivos), e precisa do Adobe Flash Player para que as animações funcionem.

Para instalar o simulador:

  • Nos computadores do laboratório, acesse o computador 03LAB0101, procure a pasta "compartilhado" e dentro dela a minha pasta (prof Mauro Jansen) e dentro desta a pasta "Montagem e Manutenção"
  • Copie a pasta "Simulador de montagem" para a pasta "Documentos" do seu computador
  •  


Problema com o Flash Plugin:

Nos sistemas operacionais atuais geralmente ocorre um erro em que, mesmo com o Flash plugin instalado no navegador de internet, a animação do simulador não funciona, ficando parada com a mensagem "Loading data". Para resolver esse problema

Clique aqui para abrir a configuração do Flash Player

Depois:

  1. Marque a opção "Sempre permitir"
  2. Clique em "Editar Locais - Adicionar Local"
  3. Na janela que aparece, na caixa de texto "Confiar neste local" informe a pasta (caminho completo) onde está o Simulador de Defeitos no seu computador (pasta onde fica o arquivo "index.html". Exemplo: "C:/Users/(sua matricula)/Documents/Simulador.Ensamble.PC" )
    • OBS: Os botões "Procurar arquivos..." e "Procurar pasta..." dessa janela geralmente não funcionam. Se não funcionar, veja o item abaixo;
    • É preferível você entrar no explorador de arquivos, localizar a pasta onde está o simulador e copiar e colar o endereço (caminho) da pasta 
  4. Após os passos acima, recarregue a página do simulador com F5 ou abra novamente o arquivo "Index.html" que o Flash Plugin já irá funcionar no seu navegador. O simulador não ficará mais parado na tela "Loading data";
  5. PRONTO!

quinta-feira, 18 de outubro de 2018

Programação Orientada a Objetos: Exercícios em Java - 18, 19 e 23/10/2018

Desenvolva a solução dos problemas abaixo usando a Linguagem Java e o Eclipes:

Lista de exercícios: estruturas sequenciais, condicionais e de repetição


Material de apoio, se necessário:

Guia prático para criar algoritmos

Guia prático para a tradução de algoritmos para uma LP


RESPOSTAS:

ESTRUTURAS SEQUENCIAIS:

1) Área do retangulo:

package estudoJava;

import java.util.Scanner;

public class AreaRetangulo {

public static void main(String[] args) {
// TODO Auto-generated method stub
   // declaração de variáveis:
float base, altura, area;
  Scanner ler=new Scanner(System.in);
   // obter os valores de entrada:
  System.out.println("Digite o valor da base: ");
  base=ler.nextFloat();
  
  System.out.println("Digite o valor da altura: ");
  altura=ler.nextFloat();    // processamento:
   area=base*altura;
   // resultados:
   System.out.printf("Área= %f\n",area);
}


}


2) Troca valores de variáeis:

package estudoJava;

public class TrocaVariaveis {
public static void main(String[] args) {
int a,b,x;
a=10;
b=20;
System.out.printf("ANTES: a=%d, b=%d\n",a,b);
x=a;
a=b;
b=x;
System.out.printf("DEPOIS: a=%d, b=%d",a,b);
}
}

3) Equação do segundo grau:

package estudoJava;

import java.util.Scanner;

public class EquacaoSegundoGrau {
public static void main(String[] args) {
// declaração de variáveis:
float a,b,c,delta,x1,x2;
Scanner ler=new Scanner(System.in);
// obter os valores de entrada:
System.out.println("Digite o valor dr a: ");
a=ler.nextFloat();
System.out.println("Digite o valor de b: ");
b=ler.nextFloat();
System.out.println("Digite o valor de c: ");
c=ler.nextFloat();
// processamento:
delta=(float)Math.pow(b,2)-4*a*c;  // ou b*b*4*a*c
x1=(float)(-b + Math.sqrt(delta))/2*a;
x2=(float)(-b - Math.sqrt(delta))/2*a;
// resultados:
System.out.printf("Delta = %3.2f\n",delta);
System.out.printf("x1 = %f\n",x1);
System.out.printf("x2 = %f\n",x2);
}
}

---------------  23/10/2018:

4) Custo com combustível:

package estudoJava;



import java.util.Scanner;


public class CustoCombustivel {
public static void main(String[] args) {
// declaração de variáveis:
float precolitro,distancia,kml,custo;   ;
Scanner ler=new Scanner(System.in);
// obter os valores de entrada:
System.out.println("Programa para calcular custo de viagem");
System.out.print("Qual o preço do litro de combustivel (R$)? ");
precolitro=ler.nextFloat();
System.out.print("Qual a distância da viagem? ");
distancia=ler.nextFloat();
System.out.println("Quantos km o veículo percorre com 1 litro?");
kml=ler.nextFloat();
// processamento:
custo=precolitro*distancia/kml;
// resultados:
System.out.printf("O custro da viagem será R$ %f\n",custo);
}
}



ESTRUTURAS CONDICIONAIS:

1 e 2) Testar se um número é positivo, negativo ou zero:

package estudoJava;

import java.util.Scanner;

public class NumeroPositivoOuNegativo {
public static void main(String[] args) {
   int num;
   Scanner ler = new Scanner(System.in);
   // entrada de dados:
   System.out.println("Teste de número positivo ou negativo");
   System.out.print("Digite um número:");
   num = ler.nextInt();
   if(num<0)
   System.out.println("Número negativo");
   if (num>0)
   System.out.println("Número positivo");
   if (num==0)
   System.out.println("Zero");
        }
}


OU:
package estudoJava;

import java.util.Scanner;

public class NumeroPositivoOuNegativo {
public static void main(String[] args) {
   int num;
   Scanner ler = new Scanner(System.in);
   // entrada de dados:
   System.out.println("Teste de número positivo ou negativo");
   System.out.print("Digite um número:");
   num = ler.nextInt();
   if(num<0)
    System.out.println("Número negativo");
       else if (num>0)
    System.out.println("Número positivo");
       else
    System.out.println("Zero");
        }
}


3) Testar se um triângulo é válido e dizer o tipo de triângulo:


package estudoJava;

import java.util.Scanner;

public class TesteTriangulo {
public static void main(String[] args) {
// declaração de variáveis:
float a,b,c;
Scanner ler=new Scanner(System.in);
// obter os valores de entrada:
System.out.println("Testa a validade e tipo do triângulo");
System.out.print("Digite o tamanho do lado a: ");
a=ler.nextFloat();
System.out.print("Digite o tamanho do lado b: ");
b=ler.nextFloat();
System.out.print("Digite o tamanho do lado c: ");
c=ler.nextFloat();
// teste: a soma de dois lados não pode ser menor que a do terceiro lado)
if (a+b<=c || a+c<=b || c+b<=a)
System.out.println("Triângulo inválido");
else  {
System.out.println("Triângulo válido");
if (a==b && b==c)
System.out.println("Triângulo EQUILÁTERO");
else if ( (a==b && c!=a) || (a==c && b!=a) || (b==c && a!=b) )
System.out.println("Triângulo ISÓSCELES");
else
System.out.println("Triângulo ESCALENO");
}

}



ESTRUTURAS DE REPETIÇÃO:

1) Fazer uma multiplicação usando somas repetidas:

package estudoJava;
import java.util.Scanner;

public class MultiplicaSomando {
public static void main(String[] args) {
int a,b,c,res;
Scanner ler=new Scanner(System.in);
// obter os valores de entrada:
System.out.println("Multiplicação com somas repetidas");
System.out.print("Digite o valor de a: ");
a=ler.nextInt();
System.out.print("Digite o valor de b: ");
b=ler.nextInt();
res=0;
for (c=1;c<=a;c++) {
System.out.printf("%d: + %d\n", c, b);
res=res+b;
}
System.out.printf("%d x %d = %d", a,b,res);
}
}

2) Solicitar uma determinada quantidade de números e calcular a soma e média entre eles:

package estudoJava;
import java.util.Scanner;

public class SomaEMediadeNumeros {
public static void main(String[] args) {
int c,quant;
float num,soma,media;
Scanner ler=new Scanner(System.in);
// obter os valores de entrada:
System.out.println("Programa para soma e média de números");
System.out.print("Quantos números você quer digitar? ");
quant=ler.nextInt();
soma=0;
for(c=1;c<=quant;c++) {
System.out.printf("Digite o %dº número: ",c);
num=ler.nextFloat();
soma=soma+num;
}
media=soma/quant;
System.out.printf("A soma  é: %f\n",soma);
System.out.printf("A média é: %f",media);
}


}

sexta-feira, 28 de setembro de 2018

Programação OO - Exemplos Java de 28/09/2018

Balanço Trimestral, versão inicial, com os valores fixos no código-fonte:

public class BalancoTrimestral {
public static void main(String args[]) {
float gastosJan,gastosFev, gastosMar;
float gastosTri1;

gastosJan=15000;
gastosFev=23000;
gastosMar=17000;

gastosTri1=gastosJan+gastosFev+gastosMar;
System.out.println("Gasto Total: "+gastosTri1);
System.out.println("Gasto médio: "+gastosTri1/3);
}

}

BalancoTrimestral versão com entrada de dados usando a classe Scanner:

import java.util.Scanner;

public class BalancoTrimestral2 {
public static void main(String args[]) {
float gastosJan,gastosFev, gastosMar;
float gastosTri1;
Scanner ler=new Scanner(System.in);
System.out.println("Gastos de Janeiro: ");
gastosJan=ler.nextFloat();
System.out.println("Gastos de Fevereiro: ");
gastosFev=ler.nextFloat();

System.out.println("Gastos de Março: ");
gastosMar=ler.nextFloat();
gastosTri1=gastosJan+gastosFev+gastosMar;
System.out.println("Gasto Total: "+gastosTri1);
System.out.println("Gasto médio: "+gastosTri1/3);
}

}