Vous êtes sur la page 1sur 51

Tcnicas de Programao de

Algoritmos
Prof. Alexsand Farias
Curriculo lattes
Componente Curricular Tcnicas de
Programao de Algoritmos

Curso: Tcnico de Nvel Mdio em: Informtica 2017


T.01
Turno: Vespertino (13:15 s 17:30)
Perodo: 22/06 a 05/07/2017
Carga horria: 40h
Instrutor (a): Alexsand Farias
EMENTA

Conceituar algoritmos e lgica de programao. Tipos


de dados bsicos e estruturados. Decomposio Top-
Down. Metodologia de desenvolvimento de programas.
Descrever e identificar variveis e constantes. Resolver
pequenos exerccios de lgica. Entender as primeiras
estruturas de controle para o desenvolvimento de
algoritmos. Estudar as estruturas de entrada e sada de
dados. Entender como funcionam as estruturas
condicionais e funes.
Objetivo geral

Apresentar ao aluno os fundamentos da construo de


algoritmos estruturados, capacitando-os a desenvolver
algoritmos utilizando uma pseudolinguagem (portugol),
e tcnicas de linguagem de programao.
Objetivos especficos

Familiarizar o aluno com a lgica de programao atravs de resoluo


de algoritmos simples (estrutura de seleo e deciso).
Desenvolver a lgica, estruturao e construo de algoritmos utilizando
a ferramenta VisualG.
Introduzir os conceitos de modularizao de algoritmos, demonstrando
tcnicas de organizao mais eficiente do cdigo utilizando
pseudolinguagem.
Formar profissionais para atender a crescente demanda do mercado por
profissionais que conheam as mltiplas possibilidades do universo da
programao e de suas tecnologias.
Referncias bibliogrficas

Stavaux, Adolfo Jos Gonalves / Baudson, Francisco Csar Rodrigues de Arajo.


Algoritmos e programao - Ouro Preto: IFMG, 2013.
SOARES, MARCIO VIEIRA; SOUZA, MARCO A. FURLAN DE; GOMES, MARCELO M.:
ALGORITMOS E LGICA DE PROGRAMAO - 2 ED. SO PAULO, CENGAGE LEARNING,
2011.
PUGA, Sandra. Lgica de programao e estrutura de dados com aplicaes em
JAVA. 2 ed. So Paulo: Pearson, 2009.
ARAUJO, Everton C. de. Algoritmos: fundamentos e prtica. So Paulo: Visual
Books, 2007.
FORBELLONE, Andr Luiz Villar. Lgica de programao: a construo de
algoritmos e estrutura de dados. 3.ed. So Paulo: Pearson Education do Brasil,
2005.
FARRER, Harry. Algoritmos Estruturados. 3. ed. Rio de Janeiro: LTC, 1999.
Metodologia de Ensino

Aulas expositivas e dialogadas;


Aplicao de exerccios e trabalhos valendo
nota(diariamente);
Exerccios prticos no laboratrio;
Reviso de contedos ministrados antes das
avaliaes;
Tira dvidas.
Avaliao
Duas avaliaes (P1) e (P2).
Mdia = P1 + P2 / 2
Se o aluno tiver nota >= 7 e freqncia >= 75% =
Aprovado
Se o aluno tiver nota < 6 e freqncia < 75% =
Reprovado.
Se o aluno tiver Mdia < 6 e freqncia >= 75% =
Recuperao.
Introduo

O que Informtica?
O que um computador?
Quais as partes que formam um computador?
Qual o nosso objetivo?

ProblemaSoluoAlgoritmoPrograma = Resultado.
Conceito Informtica

Cincia que manipula de forma ordenada os dados com o


objetivo de transform-los em informaes de maneira
correta e com o menor tempo possvel.

INFORMAO + AUTOMTICA

INFORMTICA
O que um computador?

uma mquina eletrnica que tem como objetivo


processar dados. O termo computador vem do latim
computare que significa Calcular.
composto por circuitos integrados que possibilitam a
execuo de vrias rotinas e instrues atravs de um
processo que se denomina programao.
Segundo Stallings (2010), computador uma mquina
capaz de realizar as seguintes funes: processar,
armazenar, movimentar e controlar dados.
Componentes bsicos de um Computador
Hardware: a parte fsica, representada pelos dispositivos fsicos
que formam um computador. Ex: Teclado, Mouse, CPU, Placa-
me, HD, etc.
Componentes bsicos de um Computador
Software: a parte lgica, corresponde ao conjunto de programas
responsveis pelo controle do sistema para a execuo das tarefas
executadas.
Tipos de Softwares
Sistema Operacional - Sistema responsvel pelo funcionamento e
gerenciamento do hardware. Ex: Windows, Linux, Android e Mac/OS.

Software Aplicativo - Programas de computador criados para atender


uma necessidade especfica do usurio. Ex: Word, Excel, Adobe Reader,
CorelDraw, Photoshop, etc.

Software Utilitrio - Softwares especializados em resolver problemas,


efetuar testes e manuteno do Hardware e Software. Ex. Antivrus,
Desfragmentador de Disco, Backup, Anti-spyware, etc.

Linguagens de Programao - Programas de computador usadas na


elaborao de outros programas. Ex: Java, C#, C++, Visual Basic, Delphi,
etc.
Arquitetura bsica do processamento
de dados

O programa quem determina o funcionamentodo


computador e ele depende da sua finalidade
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:

I - Unidade de Entrada e
Sada de Dados;
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:

II - Memria;
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:

III Unidade Lgica


Aritmtica
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:

IV Unidade de Controle
Arquitetura bsica do processamento
de dados
A arquitetura bsica proposta por John Von Neumann possui
quatro componentes bsicos:

A Unidade Central de
Processamento (UCP)
engloba a UC e a ULA.
Software e seus componentes bsicos
Definio de Programa
uma sequncia de instrues (comandos) que, a partir de
dados inseridos, obtm um resultado que ser disponibilizado
por algum dispositivo de sada

Processamento
Entrada dos comandos de Sada de
de Dados um programa Dados
Software e seus componentes bsicos
Tipos de Software
Software de sistema, ou sistema operacional
Windows, Linux, etc.
Software aplicativo
Editores de texto: Word, WordPerfect, etc
Planilhas eletrnicas: Excel, Lotus 123, quattro pro.
Apresentao: PowerPoint, etc
Desenho: PaintBrush, CorelDraw, etc
Softwares Especficos podem ser construdos:
Folha de Pagamento, Sistemas de Vendas, Sistema Acadmico, etc

SOFTWARE PROGRAMA
Analogia: Calculadora e Programa

Processamento
Entrada dos comandos de Sada de
de Dados um programa Dados

2+5 7
Software / Programas

Como softwares e/ou


programas so construdos?

Linguagens de programao
so utilizadas para a construo de
programas em computadores
Definio de Linguagem de Programao

Conjunto limitado de smbolos e comandos;

Utilizados para criar programas;

Mtodo padronizado para expressar


instrues para um computador;

Por meio dela se estabelece uma comunicao


com o computador, fazendo com que ele
compreenda e execute o que o programador
determinar.
Tipos de Linguagem de Programao

Linguagem de Baixo Nvel


Uma linguagem de programao pode ser de baixo nvel
(linguagem de mquina)

LinguagemAssembler
Tipos de Linguagem de Programao
Linguagem de Alto Nvel

Linguagens de alto nvel apresentam uma sintaxe


mais prxima da linguagem natural (humana)
Usam palavras reservadas extradas do vocabulrio
corrente (int, public, if, else, while, ...)
EXEMPLO:
class HelloWorld {
public static void main (String[] args) {
System.out.println (Al mundo!);
}
}
Histrico das Linguagens de Programao
Algumas linguagens de programao, e o ano em
que foram desenvolvidas:
Programas Compilados ou Interpretados

Os programas escritos em linguagens de alto nvel so


convertidos para a linguagem de mquina atravs de
um programa compilador, ou de um interpretador.

Linguagem de Compilador ou Linguagem


interpretador de Mquina
Alto Nvel

Trataremos de Compiladores e Interpretadores


mais adiante
Coisas para no esquecer
Um computador executa PROGRAMAS
O Sistema Computacional depende do Hardware (computador)
e do Software (programas)
Programas so escritos em determinadas linguagens e so
traduzidos para que o computador possa executar.
Um programa geralmente possui 3 partes distintas: a entrada
de dados, o processamento e a sada de dados.
A arquitetura bsica de um computador composta pelos:
dispositivos de entrada e sada de dados, pela CPU (unidade
central de processamento) que engloba a unidade de controle e a
unidade lgica e aritmtica, e a memria principal.
Algoritmos do dia a dia e Tcnicas de
Interpretao de Enunciados

Objetivos:

Aprender a redigir rotinas comuns do dia a


dia;
Forma de algoritmos;
Conhecer uma tcnica para a construo de
algoritmos computacionais.
Aprendendo a programar computadores

O principal componente de um programa de computador a sua


lgica, ou seja, o que o computador deve fazer para resolver um
problema.

Devemos ento DESCREVER essa lgica numa linguagem que o


computador entenda.

mais fcil comear a programar (organizar a lgica) em uma


linguagem de alto nvel.

Qual a linguagem de mais alto nvel para um ser humano que fala
naturalmente o portugus?
Aprendendo a programar computadores

Vamos dar os primeiros passos na arte de programar


computadores, em uma linguagem mais prxima da linguagem
natural.

O caminho mais tranquilo por meio de ALGORITMOS

Escrever ALGORITMOS mais simples porque focam na soluo


do problemas e no consideram detalhes de linguagem, etc.
Conceito de Algoritmo
uma sequncia finita de instrues, ordenada de
forma lgica para a resoluo de uma determinada
tarefa ou problema.

Um algoritmo fixa um padro de


comportamento a ser seguido, uma
norma de execuo, com o objetivo de
resolver um determinado problema.
Introduo Lgica de Programao
O que Lgica?

Lgica = Logos + Ica


Razo Cincia
Cincia que estuda as formas de pensamento;
Arte de pensar bem;
Estudo dos argumentos;
Organiza o raciocnio.
Introduo Lgica de Programao

Argumentos uma sequncia de enunciados, na qual um dos enunciados a concluso,


derivados a partir de outros enunciados (premissas).
Lgica de Programao

Como pensar como


um programador?

Falar em lgica de programao significa contextualizar


a lgica na construo de programas.
Lgica de programao est relacionada ao raciocnio que
precisamos desenvolver para resolver um problema cuja soluo
dever ser implementada em um computador.
Encadear pensamentos para atingir determinado
objetivo.
Soluo de problemas

A habilidade mais importante para um cientista da


computao a soluo de problemas;
A soluo de problemas a habilidade de formular
questes, pensar criativamente sobre solues
possveis e expressar uma soluo de forma clara e
precisa;
E aprender a programar uma excelente oportunidade
de praticar as habilidades da soluo de
problemas.
Exemplos:

Diagnosticar a doena de um paciente descrio dos


sintomas, e medic-lo.

Criar um sistema de informao que permita gerir as


entradas/sadas (cargas/descargas) de navios em um
porto martimo.

Desenvolver um programa para controle da


movimentao de um rob.
ALGORITMO
Um algoritmo uma forma de representar a
soluo de um problema por meio de uma
sequncia de passos.

So exemplos de algoritmos:
Receitas de bolos
Manuais tcnicos
Guias de montagem
Programas de computadores
Exemplos de Construo de
Algoritmos

Problema:
Fazer um Bolo de Chocolate
Exemplos de Construo de
Algoritmos

Resultado:
Qual o resultado esperado?
Exemplos de Construo de
Algoritmos

Sada:
Principais aes (passo a passo)

O que preciso para se obter o


resultado desejado?
Ingredientes
Principais aes (passo a passo)
Dados de Entrada
Ingredientes:
5 ovos.
250 gramas de margarina cremosa.
2 xcaras (ch) de acar.
1 xcara (ch) de farinha de trigo.
1 xcara (ch) de chocolate.
200 gramas de cco ralado.
1 copo de leite.
1 colher (sopa) de fermento.
Principais aes (passo a passo)

Qual a sequncia necessria (de uso dos


ingredientes) para se obter o resultado
desejado?
Principais aes (passo a passo)
Processamento

Modo de Preparo:
Bata a margarina, as gemas e o acar at ficar cremoso.
Junte o leite, o coco e a farinha e continue batendo.
Acrescente o fermento e, por ltimo, as claras em neve.
Unte uma forma com manteiga e leve ao forno para assar.
Exerccio 1

Um lobo, uma cabra e uma couve tm de atravessar


um rio em um barco que transporta um de cada vez,
incluindo o barqueiro. Como o barqueiro os levar
para o outro lado de forma que a cabra no coma a
couve e o lobo no coma a cabra?
Exerccio 2
Dois homens seguiam por um caminho. Um levava 8 litros
de vinho em um garrafo e o outro levava 8 litros de vinho
em dois garrafes, um com cinco litros e um com trs.

Eles beberam o vinho do garrafo maior, de 8 litros, e agora


querem dividir os 8 litros de vinho restante igualmente, para
nenhum dos dois carregar mais peso que o outro.
Entretanto, eles s podem usar como medida, os prprios
garrafes: um de 8 litros, um de 5 e um de 3. Como fazer?

Vous aimerez peut-être aussi