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

Introdução à Programação: Algoritmos em Pseudocódigo, Manuais, Projetos, Pesquisas de Introdução à Programação de Computadores

Uma introdução aos algoritmos em pseudocódigo, explorando conceitos básicos como a definição de algoritmos, tipos de dados, variáveis e estruturas de controle. Através de exemplos práticos, o documento demonstra como escrever algoritmos para resolver problemas simples, como calcular a média de notas, verificar se um número é par ou ímpar, e determinar a idade de uma pessoa.

Tipologia: Manuais, Projetos, Pesquisas

2020

Compartilhado em 31/10/2024

patricia-mendes-53
patricia-mendes-53 🇧🇷

5 documentos

1 / 19

Toggle sidebar

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

Não perca as partes importantes!

bg1
O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo,
entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas
de calcular e mais tarde os computadores, o uso de algoritmos ressurgiu com grande
vigor, como uma forma de indicar o caminho para a solução dos mais variados
problemas. Algoritmo não é a solução do problema, pois, se assim fosse, cada
problema teria um único algoritmo. Algoritmo é o caminho para a solução de um
problema, e em geral, os caminhos que levam a uma solução são muitos. Ao longo
dos anos surgiram muitas formas de representar os algoritmos, alguns utilizando
linguagens semelhantes às linguagens de programação e outras utilizando formas
gráficas. O aprendizado de algoritmos não se consegue a não ser através de muitos
exercícios.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Pré-visualização parcial do texto

Baixe Introdução à Programação: Algoritmos em Pseudocódigo e outras Manuais, Projetos, Pesquisas em PDF para Introdução à Programação de Computadores, somente na Docsity!

O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular e mais tarde os computadores, o uso de algoritmos ressurgiu com grande vigor, como uma forma de indicar o caminho para a solução dos mais variados problemas. Algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é o caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitos. Ao longo dos anos surgiram muitas formas de representar os algoritmos, alguns utilizando linguagens semelhantes às linguagens de programação e outras utilizando formas gráficas. O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios.

Conceito de algoritmo

A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estes dispositivos mecânicos (como as máquinas industriais), eletrônicos (como os computadores), ou de natureza mista (como os robôs). Para que a automação de uma tarefa seja bem-sucedida é necessário que a máquina que passará a realizá-la seja capaz de desempenhar cada uma das etapas constituintes do processo a ser automatizado com eficiência, de modo a garantir a repetibilidade do mesmo. Assim, é necessário que seja especificado com clareza e exatidão o que deve ser realizado em cada uma das fases do processo a ser automatizado, bem como a sequência em que estas fases devem ser realizadas. À especificação da sequência ordenada de passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetibilidade, dá se o nome de algoritmo. Embora esta definição de algoritmo seja correta, podemos definir algoritmo, de maneira informal e completa como: Algoritmo é um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito e com um número finito de passos. Um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída. Um algoritmo deve sempre possuir pelo menos um resultado, normalmente chamado de saída, e satisfazer a propriedade da efetividade, isto é, todas as operações especificadas no algoritmo devem ser suficientemente básicas para que possam ser executadas de maneira exata e num tempo finito.

Representação de algoritmos

Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas.

 A Descrição Narrativa  O Fluxograma Convencional  O Diagrama de Chapin  Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol.

Processamento: Um grupo de instruções que executam uma função de processamento do programa.

Cartão perfurado: Todas as variedades de cartão perfurado. Função generalizada neste texto para indicar entrada de dados.

Documento: documentos e relatórios de todas as variedades. Função generalizada neste texto para indicar saída de dados.

Decisão: indica a possibilidade de desvios para diversos outros pontos do fluxograma, de acordo com situações variáveis.

Fita magnética

Teclado de linha: Informação fornecida ou recebida de ou por um computador utilizando um dispositivo.

Entrada/saída: Qualquer função de um dispositivo de entrada/saída, fornecendo informações para processamento, gravação, posicionamento fita, etc.

Entrada/saída: Qualquer tipo de documentos ou dados.

Fita perfurada: Fita de papel ou plástico.

Acesso arbitrário de disco ou de tambor.

Exibição: informações exibidas por dispositivos visuais.

A imagem a seguir mostra a representação do algoritmo de cálculo da média de um aluno sob a forma de um fluxograma.

Diagrama de Chapin

O diagrama de Chapin é uma representação gráfica de algoritmos que apresenta uma visão hierárquica e estruturada da lógica de programa. A vantagem de usar este tipo de diagrama é a representação das estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de sequência, seleção e repetição.

é um nome simbólico dado ao algoritmo com a finalidade de distingui-lo dos demais.

<declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos.

consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos.

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.

Tipos de dados

Tipos inteiros

São caracterizados como tipos inteiros, os dados numéricos positivos ou negativos. Excluindo-se desde qualquer número fracionário. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1024 entre outros.

Tipos Reais

São caracterizados como tipos reais, os dados numéricos positivos e negativos e números fracionários. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, - 56, 1.2, -45.987 entre outros.

Tipos caracteres

São caracterizados como tipos caracteres, as sequências contendo letras, números e símbolos especiais. Uma sequência de caracteres deve ser indicada entre aspas (“”). Este tipo de dado também é conhecido como alfanumérico, string, literal ou cadeia. Como exemplo deste tipo de dado, tem-se os valores: “Programação”, “Rua Alfa, 5 2 Apto 1”, “Fone 574-9988”, “04387- 030”, “ ”, “7” entre outros.

Tipo lógico São caracterizados como tipos lógicos os dados com valor verdadeiro e falso, sendo que este tipo de dado poderá representar apenas um dos dois valores. Ele é chamado por alguns de tipo booleano, devido à contribuição do filósofo e matemático inglês George Boole na área da lógica matemática.

Variáveis e constantes

Armazenamento de Dados na Memoria

Para armazenar os dados na memória, imagine que a memória de um computador é um grande arquivo com várias gavetas, onde cada gaveta pode armazenar apenas um único valor (seja ele numérico, caractere ou lógico). Se é um grande arquivo com várias gavetas, é necessário identificar com um nome a gaveta que se pretende utilizar. Desta forma o valor armazenado pode ser utilizado a qualquer momento.

Conceito e utilidade de Variável

Têm-se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante. E quando se fala de computadores, temos que ter em mente que o volume de informações a serem tratadas é grande e diversificado. Desta forma, os dados a serem processados serão bastante variáveis.

Adotaremos para os algoritmos, as seguintes regras:  Um nome de variável deve necessariamente começar com uma letra;  Um nome de variável não deve conter nenhum símbolo especial, exceto a sublinha (_ ) e nenhum espaço em branco;  Um nome de variável não poderá ser uma palavra reservada a uma instrução de programa.

acordo com o número de operandos sobre os quais os operadores atuam, os últimos podem ser classificados em:

 Binários, quando atuam sobre dois operandos. Esta operação é chamada diádica.

Exemplo: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão).

 Unários, quando atuam sobre um único operando. Esta operação é chamada

monádica. Exemplo: o sinal de (-) na frente de um número

Exercícios

1) Escreva um algoritmo que calcule o índice de massa corporal a partir de sua estrutura e de seu peso

Formula:

p

h^2

inicio // imc real: imc, p, a escreva (“digite seu peso”) leia (p) escreva (“digite sua altura”) leia (a) imc = p/(h x h) escreva (seu imc é imc) fim

2) Escreva um algoritmo que leia um nome qualquer com 10 caracteres

Inicio // nome caracter [10] escreva (digite um palavra com 10 letras) leia nome escreva (a palavra é tecnologia) leia tecnologia fim

3) Escreva um algoritmo que some 3 números inteiros

inicio// some 3 números inteiros inteiro (a, b, c, resp) escreva (digite um numero inteiro leia (a) escreva (digite o numero inteiro) leia (b) escreva (digite o numero inteiro) leia (c) resp (a+b+c) escreva (o resultado é ) fim

4) Escreva um algoritmo que calcule a média de 4 notas bimestrais inicio //media real n1, n2, n3,n4, media escreva (“digite a primeira nota”) leia (n1) escreva (“digite a segunda nota”) leia (n2) escreva (“digite a terceira nota”) leia (n3) escreva (“digite a quarta nota”) leia (n4) media (n1 + n2 + n3 + n4) / 4 escreva (media é igual media) fim

5) Escreva um algoritmo que leia um número e multiplique por 2

inicio // algoritmo real: a, resp escreva (“digite o numero”) leia (a) resp: a x 2

algoritmo "Sexo da pessoa" var nome, sexo :literal inicio escreva ("Digite o seu nome: ") leia (nome) escreva ("Digite o seu sexo: ") leia (sexo) se (sexo = "Masculino") entao escreva ("Ilmo Sr. ",nome) senao se (sexo = "Feminino") entao escreva ("Ilmo Sra. ",nome) senao escreva ("Digite um sexo válido") fim se fim se fimalgoritmo

9) Fazer um algoritmo para ler quatro valores referentes a quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 5. Se o aluno não foi aprovado, indicar uma mensagem informando esta condição. Apresentar junto com uma das mensagens o valor da média do aluno para qualquer condição.

algoritmo "Situação com média" var n1, n2, n3, n4, media :real inicio escreva ("Digite a 1ª nota :") leia (n1) escreva ("Digite a 2ª nota :") leia (n2) escreva ("Digite a 3ª nota :") leia (n3) escreva ("Digite a 4ª nota :") leia (n4) media<- (n1 + n2 + n3 + n4) / 4 se (media >= 5) entao escreva ("O aluno foi aprovado com média: ",media) senao

escreva ("O aluno não foi aprovado com média: ",media) fim se fimalgoritmo

10) Fazer um algoritmo em pseudocódigo para ler o ano de nascimento de uma pessoa, calcular mostrar sua idade e, também, verificar e mostrar se ela já tem idade para votar (16 anos ou mais) e para conseguir a Carteira de Habilitação ( anos ou mais).

algoritmo "Maior Idade" var ano, idade: inteiro inicio escreva ("digite seu ano de nascimento: ") leia (ano) idade<- 2013 - ano escreva ("Sua idade é: ",idade) se (idade >= 18) entao escreva ("Ja tem idade para votar") escreva ("Já tem idade para ter habilitação") senao se (idade >= 16 ) entao escreva ("Já tem idade npara votar") senao escreva ("Não pode votar e nem ter habilitação") fim se fim se fimalgoritmo

11) Fazer um algoritmo que leia o código de um determinado produto e mostrar a sua classificação. Utilize a seguinte tabela como referência:

algoritmo "pesquisa por codigo" var codigo, outro :inteiro cla: literal inicio escreva ("Digite o código da pesquisa: ") leia (codigo) escolha codigo caso 1 escreva ("Alimento não perecível") caso 2, 3, 4

fim se fim se fim se fim se fim se fimalgoritmo

13) Escreva um algoritmo que lê três valores para os lados de um triângulo. O algoritmo deve verificar se o triângulo é equilátero (todos lados iguais), isósceles (dois lados iguais) ou escaleno (todos lados diferentes). algoritmo "Tipo de triangulo" var l1, l2, l3: real inicio escreva ("Digite o lado 1 do triângulo: ") leia(l1) escreva ("Digite o lado 1 do triângulo: ") leia (l2) escreva ("Digite o lado 1 do triângulo: ") leia (l3) se (l1 = l2) e (l2 = l3) entao escreva ("O triângulo é equilatero") senao se (l1 <> l2) e (l1 <> l3) e (l2 <> l3) entao escreva ("O triângulo é escaleno") senao se (l1 = l2) ou (l1 = l3) ou (l2 = l3) entao escreva ("O triângulo é isósceles") fim se fim se fim se fimalgoritmo

14) Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e uma caixa. Indique as ações necessárias para que o homem consiga atravessar o rio sem perder suas cargas.  O lobo não pode ficar sozinho com o bode, senão ele o come;  O bode não pode ficar sozinho com a caixa de alfafa, senão a come;

Resposta:

Informações: um barco, um homem, um lobo, um bode e uma caixa.

Ação: atravessar o rio sem perder as cargas.

Resultado : todas as cargas na outra margem do rio.

Algoritmo início atravessar homem e bode voltar homem atravessar homem e lobo voltar homem e bode atravessar homem e a caixa voltar homem atravessar homem e bode fim

15) Um programa que calcule a área do triângulo.

algoritmo “area_triangulo” var base, altura, area: real inicio escreva (“Digite o valor da base:”) leia (base) escreva (“Digite o valor da altura”) leia (altura) area <-(base*altura)/ escreval (“A area do triangulo é”, area) fimalgoritmo

16) Faça um programa que receba o saldo de uma aplicação e imprima o valor aplicado e valor com rendimento de 5%. algoritmo “saldo” var saldo, valor_total: real inicio escreval(“Digite o saldo:”) leia(saldo) valor_total<-saldo+(saldo*5)/ escreval(“O saldo mais o rendimento em 5% é”, valor_total) fimalgoritmo

ler NumeroDigitado se NumeroDigitado > 10 entao escrever “Este número é maior do 10” senao escrever “Este número NÃO é maior do 10” fimse fim