Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Programação estruturada com VisualG: exemplos de problemas e soluções, Trabalhos de Programação em Windows

Vários problemas de programação resolvidos utilizando a linguagem visualg, cobrindo conceitos como atribuição de valores, laços de repetição, estrutura de seleção e cálculo de médias, somas e valores máximos. Além disso, é abordado o conceito de triângulos e suas classificações.

Tipologia: Trabalhos

2016

Compartilhado em 25/01/2022

anisio-munda
anisio-munda 🇦🇴

1 documento

1 / 55

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
9
CAPITULO I INTRODUÇÃO
Desde o início da industrialização o homem teve a necessidade de criação de métodos ou
equipamentos que facilitassem o seu trabalho.
O homem criou equipamentos eletrônicos que foram desenvolvidos de forma a executar
as suas tarefas, organizada e sistematicamente.
Com o passar do tempo esses equipamentos desenvolveram-se exponencialmente,
participando em quase todos os processos atuais das áreas do saber, gerando empregos e
desenvolvimentos nacionais. Desde então surgiu ao homem a necessidade que quase se torna
obrigação de estar ligado à técnicas de execução de tarefas de modo rápido e simples que
estes equipamentos fornecem.
1.1-Problema
Será que com a criação de um programa no visualG podemos resolver as seguintes
questões?
a) Fazer um programa que some dois números pares entre dois valores
inteiros
b) Fazer um programa que leia números do teclado e depois informar a
média aritmética entre os números lidos, a quantidade lida e a soma deles.
c) Fazer um programa que determine o maior valor entre 10 valores lidos
pelo teclado
d) Fazer um programa que leia 3 valores de um triângulo e determinar se é
escaleno, equilátero ou isósceles
e) Fazer um programa geral com menú onde cada tem código de acesso
1.2 Objetivos
1.2.1 - Objetivo geral
Criar um programa no visualG com menú e que realize inúmeras
funções
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Pré-visualização parcial do texto

Baixe Programação estruturada com VisualG: exemplos de problemas e soluções e outras Trabalhos em PDF para Programação em Windows, somente na Docsity!

CAPITULO I – INTRODUÇÃO

Desde o início da industrialização o homem teve a necessidade de criação de métodos ou equipamentos que facilitassem o seu trabalho. O homem criou equipamentos eletrônicos que foram desenvolvidos de forma a executar as suas tarefas, organizada e sistematicamente. Com o passar do tempo esses equipamentos desenvolveram-se exponencialmente, participando em quase todos os processos atuais das áreas do saber, gerando empregos e desenvolvimentos nacionais. Desde então surgiu ao homem a necessidade que quase se torna obrigação de estar ligado à técnicas de execução de tarefas de modo rápido e simples que estes equipamentos fornecem. 1.1-Problema Será que com a criação de um programa no visualG podemos resolver as seguintes questões? a) Fazer um programa que some dois números pares entre dois valores inteiros b) Fazer um programa que leia números do teclado e depois informar a média aritmética entre os números lidos, a quantidade lida e a soma deles. c) Fazer um programa que determine o maior valor entre 10 valores lidos pelo teclado d) Fazer um programa que leia 3 valores de um triângulo e determinar se é escaleno, equilátero ou isósceles e) Fazer um programa geral com menú onde cada tem código de acesso 1.2 – Objetivos 1.2.1 - Objetivo geral

  • Criar um programa no visualG com menú e que realize inúmeras funções

1.2.2 - Objetivos específicos a) Criar um programa para somar dois números pares entre dois valores inteiros; b) Criar um programa para ler números do teclado e depois informar a média dos números lidos a quantidade lida e a soma deles; c) Criar um programa para determinar o maior valor entre 10 números lidos do teclado; d) Criar um programa para determinar se os 3 valores lidos de um triangulo, e verificar se é de um equilátero, isósceles ou escaleno. e) Criar um programa geral onde ficarão acoplados todos os outros programas usando um menú que permitirá acessar cada um deles. 1.3 – Hipótese Com a criação de um programa em visualG pode-se dar uma solução aos problemas propostos através de instruções que serão interpretadas pelo compilador de algoritmos utilizados pelo visualG e pela diversidade de códigos que ele pode apresentar. 1.4- Justificativa A pesquisa nos leva a criação de programas que facilitem a resolução de operações relacionadas a cálculo definidos de antemão pelo professor e à criação de menús para facilitar a navegação do usuário no programa desenvolvido em VisualG, bem como o aumento das nossas capacidades de trabalho em equipe. 1.5- Metodologia do trabalho A investigação é baseada no método cientifico. 1.5.1 – Tipo de pesquisa Pesquisa experimental e acadêmica.

Qualquer tarefa que siga determinado padrão pode ser descrita por um algorítmo, como por exemplo “como fazer funge de calulú” ou “Como criar uma pasta no PC” e no processo de interpretação do algorítmo devemos dividir o problema em três fases fundamentais:

  • Entrada: são os dados de entrada do algorítmo;
  • Processamento: São os procedimentos utilizados para chegar ao resultado final;
  • Saída: São os dados já processados Para representarmos um algorítimo podemos usar três formas, formas essas como a Descrição Narrativa, Fluxograma e o Pseudocódigo. 2.1 – Descrição Narrativa A Descrição Narrativa é uma das formas de representação ou escrituração de um algorítmo que usa a linguagem natural para representá-lo. A Descrição Narrativa como todas as outras formas de representação de algorítimo é escrituradada passo-a-passo e ela começa normalmente por um verbo no infinitivo, não usa qualquer tipo de sinal aritmético ou relacional (Graficamente) a descrição narrativa é normalmente literal à 100%. Exemplo: Algorítimo para somar dois números Início
  • Escrever o primeiro número
  • Escrever o segundo número
  • Soma= p1+p
  • Escrever o resultado da soma Fim

Como foi dito, para uma representação do algorítimo pela descrição não se usa sinais aritméticos por tratar-se de uma descrição narrativa logo escreve-se todo o tipo de detalhe, no entanto corrigindo esse algorítmo ficaria assim: Início

  • Anotar o primeiro número
  • Anotar o segundo número
  • Somar o primeiro número pelo segundo
  • Anotar o resultado da soma Fim 2.1.1-Análise e Descrição Narrativa dos problemas propostos Sendo assim já podemos realizar os nossos algorítmos na Descrição Narrativa para realizar os problemas já definidos de antemão que são: a) Fazer um programa que some dois números pares entre dois valores inteiros b) Fazer um programa que leia números do teclado e depois informar a média aritmética entre os números lidos, a quantidade lida e a soma deles c) Fazer um programa que determine o maior valor entre 10 valores lidos pelo teclado d) Fazer um programa que leia 3 valores de um triângulo e determinar se é escaleno, equilátero ou isósceles e) Fazer um programa geral com menú onde cada tem código de acesso

2.1.1.2- Segundo Problema 2.1.1.2.1-Análise do Problema “Fazer um programa que leia números do teclado e depois informar a média aritmética entre os números lidos, a quantidade lida e a soma deles” A Quantidade de números lidos deve estar dentro de um loop onde será feito um incremento de uma unidade. A soma deverá estar dentro do loop também, e será a soma entre o valor digitado pelo valor da soma inicial (A soma inicial será “0” de início, mas quando for feito o loop a soma inicial terá o valor da soma anterior realizada) Exemplo: S= N+So Se N=2 e So=0 S=2 quando for feito o loop So= A média aritmética é a soma dos números lidos dividindo pela quantidade de números lídos 2.1.1.2.2- Descrição Narrativa do Problema Inicio ➢ Atribuir o valor zero ao resultado da soma anterior ➢ Atribuir o valor zero ao resultado da quantidade de números anotados anteriormente ➢ Anotar o valor ➢ Somar o valor anotado pelo resultado da soma anterior ( que será o resultado da soma dos números) ➢ Somar a quantidade de números anotados anteriormente por uma unidade ➢ Dividir o resultado da soma dos números pela quantidade total de números lidos ➢ Anotar o valor da soma ➢ Anotar o valor da Quantidade ➢ Anotar o valor da média ➢ Toda vez que repetir acrescente um valor à Quantidade Fim

2.1.1.3-Terceiro Problema 2.1.1.3.1-Análise do Problema “Fazer um programa que determine o maior valor entre 10 valores lidos pelo teclado” O programa deverá comparar dois à dois números digitados, sendo assim ele fará a comparação 5 vezes já que ele deve executar apenas 10 vezes. 2.1.1.3.2-Descrição Narrativa do Problema Inicio ➢ Anotar um valor ➢ Definir o 1ª valor anotado como o maior ➢ Para os 9 valores restantes a serem anotados: Sempre que 1 dos valores for maior que o valor armazenado como o maior, então o maior será este mesmo valor ➢ Mostrar o maior valor Fim

2.1.1.4.2-Descrição Narrativa do Problema Início Anotar o valor do lado A Anotar o valor do lado B Anotar o valor do lado C Se “A” for diferente de “B” e “B” for diferente de “C” e “A” diferente de “C” então O triângulo é escaleno Se “A” for igual a “B” e “A” diferente de “C” então O triângulo é Isósceles Se “A” for igual a “C” e “A” diferente de “B” então O triângulo é Isósceles Se “B” for igual a “C” e “B” diferente de “A” então O triângulo é Isósceles Se “A” for igual a “B” e “A” igual a “C” então O triângulo é equilátero Fim

2. 2 - PSEUDO – CÓDIGO

Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos de variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. 2.2.1-Representação de um algorítmo em Pseudocódigo Um algorítimo representado em pseudo-código deve ser escrito do tipo: Figura 2.2.1 – Estrutura de um algoritmo em Pseudo-código Onde: Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <Nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. <Declaração de variaveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo. é onde ficam todos os passos do algorítmo atribuições, instruções de leitura, escrita, até mesmo estruturas condicionais entre outras. <Início e Fim> são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo.

Existem casos que há diversas variáveis à serem declaradas porém todas elas são do mesmo tipo, para não repetirmos o processo podemos fazer uma declaração de várias variáveis. Para isso colocam-se todas as variáveis na mesma linha separadas por vírgulas. Vamos supor que deseja-se armazenar 3 valores de provas, reais, p1, p2 e P3 se usarmos a forma normal de declaração de variáveis ficaria assim: Var P1:Real P2:Real P3:Real Enquanto que quando usa-se a Declaração de várias variáveis ficaria assim: Var P1, P2, P3: Real Nota-se claramente que usando a declaração de várias variáveis reduz-se o esforço no momento da declaração das variáveis. Um algorítimo não é só baseado em declarações de variáveis mas também existe um corpo do mesmo onde irão todas as instruções que deverão ser executadas pela máquina. Todas estas instruções obedecem à um esqueleto que chamamos de Sintaxe. Sintaxe é a forma como as instruções de uma linguagem são escritas, mas sem atender ao seu significado. Enquanto no C++ os blocos de comando que serão executados são limitados por “{ }”, em Pascal são limitados por “begin” e “end” e em visualG que é mais ou menos Pascal em português é limitado por “Inicio” e “Fimalgoritmo”. Os algorítmos são nada mais nada menos que intruções ou comandos à serem executadas(os). Comandos estes que podem ser:

  • Comando de entrada;
  • Comando de saída ; 2.2.2-Comando de Entrada Um comando de entrada serve para que o programa ou o algoritmo faça a leitura de dados lançados pelo usuário. Esses dados lidos serão armazenados em variáveis. Sintaxe: Leia ( ) - em VisualG e Pseudo-código(PT)

Exemplo: Figura 2.2.2.1-Exemplo comando de entrada Mas se for necessário ler mais de um identificador, basta colocá-los separados por vírgulas. Sintaxe: Leia (<identificador-1>,...<identificador-N>) - em VisualG e Pseudo-código. Exemplo : Figura 2.2.2.2- Exemplo comando de entrada composta ou dupla 2.2.3-Comando de Saída Um comando de saída ou de escrita, serve para que o programa mostre ao usuário os resultados desejados ou os resultados de procedimentos realizados. Sintaxe: Escreva (<expressão-1>,...,<expressão-n>) ... Exemplo: Figura 2.2.3-Exemplo comando de saída. Atribuição de valores A atribuição de valores a variáveis é feita como operador de atribuição “<-”

2.2.5.1-Seleção simples e compostas É a mais utilizada (Em inglês IF-THEN-ELSE ) O funcionamento é simples: com base no resultado de uma expressão booleana ( VERDADEIRO ou FALSO ), o fluxo do algoritmo segue para um bloco de instruções ou não. Sintaxe: SE <expressão booleana> ENTAO <Instruções a serem executadas caso a expressão booleana resulte em VERDADEIRO > SENÃO <Instruções a serem executadas caso a expressão booleana resulte em FALSO > FIMSE Exemplo: Algoritmo "Tirar dinheiro" Var SaldoDisponivel: REAL ValorDoSaque: REAL Inicio SaldoDisponivel=1000 //Assumimos que há 1000 kwanzas de saldo na conta disponível ESCREVA ("Informe o valor do Saque: ") LEIA (ValorDoSaque) SE ValorDoSaque <= SaldoDisponivel ENTAO SaldoDisponivel = SaldoDisponivel - ValorDoSaque ESCREVA ("Você sacou ", ValorDoSaque, "Akz.") SENAO ESCREVA ("O valor solicitado é maior que o valor disponível na conta!") FIMSE ESCREVA ("Saldo disponível: ", SaldoDisponivel) Fimalgoritmo

2.2.5.1.1-Selecção composta Note que a parte do "Senão" é opcional e pode ser omitida. Caso omitida, a estrutura é chamada de selecção simples; caso contrário é chamada selecção composta. A estrutura "Senão Se" é formada pela composição de estruturas de selecção, e um exemplo de sua estrutura é o seguinte: Se (condição) entao (Bloco de código) Senao Se (condição) entao (Bloco de código) Fimse Fimse 2.2.5.2-Multi-selecção ou Selecção Múltipla A selecção de múltipla “escolha” (em inglês SWITCH-CASE), é uma solução elegante quanto se tem várias estruturas de decisão (SE-ENTÃO-SENÃO) aninhadas. A proposta da estrutura ESCOLHA-CASO é permitir ir direto no bloco de código desejado, dependendo do valor de uma variável de verificação. Sintaxe: ESCOLHA <variável de verificação> CASO FACA “Instruções a serem executadas caso <variável de verificação> = CASO FAÇA “Instruções a serem executadas caso <variável de verificação> = CASO FAÇA “Instruções a serem executadas caso <variável de verificação> = FIM-ESCOLHA A expressão deste comando deve ser do tipo inteiro ou carácter ou ainda literal, o que limita a escolha. Cada caso (case) está associado a um conjunto de instruções.

Após às análises feitas aos problemas e descrições narrativas feitas, já estamos em condições de realizar os pseudo-códigos dos problemas propostos. 2.2.7-Pseudo-Código dos problemas propostos 2.2.7.1-Primeiro Problema( “Fazer um programa que some dois números pares entre dois valores inteiros”) algoritmo “somar_dois_numeros_pares” var ➢ n1,n2,soma: inteiro Inicio

  1. escreva("Digite O 1ª Valor: ")
  2. leia(n1)
  3. se(n1 mod 2<>0)entao
  4. escreva("Você Digitou um nª Impar !")
  5. senao
  6. escreva("Digite o 2ª Valor: ")
  7. leia(n2)
  8. se(n2 mod 2<>0)entao
  9. escreva("Erro!! O 2ª Valor é Impar !")
  10. senao
  11. soma=n1+n
  12. escreva("A Soma dos Nªs Pares é: ",soma)
  13. fimse
  14. fimse fimalgoritmo Onde: N1 :Corresponderá ao primeiro operando N2 :Corresponderá ao segundo operando Soma : Variável que armazenará o resultado das somas Foram declaras 3 variáveis do tipo inteiro porque o problema diz que só podem ser lidos números inteiros. O programa fará a leitura de um número “n1” e fará a divisão inteira por 2 usando o comando ou instrução “mod” que é o resto da divisão inteira, faz o mesmo com o outro valor

e se o resultado da divisão inteira for diferente de 0 então o valor é Impar e não poderá ser somado. 2.2.7.2-Segundo Problema( “Fazer um programa que leia números do teclado e depois informar a média aritmética entre os números lidos, a quantidade lida e a soma deles”) Algoritmo “calcular_media_quantidade_e_soma” var q, s,m,n:real c:caracter inicio ➢ s<- 0 ➢ q<- 0 ➢ repita ➢ escreva("Digite Um Número: ") ➢ leia(n) ➢ s<-s+n ➢ q<-q+ ➢ escreval("Deseja Continuar? ") ➢ escreva("Sim escreva Sim, Não precione qualquer tecla: ") ➢ leia(c) ➢ ate (c<>"sim") ➢ fimrepita ➢ m<-(s)/q ➢ escreval("Soma: ",s) ➢ escreval("Quantidade: ",q) ➢ escreva("Média: ",m) Fimalgoritmo Onde: Q : Quantidade de números S : Soma dos números digitados M :Média dos números digitados N :Número digitado C :Resposta para abortar ou continuar a digitar números