















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
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
1 / 55
Esta página não é visível na pré-visualização
Não perca as partes importantes!
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
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:
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
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
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.
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:
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
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
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