Algoritmos – Estruturas Sequenciais

Parte deste material foi adaptado dos conteúdos originais dos Professores Fábio Tirelo, Silvio Jamil e Theldo Cruz.

Conteúdo Original da Professora Dulcinéia Oliveira da Penha / 2005

Baseado no post anterior, Conceitos Básicos de um Programa (draddx.com), foram citados alguns exemplos de algoritmos e segue abaixo a solução desse:


1)  Ler a distância percorrida e o tempo de percurso e calcular a velocidade;


/**Exercicio 1) Ler a distância percorrida e o tempo de percurso e calcular a velocidade; 123456 - Dulcinéia Oliveira da Penha

07 de agosto de 2005

**/

import javax.swing.*;

public class Correcao_Aula01_Exercicio01{

public static void main (String args [ ]) { System.out.println("*********************************"); System.out.println ("          Correcao_Exercicio01 - Calcula a velocidade"); System.out.println ("           123456 - Dulcinéia Oliveira da Penha"); System.out.println ("             07 de agosto de 2005"); System.out.println("**********************************");

 

double distancia, tempo, velocidade;

distancia = Double.parseDouble(JOptionPane.showInputDialog ("Digite a distância, em metros:")); tempo      = Double.parseDouble(JOptionPane.showInputDialog ("Digite o tempo, em segundos:")); velocidade = distancia/tempo; //calculo da velocidade em m/s

 

System.out.println ("A velocidade e': " + velocidade + " m/s.");

}

}


2)  Ler o nome e o sobrenome de uma pessoa e fornecer a escrita de duas formas: ”nome sobrenome”; ”sobrenome, nome”;

/** Exercicio 2) Ler o nome e o sobrenome de uma pessoa e fornecer a escrita de duas formas: "nome sobrenome"; "sobrenome, nome";

123456 - Dulcinéia Oliveira da Penha 07 de agosto de 2005

*/

import javax.swing.*;

public class Correcao_Aula01_Exercicio02{

public static void main (String args [ ]) {

System.out.println ("*******************************************"); System.out.println ("      Correcao_Exercicio02 - Le e escreve o nome e sobrenome"); System.out.println ("       123456 - Dulcinéia Oliveira da Penha"); System.out.println ("                    07 de agosto de 2005");

System.out.println ("*********************************************************");

 

String nome, sobrenome;

nome     = JOptionPane.showInputDialog ("Digite o seu nome:"); sobrenome = JOptionPane.showInputDialog ("Digite o seu sobrenome:");

 

System.out.println (nome + " " + sobrenome); System.out.println ("\n" + sobrenome + ", " + nome);

}

}


3)  Ler um número inteiro qualquer e escrever seu quadrado e seu cubo e sua raiz quadrada;

/** Exercicio 3) Ler um número inteiro qualquer e escrever seu quadrado e seu cubo e sua raiz quadrada;

123456 - Dulcinéia Oliveira da Penha 07 de agosto de 2005

*/ import javax.swing.*;


public class Correcao_Aula01_Exercicio03{

public static void main (String args [ ]) {

System.out.println ("**************************************"); System.out.println (" Correcao_Exercicio03 - Quadrado, cubo e raiz quadrada de um inteiro"); System.out.println ("         123456 - Dulcinéia Oliveira da Penha"); System.out.println ("                    07 de agosto de 2005");

System.out.println ("*******************************************");

int num;

num = Integer.parseInt(JOptionPane.showInputDialog ("Digite um numero inteiro:"));

 

System.out.println ("O numero inteiro digitado foi: " + num); System.out.println ("Quadrado: " + Math.pow(num,2)); System.out.println ("Cubo: " + Math.pow(num,3)); System.out.println ("Quadrado: " + Math.sqrt(num));

}

}

 

1.  Forma Geral de um algoritmo


Inicio


Fim.

|Identificação|

|Abstração de dados|

|Definições de dados|

|Comandos|


2.  Refinamentos


à Construção de um algoritmo passo-a-passo.

Exemplo: Fazer um algoritmo para ler dois valores do teclado e mostrar a sua soma na tela.

Primeiro passo: Identificar o objetivo do algoritmo.

Segundo passo: Isolar os processos.

Início


Fim.


//ler dois valores inteiros e mostrar sua soma ler dois valores inteiros somar os dois valores mostrar sua soma

Terceiro passo: Isolar as ações consideradas primitivas.

Início


Fim.


3.  Expressões


Descrições de transformações de valores do mesmo tipo, ou de tipos diferentes; servem para descrever operações capazes de alterar conteúdos de um objeto.

a)  Expressões aritméticas

Funções mais comuns:






Operadores aritméticos





Exemplos:







Regras

(x + 3) / (z + 1)

a.) A avaliação das operações é feita no sentido de leitura da expressão, se de mesma hierarquia. b.) Um operador aritmético nunca pode ficar implícito.

c.) A sequência de operações é a seguinte:

-          avaliação de parênteses, para resolver problemas de prioridade, executando-se as operações dentro de parênteses mais internos primeiro;

-          cálculo de funções;

-          exponenciação (^);

-          multiplicação ou divisão (*, /, %);

-          adição ou subtração (+ ou -).

Observações:

-          Para efeito de clareza, ou para mudar a precedência de operadores, pode-se separar as expressões por meio de parênteses.

-          Os operadores associam-se, preferencialmente, da esquerda para a direita, com exceção do operador de exponenciação.

-          Respeitam-se os tipos; exige-se conversões entre representações diferentes.

b)  Expressões literais

à Funções pré-definidas



c)  Expressões lógicas

à Operadores relacionais

Símbolo           relação

>                             maior que

<                             menor que

=                             igual

>=                           maior ou igual

<=                           menor ou igual

!                              diferente

à Conectivos lógicos

Símbolo           relação

&                             e

|                              ou

!                              não

Observação:

Estes conectivos também seguem regras de prioridade.

4.  Estruturas de controle

Há 3 estruturas básicas de controle: a seqüência simples, a estrutura condicional e a estrutura repetitiva.

A) Seqüência Simples

Forma geral:

<comando 1>;

...

<comando N>;

ou ainda <comando 1>;...; <comando N>;

Os comandos serão executados na ordem em que aparecem no texto, um em cada linha; ou separados por ponto-e-vírgula (;), se na mesma linha.

Bloco de comandos ou bloco: conjunto de comandos, associados ou não, a uma estrutura de controle.

 

Comentários