ALGORITMOS E ESTRUTURAS DE DADOS I



Documentos relacionados
Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Resolução de problemas e desenvolvimento de algoritmos

Programação Estruturada

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

1.1. Organização de um Sistema Computacional

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Programação para Computação

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmos e Programação de Computadores I. Prof. Eduardo

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

Algoritmos e Linguagens de Programação

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Algoritmo e Programação

Dadas a base e a altura de um triangulo, determinar sua área.

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Algoritmos. Cláudio Barbosa

Introdução à Programação e Algoritmos. Aécio Costa

Algoritmos e Programação. Prof. Tarcio Carvalho

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Algoritmos e Programação de Computadores

ICC Introdução para JavaScript

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS -

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Lista de Exercícios de Estrutura Sequencial Resolvida

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

3. Tipos de Dados, Constantes e Variáveis.

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Conceitos Importantes:

Introdução à Lógica de Programação

Lista de Exercícios 03b Algoritmos Repetição

Algoritmos e Programação Parte Teórica

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Aula 2 Modelo Simplificado de Computador

Linguagem algorítmica: Portugol

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Compilado pela Prof a Sílvia Moraes Organizado por Stewart Unger

Programação I. Introdução a Lógica de Programação

Algoritmos com VisuAlg

2ª Lista de exercícios

1 ESTRUTURA SEQUENCIAL

Excel Planilhas Eletrônicas

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Lógica de Programação

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e


CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

ARQUITETURA DE COMPUTADORES - CONCEITUAL

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Orientação a Objetos

Universidade Federal de Goiás Instituto de Informática

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Introdução à Lógica de Programação

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Introdução a Algoritmos Parte 04

1 Lógica de Programação

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

LÓGICA DE PROGRAMAÇÃO

Informática I. Aula 6. Aula 6-12/09/2007 1

Princípios de funcionamento dos computadores

Aluísio Eustáquio da Silva

5 Equacionando os problemas

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

1ª Lista de exercícios

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

TÉCNICAS DE PROGRAMAÇÃO 1 ESTRUTURAS DE CONTROLE

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

Vitor Amadeu Souza

2. Representação Numérica

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Lógica de Programação

Algoritmos Computacionais ( Programas )

I Lista de Exercícios

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Introdução aos cálculos de datas

Disciplina: Introdução à Informática Profª Érica Barcelos

Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Roteiro do Programa e Entrada/Saída

Lógica. Everson Santos Araujo

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

REVISÃO E AVALIAÇÃO DA MATEMÁTICA

Sistemas Operacionais

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

1. NÍVEL CONVENCIONAL DE MÁQUINA

A Estação da Evolução

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Estruturas de Controle A Tomada de Decisões

Módulo Vendas Balcão. Roteiro passo a passo. Sistema Gestor New

4 RECURSOS AUTOMATIZADOS DO EXCEL

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Transcrição:

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 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"

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.

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.

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;

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:

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

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

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.

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.

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:

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.

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

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.

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); soma num1+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) c) b) d)

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.

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;

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.

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.