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
- Algoritmo "titulo do programa que você vai criar"
- Var "criação das váriaveis"
- inicio "Escorpo do pseudocódigo"
- fimalgoritmo "fim do pseudocódigo"
- Menu
- Barra de Tarefas
- Barra de Execução de Algoritmo
- Editor de textos
- Visualizador de variáveis
- Simulador de saída
- Barra de status
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
- Real -
- inteiro
- carctere
- literal
- 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