Você está na página 1de 49

Algoritmos e Programação

2020
 Nome do Docente
 Fabiano Santos de Oliveira
 Formação
 Tecnólogo em Informática (UNIPAR-2004), Especialista em JAVA (2011), Especialista em Marketing de
Moda (2009), Gerente de Projetos (2010)
 Especialista em E-commerce e Tecnologias emergentes (2012)
 Experiência
• Liderou equipes de Desenvolvimento de Sistemas e Sites para Internet para diversos segmentos,
Coordenou Departamento de Marketing,
criou E-commerce´s para diversas empresas,
Professor Universitário há 10 anos
Atualmente é Gerente de E-commerce (8 anos)
 E-mail Institucional
 fabiano.oliveira@faculdadefacec.edu.br

2020
 O que esperar da disciplina?
 Qual a sua importância para o profissional formando em Engenharia Civil?
 Carga horária 80Hs.
 Aulas práticas
 Normas
 Avaliações
 Tipo(s): Teórica, Teórica e Prática – Peso 7 para parte teórica e 3 para prática (Regra)
 De 5 a 15 questões (Dissertativas e Objetivas)
 Utilização de meios fraudulentos – consequência
 Períodos Bimestrais (Média 6,0)
 2 oportunidades – mediante pagamento de taxa
 Substitutiva – mediante pagamento de taxa
 Exame

2020
2020
2020
2020
2020
2020
2020
2020
2020
 Ementa:
 Princípios e estruturas básicas de programação de computadores. Utilização das
estruturas básicas de programação de computador na resolução de problemas de
engenharia. Elaborar programas utilizando o paradigma de orientação a objetos.

 O objetivo da disciplina é o estudo e definição de métodos e técnicas que


permitam aos alunos a criação de projetos de algoritmos e utilização de software
para execução de programas e cálculos.

 Para tanto, a disciplina oferece recursos para os alunos entenderem e


exercitarem a prática da criação de programas de computador.

2020
 Plano de Ensino:
 Algoritmos:
 Conceitos e representação.
 Álgebra Booleana.
 Conectivos Lógicos e Tabela-Verdade.
 Tipos de Dados Primitivos, Constantes e Variáveis.
 Operadores Aritméticos, Relacionais e Lógicos.
 Expressões.
 Estruturas Básicas:
 Sequência, Seleção e Repetição.
 Variáveis Compostas Homogêneas e Heterogêneas.
 Conceitos de Programação Estruturada e Modular.
 Procedimentos e Funções.
 Ponteiros.
 Recursividade.

2020
 Plano de Ensino:
 Excel para Engenheiros – Apresentação

 Introdução VBA Excel


 Características Básicas e Exemplo de programão em VBA Matrizes
 Formatando Tabelas
 Formatando Gráficos
 Fórmulas
 Formulários em Excel
 Gravando Dados no Excel
 Macro Excel

2020
2020
2020
2020
 Plano de Ensino:

 O Excel é um dos softwares mais utilizados do mundo inteiro. A ferramenta é um


processador de planilhas que permite com que as pessoas realizam as mais
variadas tarefas envolvendo cálculos, números e afins. Por isso este acaba se
tornando um dos programas mais importantes de todos os profissionais que
precisam lidar com números o tempo inteiro.

 Os engenheiros também costumam trabalhar com o Excel, pois o programa


permite que sejam feitas planilhas com grandes quantidades de cálculos e
variáveis, se tornando fundamental para a realização de contas que serão muito
importantes na hora da realizar projetos.

2020
 Plano de Ensino:

 O Excel é uma das ferramentas mais importantes disponíveis para uma série de profissionais
que precisam lidar todos os dias com computador. Também aparece constantemente como
um dos pré-requisitos mais solicitados para as mais diversas vagas de trabalho. 

 Nesta Disciplina os alunos terão uma visão abrangente de uma série de funções e de
ferramentas que podem ser encontradas dentro do programa Excel e que podem ser
aplicadas no dia a dia das atividades de um engenheiro.

 O curso apresenta diversos conteúdos ensinando as técnicas e também os truques para


aprender a tirar o máximo de proveito deste programa.

2020
Programação
e
Linguagem de Programação

21
Introdução
Por que programar ?

Quando o homem necessita do auxilio do computador para


executar algumas tarefas.

O Que é um programa ?

Conjunto de instruções de uma determinada linguagem


através das quais, um computador executa algumas
tarefas.
Prof. Fabiano S. Oliveira- 22
Introdução
O Que é uma linguagem ?

Uma linguagem consiste de um conjunto de palavras


reservadas e regras de sintaxe que possibilita criar programas
de computadores.

Este conjunto de palavras possui regras de estruturação lógica e


sintática própria.

Prof. Fabiano S. Oliveira- 23


Tipos de Linguagens: Baixo Nível
 São linguagens com foco na máquina, ou
seja, utiliza instruções detalhadas que
controla os circuitos internos do computador.

 Usualmente são genéricamente chamadas de


linguagens de máquina, Assembly ou de
linguagem de montagem.

Prof. Fabiano S. Oliveira- 24


Tipos de Linguagens: Baixo Nível
 Vantagens: Maior velocidade de
processamento e ocupam menor espaço na
memória.

 Desvantagens: Pouca portabilidade, ou


seja, o código é gerado para um tipo de
processador não serve para outro.

Prof. Fabiano S. Oliveira- 25


Tipos de Linguagens: Alto Nível
 Sãolinguagens voltadas para que haja uma
maior interação entre o homem e a máquina.

 Necessitam de compiladores ou
interpretadores para gerar as instruções do
microprocessador.

Prof. Fabiano S. Oliveira- 26


Tipos de Linguagens: Alto Nível
 Vantagens: São compiladas ou
interpretadas, têm maior portabilidade
podendo ser executados em várias
plataformas com pouquíssimas
modificações.

 Desvantagens: São mais lentas e ocupam


mais memória.

Prof. Fabiano S. Oliveira- 27


Compiladores x Interpretadores
A única linguagem que o computador entende é a linguagem de máquina.
Programas escritos em um linguagem de alto nível, devem ser traduzidos para a
linguagem de máquina.

Os Programas que fazem esta tradução, classificam em:

- INTERPRETADORES
- COMPILADORES

Prof. Fabiano S. Oliveira- 28


Compiladores x Interpretadores
Os INTERPRETADORES, traduzem o código fonte em linguagem
de máquina através da interpretação de cada instrução feita a
medida que o software é executado. Necessitam de um
componente interpretador presente na máquina.

Os COMPILADORES, por sua vez, traduzem o código fonte


em linguagem de máquina através da geração de um
programa .OBJ, que após ser linkeditado, torna-se um
arquivo executável. Em C os programas são compilados.

Prof. Fabiano S. Oliveira- 29


Diagrama do Interpretador

Prof. Fabiano S. Oliveira- 30


Diagrama do Compilador

Prof. Fabiano S. Oliveira- 31


Prof. Fabiano S. Oliveira- 32
Prof. Fabiano S. Oliveira- 33
Prof. Fabiano S. Oliveira- 34
Prof. Fabiano S. Oliveira- 35
Prof. Fabiano S. Oliveira- 36
Prof. Fabiano S. Oliveira- 37
Algoritmos

Algoritmo
=
Sequência lógica e não ambígua
de instruções que leva à
solução de um problema
em um tempo finito.
Algoritmos
Um algoritmo não representa, necessariamente,
um programa de computador e sim os passos
necessários para realizar uma tarefa. Sua
implementação pode ser feita por um ser
computador, por um robô ou mesmo por um
humano. Diferentes algoritmos podem realizar
a mesma tarefa usando um conjunto
diferenciado de instruções em mais ou menos
tempo, espaço ou esforço do que outros.

https://pt.wikipedia.org/wiki/Algoritmo
Algoritmos - Exemplo
Algoritmo: Sacar dinheiro

INÍCIO
1.Ir até o caixa eletrônico.
2.Colocar o cartão.
3.Digitar a senha.
4.Solicitar o saldo.
5.Se o saldo for maior ou igual à quantia
desejada, sacar a quantia desejada;
caso contrário sacar o valor do saldo.
6. Retirar dinheiro e cartão.
7. FIM.
Algoritmos – Características básicas
 Sequência lógica
 As instruções devem ser definidas em uma
ordem correta.
 Não ambígua
 A sequência lógica e as instruções não
devem dar margem à dupla interpretação.
 Solução de um problema
A sequência lógica deve resolver
exatamente o problema identificado.
 Tempo finito
A sequência lógica não deve
possuir iterações infinitas.
Algoritmo ambíguo
• Modo de Quão cremoso?!?
preparo:
– Bata a margarina, as gemas e o açúcar até
ficar cremoso
Quanto tempo?!?

– Junte o leite, o coco e a farinha e continue


batendo
De uma vez só?!?

– Acrescente o fermento e as claras em neve


Quanto tempo?!?

– Unte uma forma com manteiga e leve ao forno


para assar
Algoritmo refinado
• Modo de preparo:
– Bata a margarina, as gemas e o açúcar por
15 minutos
– Junte o leite, o coco e a farinha e
continue batendo por mais 15 minutos
– Acrescente 20 g de fermento e, por último,
as claras em neve
– Unte uma forma com manteiga e leve ao forno
para assar por 30 minutos
Algoritmo – Estruturas
 Seqüência – Início/Fim
básicas
 Define uma estrutura onde as instruções
serão executadas na ordem que aparecem.
 Seleção – Se-Então/Senão
 Define uma estrutura condicional que, dada
a sua avaliação (V ou F), determina qual
“caminho” do algoritmo será executado.
 Repetição – Repita, Enquanto ou Para
 Define uma estrutura de iteração
condicional (V ou F) ou contada
(predefinida) de instruções que irão se
repetir.
Algoritmo – Estruturas
 Algoritmo para ligar debásicas
um telefone público

Sequência:
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. Conversar;
6. Desligar;
7. Retirar o cartão;
FIM
Algoritmo – Estruturas básicas
Algoritmo para ligar de um telefone público

INÍCIO
1.Tirar o fone do gancho;
2.Se ouvir o sinal de linha, então:
1.Introduzir o cartão;
2.Teclar o número desejado;
3.Conversar;
4.Desligar;
5.Retirar o cartão;
3.Senão
1.Ir para o próximo telefone;
4. FIM
Algoritmo – Estruturas básicas
Algoritmo para ligar de um telefone
público INÍCIO
1. Repita
1. Tirar o fone do gancho;
2. Se ouvir o sinal de linha então
1.Introduzir o cartão;
2.Teclar o número desejado;
3.Conversar;
4.Desligar;
5.Retirar o cartão;
3. Senão
Ir para o próximo telefone;
2. Até ouvir o sinal de linha Este algoritmo usa uma
3. FIM estrutura de repetição
“Repita/Até”
Conclusão
Escrever algoritmos e, por fim programar,

consiste em dividir qualquer problema em
vários passos menores, usando uma ou mais
formas de representação.

 Esses passos compõem oalgoritmo são


que denominados comandos, que por sua
de
seguem uma ordem de execução vez, determinada
estruturas de controle. por

 Os elementos (informações) manipulados por


esses comandos são os dados que são
organizados em estruturas de dados

Você também pode gostar