SUMÁRIO
INTRODUÇÃO...........................................................................................................
Algoritmos
6. SENÃO..........................................................................................................
Algoritmos
OPERADORES ARITMÉTICOS............................................................................................
Algoritmos
OPERADORES ESPECIAIS (MOD E DIV)..................................................................................
Algoritmos
SIN( )............................................................................................................
Algoritmos
F.................................................................................................................
Algoritmos
VARIÁVEIS.........................................................................................................
Algoritmos
IDADE_FILHO.......................................................................................................
Algoritmos
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................
Algoritmos
ÍNICIO............................................................................................................
Algoritmos
FIM...............................................................................................................
Algoritmos
A ESTRUTURA DE DECISÃO PODE SER SIMPLES OU COMPOSTA, BASEADA EM UM
RESULTADO LÓGICO...............................
Algoritmos
ALGORITMO QUATRO..................................................................................................
Algoritmos
PROGRAMA ACHA_MAIOR;..............................................................................................
Algoritmos
FACA CASO.........................................................................................................
Algoritmos
SEGUE UM ALGORITMO QUE ESCREVE 10 VEZES A FRASE “VASCO DA GAMA”.................52
PROGRAMA REPETICAO;............
Algoritmos
ÍNICIO............................................................................................................
Algoritmos
ATE <<CONDIÇÃO>>..................................................................................................
Algoritmos
FIM...............................................................................................................
Algoritmos
INTRODUÇÃO
O objetivo principal da Lógica de Programação é
demonstrar técnicas para resolução de problemas e
co...
Algoritmos
ALGORITMO
Um Algoritmo é uma seqüência de instruções ordenadas de
forma lógica para a resolução de uma determin...
Algoritmos
Os algoritmos podem ser
escritos em linguagem comum,
em linguagem gráfica
(fluxogramas ou diagramas de
blocos) ...
Algoritmos
ler A, B, C
MEDIA = A + B + C / 3
escrever MEDIA
parar
Algoritmos com seleção e/ou decisão
ESTRUTURAS DE DECISÃ...
Algoritmos
ALGORITMO NÃO COMPUTACIONAL
Abaixo é apresentado um Algoritmo não computacional cujo
objetivo é usar um telefon...
Algoritmos
LINGUAGENS DE PROGRAMAÇÃO
São Softwares que permitem o desenvolvimento de
programas. Possuem um poder de criaçã...
Algoritmos
TÉCNICAS ATUAIS DE PROGRAMAÇÃO
• Programação Seqüencial
• Programação Estruturada
• Programação Orientada a Eve...
Algoritmos
OPERADORES RELACIONAIS
>  Maior que
<  Menor que
>=  Maior ou Igual
<=  Menor ou Igual
=  Igual
<>  Difer...
Algoritmos
MODULARIZAÇÃO DE EXPRESSÕES
A modularização é a divisão da expressão em partes,
proporcionando maior compreensã...
Algoritmos
Exemplo:
FUNÇÕES
Uma função é um instrumento (Sub–algoritmo) que tem como
objetivo retornar um valor ou uma inf...
Algoritmos
BIBLIOTECAS DE FUNÇÕES
Armazenam um conjunto de funções que podem ser usadas
pelos programas.
FUNÇÕES PRÉ-DEFIN...
Algoritmos
As funções acima são as mais comuns e importantes para
nosso desenvolvimento lógico, entretanto, cada linguagem...
Algoritmos
EXPRESSÕES LÓGICAS
As expressões compostas de relações sempre retornam um
valor lógico.
Exemplos:
32
Algoritmos
2+5>4  Verdadeiro 3<>3  Falso
33
Algoritmos
De acordo com a necessidade, as expressões podem ser
unidas pelos operadores lógicos.
Exemplos:
2+5>4 E 3<>3  ...
Algoritmos
VARIÁVEIS DE ENTRADA E SAÍDA
Variáveis de Entrada armazenam informações fornecidas
por um meio externo, normalm...
Algoritmos
Suponha-se o seguinte problema:
Calcular a média geral de uma prova de vestibular a qual compareceram 2640 alun...
Algoritmos
CONSTANTES
Constantes são endereços de memória destinados a
armazenar informações fixas, inalteráveis durante a...
Algoritmos
Exemplos:
NOME TELEFONE IDADE_FILHO
NOTA1 SALARIO PI
UMNOMEMUITOCOMPRIDOEDIFICILDELER
UM_NOME_MUITO_COMPRIDO_E_...
Algoritmos
TIPOS DE DADOS
Todas as Variáveis devem assumir um determinado tipo de
informação.
O tipo de dado pode ser:
• P...
Algoritmos
INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É
UTILIZADO PARA REPRESENTAR UMA CONTAGEM
(QUANTIDADE).
REA...
Algoritmos
SINAL DE ATRIBUIÇÃO
Uma Variável nunca é eternamente igual a um valor, seu
conteúdo pode ser alterado a qualque...
Algoritmos
CORPO GERAL DE UM PROGRAMA
PROGRAMA <<identificador>>;
CONST
<<identificador>> = <<dado>>
VAR
<<identificador>>...
Algoritmos
; PONTO E VÍRGULA ;
O sinal de ponto e vírgula “;” indica a existência de um
próximo comando (passa para o próx...
Algoritmos
SEGUNDO ALGORITMO
Segue um Algoritmo que lê o raio de uma circunferência e
calcula sua área.
PROGRAMA AREA_CIRC...
Algoritmos
‘ASPAS SIMPLES’
Quando queremos exibir uma mensagem para a tela ou
impressora ela deve estar contida entre aspa...
Algoritmos
Simples:
SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
Composta 1:
SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>
46
Algoritmos
Composta 2:
SE <<CONDIÇÃO>>
ENTÃO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENÃO INICIO
<<COMANDO1>>; <<COMANDON>...
Algoritmos
FIM.
ALGORITMO QUATRO
Segue um Algoritmo que lê o nome e as 4 notas bimestrais
de um aluno. Em seguida o Algori...
Algoritmos
NINHOS DE SE
Usados para tomadas de decisões para mais de 2 opções.
Forma Geral:
SE <<CONDIÇÃO>>
ENTÃO <<COMAND...
Algoritmos
ENTÃO ESCREVER (B)
SENÃO ESCREVER (C)
FIM.
ESTRUTURAS DE CONDIÇÃO
A estrutura de condição eqüivale a um ninho d...
Algoritmos
VAR A, B, C : INTEIRO;
INICIO
LER (A, B, C);
FACA CASO
CASO (A>B) E (A>C)
ESCREVER (A);
CASO (B>A) E (B>C)
ESCR...
Algoritmos
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAÇA
<<COMANDO1>>;
Forma Geral 2:
PARA...
Algoritmos
PROGRAMA REPETICAO;
VAR I:INTEIRO
INICIO
PARA I :=1 ATE 10 FACA
ESCREVER (‘VASCO DA GAMA’)
FIM.
ALGORITMO OITO
...
Algoritmos
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO
INICIAL
É usada para repetir N vezes uma ou mais instruções....
Algoritmos
VAR SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
SALARIO:=1;
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALA...
Algoritmos
Forma Geral;
REPITA
<<COMANDO1>>;
<<COMANDON>>
ATE <<CONDIÇÃO>>
ALGORITMO DEZ
Segue um algoritmo que calcule a ...
Algoritmos
ESCREVER (SOMA)
FIM.
ALGORITMO ONZE
Segue um algoritmo que escreve os 100 primeiros números
pares.
PROGRAMA PAR...
Algoritmos
Programas Equivalentes
O algoritmo onze poderia ter sido criado com qualquer
estrutura de repetição. Portanto p...
Algoritmospascal (1)
Algoritmospascal (1)
Próximos SlideShares
Carregando em…5
×

Algoritmospascal (1)

175 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
175
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algoritmospascal (1)

  1. 1. SUMÁRIO INTRODUÇÃO...............................................................................................................................................20 INTRODUÇÃO...............................................................................................................................................20 O OBJETIVO PRINCIPAL DA LÓGICA DE PROGRAMAÇÃO É DEMONSTRAR TÉCNICAS PARA RESOLUÇÃO DE PROBLEMAS E CONSEQUENTEMENTE AUTOMATIZAÇÃO DE TAREFAS.........................................................................................................................................................20 O APRENDIZADO DA LÓGICA É ESSENCIAL PARA FORMAÇÃO DE UM BOM PROGRAMADOR, SERVINDO COMO BASE PARA O APRENDIZADO DE TODAS AS LINGUAGENS DE PROGRAMAÇÃO, ESTRUTURADAS OU NÃO....................................................20 ALGORITMO.................................................................................................................................................21 ALGORITMO.................................................................................................................................................21 UM ALGORITMO É UMA SEQÜÊNCIA DE INSTRUÇÕES ORDENADAS DE FORMA LÓGICA PARA A RESOLUÇÃO DE UMA DETERMINADA TAREFA OU PROBLEMA.................................21 PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA................................................................................................................................................................23 ÍNICIO.............................................................................................................................................................23 <<COMANDO1>>;.........................................................................................................................................23 <<COMANDON>>..........................................................................................................................................23 FIM;.................................................................................................................................................................23 ALGORITMO NÃO COMPUTACIONAL..................................................................................................24 ALGORITMO NÃO COMPUTACIONAL..................................................................................................24 ABAIXO É APRESENTADO UM ALGORITMO NÃO COMPUTACIONAL CUJO OBJETIVO É USAR UM TELEFONE PÚBLICO...............................................................................................................24 INÍCIO..............................................................................................................................................................24 1.TIRAR O FONE DO GANCHO;................................................................................................................24 2.OUVIR O SINAL DE LINHA;....................................................................................................................24 3.INTRODUZIR O CARTÃO;......................................................................................................................24 4.TECLAR O NÚMERO DESEJADO;.........................................................................................................24 5.SE DER O SINAL DE CHAMAR...............................................................................................................24 5.1 CONVERSAR;...........................................................................................................................................24 5.2 DESLIGAR;...............................................................................................................................................24 5.3 RETIRAR O CARTÃO;...........................................................................................................................24
  2. 2. Algoritmos 6. SENÃO.........................................................................................................................................................24 6.1 REPETIR;.................................................................................................................................................24 FIM...................................................................................................................................................................24 PROGRAMA...................................................................................................................................................24 PROGRAMA...................................................................................................................................................24 UM PROGRAMA É UM ALGORITMO ESCRITO EM UMA LINGUAGEM COMPUTACIONAL. ...........................................................................................................................................................................24 LINGUAGENS DE PROGRAMAÇÃO........................................................................................................25 LINGUAGENS DE PROGRAMAÇÃO........................................................................................................25 SÃO SOFTWARES QUE PERMITEM O DESENVOLVIMENTO DE PROGRAMAS. POSSUEM UM PODER DE CRIAÇÃO ILIMITADO, DESDE JOGOS, EDITORES DE TEXTO, SISTEMAS EMPRESARIAIS ATÉ SISTEMAS OPERACIONAIS..............................................................................25 EXISTEM VÁRIAS LINGUAGENS DE PROGRAMAÇÃO, CADA UMA COM SUAS CARACTERÍSTICAS PRÓPRIAS...............................................................................................................25 EXEMPLOS:..................................................................................................................................................25 PASCAL...........................................................................................................................................................25 CLIPPER..........................................................................................................................................................25 C........................................................................................................................................................................25 VISUAL BASIC...............................................................................................................................................25 DELPHI E ETC. .............................................................................................................................................25 TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................26 TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................26 PROGRAMAÇÃO SEQÜENCIAL...............................................................................................................26 PROGRAMAÇÃO ESTRUTURADA...........................................................................................................26 PROGRAMAÇÃO ORIENTADA A EVENTOS E OBJETOS..................................................................26 ALGORITMOS EM “PORTUGOL”............................................................................................................26 ALGORITMOS EM “PORTUGOL”............................................................................................................26 DURANTE NOSSO CURSO IREMOS APRENDER A DESENVOLVER NOSSOS ALGORITMOS EM UMA PSEUDO-LINGUAGEM CONHECIDA COMO “PORTUGOL” OU PORTUGUÊS ESTRUTURADO.............................................................................................................................................26 “PORTUGOL” É DERIVADO DA AGLUTINAÇÃO DE PORTUGUÊS + ALGOL. ALGOL É O NOME DE UMA LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA USADA NO FINAL DA DÉCADA DE 50...............................................................................................................................................26 OPERADORES ARITMÉTICOS..................................................................................................................26 2
  3. 3. Algoritmos OPERADORES ARITMÉTICOS..................................................................................................................26 +  ADIÇÃO..................................................................................................................................................26 -  SUBTRAÇÃO..........................................................................................................................................26 *  MULTIPLICAÇÃO................................................................................................................................26 /  DIVISÃO...................................................................................................................................................26 OPERADORES RELACIONAIS..................................................................................................................27 OPERADORES RELACIONAIS..................................................................................................................27 >  MAIOR QUE...........................................................................................................................................27 <  MENOR QUE..........................................................................................................................................27 >=  MAIOR OU IGUAL.............................................................................................................................27 <=  MENOR OU IGUAL............................................................................................................................27 =  IGUAL......................................................................................................................................................27 <>  DIFERENTE.........................................................................................................................................27 LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................27 LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................27 PARA A CONSTRUÇÃO DE ALGORITMOS TODAS AS EXPRESSÕES ARITMÉTICAS DEVEM SER LINEARIZADAS, OU SEJA, COLOCADAS EM LINHAS..............................................................27 É IMPORTANTE TAMBÉM RESSALVAR O USO DOS OPERADORES CORRESPONDENTES DA ARITMÉTICA TRADICIONAL PARA A COMPUTACIONAL......................................................27 EXEMPLO:......................................................................................................................................................27 MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................28 MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................28 A MODULARIZAÇÃO É A DIVISÃO DA EXPRESSÃO EM PARTES, PROPORCIONANDO MAIOR COMPREENSÃO E DEFININDO PRIORIDADES PARA RESOLUÇÃO DA MESMA......28 COMO PODE SER OBSERVADO NO EXEMPLO ANTERIOR, EM EXPRESSÕES COMPUTACIONAIS USAMOS SOMENTE PARÊNTESES “( )” PARA MODULARIZAÇÃO........28 NA INFORMÁTICA PODEMOS TER PARÊNTESES DENTRO DE PARÊNTESES.........................28 EXEMPLOS DE PRIORIDADES:................................................................................................................28 (2+2)/2=2...........................................................................................................................................................28 2+2/2=3.............................................................................................................................................................28 OPERADORES ESPECIAIS (MOD E DIV)................................................................................................28 3
  4. 4. Algoritmos OPERADORES ESPECIAIS (MOD E DIV)................................................................................................28 MOD  RETORNA O RESTO DA DIVISÃO ENTRE 2 NÚMEROS INTEIROS................................28 DIV  RETORNA O VALOR INTEIRO QUE RESULTA DA DIVISÃO ENTRE 2 NÚMEROS INTEIROS........................................................................................................................................................28 EXEMPLO:......................................................................................................................................................29 FUNÇÕES........................................................................................................................................................29 FUNÇÕES........................................................................................................................................................29 UMA FUNÇÃO É UM INSTRUMENTO (SUB–ALGORITMO) QUE TEM COMO OBJETIVO RETORNAR UM VALOR OU UMA INFORMAÇÃO..............................................................................29 A CHAMADA DE UMA FUNÇÃO É FEITA ATRAVÉS DA CITAÇÃO DO SEU NOME SEGUIDO OPCIONALMENTE DE SEU ARGUMENTO INICIAL ENTRE PARÊNTESES.................................29 AS FUNÇÕES PODEM SER PREDEFINIDAS PELA LINGUAGEM OU CRIADAS PELO PROGRAMADOR DE ACORDO COM O SEU INTERESSE..................................................................29 EXEMPLOS:...................................................................................................................................................29 BIBLIOTECAS DE FUNÇÕES.....................................................................................................................30 BIBLIOTECAS DE FUNÇÕES.....................................................................................................................30 ARMAZENAM UM CONJUNTO DE FUNÇÕES QUE PODEM SER USADAS PELOS PROGRAMAS.................................................................................................................................................30 FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................30 FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................30 ABS( )................................................................................................................................................................30 VALOR ABSOLUTO......................................................................................................................................30 SQRT( ).............................................................................................................................................................30 RAIZ QUADRADA.........................................................................................................................................30 SQR( )...............................................................................................................................................................30 ELEVA AO QUADRADO .............................................................................................................................30 TRUNC( ).........................................................................................................................................................30 VALOR TRUNCADO.....................................................................................................................................30 ROUND( ).........................................................................................................................................................30 VALOR ARREDONDADO............................................................................................................................30 LOG( )...............................................................................................................................................................30 LOGARITMO.................................................................................................................................................30 4
  5. 5. Algoritmos SIN( ).................................................................................................................................................................30 SENO................................................................................................................................................................30 COS( )...............................................................................................................................................................30 COSENO..........................................................................................................................................................30 TAN( )...............................................................................................................................................................30 TANGENTE.....................................................................................................................................................30 AS FUNÇÕES ACIMA SÃO AS MAIS COMUNS E IMPORTANTES PARA NOSSO DESENVOLVIMENTO LÓGICO, ENTRETANTO, CADA LINGUAGEM POSSUI SUAS FUNÇÕES PRÓPIAS. AS FUNÇÕES PODEM SER ARITMÉTICAS, TEMPORAIS, DE TEXTO E ETC...................................................................................................................................................................31 OPERADORES LÓGICOS............................................................................................................................31 OPERADORES LÓGICOS............................................................................................................................31 ATUAM SOBRE EXPRESSÕES RETORNANDO SEMPRE VALORES LÓGICOS COMO FALSO OU VERDADEIRO.........................................................................................................................................31 E.........................................................................................................................................................................31 RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS................................31 OU.....................................................................................................................................................................31 BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO....................31 NÃO..................................................................................................................................................................31 INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA..........................31 TABELA VERDADE......................................................................................................................................31 TABELA VERDADE......................................................................................................................................31 A........................................................................................................................................................................31 B.........................................................................................................................................................................31 A E B.................................................................................................................................................................31 A OU B..............................................................................................................................................................31 NÃO (A)............................................................................................................................................................31 V........................................................................................................................................................................31 V........................................................................................................................................................................31 V........................................................................................................................................................................31 V........................................................................................................................................................................31 5
  6. 6. Algoritmos F.........................................................................................................................................................................31 V........................................................................................................................................................................31 F.........................................................................................................................................................................31 F.........................................................................................................................................................................31 V........................................................................................................................................................................31 F.........................................................................................................................................................................31 F.........................................................................................................................................................................31 V........................................................................................................................................................................31 F.........................................................................................................................................................................31 V........................................................................................................................................................................31 V........................................................................................................................................................................31 F.........................................................................................................................................................................31 F.........................................................................................................................................................................31 F.........................................................................................................................................................................31 F.........................................................................................................................................................................31 V........................................................................................................................................................................31 EXPRESSÕES LÓGICAS..............................................................................................................................32 EXPRESSÕES LÓGICAS..............................................................................................................................32 AS EXPRESSÕES COMPOSTAS DE RELAÇÕES SEMPRE RETORNAM UM VALOR LÓGICO. ...........................................................................................................................................................................32 EXEMPLOS:...................................................................................................................................................32 2+5>4  VERDADEIRO...............................................................................................................................33 3<>3  FALSO...............................................................................................................................................33 DE ACORDO COM A NECESSIDADE, AS EXPRESSÕES PODEM SER UNIDAS PELOS OPERADORES LÓGICOS............................................................................................................................34 EXEMPLOS:...................................................................................................................................................34 2+5>4 E 3<>3  FALSO................................................................................................................................34 2+5>4 OU 3<>3  VERDADEIRO..............................................................................................................34 NÃO(3<>3) VERDADEIRO......................................................................................................................34 VARIÁVEIS.....................................................................................................................................................34 6
  7. 7. Algoritmos VARIÁVEIS.....................................................................................................................................................34 VARIÁVEIS SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR INFORMAÇÕES TEMPORARIAMENTE.................................................................................................................................34 * TODO ALGORITMO OU PROGRAMA DEVE POSSUIR VARIÁVEL!............................................34 VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................35 VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................35 VARIÁVEIS DE ENTRADA ARMAZENAM INFORMAÇÕES FORNECIDAS POR UM MEIO EXTERNO, NORMALMENTE USUÁRIOS OU DISCOS........................................................................35 VARIÁVEIS DE SAÍDA ARMAZENAM DADOS PROCESSADOS COMO RESULTADOS.............35 EXEMPLO:......................................................................................................................................................35 DE ACORDO COM A FIGURA ACIMA A E B SÃO VARIÁVEIS DE ENTRADA E C É UMA VARIÁVEL DE SAÍDA..................................................................................................................................35 CONSTANTES................................................................................................................................................37 CONSTANTES................................................................................................................................................37 CONSTANTES SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR INFORMAÇÕES FIXAS, INALTERÁVEIS DURANTE A EXECUÇÃO DO PROGRAMA...............37 EXEMPLO:......................................................................................................................................................37 PI = 3.1416........................................................................................................................................................37 IDENTIFICADORES.....................................................................................................................................37 IDENTIFICADORES.....................................................................................................................................37 SÃO OS NOMES DADOS A VARIÁVEIS, CONSTANTES E PROGRAMAS.......................................37 REGRAS PARA CONSTRUÇÃO DE IDENTIFICADORES:..................................................................37 NÃO PODEM TER NOMES DE PALAVRAS RESERVADAS (COMANDOS DA LINGUAGEM);..37 DEVEM POSSUIR COMO 1º CARACTERE UMA LETRA OU UNDERSCORE ( _ );.......................37 TER COMO DEMAIS CARACTERES LETRAS, NÚMEROS OU UNDERSCORE;...........................37 TER NO MÁXIMO 127 CARACTERES;....................................................................................................37 NÃO POSSUIR ESPAÇOS EM BRANCO;.................................................................................................37 A ESCOLHA DE LETRAS MAIÚSCULAS OU MINÚSCULAS É INDIFERENTE.............................37 EXEMPLOS:...................................................................................................................................................38 NOME...............................................................................................................................................................38 TELEFONE.....................................................................................................................................................38 7
  8. 8. Algoritmos IDADE_FILHO...............................................................................................................................................38 NOTA1..............................................................................................................................................................38 SALARIO.........................................................................................................................................................38 PI.......................................................................................................................................................................38 UMNOMEMUITOCOMPRIDOEDIFICILDELER...................................................................................38 UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER.........................................................................38 TIPOS DE DADOS..........................................................................................................................................39 TIPOS DE DADOS..........................................................................................................................................39 TODAS AS VARIÁVEIS DEVEM ASSUMIR UM DETERMINADO TIPO DE INFORMAÇÃO......39 O TIPO DE DADO PODE SER:....................................................................................................................39 PRIMITIVO  PRÉ-DEFINIDO PELA LINGUAGEM;..........................................................................39 SUB-FAIXA  É UMA PARTE DE UM TIPO JÁ EXISTENTE;...........................................................39 ESCALAR  DEFINIDOS PELO PROGRAMADOR..............................................................................39 EXEMPLOS:...................................................................................................................................................39 A : INTEIRO....................................................................................................................................................39 TIPO NOTA=[1..10] DE INTEIRO...............................................................................................................39 TIPO SEMANA = (SEGUNDA-FEIRA, TERÇA-FEIRA, QUARTA-FEIRA, QUINTA-FEIRA, SEXTA-FEIRA, SÁBADO, DOMINGO)......................................................................................................39 TIPOS PRIMITIVOS DE DADOS................................................................................................................39 TIPOS PRIMITIVOS DE DADOS................................................................................................................39 INTEIRO..........................................................................................................................................................40 ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE)...........................................................................40 REAL................................................................................................................................................................40 ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO..................................................................................................40 CARACTERE..................................................................................................................................................40 ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR.. .40 LÓGICO...........................................................................................................................................................40 ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO).................................................40 8
  9. 9. Algoritmos COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................40 COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................40 LER  COMANDO DE ENTRADA QUE PERMITE A LEITURA DE VARIÁVEIS DE ENTRADA. ...........................................................................................................................................................................40 ESCREVER  COMANDO DE SAÍDA QUE EXIBE UMA INFORMAÇÃO NA TELA DO MONITOR.......................................................................................................................................................40 IMPRIMIR  COMANDO DE SAÍDA QUE ENVIA UMA INFORMAÇÃO PARA A IMPRESSORA.................................................................................................................................................40 SINAL DE ATRIBUIÇÃO.............................................................................................................................41 SINAL DE ATRIBUIÇÃO.............................................................................................................................41 UMA VARIÁVEL NUNCA É ETERNAMENTE IGUAL A UM VALOR, SEU CONTEÚDO PODE SER ALTERADO A QUALQUER MOMENTO. PORTANTO PARA ATRIBUIR VALORES A VARIÁVEIS DEVEMOS USAR O SINAL DE “:=”...................................................................................41 EXEMPLOS:...................................................................................................................................................41 A := 2;...............................................................................................................................................................41 B := 3;................................................................................................................................................................41 C := A + B;........................................................................................................................................................41 SINAL DE IGUALDADE...............................................................................................................................41 SINAL DE IGUALDADE...............................................................................................................................41 AS CONSTANTES SÃO ETERNAMENTE IGUAIS A DETERMINADOS VALORES, PORTANTO USAMOS O SINAL DE “=”...........................................................................................................................41 EXEMPLOS:...................................................................................................................................................41 PI = 3.1416;.......................................................................................................................................................41 EMPRESA = ‘COLÉGIO DE INFORMÁTICA L.T.D.A.’........................................................................41 V = VERDADEIRO.........................................................................................................................................41 CORPO GERAL DE UM PROGRAMA......................................................................................................42 CORPO GERAL DE UM PROGRAMA......................................................................................................42 PROGRAMA <<IDENTIFICADOR>>;.......................................................................................................42 CONST.............................................................................................................................................................42 <<IDENTIFICADOR>> = <<DADO>>.......................................................................................................42 VAR...................................................................................................................................................................42 <<IDENTIFICADOR>> : <<TIPO>>;........................................................................................................42 9
  10. 10. Algoritmos ÍNICIO..............................................................................................................................................................42 { ........................................................................................................................................................................42 COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA .................................................................42 <<COMANDO1>>;.........................................................................................................................................42 <<COMANDON>>..........................................................................................................................................42 }..........................................................................................................................................................................42 FIM...................................................................................................................................................................42 ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................42 ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................42 COMO PODE SER ANALISADO NO TÓPICO ANTERIOR, TODO PROGRAMA POSSUI UMA ESTRUTURA SEQÜENCIAL DETERMINADA POR UM ÍNICIO E FIM...........................................42 ..........................................................................................................................................................................42 ; PONTO E VÍRGULA ;.................................................................................................................................43 ; PONTO E VÍRGULA ;.................................................................................................................................43 O SINAL DE PONTO E VÍRGULA “;” INDICA A EXISTÊNCIA DE UM PRÓXIMO COMANDO (PASSA PARA O PRÓXIMO).......................................................................................................................43 NA ESTRUTURA ÍNICIO E NO COMANDO QUE ANTECEDE A ESTRUTURA FIM NÃO SE USA “;”......................................................................................................................................................................43 PRIMEIRO ALGORITMO............................................................................................................................43 PRIMEIRO ALGORITMO............................................................................................................................43 SEGUE UM ALGORITMO QUE LÊ O NOME E AS 4 NOTAS BIMESTRAIS DE UM ALUNO. EM SEGUIDA O ALGORITMO CALCULA E ESCREVE A MÉDIA OBTIDA..........................................43 PROGRAMA MEDIA_FINAL;.....................................................................................................................43 VAR...................................................................................................................................................................43 NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;..........................................................................43 NOME : CARACTERE [35]..........................................................................................................................43 INICIO..............................................................................................................................................................43 LER (NOME);.................................................................................................................................................43 LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................43 MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................43 ESCREVER (NOME, MEDIA).....................................................................................................................43 10
  11. 11. Algoritmos FIM...................................................................................................................................................................43 SEGUNDO ALGORITMO.............................................................................................................................44 SEGUNDO ALGORITMO.............................................................................................................................44 SEGUE UM ALGORITMO QUE LÊ O RAIO DE UMA CIRCUNFERÊNCIA E CALCULA SUA ÁREA................................................................................................................................................................44 PROGRAMA AREA_CIRCUNFERENCIA;...............................................................................................44 CONST PI = 3.1416;........................................................................................................................................44 VAR RAIO, AREA : REAL;..........................................................................................................................44 INICIO..............................................................................................................................................................44 LER (RAIO); {PROCESSAMENTO}..........................................................................................................44 AREA := PI * SQR(RAIO); {ENTRADA} ..................................................................................................44 ESCREVER (‘AREA =’, AREA) {SAÍDA}..................................................................................................44 FIM...................................................................................................................................................................44 {LINHAS DE COMENTÁRIO}.....................................................................................................................44 {LINHAS DE COMENTÁRIO}.....................................................................................................................44 PODEMOS INSERIR EM UM ALGORITMO COMENTÁRIOS PARA AUMENTAR A COMPREENSÃO DO MESMO, PARA ISSO BASTA QUE O TEXTO FIQUE ENTRE CHAVES “{}”....................................................................................................................................................................44 EXEMPLO:......................................................................................................................................................44 LER (RAIO); {ENTRADA}............................................................................................................................44 ‘ASPAS SIMPLES’.........................................................................................................................................45 ‘ASPAS SIMPLES’.........................................................................................................................................45 QUANDO QUEREMOS EXIBIR UMA MENSAGEM PARA A TELA OU IMPRESSORA ELA DEVE ESTAR CONTIDA ENTRE ASPAS SIMPLES, CASO CONTRÁRIO, O COMPUTADOR IRÁ IDENTIFICAR A MENSAGEM COMO VARIÁVEL INDEFINIDA......................................................45 EXEMPLO:......................................................................................................................................................45 ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA}....................................................45 AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}...............................................................45 ESTRUTURAS DE DECISÃO.......................................................................................................................45 ESTRUTURAS DE DECISÃO.......................................................................................................................45 EXECUTA UMA SEQÜÊNCIA DE COMANDOS DE ACORDO COM O RESULTADO DE UM TESTE..............................................................................................................................................................45 11
  12. 12. Algoritmos A ESTRUTURA DE DECISÃO PODE SER SIMPLES OU COMPOSTA, BASEADA EM UM RESULTADO LÓGICO.................................................................................................................................45 SIMPLES:........................................................................................................................................................46 SE <<CONDIÇÃO>>......................................................................................................................................46 ENTÃO <<COMANDO1>>..........................................................................................................................46 COMPOSTA 1:................................................................................................................................................46 SE <<CONDIÇÃO>>......................................................................................................................................46 ENTÃO <<COMANDO1>>..........................................................................................................................46 SENÃO <<COMANDO1>>...........................................................................................................................46 COMPOSTA 2:................................................................................................................................................47 SE <<CONDIÇÃO>>......................................................................................................................................47 ENTÃO INICIO.............................................................................................................................................47 <<COMANDO1>>;.........................................................................................................................................47 <<COMANDON>>..........................................................................................................................................47 FIM;...............................................................................................................................................................47 SENÃO INICIO..............................................................................................................................................47 <<COMANDO1>>; <<COMANDON>>.......................................................................................................47 FIM;...............................................................................................................................................................47 ALGORITMO TRÊS......................................................................................................................................47 ALGORITMO TRÊS......................................................................................................................................47 SEGUE UM ALGORITMO QUE LÊ 2 NÚMEROS E ESCREVE O MAIOR........................................47 PROGRAMA ACHA_MAIOR;.....................................................................................................................47 VAR A, B : INTEIRO;....................................................................................................................................47 INICIO..............................................................................................................................................................47 LER (A, B);.....................................................................................................................................................47 SE A>B.............................................................................................................................................................47 ENTÃO ESCREVER (A)..............................................................................................................................47 SENÃO ESCREVER (B)..............................................................................................................................47 FIM...................................................................................................................................................................48 ALGORITMO QUATRO...............................................................................................................................48 12
  13. 13. Algoritmos ALGORITMO QUATRO...............................................................................................................................48 SEGUE UM ALGORITMO QUE LÊ O NOME E AS 4 NOTAS BIMESTRAIS DE UM ALUNO. EM SEGUIDA O ALGORITMO CALCULA E ESCREVE A MÉDIA OBTIDA PELO ALUNO ESCREVENDO TAMBÉM SE O ALUNO FOI APROVADO OU REPROVADO.................................48 MÉDIA PARA APROVAÇÃO = 6................................................................................................................48 PROGRAMA MEDIA_FINAL;.....................................................................................................................48 VAR...................................................................................................................................................................48 NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;................................................................................48 NOME : CARACTERE [35]..........................................................................................................................48 INICIO..............................................................................................................................................................48 LER (NOME);.................................................................................................................................................48 LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................48 MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................48 SE MEDIA>=6................................................................................................................................................48 ENTÃO ESCREVER (‘APROVADO’).........................................................................................................48 SENÃO ESCREVER (‘REPROVADO’).......................................................................................................48 ESCREVER (NOME, MEDIA)......................................................................................................................48 FIM...................................................................................................................................................................48 NINHOS DE SE...............................................................................................................................................49 NINHOS DE SE...............................................................................................................................................49 USADOS PARA TOMADAS DE DECISÕES PARA MAIS DE 2 OPÇÕES...........................................49 FORMA GERAL:............................................................................................................................................49 SE <<CONDIÇÃO>>......................................................................................................................................49 ENTÃO <<COMANDO1>>..........................................................................................................................49 SENÃO SE <<CONDIÇÃO>>......................................................................................................................49 ENTÃO <<COMANDO1>>........................................................................................................................49 SENÃO <<COMANDO1>>.........................................................................................................................49 ALGORITMO CINCO...................................................................................................................................49 ALGORITMO CINCO...................................................................................................................................49 SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................49 13
  14. 14. Algoritmos PROGRAMA ACHA_MAIOR;.....................................................................................................................49 VAR A, B, C : INTEIRO;...............................................................................................................................49 INICIO..............................................................................................................................................................49 LER (A, B, C);.................................................................................................................................................49 SE (A>B) E (A>C)..........................................................................................................................................49 ENTÃO ESCREVER (A)..............................................................................................................................49 SENÃO SE (B>A) E (B>C)...........................................................................................................................49 ENTÃO ESCREVER (B)................................................................................................................................50 SENÃO ESCREVER (C)................................................................................................................................50 FIM...................................................................................................................................................................50 ESTRUTURAS DE CONDIÇÃO...................................................................................................................50 ESTRUTURAS DE CONDIÇÃO...................................................................................................................50 A ESTRUTURA DE CONDIÇÃO EQÜIVALE A UM NINHO DE SE’S................................................50 FORMA GERAL:............................................................................................................................................50 FACA CASO....................................................................................................................................................50 CASO <<CONDIÇÃO1>>.............................................................................................................................50 <<COMANDO1>>;.......................................................................................................................................50 CASO <<CONDIÇÃON>>............................................................................................................................50 <<COMANDO1>>;.......................................................................................................................................50 OUTROS CASOS...........................................................................................................................................50 <<COMANDO1>>;.......................................................................................................................................50 FIM DE CASO.................................................................................................................................................50 ALGORITMO SEIS........................................................................................................................................50 ALGORITMO SEIS........................................................................................................................................50 SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................50 PROGRAMA ACHA_MAIOR;.....................................................................................................................50 VAR A, B, C : INTEIRO;...............................................................................................................................51 INICIO..............................................................................................................................................................51 LER (A, B, C);.................................................................................................................................................51 14
  15. 15. Algoritmos FACA CASO...................................................................................................................................................51 CASO (A>B) E (A>C).....................................................................................................................................51 ESCREVER (A);...........................................................................................................................................51 CASO (B>A) E (B>C)...................................................................................................................................51 ESCREVER (B);..............................................................................................................................................51 OUTROS CASOS............................................................................................................................................51 ESCREVER (C);..............................................................................................................................................51 FIM DE CASO................................................................................................................................................51 FIM...................................................................................................................................................................51 ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................51 ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................51 QUANDO UMA SEQÜÊNCIA DE COMANDOS DEVE SER EXECUTADA REPETIDAS VEZES, TEM-SE UMA ESTRUTURA DE REPETIÇÃO........................................................................................51 A ESTRUTURA DE REPETIÇÃO, ASSIM COMO A DE DECISÃO, ENVOLVE SEMPRE A AVALIAÇÃO DE UMA CONDIÇÃO..........................................................................................................51 NA REPETIÇÃO DETERMINADA O ALGORITMO APRESENTA PREVIAMENTE A QUANTIDADE DE REPETIÇÕES...............................................................................................................51 FORMA GERAL 1:.........................................................................................................................................51 PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA................................................................................................................................................................52 <<COMANDO1>>;........................................................................................................................................52 FORMA GERAL 2:.........................................................................................................................................52 PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA................................................................................................................................................................52 ÍNICIO.............................................................................................................................................................52 <<COMANDO1>>;.........................................................................................................................................52 <<COMANDON>>..........................................................................................................................................52 FIM;.................................................................................................................................................................52 A REPETIÇÃO POR PADRÃO DETERMINA O PASSO DO VALOR INICIAL ATÉ O VALOR FINAL COMO SENDO 1. DETERMINADAS LINGUAGENS POSSUEM PASSO –1 OU PERMITEM QUE O PROGRAMADOR DEFINA O PASSO...................................................................52 ALGORITMO SETE......................................................................................................................................52 ALGORITMO SETE......................................................................................................................................52 15
  16. 16. Algoritmos SEGUE UM ALGORITMO QUE ESCREVE 10 VEZES A FRASE “VASCO DA GAMA”.................52 PROGRAMA REPETICAO;.........................................................................................................................53 VAR I:INTEIRO.............................................................................................................................................53 INICIO..............................................................................................................................................................53 PARA I :=1 ATE 10 FACA............................................................................................................................53 ESCREVER (‘VASCO DA GAMA’)...........................................................................................................53 FIM...................................................................................................................................................................53 ALGORITMO OITO......................................................................................................................................53 ALGORITMO OITO......................................................................................................................................53 SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................53 PROGRAMA PARES;....................................................................................................................................53 VAR I,PAR: INTEGER;.................................................................................................................................53 INICIO..............................................................................................................................................................53 PAR:=0;...........................................................................................................................................................53 PARA I:=1 ATE 100 FACA............................................................................................................................53 INICIO............................................................................................................................................................53 ESCREVER (PAR);.....................................................................................................................................53 PAR := PAR+2..............................................................................................................................................53 FIM.................................................................................................................................................................53 FIM..................................................................................................................................................................53 ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................54 ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................54 É USADA PARA REPETIR N VEZES UMA OU MAIS INSTRUÇÕES. TENDO COMO VANTAGEM O FATO DE NÃO SER NECESSÁRIO O CONHECIMENTO PRÉVIO DO NÚMERO DE REPETIÇÕES...........................................................................................................................................54 FORMA GERAL 1:.........................................................................................................................................54 ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................54 <<COMANDO1>>;........................................................................................................................................54 FORMA GERAL 2:.........................................................................................................................................54 ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................54 16
  17. 17. Algoritmos ÍNICIO.............................................................................................................................................................54 <<COMANDO1>>;.......................................................................................................................................54 <<COMANDON>>........................................................................................................................................54 FIM;.................................................................................................................................................................54 ALGORITMO NOVE.....................................................................................................................................54 ALGORITMO NOVE.....................................................................................................................................54 SEGUE UM ALGORITMO QUE CALCULE A SOMA DOS SALÁRIOS DOS FUNCIONÁRIOS DE UMA EMPRESA. O PROGRAMA TERMINA QUANDO O USUÁRIO DIGITAR UM SALÁRIO MENOR QUE 0...............................................................................................................................................54 PROGRAMA SOMA_SALARIOS;..............................................................................................................54 VAR SOMA, SALARIO : REAL;..................................................................................................................55 INICIO..............................................................................................................................................................55 SOMA:=O;......................................................................................................................................................55 SALARIO:=1;.................................................................................................................................................55 ENQUANTO SALARIO>=0.........................................................................................................................55 INICIO............................................................................................................................................................55 LER (SALARIO);.........................................................................................................................................55 SOMA:=SOMA+SALARIO........................................................................................................................55 FIM;................................................................................................................................................................55 ESCREVER (SOMA).....................................................................................................................................55 FIM...................................................................................................................................................................55 ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................55 ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................55 ASSIM COMO A ESTRUTURA ENQUANTO É USADA PARA REPETIR N VEZES UMA OU MAIS INSTRUÇÕES. ....................................................................................................................................55 SUA VALIDAÇÃO É FINAL FAZENDO COM QUE A REPETIÇÃO SEJA EXECUTADA PELO MENOS UMA VEZ.........................................................................................................................................55 FORMA GERAL;............................................................................................................................................56 REPITA............................................................................................................................................................56 <<COMANDO1>>;........................................................................................................................................56 <<COMANDON>>.........................................................................................................................................56 17
  18. 18. Algoritmos ATE <<CONDIÇÃO>>...................................................................................................................................56 ALGORITMO DEZ........................................................................................................................................56 ALGORITMO DEZ........................................................................................................................................56 SEGUE UM ALGORITMO QUE CALCULE A SOMA DOS SALÁRIOS DOS FUNCIONÁRIOS DE UMA EMPRESA. O PROGRAMA TERMINA QUANDO O USUÁRIO DIGITAR UM SALÁRIO MENOR QUE 0...............................................................................................................................................56 PROGRAMA SOMA_SALARIOS;..............................................................................................................56 VAR...................................................................................................................................................................56 SOMA, SALARIO : REAL;...........................................................................................................................56 INICIO..............................................................................................................................................................56 SOMA:=O;......................................................................................................................................................56 REPITA...........................................................................................................................................................56 LER (SALARIO);..........................................................................................................................................56 SOMA:=SOMA+SALARIO.........................................................................................................................56 ATE SALARIO<0;.........................................................................................................................................56 ESCREVER (SOMA).....................................................................................................................................57 FIM...................................................................................................................................................................57 ALGORITMO ONZE.....................................................................................................................................57 ALGORITMO ONZE.....................................................................................................................................57 SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................57 PROGRAMA PARES_2;................................................................................................................................57 VAR I, PAR, CONTADOR : INTEIRO;......................................................................................................57 INICIO..............................................................................................................................................................57 CONTADOR := 0;..........................................................................................................................................57 PAR := 0;..........................................................................................................................................................57 REPITA............................................................................................................................................................57 ESCREVER (PAR);......................................................................................................................................57 PAR := PAR+2;..............................................................................................................................................57 CONTADOR := CONTADOR+1;...............................................................................................................57 ATE CONTADOR=100.................................................................................................................................57 18
  19. 19. Algoritmos FIM...................................................................................................................................................................57 PROGRAMAS EQUIVALENTES................................................................................................................58 PROGRAMAS EQUIVALENTES................................................................................................................58 O ALGORITMO ONZE PODERIA TER SIDO CRIADO COM QUALQUER ESTRUTURA DE REPETIÇÃO. PORTANTO PODEMOS TER ALGORITMOS QUE SÃO ESCRITOS DE MANEIRAS DIFERENTES, MAS, FUNCIONAM REALIZANDO O MESMO OBJETIVO..............58 EXERCÍCIOS..................................................................................................................................................59 EXERCÍCIOS..................................................................................................................................................59 1)O QUE É UM ALGORITMO?...................................................................................................................59 2)O QUE É UM PROGRAMA?.....................................................................................................................59 3)CRIE UM ALGORITMO NÃO COMPUTACIONAL, QUE TROQUE UM PNEU DE CARRO.....59 4)O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO?........................................................................59 5)LINEARIZE AS EXPRESSÕES ABAIXO:..............................................................................................59 19
  20. 20. Algoritmos INTRODUÇÃO O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de problemas e consequentemente automatização de tarefas. O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, estruturadas ou não. 20
  21. 21. Algoritmos ALGORITMO Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. Conceitos Procedimento - é uma receita ou roteiro para executar alguma tarefa. Constitui- se de etapas, passos, comandos ou instruções que são executadas seqüencialmente. Algoritmo - é um procedimento que é executado em um tempo finito. É um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito. Características dos algoritmos - Execução de algoritmos De cima para baixo, seqüencialmente, a menos que esta ordem seja explicitamente alterada. - Entradas Aos valores recebidos por um algoritmo dá-se o nome de entradas. No exemplo 1, o passo 1 constitui uma entrada. - Saídas Todo algoritmo possui pelo menos um resultado. Os resultados fornecidos por um algoritmo recebem o nome de saídas. - Definição dos passos E importante que num algoritmo cada passo esteja precisamente definido não deixando nenhuma margem a ambigüidades. - Efetividade Todas as operações especificadas no algoritmo devem ser suficientemente básicas para que possam ser, pelo menos em princípio, executadas de maneira exata e num tempo finito. Formas de representação de algoritmos 21
  22. 22. Algoritmos Os algoritmos podem ser escritos em linguagem comum, em linguagem gráfica (fluxogramas ou diagramas de blocos) ou ainda em linguagem de programação como BASIC, FORTRAN, COBOL, etc.. CLASSIFICAÇÃO E APRESENTAÇÃO DE ALGORITMOS NUMÉRICOS Os algoritmos podem ser classificados em: - não numéricos - numéricos Ou ainda podem ser classificados em: - puramente seqüenciais - com seleção - com repetição Algoritmos puramente seqüenciais Todo o algoritmo puramente seqüencial tem exatamente a seguinte estrutura: - Ler valores - Efetuar cálculos - Escrever resultados - Parar 22
  23. 23. Algoritmos ler A, B, C MEDIA = A + B + C / 3 escrever MEDIA parar Algoritmos com seleção e/ou decisão ESTRUTURAS DE DECISÃO Executa uma seqüência de comandos de acordo com o resultado de um teste. A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico. Simples: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> Composta 1: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO <<COMANDO1>> Composta 2: SE <<CONDIÇÃO>> ENTÃO INICIO <<COMANDO1>>; <<COMANDON>> FIM; SENÃO INICIO <<COMANDO1>>; <<COMANDON>> FIM; PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA ÍNICIO <<COMANDO1>>; <<COMANDON>> FIM; 23
  24. 24. Algoritmos ALGORITMO NÃO COMPUTACIONAL Abaixo é apresentado um Algoritmo não computacional cujo objetivo é usar um telefone público. Início 1. Tirar o fone do gancho; 2. Ouvir o sinal de linha; 3. Introduzir o cartão; 4. Teclar o número desejado; 5. Se der o sinal de chamar 5.1 Conversar; 5.2 Desligar; 5.3 Retirar o cartão; 6. Senão 6.1 Repetir; Fim. PROGRAMA Um programa é um Algoritmo escrito em uma linguagem computacional. 24 SEQUÊNCIAL DESVIO
  25. 25. Algoritmos LINGUAGENS DE PROGRAMAÇÃO São Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais. Existem várias linguagens de programação, cada uma com suas características próprias. Exemplos: • Pascal • Clipper • C • Visual Basic • Delphi e etc. 25
  26. 26. Algoritmos TÉCNICAS ATUAIS DE PROGRAMAÇÃO • Programação Seqüencial • Programação Estruturada • Programação Orientada a Eventos e Objetos ALGORITMOS EM “PORTUGOL” Durante nosso curso iremos aprender a desenvolver nossos Algoritmos em uma pseudo-linguagem conhecida como “Portugol” ou Português Estruturado. “Portugol” é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação estruturada usada no final da década de 50. OPERADORES ARITMÉTICOS +  Adição -  Subtração *  Multiplicação /  Divisão 26
  27. 27. Algoritmos OPERADORES RELACIONAIS >  Maior que <  Menor que >=  Maior ou Igual <=  Menor ou Igual =  Igual <>  Diferente LINEARIZAÇÃO DE EXPRESSÕES Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas. É importante também ressalvar o uso dos operadores correspondentes da aritmética tradicional para a computacional. Exemplo: 27 ( ) =+      −+ 135 3 2 (2/3+(5-3))+1= Tradicional Computacional
  28. 28. Algoritmos MODULARIZAÇÃO DE EXPRESSÕES A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma. Como pode ser observado no exemplo anterior, em expressões computacionais usamos somente parênteses “( )” para modularização. Na informática podemos ter parênteses dentro de parênteses. Exemplos de prioridades: (2+2)/2=2 2+2/2=3 OPERADORES ESPECIAIS (MOD e DIV) MOD  Retorna o resto da divisão entre 2 números inteiros. DIV  Retorna o valor inteiro que resulta da divisão entre 2 números inteiros. 28
  29. 29. Algoritmos Exemplo: FUNÇÕES Uma função é um instrumento (Sub–algoritmo) que tem como objetivo retornar um valor ou uma informação. A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seu argumento inicial entre parênteses. As funções podem ser predefinidas pela linguagem ou criadas pelo programador de acordo com o seu interesse. Exemplos: 29 13 2 61 MOD DIV 13 DIV 2 = 6 13 MOD 2 = 1 Valor Inicial X Processamento X=9 x
  30. 30. Algoritmos BIBLIOTECAS DE FUNÇÕES Armazenam um conjunto de funções que podem ser usadas pelos programas. FUNÇÕES PRÉ-DEFINIDAS ABS( ) VALOR ABSOLUTO SQRT( ) RAIZ QUADRADA SQR( ) ELEVA AO QUADRADO TRUNC( ) VALOR TRUNCADO ROUND( ) VALOR ARREDONDADO LOG( ) LOGARITMO SIN( ) SENO COS( ) COSENO TAN( ) TANGENTE 30 Valor Final Y Y=3
  31. 31. Algoritmos As funções acima são as mais comuns e importantes para nosso desenvolvimento lógico, entretanto, cada linguagem possui suas funções própias. As funções podem ser aritméticas, temporais, de texto e etc. OPERADORES LÓGICOS Atuam sobre expressões retornando sempre valores lógicos como Falso ou Verdadeiro. E RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS. OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO. NÃO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA. TABELA VERDADE A B A E B A OU B NÃO (A) V V V V F V F F V F F V F V V F F F F V 31
  32. 32. Algoritmos EXPRESSÕES LÓGICAS As expressões compostas de relações sempre retornam um valor lógico. Exemplos: 32
  33. 33. Algoritmos 2+5>4  Verdadeiro 3<>3  Falso 33
  34. 34. Algoritmos De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos. Exemplos: 2+5>4 E 3<>3  Falso 2+5>4 OU 3<>3  Verdadeiro NÃO(3<>3) Verdadeiro VARIÁVEIS Variáveis são endereços de memória destinados a armazenar informações temporariamente. * Todo Algoritmo ou programa deve possuir variável! 34 V F F E V V V NÃO
  35. 35. Algoritmos VARIÁVEIS DE ENTRADA E SAÍDA Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos. Variáveis de Saída armazenam dados processados como resultados. Exemplo: De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída. Variável Contador Uma contagem em um algoritmo é feita por uma variável chamada Contador. Uma variável contador é uma variável que recebe um valor inicial (geralmente zero) e é incrementada em algum outro passo do algoritmo, de um valor constante. Exemplo: 1. CONT = 0 2. -------- 3. -------- 4. CONT = CONT + 1 No passo 1 inicializou-se a variável CONT. No passo 4, a variável CONT recebeu um incremento (1, no caso) de forma que ela passa a armazenar a soma do valor anterior (0) com o incremento (1). Assim, toda a vez que este passo (4) for executado, a variável CONT armazenará um valor igual a soma do valor anterior com o incremento. Utilizando a variável contador o algoritmo para calcular a média de cada um dos 30 alunos toma a seguinte forma: Este é um exemplo de algoritmo com repetição porque tem alguns de seus passos com execução repetida (passos 2 até 6). Variável Acumulador 35 A B C=A+B 752
  36. 36. Algoritmos Suponha-se o seguinte problema: Calcular a média geral de uma prova de vestibular a qual compareceram 2640 alunos. Neste caso aparece a necessidade de se acumular (somar) as notas dos 2640 alunos, para depois dividir esta soma pelo número de alunos que compareceram a prova. Uma variável acumulador é uma variável que recebe um valor inicial (geralmente 0) e é incrementada em algum outro passo do algoritmo, de um valor variável. Exemplo: 1. ACUM = 0 2. -------- 3. -------- 4. ACUM = ACUM + VAR No passo 1 inicializou-se a variável ACUM. No passo 4, somou-se ao valor que estava na variável ACUM o valor que estava na variável VAR, e o resultado guardou-se (arnazenou-se) na variável ACUM, que assim passa a ter um novo valor. Utilizando-se a váriável acumulador, o algoritmo para cálculo da média da prova de vestibular toma a seguinte forma: 36
  37. 37. Algoritmos CONSTANTES Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa. Exemplo: PI = 3.1416 IDENTIFICADORES São os nomes dados a variáveis, constantes e programas. Regras Para construção de Identificadores: • Não podem ter nomes de palavras reservadas (comandos da linguagem); • Devem possuir como 1º caractere uma letra ou Underscore ( _ ); • Ter como demais caracteres letras, números ou Underscore; • Ter no máximo 127 caracteres; • Não possuir espaços em branco; • A escolha de letras maiúsculas ou minúsculas é indiferente. 37
  38. 38. Algoritmos Exemplos: NOME TELEFONE IDADE_FILHO NOTA1 SALARIO PI UMNOMEMUITOCOMPRIDOEDIFICILDELER UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER 38
  39. 39. Algoritmos TIPOS DE DADOS Todas as Variáveis devem assumir um determinado tipo de informação. O tipo de dado pode ser: • Primitivo  Pré-definido pela linguagem; • Sub-Faixa  É uma parte de um tipo já existente; • Escalar  Definidos pelo programador. Exemplos: A : INTEIRO TIPO NOTA=[1..10] DE INTEIRO TIPO SEMANA = (Segunda-feira, Terça-feira, Quarta-feira, Quinta-feira, Sexta-feira, Sábado, Domingo) TIPOS PRIMITIVOS DE DADOS 39 PRIMITIVO SUB - FAIXA ESCALAR
  40. 40. Algoritmos INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE). REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO. CARACTERE ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR. LÓGICO ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO). COMANDOS DE I/O (INPUT/OUTPUT) LER  Comando de entrada que permite a leitura de Variáveis de Entrada. ESCREVER  Comando de saída que exibe uma informação na tela do monitor. IMPRIMIR  Comando de saída que envia uma informação para a impressora. 40
  41. 41. Algoritmos SINAL DE ATRIBUIÇÃO Uma Variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto para atribuir valores a variáveis devemos usar o sinal de “:=”. Exemplos: A := 2; B := 3; C := A + B; SINAL DE IGUALDADE As constantes são eternamente iguais a determinados valores, portanto usamos o sinal de “=”. Exemplos: PI = 3.1416; Empresa = ‘Colégio de Informática L.T.D.A.’ V = Verdadeiro 41
  42. 42. Algoritmos CORPO GERAL DE UM PROGRAMA PROGRAMA <<identificador>>; CONST <<identificador>> = <<dado>> VAR <<identificador>> : <<tipo>>; ÍNICIO { COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA <<comando1>>; <<comandoN>> } FIM. ESTRUTURAS SEQÜÊNCIAIS Como pode ser analisado no tópico anterior, todo programa possui uma estrutura seqüencial determinada por um ÍNICIO e FIM. 42
  43. 43. Algoritmos ; PONTO E VÍRGULA ; O sinal de ponto e vírgula “;” indica a existência de um próximo comando (passa para o próximo). Na estrutura ÍNICIO e no comando que antecede a estrutura FIM não se usa “;”. PRIMEIRO ALGORITMO Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida. PROGRAMA MEDIA_FINAL; VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO; NOME : CARACTERE [35] INICIO LER (NOME); LER (NOTA1, NOTA2, NOTA3, NOTA4); MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; ESCREVER (NOME, MEDIA) FIM. 43
  44. 44. Algoritmos SEGUNDO ALGORITMO Segue um Algoritmo que lê o raio de uma circunferência e calcula sua área. PROGRAMA AREA_CIRCUNFERENCIA; CONST PI = 3.1416; VAR RAIO, AREA : REAL; INICIO LER (RAIO); {PROCESSAMENTO} AREA := PI * SQR(RAIO); {ENTRADA} ESCREVER (‘AREA =’, AREA) {SAÍDA} FIM. {LINHAS DE COMENTÁRIO} Podemos inserir em um Algoritmo comentários para aumentar a compreensão do mesmo, para isso basta que o texto fique entre Chaves “{}”. Exemplo: LER (RAIO); {ENTRADA} 44
  45. 45. Algoritmos ‘ASPAS SIMPLES’ Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida entre aspas simples, caso contrário, o computador irá identificar a mensagem como Variável Indefinida. Exemplo: ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA} AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA} ESTRUTURAS DE DECISÃO Executa uma seqüência de comandos de acordo com o resultado de um teste. A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico. 45
  46. 46. Algoritmos Simples: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> Composta 1: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO <<COMANDO1>> 46
  47. 47. Algoritmos Composta 2: SE <<CONDIÇÃO>> ENTÃO INICIO <<COMANDO1>>; <<COMANDON>> FIM; SENÃO INICIO <<COMANDO1>>; <<COMANDON>> FIM; ALGORITMO TRÊS Segue um Algoritmo que lê 2 números e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B : INTEIRO; INICIO LER (A, B); SE A>B ENTÃO ESCREVER (A) SENÃO ESCREVER (B) 47
  48. 48. Algoritmos FIM. ALGORITMO QUATRO Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida pelo aluno escrevendo também se o aluno foi aprovado ou reprovado. Média para aprovação = 6 PROGRAMA MEDIA_FINAL; VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL; NOME : CARACTERE [35] INICIO LER (NOME); LER (NOTA1, NOTA2, NOTA3, NOTA4); MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; SE MEDIA>=6 ENTÃO ESCREVER (‘APROVADO’) SENÃO ESCREVER (‘REPROVADO’) ESCREVER (NOME, MEDIA) FIM. 48
  49. 49. Algoritmos NINHOS DE SE Usados para tomadas de decisões para mais de 2 opções. Forma Geral: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO <<COMANDO1>> ALGORITMO CINCO Segue um Algoritmo que lê 3 números e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B, C : INTEIRO; INICIO LER (A, B, C); SE (A>B) E (A>C) ENTÃO ESCREVER (A) SENÃO SE (B>A) E (B>C) 49
  50. 50. Algoritmos ENTÃO ESCREVER (B) SENÃO ESCREVER (C) FIM. ESTRUTURAS DE CONDIÇÃO A estrutura de condição eqüivale a um ninho de SE’S. Forma Geral: FACA CASO CASO <<CONDIÇÃO1>> <<COMANDO1>>; CASO <<CONDIÇÃON>> <<COMANDO1>>; OUTROS CASOS <<COMANDO1>>; FIM DE CASO ALGORITMO SEIS Segue um Algoritmo que lê 3 números e escreve o maior. PROGRAMA ACHA_MAIOR; 50
  51. 51. Algoritmos VAR A, B, C : INTEIRO; INICIO LER (A, B, C); FACA CASO CASO (A>B) E (A>C) ESCREVER (A); CASO (B>A) E (B>C) ESCREVER (B); OUTROS CASOS ESCREVER (C); FIM DE CASO FIM. ESTRUTURA DE REPETIÇÃO DETERMINADA Quando uma seqüência de comandos deve ser executada repetidas vezes, tem-se uma estrutura de repetição. A estrutura de repetição, assim como a de decisão, envolve sempre a avaliação de uma condição. Na repetição determinada o algoritmo apresenta previamente a quantidade de repetições. Forma Geral 1: 51
  52. 52. Algoritmos PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA <<COMANDO1>>; Forma Geral 2: PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA ÍNICIO <<COMANDO1>>; <<COMANDON>> FIM; A repetição por padrão determina o passo do valor inicial até o valor final como sendo 1. Determinadas linguagens possuem passo –1 ou permitem que o programador defina o passo. ALGORITMO SETE Segue um algoritmo que escreve 10 vezes a frase “VASCO DA GAMA” 52
  53. 53. Algoritmos PROGRAMA REPETICAO; VAR I:INTEIRO INICIO PARA I :=1 ATE 10 FACA ESCREVER (‘VASCO DA GAMA’) FIM. ALGORITMO OITO Segue um algoritmo que escreve os 100 primeiros números pares. PROGRAMA PARES; VAR I,PAR: INTEGER; INICIO PAR:=0; PARA I:=1 ATE 100 FACA INICIO ESCREVER (PAR); PAR := PAR+2 FIM FIM. 53 VARIÁVEL IMPLEMENTADA DE 1 EM 1
  54. 54. Algoritmos ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL É usada para repetir N vezes uma ou mais instruções. Tendo como vantagem o fato de não ser necessário o conhecimento prévio do número de repetições. Forma Geral 1: ENQUANTO <<CONDIÇÃO>> FACA <<COMANDO1>>; Forma Geral 2: ENQUANTO <<CONDIÇÃO>> FACA ÍNICIO <<COMANDO1>>; <<COMANDON>> FIM; ALGORITMO NOVE Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0. PROGRAMA SOMA_SALARIOS; 54 VALIDAÇÃO INICIAL
  55. 55. Algoritmos VAR SOMA, SALARIO : REAL; INICIO SOMA:=O; SALARIO:=1; ENQUANTO SALARIO>=0 INICIO LER (SALARIO); SOMA:=SOMA+SALARIO FIM; ESCREVER (SOMA) FIM. ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL Assim como a estrutura ENQUANTO É usada para repetir N vezes uma ou mais instruções. Sua validação é final fazendo com que a repetição seja executada pelo menos uma vez. 55 TODAS AS VARIÁVEIS QUE ACUMULAM VALORES DEVEM RECEBER UM VALOR INICIAL.
  56. 56. Algoritmos Forma Geral; REPITA <<COMANDO1>>; <<COMANDON>> ATE <<CONDIÇÃO>> ALGORITMO DEZ Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0. PROGRAMA SOMA_SALARIOS; VAR SOMA, SALARIO : REAL; INICIO SOMA:=O; REPITA LER (SALARIO); SOMA:=SOMA+SALARIO ATE SALARIO<0; 56
  57. 57. Algoritmos ESCREVER (SOMA) FIM. ALGORITMO ONZE Segue um algoritmo que escreve os 100 primeiros números pares. PROGRAMA PARES_2; VAR I, PAR, CONTADOR : INTEIRO; INICIO CONTADOR := 0; PAR := 0; REPITA ESCREVER (PAR); PAR := PAR+2; CONTADOR := CONTADOR+1; ATE CONTADOR=100 FIM. 57
  58. 58. Algoritmos Programas Equivalentes O algoritmo onze poderia ter sido criado com qualquer estrutura de repetição. Portanto podemos ter algoritmos que são escritos de maneiras diferentes, mas, funcionam realizando o mesmo objetivo. 58

×