SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Algoritmos e Lógica de Programação
Introdução e formas de representação
Agostinho Brito
Departamento de Engenharia da Computação e Automação
Universidade Federal do Rio Grande do Norte
15 de agosto de 2005
Fazendo café...
Descrição narrativa 1
1 Encha de água a chaleira.
2 Coloque a água para ferver.
3 Prepare o porta-filtro com o
filtro sobre o bule.
4 Coloque duas colheres de
sopa de pó de café no filtro.
5 Após a água ter fervido,
acrescente aos poucos meio
litro de água sobre o filtro.
6 Aguarde coar.
7 Adoce a gosto.
Descrição narrativa 2
1 Encha de água a chaleira.
2 Coloque a água para ferver.
3 Prepare o porta-filtro com o
filtro sobre o bule.
4 Se houver café, coloque duas
colheres de sopa de pó de
café no filtro.
5 Senão, desligue o fogo, vá
comprar café e repita os itens
2, 3 e 5.
6 Após a água ter fervido,
acrescente aos poucos meio
litro de água sobre o filtro.
7 Aguarde coar.
8 Adoce a gosto.
Atividade prática
Preparar um bolo de festa
Preparar massa do bolo.
Preparar recheio.
Preparar cobertura.
Juntar tudo.
Atividade prática
Preparar um bolo de festa
Preparar massa do bolo.
Preparar recheio.
Preparar cobertura.
Juntar tudo.
Atividade prática
Preparar um bolo de festa
Preparar massa do bolo.
Preparar recheio.
Preparar cobertura.
Juntar tudo.
Atividade prática
Preparar um bolo de festa
Preparar massa do bolo.
Preparar recheio.
Preparar cobertura.
Juntar tudo.
Estruturação de um programa
1 Denominação do
programa
2 Declaração e
classificação de
variáveis
3 Declaração de
constantes
4 Início do bloco
principal
1 Iniciar as variáveis
2 Solicitar a entrada
de dados ao usuário
3 Entrada de dados
4 Processamento
5 Saída de
informações
5 Fim do bloco principal
Listing 1: Ponderação de um número
#include <stdio.h>
int main(void){
double X, Y;
Y = 0;
printf("Digite X: ");
scanf("%d", &X);
Y = 1.3 * X;
printf("Valor de Y: %dn", Y);
return(0);
}
Tipos de dados
Numérico Literal Lógico
Inteiro Real
"C4@bi" TRUE
FALSE
−2.33
143
Tipos de Dados
Tipos de dados numéricos
Inteiros: não possuem componentes decimais ou fracionários, podendo
ser positivos ou negativos.
Exemplos
13 ou +13: inteiro positivo.
0: inteiro.
-13: inteiro negativo.
Reais: podem possuir componentes decimais ou fracionários, e podem
também ser positivos ou negativos.
Exemplos
24.01: número real positivo com duas casas decimais.
144.: número real positivo com zero casas decimais.
-13.3: número real negativo com uma casa decimal.
0.0: número real com uma casa decimal.
0.: número real com zero casas decimais.
Tipos de dados literais
O tipo de dado literal é constituído por
uma seqüência de caracteres
contendo letras, dígitos e/ou símbolos
especiais. Também chamado de
alfanumérico, cadeia de caracteres ou
string.
Usualmente, os dados literais são
representados nos algoritmos pela
coleção de caracteres, delimitada em
seu início e término com o caractere
aspas (" );
Diz-se que o dado do tipo literal
possui um comprimento dado pelo
número de caracteres nele contido.
Cuidado! "1.2" 6= 1.2.
Exemplos
string comprimento
"QUAL ?" 6
" " 1
"qUaL ?!$" 8
"AbCdefGHi" 9
"1-2+3=" 6
"0" 1
"1.2" 3
Tipos de Dados Lógicos (booleanos)
O tipo de dados lógico é usado para representar dois únicos valores lógicos
possíveis: verdadeiro e falso. É comum encontrar-se em outras referências
outros tipos de pares de valores lógicos como 1/0, TRUE/FALSE.
Variáveis
Variáveis são utilizadas para referenciar dados armazenados na memória.
A todo momento durante a execução de qualquer tipo de programa os
computadores estão manipulando informações representadas pelos
diferentes tipos de dados descritos anteriormente.
Para que não se “esqueça” das informações, o computador precisa
guardá-las em sua memória.
Basicamente, uma variável possui três atributos: um nome ou
identificador, um tipo de dado associado à mesma e o conteúdo por ela
guardada.
Definição de variáveis em algoritmos
A memória dos computadores é composta por células numeradas
ordenadamente denominadas bytes, (ou octetos). Cada byte é
constituído por 8 bits.
Cada tipo de dado requer um número diferente de bytes para armazenar
a informação representada por ele na memória. Esta quantidade também
pode variar em função do tipo de computador considerado.
Uma variável é uma entidade dotada de um nome para diferenciá-la das
demais e um tipo de dado que define o tipo de informação que ela é
capaz de guardar. Uma vez definidos, o nome e o tipo de uma variável
não podem ser alterados no decorrer de um programa. Por outro lado, a
informação útil da variável é objeto de constante modificação durante o
decorrer do programa, de acordo com o fluxo de execução do mesmo.
Regras para criar identificadores
O primeiro caractere deve ser uma letra
ou o caractere underline "_".
Os nomes devem ser formados por letras
[a-z][A-Z], números [0-9] e "_".
Não podem haver espaços em branco
entre os caracteres do identificador.
Os nomes escolhidos devem ser
explicativos do seu conteúdo.
Nomes longos dificultam a codificação. Os
nomes não devem exceder o total de
caracteres permitidos pela linguagem.
Não deve-se usar acentuação ou cedilha.
Os identificadores não podem ser os
mesmos de palavras reservadas da
linguagem de programação.
Exemplos
Salario correto
for errado
A CASA errado
SAL/HORA errado
SAL_HORA correto
_DESCONTO correto
Definição de variáveis em algoritmos
Todas as variáveis devem ser definidas antes de serem utilizadas.
Este procedimento necessário para permitir que o compilador reserve um
espaço na memória para as mesmas.
Sintaxe: <TIPO_DA_VARIÁVEL> identificador
Exemplos
int idade;
float altura;
boolean sexo;
Expressões
Espécie de fórmula matemática, onde um conjunto de variáveis e
constantes numéricas relacionam-se por meio de operadores aritméticos
compostos que, uma vez avaliada, resulta num determinado valor.
Operadores são elementos funcionais que atuam sobre operandos e
produzem um determinado resultado.
De acordo com o número de operandos sobre os quais atuam, os
operadores podem ser classificados em binários, unários e relacionais.
area = 0.5*base*altura
0.5, base, altura operandos
* operador binário
= operador relacional
Podem ser literais: eletro = "refrigera"+"dor"
Podem ser lógicas: teste = TRUE & FALSE (& - "E" lógico).
Expressões
Regras são essenciais para a correta avaliação de expressões.
Operadores de maior prioridade devem ser avaliados primeiro. Em caso
de empate, a avaliação se faz da esquerda para a direita.
O uso de parênteses em sub-expressões força a avaliação das mesmas
com maior prioridade.
Os diversos tipos de operadores devem ser avaliados na seguinte
seqüência dentro de uma expressão complexa: primeiro os aritméticos e
literais; em seguida, os relacionais e, por último, os lógicos (e/ou).

Mais conteúdo relacionado

Semelhante a algoritmos.pdf

Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxGustavoMaciel67
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem cvingue
 
Alg aula 02 - algoritmos 1 tp1
Alg   aula 02 - algoritmos 1 tp1Alg   aula 02 - algoritmos 1 tp1
Alg aula 02 - algoritmos 1 tp1Thalles Anderson
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30hflandim
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Cloves da Rocha
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPELevi Saturnino
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 

Semelhante a algoritmos.pdf (20)

01 logica
01 logica01 logica
01 logica
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptx
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Alg aula 02 - algoritmos 1 tp1
Alg   aula 02 - algoritmos 1 tp1Alg   aula 02 - algoritmos 1 tp1
Alg aula 02 - algoritmos 1 tp1
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30
 
Ud3
Ud3Ud3
Ud3
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Ap vetores
Ap vetoresAp vetores
Ap vetores
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 

algoritmos.pdf

  • 1. Algoritmos e Lógica de Programação Introdução e formas de representação Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 15 de agosto de 2005
  • 2. Fazendo café... Descrição narrativa 1 1 Encha de água a chaleira. 2 Coloque a água para ferver. 3 Prepare o porta-filtro com o filtro sobre o bule. 4 Coloque duas colheres de sopa de pó de café no filtro. 5 Após a água ter fervido, acrescente aos poucos meio litro de água sobre o filtro. 6 Aguarde coar. 7 Adoce a gosto. Descrição narrativa 2 1 Encha de água a chaleira. 2 Coloque a água para ferver. 3 Prepare o porta-filtro com o filtro sobre o bule. 4 Se houver café, coloque duas colheres de sopa de pó de café no filtro. 5 Senão, desligue o fogo, vá comprar café e repita os itens 2, 3 e 5. 6 Após a água ter fervido, acrescente aos poucos meio litro de água sobre o filtro. 7 Aguarde coar. 8 Adoce a gosto.
  • 3. Atividade prática Preparar um bolo de festa Preparar massa do bolo. Preparar recheio. Preparar cobertura. Juntar tudo.
  • 4. Atividade prática Preparar um bolo de festa Preparar massa do bolo. Preparar recheio. Preparar cobertura. Juntar tudo.
  • 5. Atividade prática Preparar um bolo de festa Preparar massa do bolo. Preparar recheio. Preparar cobertura. Juntar tudo.
  • 6. Atividade prática Preparar um bolo de festa Preparar massa do bolo. Preparar recheio. Preparar cobertura. Juntar tudo.
  • 7. Estruturação de um programa 1 Denominação do programa 2 Declaração e classificação de variáveis 3 Declaração de constantes 4 Início do bloco principal 1 Iniciar as variáveis 2 Solicitar a entrada de dados ao usuário 3 Entrada de dados 4 Processamento 5 Saída de informações 5 Fim do bloco principal Listing 1: Ponderação de um número #include <stdio.h> int main(void){ double X, Y; Y = 0; printf("Digite X: "); scanf("%d", &X); Y = 1.3 * X; printf("Valor de Y: %dn", Y); return(0); }
  • 8. Tipos de dados Numérico Literal Lógico Inteiro Real "C4@bi" TRUE FALSE −2.33 143 Tipos de Dados
  • 9. Tipos de dados numéricos Inteiros: não possuem componentes decimais ou fracionários, podendo ser positivos ou negativos. Exemplos 13 ou +13: inteiro positivo. 0: inteiro. -13: inteiro negativo. Reais: podem possuir componentes decimais ou fracionários, e podem também ser positivos ou negativos. Exemplos 24.01: número real positivo com duas casas decimais. 144.: número real positivo com zero casas decimais. -13.3: número real negativo com uma casa decimal. 0.0: número real com uma casa decimal. 0.: número real com zero casas decimais.
  • 10. Tipos de dados literais O tipo de dado literal é constituído por uma seqüência de caracteres contendo letras, dígitos e/ou símbolos especiais. Também chamado de alfanumérico, cadeia de caracteres ou string. Usualmente, os dados literais são representados nos algoritmos pela coleção de caracteres, delimitada em seu início e término com o caractere aspas (" ); Diz-se que o dado do tipo literal possui um comprimento dado pelo número de caracteres nele contido. Cuidado! "1.2" 6= 1.2. Exemplos string comprimento "QUAL ?" 6 " " 1 "qUaL ?!$" 8 "AbCdefGHi" 9 "1-2+3=" 6 "0" 1 "1.2" 3
  • 11. Tipos de Dados Lógicos (booleanos) O tipo de dados lógico é usado para representar dois únicos valores lógicos possíveis: verdadeiro e falso. É comum encontrar-se em outras referências outros tipos de pares de valores lógicos como 1/0, TRUE/FALSE.
  • 12. Variáveis Variáveis são utilizadas para referenciar dados armazenados na memória. A todo momento durante a execução de qualquer tipo de programa os computadores estão manipulando informações representadas pelos diferentes tipos de dados descritos anteriormente. Para que não se “esqueça” das informações, o computador precisa guardá-las em sua memória. Basicamente, uma variável possui três atributos: um nome ou identificador, um tipo de dado associado à mesma e o conteúdo por ela guardada.
  • 13. Definição de variáveis em algoritmos A memória dos computadores é composta por células numeradas ordenadamente denominadas bytes, (ou octetos). Cada byte é constituído por 8 bits. Cada tipo de dado requer um número diferente de bytes para armazenar a informação representada por ele na memória. Esta quantidade também pode variar em função do tipo de computador considerado. Uma variável é uma entidade dotada de um nome para diferenciá-la das demais e um tipo de dado que define o tipo de informação que ela é capaz de guardar. Uma vez definidos, o nome e o tipo de uma variável não podem ser alterados no decorrer de um programa. Por outro lado, a informação útil da variável é objeto de constante modificação durante o decorrer do programa, de acordo com o fluxo de execução do mesmo.
  • 14. Regras para criar identificadores O primeiro caractere deve ser uma letra ou o caractere underline "_". Os nomes devem ser formados por letras [a-z][A-Z], números [0-9] e "_". Não podem haver espaços em branco entre os caracteres do identificador. Os nomes escolhidos devem ser explicativos do seu conteúdo. Nomes longos dificultam a codificação. Os nomes não devem exceder o total de caracteres permitidos pela linguagem. Não deve-se usar acentuação ou cedilha. Os identificadores não podem ser os mesmos de palavras reservadas da linguagem de programação. Exemplos Salario correto for errado A CASA errado SAL/HORA errado SAL_HORA correto _DESCONTO correto
  • 15. Definição de variáveis em algoritmos Todas as variáveis devem ser definidas antes de serem utilizadas. Este procedimento necessário para permitir que o compilador reserve um espaço na memória para as mesmas. Sintaxe: <TIPO_DA_VARIÁVEL> identificador Exemplos int idade; float altura; boolean sexo;
  • 16. Expressões Espécie de fórmula matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compostos que, uma vez avaliada, resulta num determinado valor. Operadores são elementos funcionais que atuam sobre operandos e produzem um determinado resultado. De acordo com o número de operandos sobre os quais atuam, os operadores podem ser classificados em binários, unários e relacionais. area = 0.5*base*altura 0.5, base, altura operandos * operador binário = operador relacional Podem ser literais: eletro = "refrigera"+"dor" Podem ser lógicas: teste = TRUE & FALSE (& - "E" lógico).
  • 17. Expressões Regras são essenciais para a correta avaliação de expressões. Operadores de maior prioridade devem ser avaliados primeiro. Em caso de empate, a avaliação se faz da esquerda para a direita. O uso de parênteses em sub-expressões força a avaliação das mesmas com maior prioridade. Os diversos tipos de operadores devem ser avaliados na seguinte seqüência dentro de uma expressão complexa: primeiro os aritméticos e literais; em seguida, os relacionais e, por último, os lógicos (e/ou).