Buscar

Programação - Unidade II - Desenvolvimento de Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Universidade Federal do Pará - UFPA 
Faculdade de Engenharia de Computação 
Disciplina: Programação 
Professor: Otávio Noura Teixeira 
Assunto: UNIDADE II – Desenvolvimento de Algoritmos 
 
 
NOTAS DE AULA 
 
Objetivos da Unidade II: 
 
 Compreender os elementos básicos de uma linguagem algorítmica 
 Desenvolver a capacidade de raciocínio lógico aplicado à programação, construindo 
algoritmos que o possibilitarão trabalhar com qualquer linguagem de programação. 
 Desenvolver algoritmos utilizando estruturas seqüenciais básicas 
 
2.1. Conceitos Básicos 
 
Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa 
sucessão finita de ações. 
 
2.2. Resolução de Problemas 
 
Exemplos de algoritmos na vida quotidiana: 
 Instruções para um robô fazer café; 
 Receita para preparo de algum prato; 
 Guia do preenchimento da declaração do Imposto de Renda; 
 Determinação de máximos e mínimos de funções por derivadas sucessivas; 
 Cálculo das contas de água, luz e telefone mensalmente. 
 
Um algoritmo é considerado completo se os seus comandos forem do entendimento do 
seu destinatário. 
 
Um comando que não for do entendimento do destinatário terá de ser desdobrado em 
novos comandos, que constituirão um refinamento do comando inicial. 
 
Solucionar problemas >> manipulação de informações 
 
 
2.3. Tipos Primitivos de Dados 
 
Dados são representados pelas informações a serem processadas por um computador. 
 
Quatro tipos de dados: numéricos inteiros, numéricos reais, caracteres e lógicos. 
 
 Inteiro: toda e qualquer informação numérica que pertença ao conjunto dos números 
Inteiros, positivos ou negativos (...-3, -2, -1, 0, 1, 2, 3, ...); Não possuem componentes 
decimais ou fracionários 
 
Exemplos: 
a) Maria comprou 11 laranjas; 
b) A temperatura desta noite será de –2 graus; 
 Real: toda e qualquer informação numérica que pertença ao conjunto dos números 
Reais, ou seja, dados numéricos positivos, negativos e números fracionários; Podem 
possuir componentes decimais ou fracionários. 
 
Exemplos: 
a) João tem 2,05 metros de altura; 
b) O saldo bancário é de -100,57 Reais; 
 
 Caractere ou string: toda e qualquer informação composta por uma seqüência 
contendo caracteres alfanuméricos (0...9) e/ou símbolos especiais (por exemplo: # $ % 
& * ? ~ < ! @); Também conhecido como: alfanumérico, string, literal ou cadeia; 
 
Exemplos: 
 a) Meu endereço é: “Rua Alfa, 52 Apto 01”; 
b) “O número do telefone é: 574-9988”; 
 
 
 Lógico: toda e qualquer informação que pode apenas assumir duas situações 
(biestável), ou seja, dados com valores verdadeiro ou falso; 
 
Exemplos: 
a) A porta pode estar aberta ou fechada. 
b) A lâmpada pode estar acessa ou apagada. 
 
 (Tipos primitivos em Java: char, byte, int, short, long, float, double, boolean) 
 
 
2.4. Constantes e Variáveis 
 
Uma constante é um determinado valor fixo que não se modifica ao longo do tempo, 
durante a execução de um programa. Um constante pode ser um número, um valor lógico 
ou uma seqüência de caracteres com algum significado para o problema em estudo. 
 
As variáveis só podem armazenar informações ou dados sempre de um mesmo tipo (inteiro, 
real, caractere ou char). O conteúdo de uma variável pode ser de vários tipos: inteiro, real, 
caractere, lógico, ... 
 
O conteúdo de uma variável é um objeto de constante modificação no decorrer do 
programa, de acordo com o fluxo de execução do mesmo. 
 
Quando se declara uma variável, um espaço num determinado endereço na memória é 
alocado para armazenar um dado que obrigatoriamente tem que ser do mesmo tipo que o 
da variável. As variáveis não podem utilizar as palavras reservadas da linguagem. 
 
Em algoritmos, as variáveis serão definidas no início. (em Java, podem ser declaradas em 
qualquer ponto antes de sua utilização) 
 
Tipo da variável nome da variável ; 
Exemplo: 
int a; 
Real b; 
String nome; 
Lógico r; 
 
2.5. Operadores e Expressões 
 
Variáveis e constantes podem ser utilizadas na elaboração de cálculos matemáticos, 
desde que sejam estabelecidas como do tipo real ou inteira e para que isto ocorra é 
necessária a utilização de operadores aritméticos. 
 
Expressões são definidas pelo relacionamento existente entre variáveis e constantes 
numéricas através da utilização dos operadores aritméticos. 
 
Expressão ou fórmula matemática >> um conjunto de variáveis e constantes numéricas 
relaciona-se por meio de uma fórmula que, uma vez avaliada, resulta num valor. 
 
As expressões dividem-se em: 
 
 Aritméticas 
 
Soma + , Subtração - , Multiplicação *, Divisão / 
 
Exponenciação ** ou ^ (ex: A ** 2, 3^2, 8**3 = 512.00, 8^3 = 512) 
 
Resto % (ex: 5%2 = 1, 7%4 = 3) 
 
Div – divisão inteira (ex: 5 div 2 = 2) 
 
 
 Relacionais 
 
Comparação realizada entre dois valores de mesmo tipo básico 
 
Operador Matemática Algoritmo Java 
Igual = == == 
Diferente  <> != 
Maior que > > > 
Menor que < < < 
Maior ou Igual a  >= >= 
Menor ou Igual a  <= <= 
 
 
 Lógica ou booleana 
 
Expressão cujos operadores são lógicos e cujos operandos são relações, constantes 
e/ou variáveis do tipo lógico 
 
 
Operador Matemática Algoritmo Java 
Conjunção E lógico && && 
Disjunção OU lógico | | | | 
Negação Não ! ! 
 
 
Tabela Verdade Operador E - && 
 
Falso – 0 Falso – 0 Falso – 0 
Falso – 0 Verdadeiro – 1 Falso – 0 
Verdadeiro – 1 Falso – 0 Falso – 0 
Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 
 
 
Tabela Verdade Operador OU - | | 
 
Falso – 0 Falso – 0 Falso – 0 
Falso – 0 Verdadeiro – 1 Verdadeiro – 1 
Verdadeiro – 1 Falso – 0 Verdadeiro – 1 
Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 
 
 
Tabela Verdade Operador Não - ! 
 
Falso – 0 Verdade – 1 
Verdade – 1 Falso – 0 
 
 
2.6. Prioridade dos Operadores 
 
Tabela de Prioridade Matemática 
 
Operador Operação Prioridade 
Matemática 
+ Manutenção de sinal (números positivos) 1 
- Inversão de sinal (números negativos) 1 
* * ^ Exponenciação 2 
/ Divisão 3 
* Multiplicação 3 
+ Adição 4 
- Subtração 4 
=, <>, >, <, >=, <= Operadores relacionais 5 
&&, | |, ! Operadores lógicos 6 
 
 
2.7. Avaliação de Expressões 
 
Exemplo: 
a + b == 0 && c <> 1 
Cor == “azul” | | a * b > c 
 
O resultado obtido de uma avaliação de uma expressão lógica é sempre um valor lógico. 
2.8. Funções pré-definidas 
 
 Numéricas 
pi: resulta o valor 3.14159265; 
sen(x): resulta no valor do seno de um ângulo qualquer em radianos; 
cos(x): resulta no valor do co-seno de um ângulo qualquer em radianos; 
tan(x): resulta no valor da tangente de um ângulo qualquer em radianos; 
abs(x): resulta no valor absoluto de um número qualquer; 
exp(x): resulta no valor do número e elevado a um número qualquer; 
log(x): resulta no valor do logaritmo neperiano de um número qualquer; 
raiz(x): resulta no valor da raiz quadrada de um número positivo; 
 
 
 Função de Conversão de Tipo 
realint(numero real): função que converte um número real em inteiro 
intreal(numero inteiro): função que converte um número inteiro em real 
 
 
 Caracter 
strtam(string): função que retorna o número de caracteres de uma string 
strelem(string, pos): função que retorna o elemento da string que se encontra na 
posição indicada na função pos 
strprim(string): função que retorna o primeiro elemento da string 
strnprim(string,n): função que retorna os n primeiros elementos da string, incluído a 
posição 0 
strresto(string): função que retorna todos os elementos da string, exceto o primeiro 
strult(string): função que retorna o último elemento dastring 
 
 
2.9. Comandos de Entrada e Saída 
 
 Comandos de Entrada - leia 
 
É o comando que permite que o usuário digite dados, possibilitando um “diálogo com o 
computador” 
 
O dado digitado é armazenado temporariamente em um registrador e, depois, copiado 
para a posição de memória indicada no comando. 
 
Ex: leia nome; 
 
 
 Comandos de Saída – imprima 
 
É o comando responsável por enviar um resultado, uma informação ao usuário. 
 
Exemplo: 
prog imp1 
Imprima “Aprendendo Algoritmo !!!” 
fimprog 
 
Exemplo: 
prog imp2 
int x; 
x = 10; 
imprima “Valor de x = “, x; 
fimprog 
 
 
 
2.10. Bloco de Comandos 
 
 
Conjunto de instruções 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercícios referente à Unidade II 
 
Objetivo: Desenvolver algoritmos básicos 
 
 Lista de Exercícios 01 
 
 Lista de Exercícios 02 (reforço) 
 
 
 
"Ninguém ensina nada a ninguém, no máximo ajuda-se o outro a aprender" (Galilleu). 
 
Provavelmente, o grande mestre queria dizer que o aprender é pessoal. Na verdade, o professor ajuda 
o aluno a encontrar o caminho correto, todavia se não houver interesse do aluno, também não haverá 
sucesso no aprendizado.

Continue navegando