19
ALGORITMOS E ESTRUTURAS DE DADOS I Prof. Eduardo Machado Real Conteúdo deste material : Introdução aos Algoritmos Estrutura Sequencial

ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

  • Upload
    lexuyen

  • View
    237

  • Download
    9

Embed Size (px)

Citation preview

Page 1: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

ALGORITMOS E ESTRUTURAS DE DADOS I

Prof. Eduardo Machado Real

Conteúdo deste material: Introdução aos Algoritmos

Estrutura Sequencial

Page 2: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 2

1 - INTRODUÇÃO

Desde o início de sua existência, o homem procurou criar máquinas que o auxiliassem em seu

trabalho, diminuindo esforço e economizando tempo. Dentre essas máquinas, o computador vem se

mostrando uma das mais versáteis, rápidas e seguras.

O computador pode auxiliá-lo em qualquer tarefa. É consciente, trabalhador, possui muita

energia, mas não tem iniciativa, nenhuma independência, não é criativo nem inteligente, por isso precisa

receber instruções nos mínimos detalhes.

A finalidade de um computador é receber, manipular e armazenar dados. Visto somente como

um gabinete composto de circuitos eletrônicos, cabos e fontes de alimentação, certamente ele parece não

ter nenhuma utilidade. O computador só consegue armazenar dados em discos, imprimir relatórios,

gerar gráficos, realizar cálculos, entre outras funções, por meio de programas. Portanto, sua finalidade

principal é realizar a tarefa de processamento de dados, isto é, receber dados por um dispositivo de

entrada (por exemplo, teclado, mouse, scanner, entre outros), realizar operações com esses dados e gerar

uma resposta que será expressa em um dispositivo de saída (por exemplo, impressora, monitor de vídeo,

entre outros).

Portanto, um computador possui duas partes diferentes que trabalham juntas: o hardware,

composto pelas partes físicas, e o software, composto pelos programas.

Quando queremos criar ou desenvolver um software para realizar determinado tipo de

processamento de dados, devemos escrever um programa ou vários programas interligados. No entanto,

para que o computador compreenda e execute esse programa, devemos escrevê-lo usando uma

linguagem que tanto o computador quanto o criador de software entendam. Essa linguagem é chamada

de linguagem de programação.

As etapas para o desenvolvimento de um programa são:

Análise – Nesta etapa estuda-se o enunciado do problema para definir os dados de entrada, o

processamento e os dados de saída.

Algoritmo – Ferramentas do tipo descrição narrativa, fluxograma ou português estruturado são

utilizadas para descrever o problema com suas soluções.

Codificação – O algoritmo é transformado em códigos da linguagem de programação escolhida

para se trabalhar.

Portanto, um programa é a codificação de um algoritmo em uma linguagem de programação.

2 - NOÇÕES DE LÓGICA

A palavra lógica relaciona-se com a idéia de racionalidade e coerência.

Exemplo:

Um homem precisa atravessar um rio com um barco que possui capacidade de carregar apenas

ele mesmo e mais uma das três cargas que são: um lobo, um bode e um maço de alfafas. Observe as

leis naturais: o lobo é carnívoro e o bode é herbívoro. O que o homem deve fazer para conseguir

atravessar o rio sem perder suas cargas.

O Homem leva o bode da margem 1 para a margem 2.

O Homem navega da margem 2 para a margem 1.

O Homem leva o lobo da margem 1 para a margem 2.

O Homem leva o bode da margem 2 para a margem 1.

O Homem leva a alfafa da margem 1 para a margem 2.

O Homem navega da margem 2 para a margem 1.

O Homem leva o bode da margem 1 para a margem 2.

Algumas definições:

o "a lógica é a arte de bem pensar"

o "a lógica é a ciência das formas do pensamento"

o "a lógica nos ensina a colocar ordem no pensamento"

Page 3: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 3

Exemplo:

o Nova Andradina é uma cidade do estado de Mato Grosso do Sul.

o Abdênio nasceu em Nova Andradina.

o Portanto, Abdênio é Sul-matogrossense.

A lógica no dia-a-dia

o Quando queremos escrever, falar ou agir corretamente, precisamos colocar ordem no

pensamento, isto é, utilizar a lógica.

o Exemplo 1:

O guarda-roupa está fechado.

O terno está dentro do guarda-roupa.

Preciso primeiro abrir o guarda-roupa, para depois pegar o terno.

2.1 - A lógica de programação

2.1.1 - Em que consiste?

A lógica de programação consiste no uso correto das leis do pensamento, da "ordem da razão",

de processos de raciocínio e de simbolização formal na programação de computadores.

A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento

de sistemas e programas, ela permite definir a seqüência lógica para o desenvolvimento.

A LP tem o objetivo de permitir a resolução de problemas específicos com soluções de boa

qualidade.

Então o que é lógica?

2.1.2 – Sequência lógica

Estes pensamentos podem ser descritos como uma seqüência de instruções, que devem ser

seguidas para se cumprir uma determinada tarefa.

2.1.3 – Instruções

Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas

para a realização ou emprego de algo”.

Em informática, porém, instrução é a informação que indica a um computador uma ação

elementar a executar.

Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é

necessário um conjunto de instruções colocadas em ordem seqüencial lógica.

Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma

série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc...

É evidente que essas instruções têm que ser executadas em uma ordem adequada – não se pode

descascar as batatas depois de fritá-las.

Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o

resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correta.

Page 4: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 4

2.1.4 – Contexto Humano e Contexto Computacional

O raciocínio lógico pode ser expresso através de várias linguagens:

- no contexto humano - utiliza-se a palavra escrita/falada que, por sua vez, se baseia num

determinado idioma, mas, independente do idioma, tem-se o mesmo raciocínio.

- no contexto computacional - utilizam-se as linguagens de programação

Vamos utilizar uma forma de representação mais genérica (livre de detalhes computacionais) e

que traduza mais fielmente o raciocínio da lógica de programação: ALGORITMOS

Então ...

O objetivo da lógica de programação é a construção de algoritmos corretos e válidos.

3 – CONCEITO DE ALGORITMO E ESTRUTURAS DE DADOS

Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma

tarefa. Podemos pensar em algoritmo como uma receita, uma seqüência de instruções que resultam de

uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem

ser claras e precisas.

Como exemplos podemos citar os algoritmos das operações básicas (adição, multiplicação,

divisão e subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos

eletrônicos que explicam passo a passo como realizar uma determinada tarefa.

“Somar dois números quaisquer”.

- Escreva o primeiro número no retângulo A

- Escreva o segundo número no retângulo B

- Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C

Portanto...

A especificação da seqüência ordenada de passos que deve ser seguida para a realização de uma tarefa, dá-se o nome de algoritmo.

Page 5: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 5

Veja o exemplo... Deseja-se escrever um algoritmo, usando português coloquial, para resolver

um problema bastante simples, qual seja: trocar uma lâmpada queimada por uma lâmpada nova não

queimada.

Exemplo1: Trocar uma lâmpada queimada

Algoritmo 1.1 - Trocar uma lâmpada queimada

pegar uma escada;

posicionar a escada debaixo da lâmpada;

buscar uma lâmpada nova;

subir na escada;

retirar a lâmpada queimada;

colocar lâmpada nova;

Reexaminando o algoritmo 1.1, notamos que ele tem um objetivo bem definido: trocar uma lâmpada

queimada. Porém o algoritmo não atingirá seu objetivo se a lâmpada nova estiver queimada. Para tal,

acrescentamos um teste condicional (estrutura seletiva).

Algoritmo 1.2 - Trocar uma lâmpada queimada (uso de teste condicional)

pegar uma escada;

posicionar a escada debaixo da lâmpada;

buscar uma lâmpada nova;

subir na escada;

retirar a lâmpada queimada;

colocar lâmpada nova;

se a lâmpada nova não acender, então:

o retirar a lâmpada queimada;

o colocar lâmpada nova;

o se a lâmpada nova não acender, então:

retirar a lâmpada queimada;

colocar a lâmpada nova;

se a lâmpada nova não acender, então:

retirar a lâmpada queimada;

colocar a lâmpada nova;

. . .

até quando????

O Algoritmo 1.2 não está terminado. As ações cessarão quando conseguirmos colocar uma lâmpada que

acenda (objetivo do algoritmo). Ao invés de reescrevermos várias vezes um conjunto de ações podemos,

alterar o fluxo seqüencial de execução para permitir que ações sejam re-executadas quantas vezes forem

necessárias. Precisamos expressar essa repetição (estrutura de repetição) garantindo uma condição de

parada.

Algoritmo 1.3 - Trocar uma lâmpada queimada (uso de estruturas de repetição)

pegar uma escada;

posicionar a escada debaixo da lâmpada;

buscar uma lâmpada nova;

subir na escada;

retirar a lâmpada queimada;

colocar lâmpada nova;

enquanto lâmpada nova não acender, faça

retirar a lâmpada queimada;

colocar lâmpada nova;

Page 6: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 6

A seguir alguns conceitos de algoritmos segundo autores da nossa bibliografia:

“Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.” (FORBELLONE,

1999)

“Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve

um problema computacional, qualquer que seja sua instância.” (SALVETTI, 1999)

“Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema,

englobando fórmulas de expressões aritméticas.” (MANZANO, 1997)

“Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz

um estado final previsível e bem definido. Portanto, um algoritmo é a descrição de um conjunto de

comandos que, obedecidos, resultam numa sucessão finita de ações.” (FARRER, 1999)

“Informalmente, 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.

Portanto, um algoritmo é uma sequência de passos computacionais que transformam a entrada na saída.”

(CORMEN, 2002)

Também podemos visualizar um algoritmo como uma ferramenta para resolver um problema

computacional bem especificado. O enunciado do problema especifica em termos gerais o

relacionamento entre a entrada e a saída desejada. O algoritmo descreve um procedimento

computacional específico para se alcançar esse relacionamento da entrada com a saída.

“Uma estruturas de dados é um meio para armazenar e organizar dados com o objetivo de

facilitar o acesso e as modificações.” (CORMEN, 2002)

3.1 - Programas

Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de

computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e executados

por uma máquina, no caso um computador. Notem que dada esta interpretação rigorosa, um programa é

por natureza muito específico e rígido em relação aos algoritmos da vida real.

Para que um computador possa desempenhar uma tarefa é

necessário que esta seja detalhada passo a passo, numa forma

compreensível pela máquina, utilizando aquilo que se chama de

programa. Neste sentido, um programa de computador nada mais

é que um algoritmo escrito numa forma compreensível pelo

computador.

Exercícios:

1 – Defina:

a) Algoritmos:

b) Estruturas de Dados:

Page 7: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 7

2 – Crie uma sequência lógica para:

a) Ir à Universidade.

b) Sacar dinheiro no caixa eletrônico.

c) Somar dois números e multiplicar o resultado pelo primeiro número.

3.2 – Método para a construção de qualquer algoritmo

Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Compreender completamente o problema a ser resolvido, destacando os objetos que o compõem.

Definir os dados de entrada, ou seja, quais dados serão fornecidos.

Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses

cálculos.

Definir os dados de saída, ou seja, quais dados serão gerados.

Construir o algoritmo utilizando um dos tipos.

Testar o algoritmo realizando simulações.

3.2.1 – Fases

Anteriormente vimos que ALGORITMO é uma seqüência lógica de instruções que podem ser

executadas.

É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um

algoritmo, como por exemplo:

COMO FAZER ARROZ DOCE

ou então

CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três

fases fundamentais.

Onde temos:

ENTRADA: São os dados de entrada do algoritmo

PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final

SAÍDA: São os dados já processados

Page 8: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 8

Exemplo de Algoritmo

Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão

quatro provas: P1, P2, P3 e P4.

Onde:

Para montar o algoritmo proposto, faremos três perguntas:

a) Quais são os dados de entrada?

R: Os dados de entrada são P1, P2, P3 e P4

b) Qual será o processamento a ser utilizado?

R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro)

c) Quais serão os dados de saída?

R: O dado de saída será a média final

Algoritmo

Receba a nota da prova1

Receba a nota de prova2

Receba a nota de prova3

Receba a nota da prova4

Some todas as notas e divida o resultado por 4

Mostre o resultado da divisão

Page 9: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 9

3.2.2 - Teste de Mesa

Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE

DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o

procedimento utilizado está correto ou não.

Veja o exemplo:

Nota da Prova 1

Nota da Prova 2

Nota da Prova 3

Nota da Prova 4

Utilize a tabela abaixo:

Exercícios

1 - Identifique os dados de entrada, processamento e saída no algoritmo abaixo:

· Receba código da peça

· Receba valor da peça

· Receba Quantidade de peças

· Calcule o valor total da peça (Quantidade * Valor da peça)

· Mostre o código da peça e seu valor total

2 - Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que

ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2

3 - Teste o algoritmo anterior com dados definidos por você.

4 – TIPOS DE ALGORITMOS

Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma e pseudocódigo

ou portugol.

4.1 – Descrição narrativa

A descrição narrativa consiste em analisar o enunciado do problema e escrever, utilizando uma

linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua resolução.

Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, neste ponto, já é

bem conhecida.

Page 10: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 10

Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a

transcrição desse algoritmo para programa.

Exemplo:

Algoritmo para somar três números

Receber os três números. (passo1)

Somar os três números. (passo2)

Mostrar o resultado obtido. (passo 3)

4.2 - Fluxograma

O fluxograma consiste em analisar o enunciado do problema e escrever, utilizando símbolos

gráficos predefinidos, os passos a serem seguidos para sua resolução.

Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de textos.

Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o algoritmo resultante

não apresenta muitos detalhes, dificultando sua transcrição para um programa.

Símbolos utilizados:

Exemplo:

Algoritmo para multiplicar dois números

4.3 - Pseudocódigo ou Portugol

O Pseudocódigo ou Portugol é o tipo que utilizaremos para as soluções dos exercícios das nossas

aulas e consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os

passos s serem seguidos para sua resolução.

Page 11: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 11

Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata,

bastando conhecer as palavras reservadas dessa linguagem que serão utilizadas.

Desvantagem: é necessário aprender as regras do pseudocódigo.

Exemplo:

Algoritmo para dividir dois números

algoritmo somar

declaração de variáveis

inteiro numero1,numero2,resultado;

início

escreva(“Digite o primeiro número: “);

leia(numero1);

escreva(“Digite o segundo número: “);

leia(numero2);

resultado numero1 + numero2;

escreva(“A Soma é: “, resultado);

fim_algoritmo

Exercício:

1 – Faça um algoritmo em Descrição Narrativa e um em fluxograma para mostrar o resultado da divisão

de dois números.

5 – CONSTANTES, VARIÁVEIS E TIPOS DE DADOS

Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável é um

espaço reservado na memória do computador para armazenar um tipo de dado determinado.

Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando

necessário. Um programa deve conter declarações que especificam de que tipo são as variáveis que ele

utilizará e às vezes um valor inicial. Tipos podem ser, por exemplo: inteiros, reais, caracteres, etc. As

expressões combinam variáveis e constantes para calcular novos valores.

5.1 – Constantes

Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a

execução de um programa. Conforme o seu tipo, a constante é classificada como sendo numérica, lógica

e literal.

Exemplo de constantes:

Page 12: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 12

5.2 – Variáveis

Um algoritmo, e posteriormente, um programa, recebem dados, que precisam ser armazenados

no computador para serem utilizados no processamento. Esse armazenamento é feito na memória.

Assim, uma variável representa uma posição de memória. Possui nome e tipo e seu conteúdo

pode variar ao longo do tempo, durante a execução de um programa. Embora uma variável possa

assumir diferentes valores, ela só pode armazenar um valor a cada instante.

Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável

corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo

durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela

só pode armazenar um valor a cada instante

Exemplos de variáveis:

5.3 – Tipos de Dados

Definem os tipos de informações a serem processadas. Os tipos de dados mais utilizados são:

numéricos e literais ou caracteres.

Numéricos: inteiros e reais

Inteiros – podem ser positivos ou negativos e não possuem parte fracionária.

Exemplo: 15 irmãos, -2 graus.

Real - podem ser positivos ou negativos e possuem parte fracionária.

Exemplo: 1.73 de altura, 3.5 litros.

Literais ou Caracteres

São dados formados por um único caractere ou por uma cadeia de caracteres. Esses caracteres

podem ser as letras e os números (não podem ser usados para cálculos).

Exemplo: „aluno‟, „12345‟.

Exercícios:

1 – O que é uma constante? Dê dois exemplos.

2 – O que é uma variável? Dê dois exemplos.

Page 13: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 13

6 – OPERADORES ARITMÉTICOS

Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição,

subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação.

Os símbolos para os operadores aritméticos são:

Hierarquia das Operações Aritméticas

1 º ( ) Parênteses

2 º Exponenciação

3 º Multiplicação, divisão (o que aparecer primeiro)

4 º + ou – (o que aparecer primeiro)

Exemplo

7 – FORMAÇÃO DE IDENTIFICADORES

Os identificadores são os nomes das variáveis, dos programas, das constantes, das rotinas etc. As

regras básicas são:

Os caracteres que você pode utilizar são: os números, as letras maiúsculas, as letras minúsculas e

o caractere sublinhado.

O primeiro caractere deve ser sempre uma letra ou caractere sublinhado.

Não são permitidos espaços em branco e caracteres especiais (@,$,+,-,%,!).

Não podemos usar palavras reservadas nos identificadores, ou seja, palavras que pertençam a

uma linguagem de programação.

Exemplos:

Válidos

A

a

nota

numero_1

x4

Não válidos

5b – por começar com número

E 39 – por conter espaço em branco

Case – por ser palavra reservada

Exercício: defina os identificadores abaixo se são válidos ou não válidos, neste caso justifique:

a) dia b) prova 2 c) idade_1 d) 4y

Page 14: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 14

8 – ESTRUTURA SEQUENCIAL

algoritmo Nome_do_algoritmo

declaração de variáveis

variáveis

inicio

bloco de comandos;

fim_algoritmo

8.1 – Declaração de variáveis

As variáveis são declaradas após a palavra declaração de variáveis e os tipos mais utilizados são:

numérico (inteiro ou real) e literal (caracteres).

Exemplo:

inteiro x;

real y;

literal i;

8.2 – Comando de atribuição

O comando de atribuição é utilizado para conceder valores ou operações a variáveis, sendo

representado pelo símbolo .

Exemplo:

x 4;

y 2.5;

i “A”;

8.3 – Comando de Entrada

O comando de entrada é utilizado para receber dados digitados pelo usuário, que serão

armazenados em variáveis. Esse comando é representado pela palavra leia.

Exemplo:

leia(x);

Um valor digitado pelo usuário será armazenado na variável x.

8.4 – Comando de saída

O comando de saída é utilizado para mostrar dados na tela. Esse comando é representado pela

palavra escreva, e os dados podem ser conteúdos de variáveis ou mensagens.

Exemplo:

escreva(x);

Mostra o valor armazenado na variável x.

escreva(“Conteúdo de Y: “,y);

Mostra a mensagem “Conteúdo de Y: “ e em seguida o valor armazenado na variável y.

Page 15: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 15

Exercício resolvido: 1 – Faça um algoritmo que receba dois números inteiros, calcule e mostre a soma desses números.

algoritmo Somar

declaração de variáveis

inteiro num1,num2,soma;

início

escreva(“Digite o número 1: ”);

leia(num1);

escreva(“Digite o número 2: ”);

leia(num2);

somanum1+num2;

escreva(“Resultado: ”,soma);

fim_algoritmo

Exercícios:

1 - Escreva um algoritmo que armazene o valor 10 em uma variável A e o valor 20 em uma variável B.

A seguir (utilizando apenas atribuições entre variáveis) troque os seus conteúdos fazendo com que o

valor que está em A passe para B e vice-versa. Ao final, escrever os valores que ficaram armazenados

nas variáveis.

2 - Analise os algoritmos abaixo e diga o que será impresso na tela ao serem executados:

a)

b)

c)

d)

Page 16: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 16

e)

f)

3 – Os pares de instruções abaixo produzem:

4 - Reescreva as instruções abaixo com o mínimo de parênteses possível, mas sem alterar o

resultado:

5 – Escreva um algoritmo para ler um valor (do teclado) e escrever (na tela) o seu antecessor.

6 – Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e escreva a idade

dessa pessoa expressa apenas em dias. Considerar ano com 365 dias e mês com 30 dias.

7 – Escreva um algoritmo para ler as dimensões de um retângulo (base e altura), calcular e escrever a

área do retângulo.

8 – Faça um algoritmo que leia as idades de 3 pessoas, calcule a média aritmética destas idades e mostre

o cálculo.

9 – Faça um algoritmo que leia o valor do dólar (em reais) em um determinado dia, leia uma quantia em

dólares e realize a conversão.

Page 17: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 17

10 – Sabe-se que a força da gravidade na lua equivale a 1/6 da gravidade na terra. Faça um programa que

leia o peso de uma pessoa, calcule o seu peso na lua e mostre o resultado.

11 – A contribuição ao INSS equivale a 11% do salário de um trabalhador. Faça um programa que leia o

salário de uma pessoa, calcule e mostre o imposto a ser pago.

12 – Escreva um algoritmo para ler o número total de eleitores de um município, o número de votos

brancos, nulos e válidos. Calcular e escrever o percentual que cada um representa em relação ao total de

eleitores.

13 – Faça um algoritmo que receba três notas e seus respectivos pesos, calcule e mostre a média

ponderada.

14 – Faça um algoritmo que receba o salário de um funcionário e o percentual de aumento, calcule e

mostre o valor do aumento e o novo salário.

15 – Faça um algoritmo que receba o salário base de um funcionário, calcule e mostre o salário a

receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário base e paga imposto de 7%

sobre este salário.

8 – Faça um algoritmo que receba o salário base de um funcionário, calcule e mostre o seu salário a

receber, sabendo-se que o funcionário tem gratificação de R$ 50 e paga imposto de 10% sobre o salário

base.

9 - Faça um programa que receba o valor de um depósito e o valor da taxa de juros, calcule e mostre o

valor do rendimento e o valor total depois do rendimento.

10 – O custo de um carro novo ao consumidor é a soma do custo de fábrica com a porcentagem do

distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que o percentual do distribuidor

seja de 28% e os impostos de 45%, escrever um algoritmo para ler o custo de fábrica de um carro,

calcular e escrever o custo final ao consumidor.

11 – O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro

do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de

fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos, calcule e

mostre:

a) o valor correspondente ao lucro do distribuidor;

b) o valor correspondente aos impostos;

c) o preço final do veículo.

12 – Uma revendedora de carros usados paga a seus funcionários vendedores um salário fixo por mês,

mais uma comissão também fixa para cada carro vendido e mais 5% do valor das vendas por ele

efetuadas. Escrever um algoritmo que leia o número de carros por ele vendidos, o valor total de suas

vendas, o salário fixo e o valor que ele recebe por carro vendido. Calcule e escreva o salário final do

vendedor.

13 – Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que: A=(base*altura)/2.

14 – Faça um programa que calcule e mostre a área de um círculo. Sabe-se que: .

15 – Faça um programa que receba um número positivo e maior que zero, calcule e mostre:

a) o número digitado ao quadrado;

b) o número digitado ao cubo;

c) a raiz quadrada do número digitado;

Page 18: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 18

16 – Faça um algoritmo que receba dois números maiores que zero, calcule e mostre um elevado ao

outro.

17 - Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:

a) a idade dessa pessoa;

b) quantos anos ela terá em 2050.

18 - Faça um programa que receba o número de horas trabalhadas e o valor do salário mínimo, calcule e

mostre o salário a receber seguindo estas regras:

a) a hora trabalhada vale a metade do salário mínimo;

b) o salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor da hora

trabalhada;

c) o imposto equivale a 3% do salário bruto;

d) o salário a receber equivale ao salário bruto menos o imposto.

19 – Um trabalhador recebeu seu salário e o depositou em sua conta bancária. Esse trabalhador emitiu

dois cheques e agora deseja saber seu salário atual. Sabe-se que cada operação bancária de retirada paga

CPMF de 0,38% (esse imposto não existe mais) e o saldo inicial da conta está zerado.

20 – Pedro comprou um saco de ração com peso em quilos. Ele possui dois gatos, para os quais fornece

a quantidade de ração em gramas. A quantidade diária de ração fornecida para cada gato é sempre a

mesma. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para

cada gato, calcule e mostre quanto restará de ração no saco após cinco dias.

21 – Escreva um algoritmo para ler uma temperatura em graus Fahrenheit, calcular e escrever o valor

correspondente em graus Celsius (baseado na fórmula abaixo):

Observação: Para testar se a sua resposta está correta saiba que 100ºC = 212F

22 – Faça um algoritmo que leia três notas de um aluno, calcule e escreva a média final deste aluno.

Considerar que a média é ponderada e que o peso das notas é 2, 3 e 5. Fórmula para o cálculo da média

final é:

23 – Cada degrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura

que o usuário deseja alcançar subindo a escada, calcule e mostre quantos degraus ele deverá subir para

atingir seu objetivo, sem se preocupar com a altura do usuário. Todas as medidas fornecidas devem estar

em metros.

24 – Faça um programa que receba a medida do ângulo

formado por uma escada apoiada no chão e encostada na

parede e a altura da parede onde está a ponta da escada, calcule

e mostre a medida desta escada.

Page 19: ALGORITMOS E ESTRUTURAS DE DADOS I - EduardoRealeduardoreal.wikispaces.com/file/view/AED1_apostila.pdf · Algoritmos e Estruturas ... (Pascal, C, Cobol, Fortran, Visual Basic entre

Algoritmos e Estruturas de Dados 1 – Prof. Eduardo 19

25 – Uma pessoa deseja pregar um quadro em uma parede. Faça um programa para calcular e mostrar a

que distância a escada deve estar da parede. A pessoa deve fornecer o tamanho da escada e a altura em

que deseja pregar o quadro.

Lembre-se de que o tamanho da escada deve ser maior que a altura que se deseja alcançar.

X – Altura em que deseja pregar o quadro

Y – Distância em que deverá ficar a escada

Z – Tamanho da escada

26 – Sabe-se que o quilowatt de energia custa um quinto do salário mínimo. Faça um programa que

receba o valor do salário mínimo e a quantidade de quilowatts consumida por uma residência, calcule e

mostre:

a) o valor de cada quilowatt;

b) o valor a ser pago por essa residência;

c) o valor a ser pago com desconto de 15%.

27 - Uma pessoa paga de impostos anuais, o seguinte:

IPTU: 1% do valor do imóvel;

IPVA: 3% do valor do veículo.

Faça um programa que leia o valor do imóvel e do veículo. Calcule o IPTU e o IPVA, o total pago

em impostos e mostre os resultados.

28 - Faça um programa que receba o peso de uma pessoa, calcule e mostre:

a) O novo peso, se a pessoa engordar 15% sobre o peso digitado;

b) O novo peso, se a pessoa emagrecer 20% sobre o peso digitado.

29 – Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1)

e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é:

30 – Escreva um algoritmo que leia três números inteiros e positivos (A, B, C) e calcule a seguinte

expressão:

, onde

31 – Um sistema de equações lineares do tipo:

, pode ser resolvido segundo mostrado abaixo :

Escreva um algoritmo que lê os coeficientes a,b,c,d,e e f e calcula e mostra os valores de x e y.