SlideShare une entreprise Scribd logo
1  sur  5
1
Introdução à ProgramaçãoIntrodução à Programação
Técnicas de Programação 1
ALG
2/26
Computador
Máquina que tem como função básica o
armazenamento e processamento da informação;
Constitui-se de hardware e de software.
3/26
Hardware e Software
Hardware: Conjunto de circuitos e dispositivos
utilizados no processamento de dados;
Software: Programas que são executados pelo
hardware.
4/26
Estrutura básica de um computador
Dispositivos
Entrada
Dispositivos
Saída
Memória
Secundária
CPU
Memória
RAM
5/26
Estrutura básica do computador
CPU: Unidade central de processamento, circuito capaz de
executar instruções armazenadas na memória e de enviar e
receber dados de outros dispositivos;
Dispositivos de entrada: Permitem a entrada de dados no
computador;
Dispositivos de saída: fornecem ao usuário acesso aos dados;
Memória secundária: Armazena os dados e programas para uso
posterior.
Memória RAM: Memória volátil de leitura e escrita, armazena
tanto os dados quanto os softwares em uso.
6/26
Software
Conjunto de instruções que diz ao computador o que
fazer.
As instruções são escritas em uma forma organizada
e seqüencialmente lógica.
2
7/26
Software
Categorias de software
Sistema operacional: controla e coordena o hardware (Ex.
Win95).
Tradutores: compiladores, interpretadores e montadores.
Aplicativos: personalizados ou pacotes (ex. Word, Excel).
Hardware
Software
Aplicativo
INTERFACE
Sistema Operacional
Tradutores
8/26
Construindo Software
Linguagem de programação
Idioma no qual as instruções são escritas
Estrutura de dados
Maneira pelo qual os dados são armazenados e regras de
manipulação destes dados.
PROGRAMPROGRAMPROGRAMPROGRAM Soma;
VARVARVARVAR X: integer;
BEGINBEGINBEGINBEGIN
X := 2+2;
WRITEWRITEWRITEWRITE (‘Soma =‘, X)
ENDENDENDEND.
Computador Soma = 4
X Soma
Vetores, Matriz, Registros, etc.2 4
9/26
O que é programação?
Programar é a atividade de comunicar
algoritmos aos computadores
10/26
Algoritmos
Seqüência ordenada e não ambígua de passos que
levam a solução de dado problema
SoluçãoProblema Algoritmo
11/26
Exemplos de algoritmos
Roteiro de um filme
Manual de instruções de
um eletrodoméstico
Receita de bolo
12/26
Exemplo de Algoritmo
Sacar dinheiro de um caixa eletrônico
1. Passar o cartão do banco no leitor;
2. Digitar senha da conta-corrente;
3. No menu que vai aparecer, escolher a opção “Retirada”;
4. Digitar o valor desejada e apertar a tecla “Entra”;
5. Confirmar o saque e apertar a tecla “Entra”;
6. Ficar esperando em frente ao caixa até a saída do dinheiro;
7. Retirar o dinheiro.
3
13/26
Algoritmos
Propriedades dos algoritmos
Possuir ações simples e bem definidas (não ambíguas);
Possuir seqüência ordenada;
Possuir seqüência finita de passos;
Possuir fim (todas as ações devem ser executadas em um
tempo finito);
Pode receber entradas externas;
Pode fornecer saídas externas.
14/26
Algoritmos
Exemplo de um algoritmo
Problema: Temos três hastes. Uma das hastes serve de suporte
para três discos de tamanhos diferentes. Os discos menores são
sempre colocados sobre os discos maiores. Desejamos mover
todos os discos para a outra haste, porém só podemos
movimentar um disco de cada vez e um disco maior nunca pode
ser colocado sobre um disco menor.
15/26
Algoritmos
Solução: Nomeamos as hastes como 1, 2 e 3 e os
discos como p, m e g.
1. Move p para haste 3;
2. Move m para haste 2;
3. Move p para haste 2;
4. Move g para haste 3;
5. Move p para haste 1;
6. Move m para haste 3;
7. Move p para haste 3.
16/26
Exercício algoritmo
Problema: Um homem precisa atravessar um rio com um barco
que possui capacidade apenas para carregar ele mesmo e mais
uma de suas três cargas, que são: um lobo, um bode e um
maço de alfafa. Como este homem deve proceder para levar
suas cargas de uma margem a outra do rio sem perder
nenhuma de suas três cargas?
17/26
Algoritmos
Solução:
1. Levar o homem e o bode para a margem B;
2. Trazer de volta o homem para a margem A;
3. Levar o homem e o lobo para a margem B;
4. Trazer de volta o homem e o bode para a margem A;
5. Levar o homem e a alfafa para a margem B;
6. Trazer de volta o homem para a margem A;
7. Levar o homem e o bode para a margem B.
18/26
Redefinindo programação
É a seqüência de planejamento, projeto, escrita e testes
de instruções que serão executadas pelo computador.
Complexidade do problema é um desafio:
Todas as situações diferentes que um problema pode
apresentar devem ser previstas na sua solução.
4
19/26
Programação
Dividindo programação em duas fases
Problema:
Automatizar
A
Biblioteca
Definição do
Problema
Análise do
Problema
1. Incluir livro
2. Incluir Aluno
Codificação
Programas
Testes e
Depuração
Sistema
Problema
Algoritmo
20/26
Algoritmos
Diretrizes para construção de algoritmos
Identificação do problema;
Identificação das “entradas de dados”;
Identificação das “saídas de dados”;
Identificação de regras do problema e limitações do agente;
Determinar o que fazer para transformar as “entradas” em
“saídas”;
Obedecer regras e limitações;
Determinar ações possíveis de serem realizadas.
Construção do algoritmo;
Teste de solução.
21/26
Algoritmos
Vantagens do uso de algoritmos
Estruturação dos programas.
Permite que erros sejam detectados antes da codificação.
Facilita futuras manutenções do código.
Permite maior compreensão do problema.
22/26
Algoritmos
Exemplo:
Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série.
Os alunos realizarão duas provas: P1, P2.
Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1 e P2.
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 2
(dois)
(P1 + P2)/2
c) Quais serão os dados de saída?
R: O dado de saída será a média final
23/26
Algoritmos
Descrição de algoritmos
Narrativa
Descreve o algoritmo em linguagem natural
Desvantagens: Linguagem natural é prolixa, imprecisa,
ambígua. Ex: O pregador(?) foi grampeado(?).
Ex:
1. Receba a nota da prova1;
2. Receba a nota da prova2;
3. Some as notas e divida o resultado por 2;
6. Mostre o resultado da divisão;
24/26
Algoritmos
Descrição de algoritmos
(cont.)
Fluxograma
Apresenta, de forma
gráfica, a lógica de um
algoritmo
Desvantagens:
Obscurecem estruturas
dos programas. Vem
caindo em desuso com o
tempo.
Ex: Início
P1, P2
Média =
(P1 + P2) / 2
Média
Fim
5
25/26
Fluxograma
O uso de Fluxograma (símbolos) é uma alternativa
simples e concisa de representar os dados
Início/Fim
Seqüencia
Processamento
Decisão
Conector
Entrada/Saída
Saída Vídeo
Saída Impress
Saída Disco
Saída Vídeo
Entrada Teclado
Início/Fim
Seqüencia
Processamento
Decisão
Conector
Entrada/Saída
Saída Vídeo
Saída Impress
Saída Disco
Saída Vídeo
Entrada Teclado
26/26
Algoritmos
Descrição de algoritmos
(cont.)
Linguagem algorítmica /
pseudocódigo / Português
estruturado
“Linguagem simplificada
de programação”
Expressões concisas e
pré-definidas
Palavras-chaves,
indentação, um passo por
linha.
Ex:
media : Inteiro;
Inicio
leia(P1);
leia(P2);
media (P1 + P2) / 2;
escreva(media);
Fim

Contenu connexe

Similaire à Alg aula 01 - introdução tp1

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
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Ac mod 3 ficha de revisões 1
Ac   mod 3 ficha de revisões 1Ac   mod 3 ficha de revisões 1
Ac mod 3 ficha de revisões 1
Gustavo Fernandes
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
Tácito Graça
 

Similaire à Alg aula 01 - introdução tp1 (20)

Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
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
 
perguntas_imc_quiz.ppt
perguntas_imc_quiz.pptperguntas_imc_quiz.ppt
perguntas_imc_quiz.ppt
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
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
 
Apresentação metropolitana - aula 04
Apresentação   metropolitana - aula 04Apresentação   metropolitana - aula 04
Apresentação metropolitana - aula 04
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Ac mod 3 ficha de revisões 1
Ac   mod 3 ficha de revisões 1Ac   mod 3 ficha de revisões 1
Ac mod 3 ficha de revisões 1
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
AC nova-aula 1.pptx
AC nova-aula 1.pptxAC nova-aula 1.pptx
AC nova-aula 1.pptx
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
 
Microprogramacao
MicroprogramacaoMicroprogramacao
Microprogramacao
 
Microprogramacao
MicroprogramacaoMicroprogramacao
Microprogramacao
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
Apostila de Algoritmos
Apostila de AlgoritmosApostila de Algoritmos
Apostila de Algoritmos
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 

Plus de Thalles Anderson (20)

Minipa et 1110
Minipa et   1110Minipa et   1110
Minipa et 1110
 
Minipa et 1001
Minipa et   1001Minipa et   1001
Minipa et 1001
 
Apostila usando multímetro
Apostila usando multímetroApostila usando multímetro
Apostila usando multímetro
 
Informática básica
Informática básicaInformática básica
Informática básica
 
Cabling 96
Cabling 96Cabling 96
Cabling 96
 
Cabos e linhas
Cabos e linhasCabos e linhas
Cabos e linhas
 
Código de cores tabela
Código de cores tabelaCódigo de cores tabela
Código de cores tabela
 
Dimensionamento cabos baixa tensão
Dimensionamento cabos baixa tensãoDimensionamento cabos baixa tensão
Dimensionamento cabos baixa tensão
 
Dimensionamento
DimensionamentoDimensionamento
Dimensionamento
 
Fibras ópticas
Fibras ópticasFibras ópticas
Fibras ópticas
 
Linhas de transmissão
Linhas de transmissãoLinhas de transmissão
Linhas de transmissão
 
Topologias de redes
Topologias de redesTopologias de redes
Topologias de redes
 
Windows xp
Windows xpWindows xp
Windows xp
 
Windows vista
Windows vistaWindows vista
Windows vista
 
Tcp e ip
Tcp e ipTcp e ip
Tcp e ip
 
Sockets
SocketsSockets
Sockets
 
Redes 6
Redes 6Redes 6
Redes 6
 
Redes 5
Redes 5Redes 5
Redes 5
 
Redes 4
Redes 4Redes 4
Redes 4
 
Redes 3
Redes 3Redes 3
Redes 3
 

Dernier

Dernier (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Alg aula 01 - introdução tp1

  • 1. 1 Introdução à ProgramaçãoIntrodução à Programação Técnicas de Programação 1 ALG 2/26 Computador Máquina que tem como função básica o armazenamento e processamento da informação; Constitui-se de hardware e de software. 3/26 Hardware e Software Hardware: Conjunto de circuitos e dispositivos utilizados no processamento de dados; Software: Programas que são executados pelo hardware. 4/26 Estrutura básica de um computador Dispositivos Entrada Dispositivos Saída Memória Secundária CPU Memória RAM 5/26 Estrutura básica do computador CPU: Unidade central de processamento, circuito capaz de executar instruções armazenadas na memória e de enviar e receber dados de outros dispositivos; Dispositivos de entrada: Permitem a entrada de dados no computador; Dispositivos de saída: fornecem ao usuário acesso aos dados; Memória secundária: Armazena os dados e programas para uso posterior. Memória RAM: Memória volátil de leitura e escrita, armazena tanto os dados quanto os softwares em uso. 6/26 Software Conjunto de instruções que diz ao computador o que fazer. As instruções são escritas em uma forma organizada e seqüencialmente lógica.
  • 2. 2 7/26 Software Categorias de software Sistema operacional: controla e coordena o hardware (Ex. Win95). Tradutores: compiladores, interpretadores e montadores. Aplicativos: personalizados ou pacotes (ex. Word, Excel). Hardware Software Aplicativo INTERFACE Sistema Operacional Tradutores 8/26 Construindo Software Linguagem de programação Idioma no qual as instruções são escritas Estrutura de dados Maneira pelo qual os dados são armazenados e regras de manipulação destes dados. PROGRAMPROGRAMPROGRAMPROGRAM Soma; VARVARVARVAR X: integer; BEGINBEGINBEGINBEGIN X := 2+2; WRITEWRITEWRITEWRITE (‘Soma =‘, X) ENDENDENDEND. Computador Soma = 4 X Soma Vetores, Matriz, Registros, etc.2 4 9/26 O que é programação? Programar é a atividade de comunicar algoritmos aos computadores 10/26 Algoritmos Seqüência ordenada e não ambígua de passos que levam a solução de dado problema SoluçãoProblema Algoritmo 11/26 Exemplos de algoritmos Roteiro de um filme Manual de instruções de um eletrodoméstico Receita de bolo 12/26 Exemplo de Algoritmo Sacar dinheiro de um caixa eletrônico 1. Passar o cartão do banco no leitor; 2. Digitar senha da conta-corrente; 3. No menu que vai aparecer, escolher a opção “Retirada”; 4. Digitar o valor desejada e apertar a tecla “Entra”; 5. Confirmar o saque e apertar a tecla “Entra”; 6. Ficar esperando em frente ao caixa até a saída do dinheiro; 7. Retirar o dinheiro.
  • 3. 3 13/26 Algoritmos Propriedades dos algoritmos Possuir ações simples e bem definidas (não ambíguas); Possuir seqüência ordenada; Possuir seqüência finita de passos; Possuir fim (todas as ações devem ser executadas em um tempo finito); Pode receber entradas externas; Pode fornecer saídas externas. 14/26 Algoritmos Exemplo de um algoritmo Problema: Temos três hastes. Uma das hastes serve de suporte para três discos de tamanhos diferentes. Os discos menores são sempre colocados sobre os discos maiores. Desejamos mover todos os discos para a outra haste, porém só podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco menor. 15/26 Algoritmos Solução: Nomeamos as hastes como 1, 2 e 3 e os discos como p, m e g. 1. Move p para haste 3; 2. Move m para haste 2; 3. Move p para haste 2; 4. Move g para haste 3; 5. Move p para haste 1; 6. Move m para haste 3; 7. Move p para haste 3. 16/26 Exercício algoritmo Problema: Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. Como este homem deve proceder para levar suas cargas de uma margem a outra do rio sem perder nenhuma de suas três cargas? 17/26 Algoritmos Solução: 1. Levar o homem e o bode para a margem B; 2. Trazer de volta o homem para a margem A; 3. Levar o homem e o lobo para a margem B; 4. Trazer de volta o homem e o bode para a margem A; 5. Levar o homem e a alfafa para a margem B; 6. Trazer de volta o homem para a margem A; 7. Levar o homem e o bode para a margem B. 18/26 Redefinindo programação É a seqüência de planejamento, projeto, escrita e testes de instruções que serão executadas pelo computador. Complexidade do problema é um desafio: Todas as situações diferentes que um problema pode apresentar devem ser previstas na sua solução.
  • 4. 4 19/26 Programação Dividindo programação em duas fases Problema: Automatizar A Biblioteca Definição do Problema Análise do Problema 1. Incluir livro 2. Incluir Aluno Codificação Programas Testes e Depuração Sistema Problema Algoritmo 20/26 Algoritmos Diretrizes para construção de algoritmos Identificação do problema; Identificação das “entradas de dados”; Identificação das “saídas de dados”; Identificação de regras do problema e limitações do agente; Determinar o que fazer para transformar as “entradas” em “saídas”; Obedecer regras e limitações; Determinar ações possíveis de serem realizadas. Construção do algoritmo; Teste de solução. 21/26 Algoritmos Vantagens do uso de algoritmos Estruturação dos programas. Permite que erros sejam detectados antes da codificação. Facilita futuras manutenções do código. Permite maior compreensão do problema. 22/26 Algoritmos Exemplo: Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série. Os alunos realizarão duas provas: P1, P2. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1 e P2. b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 2 (dois) (P1 + P2)/2 c) Quais serão os dados de saída? R: O dado de saída será a média final 23/26 Algoritmos Descrição de algoritmos Narrativa Descreve o algoritmo em linguagem natural Desvantagens: Linguagem natural é prolixa, imprecisa, ambígua. Ex: O pregador(?) foi grampeado(?). Ex: 1. Receba a nota da prova1; 2. Receba a nota da prova2; 3. Some as notas e divida o resultado por 2; 6. Mostre o resultado da divisão; 24/26 Algoritmos Descrição de algoritmos (cont.) Fluxograma Apresenta, de forma gráfica, a lógica de um algoritmo Desvantagens: Obscurecem estruturas dos programas. Vem caindo em desuso com o tempo. Ex: Início P1, P2 Média = (P1 + P2) / 2 Média Fim
  • 5. 5 25/26 Fluxograma O uso de Fluxograma (símbolos) é uma alternativa simples e concisa de representar os dados Início/Fim Seqüencia Processamento Decisão Conector Entrada/Saída Saída Vídeo Saída Impress Saída Disco Saída Vídeo Entrada Teclado Início/Fim Seqüencia Processamento Decisão Conector Entrada/Saída Saída Vídeo Saída Impress Saída Disco Saída Vídeo Entrada Teclado 26/26 Algoritmos Descrição de algoritmos (cont.) Linguagem algorítmica / pseudocódigo / Português estruturado “Linguagem simplificada de programação” Expressões concisas e pré-definidas Palavras-chaves, indentação, um passo por linha. Ex: media : Inteiro; Inicio leia(P1); leia(P2); media (P1 + P2) / 2; escreva(media); Fim