SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Programação e Sistemas de Informação
Módulo 1
Escola Secundária Filipa de Vilhena
2012/2013
Algoritmia
Mas, o que é um algoritmo?
Mas, o que é um algoritmo?
Pode-se ver a definição de algoritmo segundo 2 vertentes, a:
• Matemática
– Descreve o processo de cálculo, ou de resolução de um grupo de
problemas semelhantes, em que se estipulam, com generalidade e
sem restrições, regras formais para a obtenção do resultado, ou da
solução do problema.
• Computacional
– Descreve o conjunto predeterminado e bem definido de regras e
processos destinados à solução de um problema, com um número
finito de etapas.
Programação  Algoritmia (dois conceitos interligados)
Mas, o que é um algoritmo?
Pode-se considerar, de forma algo abusiva, um algoritmo com uma
receita de culinária. Porquê???
• Uma receita consiste num conjunto ( sequência de passos /
instruções / regras, que devem ser seguidas. Caso contrário, a
receita pode não dar o resultado desejado.
Segundo a receita…
Senão…
Mas, o que é um algoritmo?
Com um algoritmo pode-se
• Repetir passos, aquilo a que em programação se chama de iterações.
• Ou até tomar decisões com base em comparações ou lógica.
Mas um algoritmo não é, nem representa um programa de computador…
…representa sim os passos necessários para a realização de uma tarefa.
Introdução à Lógica de Programação
ENTRADA DE DADOS
SAÍDA DE
INFORMAÇÃOPROCESSAMENTO
UTILIZADOR
Aplicações Informáticas
O que preciso???
Como chegar ao que quero???
O que quero???
• Narrativa descritiva
Listagem ordenada de instruções em forma de frases curtas e directas, em
linguagem natural / humana (neste caso, português).
Representação de Algoritmos
Vantagens: Desvantagens:
 Português é linguagem conhecida e
corrente, fácil de ler e entender por
todos.
 Imprecisão (termos ambíguos) 
Implica pouca confiabilidade
(desconfiança)
 Extensão (tendência de se escrever
muito para dizer pouco)
• Pseudocódigo
Código de escrita em que se utilizam termos convencionados para indicar as
instruções do programa. Os termos utilizados são, normalmente, uma mistura da
linguagem corrente com notações e palavras inerentes às linguagens de
programação (aproxima-se assim das linguagens de alto nível).
Representação de Algoritmos
Vantagens: Desvantagens:
 Uso do Português como base;
 Passagem quase imediata do
algoritmo para a linguagem de
programação;
 Pode-se definir quais os dados e de
que forma estão estruturados.
 Exige que se defina uma linguagem
não real para o trabalho;
 Não se trata de uma linguagem
padronizada.
• Fluxogramas (Diagramas de Fluxo)
São diagramas representativos do fluxo das acções de um programa, através de
símbolos, que representam os diferentes tipos das acções e o seu encadeamento
na sequência do programa.
Representação de Algoritmos
Vantagens: Desvantagens:
 Ferramenta muito conhecida e
utilizada;
 Uma imagem vale mais que mil
palavras;
 É um standard (padrão) mundial.
 Dá pouca atenção aos dados, em
que não oferece recursos para os
representar e / ou descrever;
 Complexidade aumenta com o
tamanho do algoritmo.
Um Diálogo….
Preencha o seguinte diálogo entre o Lima e o João Moutinho.
Lima, quero que somes dois números…
São o 7 e o 3.
7 + 3 = 10
Quais são os números?
Um Diálogo….
O resultado é 10.
Parabéns Lima… És um grande Matemático.
E um INFORMÁTICO, também
Algoritmo que calcula a soma de dois valores (inputs) e retorna o valor
dessa soma (output).
Representação de Algoritmos – Exemplo 1
Narrativa Descritiva Fluxograma Pseudocódigo
1. Ler os dois números
2. Somar os dois números
3. Visualizar a soma
Início
num1 ,num2
soma=num1+num2
soma
Fim
num1, num2, soma: int
inicio
escreva(“Digite valores a somar”)
leia(num1,num2)
soma  num1 + num2
escreva(soma)
fim
Algoritmo que calcula a média aritmética da nota de dois testes .
Representação de Algoritmos – Exemplo 2
Narrativa Descritiva Fluxograma Pseudocódigo
1. Ler nota dos dois testes;
2. Somar as duas notas e
dividir por dois;
3. Apresentar o resultado
m1,m2,media: real
inicio
escreva(“Digite as duas notas:”)
leia(m1,m2)
media  (m1 + m2) / 2
escreva (media)
fim
Início
Media <- (m1+m2)/2
Fim
media
m1, m2
Metodologia
Identificar e ordenar as operações de
processamento
Analisar o problema e identificar os objectivos principais
Se necessário dividir o problema em partes
Especificar as acções de
entrada de dados
Identificar constantes, variáveis e
tipos de dados a usar
Especificar as acções de
saída de dados
Nomes de Constantes e Variáveis
Identifique as variáveis e as
constantes presentes neste
algoritmo, no caso de
existirem…
Fluxograma• Símbolos principais
START/END
Entrada/
Saída de
dados
Decisão
Processamento
interno
Entrada
de dados
Selecção
múltipla
Conector
Saída de
dados
Subalgoritmo
São diagramas representativos do fluxo das acções de um programa (de forma
gráfica), através de símbolos
Fluxogramas
Mas, como se faz um fluxograma conjugando os símbolos anteriores?
Relembremos então o algoritmo para fazer a soma de dois números inteiros
introduzidos pelo utilizador…
O que é que o programa precisa?
Que o utilizador introduza dois números inteiros …
Para quê?
Para poder somá-los (operadores aritméticos) …
Qual o resultado a apresentar no final?
A soma do valor 1 com o valor 2 (introduzidos previamente pelo utilizador).
Fluxogramas
Como seria a narrativa descritiva do programa anterior?
1. Ler os dois números (num1 e num2, por exemplo)
Entrada de dados
2. Somar os dois números (soma = num1 + num2)
Processamento
3. Apresentar o valor da soma
Saída de dados
num1, num2
soma = num1+ num2
soma
Fluxogramas
O que se traduz no seguinte fluxograma:
Como representar fluxogramas?
 No papel;
 Utilizando programas:
 Visio (pago, pesado, complexo, …);
 Dia (gratuito, leve, simples, …)
 …
num1, num2
soma = num1 + num2
soma
Início
Fim
Fluxogramas – Utilizando o Dia
Para saber mais sobre o dia e fazer download:
http://projects.gnome.org/dia/
Pode exportar (Menu
Ficheiro -> Exportar…) Para
vários formatos, entre eles,
formatos de imagem: jpg,
bmp, png, …
Área de Desenho
AdicionarFormas(Setas)
Pseudocódigo
Ainda se lembra o que é o pseudocódigo de um algoritmo?
Como recordar é viver, aqui vai novamente a definição:
“Código de escrita em que se utilizam termos convencionados para indicar
as instruções do programa.
Os termos utilizados são, normalmente, uma mistura da linguagem corrente
com notações e palavras inerentes às linguagens de programação (aproxima-
se assim das linguagens de alto nível).”
Pseudocódigo – Visualg
Para poder elaborar algoritmos em pseudocódigo, e executá-los, vai ser
utilizado o programa Visualg, semelhante a outros IDEs (Integrated
Development Environment) para programação.
Porquê a sua utilização???
 O objectivo do VisualG é permitir aos iniciados em programação, o exercício
dos seus conhecimentos num ambiente próximo da realidade de uma
linguagem de programação;
 Submeter um iniciado aos rigores de uma linguagem de programação.
Pseudocódigo - Visualg
Pseudocódigo - Visualg
Pseudocódigo - Visualg
Pseudocódigo – Entrada / Input de Valores
 O comando de escrita é usado para se transmitir informações (mensagens,
resultado de processamento) do computador para o meio externo;
 A forma geral de utilização desse comando é:
escreva (“Lista de itens a imprimir”)
escreval (“Lista de itens a imprimir”) // muda de linha
 Não se esqueça de colocar as aspas.
Pseudocódigo – Um Exemplo
Actividade
• Elabore um algoritmo que leia as notas dos 8 módulos de
Programação de Sistemas de Informação e calcule a média
obtida na disciplina.
Deve recorrer a:
– Narrativa Descritiva (Abordagem Top-Down)
– Algoritmo em Pseudocódigo
– Fluxograma
Algoritmo que calcula a média dos oito módulos à disciplina de PSI.
Representação de Algoritmos – Atividade
Narrativa Descritiva Fluxograma Pseudocódigo
1. Ler nota dos oito
módulos;
2. Somar as notas e
dividir por oito;
3. Apresentar o resultado
m1,m2,m3,m4,m5,m6,m7,m8:inteiro
media: real
inicio
escreva(“Digite as oito notas:”)
leia(m1,m2,m3,m4,m5,m6,m7,m8)
media 
(m1+m2+m3+m4+m5+m6+m7+m8)/8
escreva (media)
fimalgoritmo
Início
Media <- (m1+m2+m3+m4+m5+m6+m7+m8)/8
Fim
media
m1, m2, m3,m4,
m5, m6, m7, m8

Mais conteúdo relacionado

Mais procurados

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Interrupções e interconexões
Interrupções e interconexõesInterrupções e interconexões
Interrupções e interconexões
PAULO Moreira
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
Pacc UAB
 

Mais procurados (20)

Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Interrupções e interconexões
Interrupções e interconexõesInterrupções e interconexões
Interrupções e interconexões
 
Variaveis
VariaveisVariaveis
Variaveis
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Destaque

Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
Pacc UAB
 
Ac Mod 3 deteção de avarias - Esquemas
Ac  Mod 3 deteção de avarias - EsquemasAc  Mod 3 deteção de avarias - Esquemas
Ac Mod 3 deteção de avarias - Esquemas
filipereira
 

Destaque (20)

Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 
Módulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computadorMódulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computador
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Psi-mod-op2
Psi-mod-op2Psi-mod-op2
Psi-mod-op2
 
Correcção da ficha 4 e 5
Correcção da ficha 4 e 5Correcção da ficha 4 e 5
Correcção da ficha 4 e 5
 
Módulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internasMódulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internas
 
Tic-excel-02
Tic-excel-02Tic-excel-02
Tic-excel-02
 
Tic-excel-01
Tic-excel-01 Tic-excel-01
Tic-excel-01
 
So-mod-1
So-mod-1So-mod-1
So-mod-1
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13
 
Campus Party - Computer Vision
Campus Party - Computer VisionCampus Party - Computer Vision
Campus Party - Computer Vision
 
Lógica parte 1 - Introdução
Lógica   parte 1 - IntroduçãoLógica   parte 1 - Introdução
Lógica parte 1 - Introdução
 
Algoritmos aproximativos
Algoritmos aproximativosAlgoritmos aproximativos
Algoritmos aproximativos
 
Modulo-3
Modulo-3 Modulo-3
Modulo-3
 
Tic-excel-03
Tic-excel-03Tic-excel-03
Tic-excel-03
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Ac Mod 3 deteção de avarias - Esquemas
Ac  Mod 3 deteção de avarias - EsquemasAc  Mod 3 deteção de avarias - Esquemas
Ac Mod 3 deteção de avarias - Esquemas
 

Semelhante a mod1-algoritmia

Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
12anogolega
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
slashmelhor
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
Mauro Pereira
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
Robson Ferreira
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
ssuser059c2c1
 

Semelhante a mod1-algoritmia (20)

Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Excel VBA: Aula 2
Excel VBA: Aula 2Excel VBA: Aula 2
Excel VBA: Aula 2
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaAlgoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
PDF.pdf
PDF.pdfPDF.pdf
PDF.pdf
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computação
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
 

Mais de diogoa21 (7)

Módulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuraçãoMódulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuração
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Módulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-socketsMódulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-sockets
 
Modulo-4-css
Modulo-4-cssModulo-4-css
Modulo-4-css
 
Modulo4- Html-Guia
Modulo4- Html-GuiaModulo4- Html-Guia
Modulo4- Html-Guia
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 

Último

8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 

Último (20)

GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 

mod1-algoritmia

  • 1. Programação e Sistemas de Informação Módulo 1 Escola Secundária Filipa de Vilhena 2012/2013 Algoritmia
  • 2. Mas, o que é um algoritmo?
  • 3. Mas, o que é um algoritmo? Pode-se ver a definição de algoritmo segundo 2 vertentes, a: • Matemática – Descreve o processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado, ou da solução do problema. • Computacional – Descreve o conjunto predeterminado e bem definido de regras e processos destinados à solução de um problema, com um número finito de etapas. Programação  Algoritmia (dois conceitos interligados)
  • 4. Mas, o que é um algoritmo? Pode-se considerar, de forma algo abusiva, um algoritmo com uma receita de culinária. Porquê??? • Uma receita consiste num conjunto ( sequência de passos / instruções / regras, que devem ser seguidas. Caso contrário, a receita pode não dar o resultado desejado. Segundo a receita… Senão…
  • 5. Mas, o que é um algoritmo? Com um algoritmo pode-se • Repetir passos, aquilo a que em programação se chama de iterações. • Ou até tomar decisões com base em comparações ou lógica. Mas um algoritmo não é, nem representa um programa de computador… …representa sim os passos necessários para a realização de uma tarefa.
  • 6. Introdução à Lógica de Programação ENTRADA DE DADOS SAÍDA DE INFORMAÇÃOPROCESSAMENTO UTILIZADOR Aplicações Informáticas O que preciso??? Como chegar ao que quero??? O que quero???
  • 7. • Narrativa descritiva Listagem ordenada de instruções em forma de frases curtas e directas, em linguagem natural / humana (neste caso, português). Representação de Algoritmos Vantagens: Desvantagens:  Português é linguagem conhecida e corrente, fácil de ler e entender por todos.  Imprecisão (termos ambíguos)  Implica pouca confiabilidade (desconfiança)  Extensão (tendência de se escrever muito para dizer pouco)
  • 8. • Pseudocódigo Código de escrita em que se utilizam termos convencionados para indicar as instruções do programa. Os termos utilizados são, normalmente, uma mistura da linguagem corrente com notações e palavras inerentes às linguagens de programação (aproxima-se assim das linguagens de alto nível). Representação de Algoritmos Vantagens: Desvantagens:  Uso do Português como base;  Passagem quase imediata do algoritmo para a linguagem de programação;  Pode-se definir quais os dados e de que forma estão estruturados.  Exige que se defina uma linguagem não real para o trabalho;  Não se trata de uma linguagem padronizada.
  • 9. • Fluxogramas (Diagramas de Fluxo) São diagramas representativos do fluxo das acções de um programa, através de símbolos, que representam os diferentes tipos das acções e o seu encadeamento na sequência do programa. Representação de Algoritmos Vantagens: Desvantagens:  Ferramenta muito conhecida e utilizada;  Uma imagem vale mais que mil palavras;  É um standard (padrão) mundial.  Dá pouca atenção aos dados, em que não oferece recursos para os representar e / ou descrever;  Complexidade aumenta com o tamanho do algoritmo.
  • 10. Um Diálogo…. Preencha o seguinte diálogo entre o Lima e o João Moutinho. Lima, quero que somes dois números… São o 7 e o 3. 7 + 3 = 10 Quais são os números?
  • 11. Um Diálogo…. O resultado é 10. Parabéns Lima… És um grande Matemático. E um INFORMÁTICO, também
  • 12. Algoritmo que calcula a soma de dois valores (inputs) e retorna o valor dessa soma (output). Representação de Algoritmos – Exemplo 1 Narrativa Descritiva Fluxograma Pseudocódigo 1. Ler os dois números 2. Somar os dois números 3. Visualizar a soma Início num1 ,num2 soma=num1+num2 soma Fim num1, num2, soma: int inicio escreva(“Digite valores a somar”) leia(num1,num2) soma  num1 + num2 escreva(soma) fim
  • 13. Algoritmo que calcula a média aritmética da nota de dois testes . Representação de Algoritmos – Exemplo 2 Narrativa Descritiva Fluxograma Pseudocódigo 1. Ler nota dos dois testes; 2. Somar as duas notas e dividir por dois; 3. Apresentar o resultado m1,m2,media: real inicio escreva(“Digite as duas notas:”) leia(m1,m2) media  (m1 + m2) / 2 escreva (media) fim Início Media <- (m1+m2)/2 Fim media m1, m2
  • 14. Metodologia Identificar e ordenar as operações de processamento Analisar o problema e identificar os objectivos principais Se necessário dividir o problema em partes Especificar as acções de entrada de dados Identificar constantes, variáveis e tipos de dados a usar Especificar as acções de saída de dados
  • 15. Nomes de Constantes e Variáveis Identifique as variáveis e as constantes presentes neste algoritmo, no caso de existirem…
  • 16. Fluxograma• Símbolos principais START/END Entrada/ Saída de dados Decisão Processamento interno Entrada de dados Selecção múltipla Conector Saída de dados Subalgoritmo São diagramas representativos do fluxo das acções de um programa (de forma gráfica), através de símbolos
  • 17. Fluxogramas Mas, como se faz um fluxograma conjugando os símbolos anteriores? Relembremos então o algoritmo para fazer a soma de dois números inteiros introduzidos pelo utilizador… O que é que o programa precisa? Que o utilizador introduza dois números inteiros … Para quê? Para poder somá-los (operadores aritméticos) … Qual o resultado a apresentar no final? A soma do valor 1 com o valor 2 (introduzidos previamente pelo utilizador).
  • 18. Fluxogramas Como seria a narrativa descritiva do programa anterior? 1. Ler os dois números (num1 e num2, por exemplo) Entrada de dados 2. Somar os dois números (soma = num1 + num2) Processamento 3. Apresentar o valor da soma Saída de dados num1, num2 soma = num1+ num2 soma
  • 19. Fluxogramas O que se traduz no seguinte fluxograma: Como representar fluxogramas?  No papel;  Utilizando programas:  Visio (pago, pesado, complexo, …);  Dia (gratuito, leve, simples, …)  … num1, num2 soma = num1 + num2 soma Início Fim
  • 20. Fluxogramas – Utilizando o Dia Para saber mais sobre o dia e fazer download: http://projects.gnome.org/dia/ Pode exportar (Menu Ficheiro -> Exportar…) Para vários formatos, entre eles, formatos de imagem: jpg, bmp, png, … Área de Desenho AdicionarFormas(Setas)
  • 21. Pseudocódigo Ainda se lembra o que é o pseudocódigo de um algoritmo? Como recordar é viver, aqui vai novamente a definição: “Código de escrita em que se utilizam termos convencionados para indicar as instruções do programa. Os termos utilizados são, normalmente, uma mistura da linguagem corrente com notações e palavras inerentes às linguagens de programação (aproxima- se assim das linguagens de alto nível).”
  • 22. Pseudocódigo – Visualg Para poder elaborar algoritmos em pseudocódigo, e executá-los, vai ser utilizado o programa Visualg, semelhante a outros IDEs (Integrated Development Environment) para programação. Porquê a sua utilização???  O objectivo do VisualG é permitir aos iniciados em programação, o exercício dos seus conhecimentos num ambiente próximo da realidade de uma linguagem de programação;  Submeter um iniciado aos rigores de uma linguagem de programação.
  • 26. Pseudocódigo – Entrada / Input de Valores  O comando de escrita é usado para se transmitir informações (mensagens, resultado de processamento) do computador para o meio externo;  A forma geral de utilização desse comando é: escreva (“Lista de itens a imprimir”) escreval (“Lista de itens a imprimir”) // muda de linha  Não se esqueça de colocar as aspas.
  • 28. Actividade • Elabore um algoritmo que leia as notas dos 8 módulos de Programação de Sistemas de Informação e calcule a média obtida na disciplina. Deve recorrer a: – Narrativa Descritiva (Abordagem Top-Down) – Algoritmo em Pseudocódigo – Fluxograma
  • 29. Algoritmo que calcula a média dos oito módulos à disciplina de PSI. Representação de Algoritmos – Atividade Narrativa Descritiva Fluxograma Pseudocódigo 1. Ler nota dos oito módulos; 2. Somar as notas e dividir por oito; 3. Apresentar o resultado m1,m2,m3,m4,m5,m6,m7,m8:inteiro media: real inicio escreva(“Digite as oito notas:”) leia(m1,m2,m3,m4,m5,m6,m7,m8) media  (m1+m2+m3+m4+m5+m6+m7+m8)/8 escreva (media) fimalgoritmo Início Media <- (m1+m2+m3+m4+m5+m6+m7+m8)/8 Fim media m1, m2, m3,m4, m5, m6, m7, m8