sábado, 12 de junho de 2010

Visual G

Conhecendo o VisualG

Vamos comerçar a nossa primeira postagem, falando um pouco sobre o VisualG, o VisualG, é um Software, criado na itenção de trabalhar na área do conhecimento, já que sua programação trabalha com base no Pseudocódigo, (Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples nativa a quem o escreve, de forma a ser entendida por qualquer pessoa sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. (fonte: Wikipedia)), de início vamos baixar o VisualG clicando aqui.

Trabalhando no VisualG

Quando o VisualG é carregado, ele já inícia com a base do pseudocódigo, nesta ordem


  1. Algoritmo "titulo do programa que você vai criar"
  2. Var "criação das váriaveis"
  3. inicio "Escorpo do pseudocódigo"
  4. fimalgoritmo "fim do pseudocódigo"




  1. Menu
  2. Barra de Tarefas
  3. Barra de Execução de Algoritmo
  4. Editor de textos
  5. Visualizador de variáveis
  6. Simulador de saída
  7. Barra de status
Iniciando a Programar

Vamos conhecer agora agora uma lista de operadores do pseudocódigo

Operadores Aritméticos

+,-

Operadores unários, isto é, são aplicados a um único operando. São os operadores aritméticos de maior precedência. Exemplos: -3, +x. Enquanto o operador unário - inverte o sinal do seu operando, o operador + não altera o valor em nada o seu valor.

\

Operador de divisão inteira. Por exemplo, 5 \ 2 = 2. Tem a mesma precedência do operador de divisão tradicional.

+,-,*,/

Operadores aritméticos tradicionais de adição, subtração, multiplicação e divisão. Por convenção, * e / têm precedência sobre + e -. Para modificar a ordem de avaliação das operações, é necessário usar parênteses como em qualquer expressão aritmética.

MOD ou %

Operador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma precedência do operador de divisão tradicional.

^

Operador de potenciação. Por exemplo, 5 ^ 2 = 25. Tem a maior precedência entre os operadores aritméticos binários (aqueles que têm dois operandos).

Operadores de Caracteres

+

Operador de concatenação de strings (isto é, cadeias de caracteres), quando usado com dois valores (variáveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de Janeiro".

Operadores Relacionais

=, <, >, <=, >=, <>

Respectivamente: igual, menor que, maior que, menor ou igual a, maior ou igual a, diferente de. São utilizados em expressões lógicas para se testar a relação entre dois valores do mesmo tipo. Exemplos: 3 = 3 ( 3 é igual a 3?) resulta em VERDADEIRO ; "A" > "B" ("A" está depois de "B" na ordem alfabética?) resulta em FALSO.


Operadores Lógicos

nao

Operador unário de negação. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior precedência entre os operadores lógicos. Equivale ao NOT do Pascal.

ou

Operador que resulta VERDADEIRO quando um dos seus operandos lógicos for verdadeiro. Equivale ao OR do Pascal.

e

Operador que resulta VERDADEIRO somente se seus dois operandos lógicos forem verdadeiros. Equivale ao AND do Pascal.

xou

Operador que resulta VERDADEIRO se seus dois operandos lógicos forem diferentes, e FALSO se forem iguais. Equivale ao XOR do Pascal.


Criando o primeiro programa com o pseudocódigo

Variáveis são usadas para armazenar e representar os dados na mémoria, em tempos de execução. vamos ver agora alguns tipos de variáveis

  1. Real -
  2. inteiro
  3. carctere
  4. literal
  5. logico

Exercícios


1. Efetuar o cálculo da quantidade de litros de combustível gastos em uma viagem, usando-se um automóvel que faz 12 KM por litro. Para obter o cálculo, o usuário fornecer o tempo gasto e a velocidade média durante a viagem. Desta forma, será possível obter a distância percorrida com a fórmula DISTANCIA = TEMPO * VELOCIDADE. Tendo o valor da distância, basta calcular a quantidade de litros de combustível usada na viagem com a fórmula: LITROS_GASTOS = DISTANCIA / 12. O programa deverá apresentar os valores da velocidade média, tempo gasto na viagem, a distância percorrida e quantidade de litros utilizada na viagem.

Observação

· Dados de entrada: TEMPO e VELOCIDADE

· Processamento: calcular a distância pela fórmula do enunciado e depois calcular Litros gastos (veja a fórmula no enunciado)

· Saída: TEMPO, VELOCIDADE, DISTÂNCIA, LITROS_USADOS

algoritmo "exer01"

// Função : cálculo da quantidade de litros de combustível

// Autor : Israel Caetano

// Data : 26 de junho de 2010

// Seção de Declarações

var

distancia,tempo,velocidade,litros_gastos: real

inicio

// Seção de Comandos

escreval ("qual o tempo a percorrer (em horas)?")

leia (tempo)

escreval ("qual a velocidade média (em km/h)?")

leia (velocidade)

distancia <- (tempo*velocidade)

litros_gastos <- (distancia)/12

escreval ("O tempo foi de: ",tempo, " horas")

escreval ("A velocidade foi de: ", velocidade, " km/h")

escreval ("A distância foi de: ", distancia, " km")

escreval ("Os Litros Gastos foi de: ", litros_gastos," litros")

fimalgoritmo


2. Numa fábrica de peças, o salário base de um operário da linha de fabricação é de R$ 240,00. Além do salário base, o operário tem um adicional de produtividade baseado na quantidade de peças que ele fabrica por mês que é pago segundo o critério (observação: use uma variável ADICIONAL para efetuar os cálculos)

v se o número de peças é inferior, ou 500: apenas o salário base
Exemplo: ADICIONAL
<- 0

v Se o número de peças é superior a 500 e inferior, ou, 750: R$ 0,50 por peça fabricada acima das 500

Exemplo: ADICIONAL <- (QTDE - 500) * 0,50

v Se o número de peças for superior a 750: recebe R$ 350,00 (fixo) mais R$ 0,75 por peça fabricada acima das 750.

Exemplo: ADICIONAL <- (QTDE - 750) * 0,75 + 350

Desenvolva um algoritmo que permita entrar com o número de peças fabricadas por um operário e imprima seu salário que será calculado.

Exemplo: SALARIO_FINAL <- 240 + ADICIONAL

algoritmo "exer2"

// Função : calcula o salário de um operário

// Autor : Israel Caetano

// Data : 26 de junho de 2010

// Seção de Declarações

var

NUM_PECAS: inteiro

SAL_BASE, ADICIONAL, SAL_FINAL: real

inicio

escreval ("Digite o número de peças produzidas pelo operário ")

SAL_BASE <- 240.00

leia (NUM_PECAS)

se (NUM_PECAS <= 500) entao

ADICIONAL <- 0

SAL_FINAL <- SAL_BASE+ADICIONAL

escreval ("Salário Final: R$ ", SAL_FINAL)

senao

se (NUM_PECAS > 500) e (NUM_PECAS <= 750) entao

ADICIONAL <- (NUM_PECAS-500)*0.50

SAL_FINAL <- SAL_BASE+ADICIONAL

escreval ("Salário Final: R$ ", SAL_FINAL)

senao

se (NUM_PECAS > 750) entao

ADICIONAL <- (NUM_PECAS-750)*0.75+350

SAL_FINAL <- SAL_BASE+ADICIONAL

escreval ("Salário Final: R$ ", SAL_FINAL)

fimse

fimse

fimse

fimalgoritmo


3. Depois da liberação do governo para as mensalidades dos planos de saúde, as pessoas começaram a fazer pesquisas para descobrir um bom plano, não muito caro. Um vendedor de um plano de saúde apresentou a tabela a seguir. Criar um programa que entre com o nome e a idade de uma pessoa e mostre o nome e o valor que ela deverá pagar (usar estrutura condicional encadeada).

Observação:

Dados de entrada: Nome e Idade

Processamento: Calcular o VALOR

Saída: NOME e VALOR

v Até 10 anos – R$ 30,00

v Acima de 10 até 29 anos – R$ 60,00

v Acima de 29 até 45 anos - R$ 120,00

v Acima de 45 até 59 anos – R$ 150,00

v Acima de 59 até 65 anos – R$ 250,00

v Acima de 65 anos - R$ 400,00

algoritmo "Exer03"

// Função : o programa mostro o nome e o valor que uma pessoa deverá pagar por idade

// Autor : Israel Caetano

// Data : 26 de junho de 2010

// Seção de Declarações

var

nome:caracter

idade,valor:real

inicio

// Seção de Comandos

escreval (" Sistema do Plano de Saúde")

escreval ("digite o nome do cliente:")

leia (nome)

escreval ("digite a idade:")

leia (idade)

se (idade <= 10)entao

valor <- 30

fimse

se (idade > 10) e (idade <= 29) entao

valor <- 60

fimse

se (idade >29) e (idade <=45)entao

valor <- 120

fimse

se (idade > 45) e (idade <=59) entao

valor <- 150

fimse

se (idade > 59) e (idade <=65) entao

valor <- 250

fimse

se (idade > 65) entao

valor <- 400

fimse

escreval (" dados do cliente ")

escreval ("o nome do cliente foi: ",nome)

escreval ("o valor que ele(a) vai pagar é de: ",valor, " reais")

fimalgoritmo


4. Desenvolver um programa que calcule o salário bruto e o salário liquido de um funcionário.

Observações:

v O valor do salário mínimo = R$ 350,00

v Valor da hora-extra = R$ 10,00.

Sabe-se:

v Salário hora-extra = horas-extras * Valor da Hora-Extra;

v Salário Bruto = 3 * Salário Minimo + Salario Bruto, se salário bruto for maior que R$ 1500,00;

v Desconto do imposto de renda = 20% do salário bruto, se o mesmo for maior que R$ 2000,00;

v Salário Liquido = salário bruto * deduções.

Dados de entrada:

v Nome do funcionário;

v Quantidade de horas-extras trabalhadas.

Processamento: (procure identificar com comentário cada cálculo)

v Calcular valor – horas extra

SAL_EXTRA <- QTDE_EXTRA * 10.0

v Calcular salário bruto

SAL_BRUTO <- 3 * 350,00 + SAL_EXTRA

v Calcular INSS (lembre-se de criar uma condição para calcular o INSS de acordo com o valor estipulado maiores ou igual a 1500 o)

INSS <- SAL_BRUTO*0.12 e para os demais INSS <- 0

Calcular imposto de renda (IR) (Lembre-se de criar uma condição para verificar o SALARIO BRUTO (SAL_BRUTO)é maior que 2000

(IR <- SAL_BRUTO * 0,20 E PARA OS DEMAIS IR <- 0)

Calcular o salário líquido: SAL_LIQUIDO <- SAL_BRUTO – (INSS + IR)

Saída:

v Salário bruto

v Salário líquido

v Poderá apresentar também os outros valores calculados (VALOR DE HORA EXTRA, VALOR DE INSS, VALOR DE IMPOSTO DE RENDA)

algoritmo "Exer04"

// Função : Calcular o salário bruto e o salário líquido de um funcionário

// Autor : Israel Caetano

// Data : 26 de junho de 2010

// Seção de Declarações

var

NOME_FUNCIONARIO: literal

HORA_EXTRA: inteiro

VHORA_EXTRA, SAL_MINIMO, SAL_EXTRA, SAL_BRUTO, SAL_LIQUIDO, INSS, IR: real

inicio

escreval ("Digite o nome do funcionário: ")

leia (NOME_FUNCIONARIO)

escreval ("Digite a quantidade de horas extras trabalhadas: ")

leia (HORA_EXTRA)

SAL_MINIMO <- 350,00

VHORA_EXTRA <- 10,00

SAL_EXTRA <- HORA_EXTRA*VHORA_EXTRA

SAL_BRUTO <- 3*350,00+SAL_EXTRA

se (SAL_BRUTO > 1500) entao

INSS <- SAL_BRUTO*0,12

senao

INSS <- 0

fimse

se (SAL_BRUTO > 2000) entao

IR <- SAL_BRUTO*0,20

senao

IR <- 0

fimse

SAL_LIQUIDO <- (SAL_BRUTO-(INSS+IR))

escreval ("Salário Bruto: ", SAL_BRUTO)

escreval ("Salário Líquido: ", SAL_LIQUIDO)

escreval ("Valor da Hora Extra: ", VHORA_EXTRA)

escreval ("Valor do INSS: ", INSS)

escreval ("Valor do Imposto de Renda: ", IR)

fimalgoritmo

5. Uma empresa fez uma pesquisa para saber se as pessoas gostaram ou não de um de seus novos produtos lançado no mercado. Para isso coletou: o sexo do entrevistado (“M” ou “F”), sua idade e sua resposta (“S” ou “N”). sabendo-se que foram entrevistadas 1000 pessoas, elabore um algoritmo para calcular e informar (obs: declare 6 variáveis – Exemplo: CONT1, CONT2, CONT3, CONT4, CONT5, CONT6 para controlar todos os itens abaixo, não se esqueça de estura de repetição para efetuar todos os cadastros e também de inicializar as variáveis de contador antes de estrutura de repetição):

a. Número de pessoas que responderam “Sim”;

b. Número de pessoas que responderam “Não”;

c. Quantas pessoas maiores ou igual a 18 anos gostaram do produto;

d. Quantas pessoas menores de 18 anos não gostaram do produto;

e. Quantas pessoas maiores ou iguais a 18 anos, do sexo feminino, não gostaram do produto;

f. Quantas pessoas menores de 18 anos, do sexo masculino, gostaram do produto.

Observação

· Entrada: SEXO, IDADE, RESPOSTA

· Processamento: FAÇA O CONTROLE PARA TODOS OS CONTADORES (CONT1 A CONT6)

· Saída: imprimir a resposta para todos os itens da pesquisa (alternativas de a> a f))

algoritmo "Exer05"

// Função : Controle de clientes

// Autor : Israel Caeano

// Data : 26 de junho de 2010

// Seção de Declarações

var

sexo,resposta: caracter

idade,cont1,cont2,cont3,cont4,cont5,cont6,par1:inteiro

inicio

// Seção de Comandos

para par1 de 1 ate 1000 passo 1 faca

escreval ("qual o sexo do cliente? (para masculino responda M, para feminino responda F)")

leia (sexo)

escreval ("Qual a Idade do Cliente?")

leia (idade)

escreval ("Resposta do Cliente:(Para sim responda S, para não responda N)")

leia (resposta)

se (resposta = "S") entao

cont1 <- cont1 + 1

fimse

se (resposta = "N") entao

cont2 <- cont2 + 1

fimse

se (idade >= 18) e (resposta = "S") entao

cont3 <- cont3 + 1

fimse

se (idade < resposta = "N">

cont4 <- cont4 + 1

fimse

se (idade >= 18) e (sexo = "F") e (resposta = "N") entao

cont5 <- cont5 + 1

fimse

se (idade < sexo = "M" resposta = "S">

cont6 <- cont6 + 1

fimse

fimpara

escreval ("O número de pessoas que responderam sim foi: ", cont1)

escreval ("O número de pessoas que responderam não foi: ", cont2)

escreval ("maiores ou igual a 18 anos que gostaram do produto: ", cont3)

escreval ("maiores de 18 anos que não gostaram do produto: ", cont4)

escreval ("maiores ou iguais a 18 anos, do sexo feminino, que não gostaram do produto: ", cont5)

escreval ("menores de 18 anos, do sexo masculino, gostaram do produto: ", cont6)

fimalgoritmo



Israel Caetano