Buscar

Slides de Aula - Parte I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

8/18/2014
1
CCE0067 – LÓGICA DE PROGRAMAÇÃO
Prof. Joelio Piraciaba
joelio@edu.estacio.br
CAMPOS DOS GOYTACAZES
Campos dos Goytacazes, 28 de julho de 2014
APRESENTAÇÃO DA DISCIPLINA E 
HISTÓRICO DA COMPUTAÇÃOA
U
LA
 1
2ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
3
Historicamente a Engenharia exerceu forte influência no
desenvolvimento da informática, tanto na área numérica
para solução de problemas científicos, como na parte
gráfica, pressionando o desenvolvimento de recursos que
mais tarde geraram os sistemas operacionais com
interface gráfica interativa, responsáveis diretos pela
popularização do computador.
PLANO DE ENSINO
Contextualização
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 4
Ainda hoje as disciplinas de informática são fundamentais
nos modernos cursos de Engenharia, pois muitos
programas de computadores são fundamentais em todas
as etapas de um empreendimento de Engenharia, elas
utilizam conhecimentos específicos de uma determinada
especialização da Engenharia.
Para se criar uma solução automatizada de um processo
específico é fundamental o domínio do conhecimento
envolvido, tornando fundamental a presença de
engenheiros nas equipes de desenvolvimento de
software para a Engenharia.
PLANO DE ENSINO
Contextualização
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
5
Espera-se que apenas um pequeno percentual de
egressos se envolvam neste tipo de atividade. No
entanto, a capacidade desenvolvida na análise e
organização da solução dos problemas já é suficiente para
dimensionar a importância do estudo desta disciplina no
contexto do curso.
PLANO DE ENSINO
Contextualização
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 6
Organização de Computadores;
Lógica de programação;
Algoritmos e formas de representação;
Linguagens de programação;
Estrutura sequencial;
Modularização;
Estruturas de tomada de decisão;
Estruturas de repetição.
PLANO DE ENSINO
Ementa
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
2
7
Capacitar o aluno a analisar problemas simples de
engenharia e utilizar os recursos da lógica de
programação na construção de soluções automatizadas.
PLANO DE ENSINO
Objetivos gerais
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 8
Capacitar o aluno na análise de problemas simples de
engenharia;
Capacitar o aluno na criação de algoritmos que
representem a solução de problemas;
Entender os recursos da lógica de programação;
Capacitar o aluno em um ambiente de programação para
tornar possível a implementação de seus algoritmos.
PLANO DE ENSINO
Objetivos específicos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
9
Unidade I – INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO
Histórico
Organização de Computadores
Lógica de programação
Algoritmos e formas de representação
Fluxograma
Português estruturado
Linguagens de programação
PLANO DE ENSINO
Conteúdo
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10
Unidade II – ESTRUTURA SEQUENCIAL
Análise dos problemas
Algoritmos
Recursos para composição dos blocos lógicos
Memória
Dados: tipos, constantes e variáveis
Expressões aritméticas
Atribuição de valores
Entrada de dados
Saída de dados
Comentários
Recursos para desenvolvimento de programas
Ambiente de programação
Estrutura básica de um programa
Recursos da linguagem de programação
Desenvolvimento de programas para problemas sequenciais
PLANO DE ENSINO
Conteúdo
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
11
Unidade III – MODULARIZAÇÃO
Decomposição em módulos: funções e procedimentos
Funções pré-definidas pela linguagem de programação
Construção de funções
Escopo de variáveis
Tipo
Passagem de parâmetros
Desenvolvimento de programas com utilização de funções
PLANO DE ENSINO
Conteúdo
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 12
Unidade IV – ESTRUTURAS DE TOMADA DE DECISÃO
Análise dos problemas
Criação de Algoritmos
Recursos lógicos
Estrutura de seleção simples
Estrutura de seleção composta
Estruturas de seleção aninhadas
Estrutura de múltipla escolha
Recursos da linguagem de programação
Desenvolvimento de programas e funções com tomadas de
decisão
PLANO DE ENSINO
Conteúdo
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
3
13
Unidade V – ESTRUTURAS DE REPETIÇÃO
Análise dos problemas
Criação de Algoritmos
Recursos lógicos
Repetição com teste no início
Repetição com teste no final
Repetição com variável de controle
Recursos da linguagem de programação
Desenvolvimento de programas e funções com tomadas de
decisão e repetição
PLANO DE ENSINO
Conteúdo
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 14
Nome do Livro: Fundamentos da programação de
Computadores.
Autor: ASCENCIO. A. F. Gomes; CAMPOS, E. A. Veneruchi de
Editora: Pearson Prentice Hall
2ª edição
São Paulo, 2007
Capítulos
1(10 páginas),
2 (4 páginas),
3 (34 páginas),
4 (43 páginas)
5 (52 páginas)
PLANO DE ENSINO
Indicação do material didático
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
15
PLANO DE ENSINO
Mapa conceitual
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 16
O processo de avaliação oficial será composto de três
etapas, Avaliação 1 (AV1), Avaliação 2 (AV2) e Avaliação 3
(AV3).
A AV1 contemplará o conteúdo da disciplina até a sua
realização.
As AV2 e AV3 serão nacionalizadas e abrangerão todo o
conteúdo da disciplina.
PLANO DE ENSINO
Procedimentos de avaliação
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
17
Para aprovação na disciplina o aluno deverá:
Atingir resultado igual ou superior a 6,0, calculado a partir
da média aritmética entre os graus das avaliações, sendo
consideradas apenas as duas maiores notas obtidas dentre
as três etapas de avaliação (AV1, AV2 e AV3). A média
aritmética obtida será o grau final do aluno na disciplina;
Obter grau igual ou superior a 4,0 em, pelo menos, duas
das três avaliações;
Frequentar, no mínimo, 75% das aulas ministradas.
PLANO DE ENSINO
Procedimentos de avaliação
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 18
ASCENCIO. A. F. Gomes; CAMPOS, E. A. Veneruchi de;
Fundamentos da programação de Computadores, 2ed.,
São Paulo: Pearson Prentice Hall, 2007
FARRER, Harry et al. Algoritmos estruturados. 3. ed. Rio
de Janeiro: LTC, 2008.
MANZANO, José Augusto Navarro Garcia; OLIVEIRA, Jayr
Figueiredo de Algoritmos: lógica para desenvolvimento de
programação de computadores. 17. ed. São Paulo: Érica,
2005.
PLANO DE ENSINO
Bibliografia Básica
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
4
19
PLANEJAMENTO DE AULA
Segunda-feira
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
28/07 Apresentação da disciplina
04/08 Organização de computadores
11/08 Introdução à Lógica de Programação
18/08 Estrutura Sequencial –Cap. 3
25/08 Estrutura Sequencial –Cap. 3
01/09 Estruturas de Tomada de Decisão - Cap. 4
08/09 Estruturas de Tomada de Decisão - Cap. 4
15/09 Estruturas de Tomada de Decisão - Cap. 4
22/09 Estruturas de Tomada de Decisão - Cap. 4
29/09 AV1
06/10 Correção da AV1 E Estruturas de Repetição –Cap. 5
13/10 Estruturas de Repetição –Cap. 5
20/10 Estruturas de Repetição –Cap. 5
27/10 Estruturas de Repetição –Cap. 5
03/11 Estruturas de Repetição –Cap. 5
10/11 Modularização
17/11 Exercícios
24/11 Dúvidas
01/12 AV2
08/12Correção da AV2
15/12 AV3
20
PLANEJAMENTO DE AULA
Terça-feira
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
29/07 Apresentação da disciplina
05/08 Organização de computadores
12/08 Introdução à Lógica de Programação
19/08 Estrutura Sequencial –Cap. 3
26/08 Estrutura Sequencial –Cap. 3
02/09 Estruturas de Tomada de Decisão - Cap. 4
09/09 Estruturas de Tomada de Decisão - Cap. 4
16/09 Estruturas de Tomada de Decisão - Cap. 4
23/09 Estruturas de Tomada de Decisão - Cap. 4
30/09 AV1
07/10 Correção da AV1 E Estruturas de Repetição –Cap. 5
14/10 Estruturas de Repetição –Cap. 5
21/10 Estruturas de Repetição –Cap. 5
28/10 Estruturas de Repetição –Cap. 5
04/11 Estruturas de Repetição –Cap. 5
11/11 Modularização
18/11 Dúvidas
25/11 AV2
02/12 Entrega e Correção da AV2
09/12 AV3
21
PLANEJAMENTO DE AULA
Quarta-feira
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
30/07 Apresentação da disciplina
06/08 FERIADO
13/08 Organização de computadores
20/08 Introdução à Lógica de Programação
27/08 Estrutura Sequencial –Cap. 3
03/09 Estrutura Sequencial –Cap. 3
10/09 Estruturas de Tomada de Decisão - Cap. 4
17/09 Estruturas de Tomada de Decisão - Cap. 4
24/09 Estruturas de Tomada de Decisão - Cap. 4
01/10 AV1
08/10 Correção da AV1 E Estruturas de Repetição –Cap. 5
15/10 FERIADO
22/10 Estruturas de Repetição –Cap. 5
29/10 Estruturas de Repetição –Cap. 5
05/11 Estruturas de Repetição –Cap. 5
12/11 Modularização
19/11 Dúvidas
26/11 AV2
03/12 Entrega e Correção da AV2
10/12 AV3
22
PLANEJAMENTO DE AULA
Quinta-feira
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
31/07 Apresentação da disciplina
07/08 Organização de computadores
14/08 Introdução à Lógica de Programação
21/08 Estrutura Sequencial –Cap. 3
28/08 Estrutura Sequencial –Cap. 3
04/09 Estruturas de Tomada de Decisão - Cap. 4
11/09 Estruturas de Tomada de Decisão - Cap. 4
18/09 Estruturas de Tomada de Decisão - Cap. 4
25/09 AV1
02/10 Correção da AV1 E Estruturas de Repetição –Cap. 5
09/10 Estruturas de Repetição –Cap. 5
16/10 Estruturas de Repetição –Cap. 5
23/10 Estruturas de Repetição –Cap. 5
30/10 Estruturas de Repetição –Cap. 5
06/11 Modularização
13/11 Exercícios
20/11 Dúvidas
27/11 AV2
04/12 Entrega e Correção da AV2
11/12 AV3
23
PLANEJAMENTO DE AULA
Sexta-feira
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
25/06 Apresentação da disciplina
01/08 Organização de computadores
08/08 Introdução à Lógica de Programação
15/08 Estrutura Sequencial –Cap. 3
22/08 Estrutura Sequencial –Cap. 3
29/08 Estruturas de Tomada de Decisão - Cap. 4
05/09 Estruturas de Tomada de Decisão - Cap. 4
12/09 Estruturas de Tomada de Decisão - Cap. 4
19/09 Estruturas de Tomada de Decisão - Cap. 4
26/09 AV1
03/10 Correção da AV1 E Estruturas de Repetição –Cap. 5
10/10 Estruturas de Repetição –Cap. 5
17/10 Estruturas de Repetição –Cap. 5
24/10 Estruturas de Repetição –Cap. 5
31/10 Estruturas de Repetição –Cap. 5
07/11 Modularização
14/11 Exercícios
21/11 Dúvidas
28/11 AV2
05/12 Entrega e Correção da AV2
12/12 AV3
HISTÓRICO DA COMPUTAÇÃO
Filme
24ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
5
HISTÓRICO DA COMPUTAÇÃO
Filme
25ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
HISTÓRICO DA COMPUTAÇÃO
Filme
26ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
27
HISTÓRICO DA COMPUTAÇÃO
Filme
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 28
HISTÓRICO DA COMPUTAÇÃO
Filme
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
ORGANIZAÇÃO DE COMPUTADORES
A
U
LA
 2
29ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 30
Informática - É o ramo de conhecimento que cuida dos
conceitos, procedimentos e técnicas referentes ao
processamento ou tratamento de conjuntos de dados.
Computador - Máquina à base de circuitos eletrônicos que
efetua grandes operações e cálculos gerais de maneira
ultrarrápida.
Dados - Toda e qualquer informação ou fato que chega para
ser processada. Exemplos : Nome de um funcionário, número
de horas trabalhadas em um mês , número de peças em
estoque, etc.
Informação - é o conjunto de dados processados pelo
computador.
ORGANIZAÇÃO DE COMPUTADORES
Conceitos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
6
31
Software - são os programas que utilizamos para um
computador funcionar. (Tendo como principal
característica de instruir a maquina.
Hardware - é todo o equipamento do computador, ou
seja, impressora, o winchester (HD) e etc.
Processamento de dados - é todo ato de realizar e
conferir o processo de transformação de dados, com o
objetivo de se obter resultados através de dados iniciais.
ORGANIZAÇÃO DE COMPUTADORES
Conceitos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 32
Os computadores são organizados por uma composição
de hardware que comunicam entre si trocando
mensagens.
Os hardwares são considerados como componentes ou
periféricos.
ORGANIZAÇÃO DE COMPUTADORES
Conceitos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
33
Componentes de um computador.
MotherBoard (Placa Mãe) - Componente de organização.
Faz a distribuição da informação entre os outros
componentes.
Todos os demais componentes, devem ser diretamente
conectados a placa mãe.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 34
Exemplo de Motherboard.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
35
Componentes de um computador.
Memória Principal RAM - Armazena as informações
utilizadas no momento. Também chamamos de memória
de trabalho.
Memória Principal ROM - Armazena informações sobre o
funcionamento da máquina.
Memória Cache – Armazena as últimas instruções que
foram executadas.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 36
Exemplos de Memória RAM
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
7
37
Componentes de um computador.
Memória Secundária Hard Disk - Armazena as informações
de forma permanente para serem reutilizadas. O HD é
apenas uma unidade de armazenamento e não de trabalho
como a RAM.
O HD armazena e identifica as informações por
magnetismo, movendo cada bit para esquerda ou direita,
ou ainda, para cima ou para baixo.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 38
Exemplo de um Hard Disk.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
39
Componentes de um computador.
Memória Secundária CD-ROM - Mídia óptica utilizada para
armazenar informações com a facilidade de locomoção
entre uma máquina e outra.
O CD-ROM utiliza a técnica do laser para gravar e
identificar os bits.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 40
Componentes de um computador.
Processador - Considerado como o cérebro do
computador, tem a função de executar todos os cálculos
responsáveis pelo processamento.
O processador, também chamado de CPU – Unidade
Central de Processamento, divide-se em unidade de
controle e unidade lógica e aritmética.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
41
Componentes de um computador.
Unidade de Controle - É responsável pelo “tráfico” dos
dados, interpretandoas requisições de entrada e
encaminhando o resultado do processamento.
ULA (Unidade Lógica e Aritmética) - Onde realmente são
executados os cálculos aritméticos, comparações lógicas e
qualquer manipulação de dados.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 42
Exemplo de um processador.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
8
43
A velocidade que um processador pode executar as suas
operações é medida em Hertz. Logo quanto maior for a
quantidade de hertz que o processador trabalhe menor
será o seu tempo de resposta. Obviamente quanto maior
a velocidade do ciclo, mais calor irá gerar o circuito.
Atualmente a velocidade dos processadores encontra-se
medida em Gigahertz ou GHz.
ORGANIZAÇÃO DE COMPUTADORES
Componentes
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 44
Tabela ASCII
ORGANIZAÇÃO DE COMPUTADORES
Representação dos Dados
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
45
Conversão do caractere A para binário
ORGANIZAÇÃO DE COMPUTADORES
Representação dos Dados
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 46
A unidade de representação do computador é o bit (0 ou
1) e para representar a quantidade de bits que uma
memória pode armazenar usaremos as grandezas físicas.
8 bits = 1 Byte (1 caractere)
1 KByte (Quilo Byte) = 1024 Bytes
1 MByte (Mega Byte) = 1024 KBytes
1 GByte (Giga Byte) = 1024 MBytes
1 TByte (Tera Byte) = 1024 GBytes
ORGANIZAÇÃO DE COMPUTADORES
Exercício
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
47
Uma página de um livro possui 50 linhas e pode-se digitar
80 caracteres em cada linha. Cada caractere corresponde
a 8 bits no sistema binário utilizado. Nessa situação, se o
livro contiver 300 páginas de texto terá,
aproximadamente, o seguinte valor:
4 KBytes
1,2 MBytes
3,2 MBytes
4.000 Bytes
12.000 Bytes
ORGANIZAÇÃO DE COMPUTADORES
Exercício
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 48
Exercício (Solução)
50 linhas X 80 caracteres = 4.000 caracteres (bytes)
4.000 bytes por página X 300 páginas = 1.200.000 bytes ao
total
1.200.000 / 1024 = 1.171,875 KBytes
1.171,875 / 1024 = 1,1444091796875 MBytes
ORGANIZAÇÃO DE COMPUTADORES
Exercício
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
9
49
Periféricos de um computador.
São hardwares adicionais para auxiliar o usuário a trocar
informações com o computador, ou seja, executar a
entrada e/ou saída de informações.
ORGANIZAÇÃO DE COMPUTADORES
Periféricos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 50
Periféricos de entrada.
Teclado
Mouse
Microfone
Scanner
ORGANIZAÇÃO DE COMPUTADORES
Periféricos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
51
Periféricos de saída.
Monitor
Impressora
Caixa de Som
ORGANIZAÇÃO DE COMPUTADORES
Periféricos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 52
ORGANIZAÇÃO DE COMPUTADORES
Processamento de Dados
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
INTRODUÇÃO À LÓGICA DE 
PROGRAMAÇÃOA
U
LA
 3
53ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 54
Lógica trata da correção do pensamento
Poderíamos dizer também que a Lógica é a arte de pensar
corretamente e, visto que a forma mais complexa do
pensamento é o raciocínio, a Lógica estuda ou tem em
vista a correção do raciocínio. Isso dá a entender que a
nossa razão pode funcionar desordenadamente, pode pôr
as coisas de pernas para o ar.
Por isso a Lógica ensina a colocar Ordem no Pensamento
NOÇÕES DE LÓGICA
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
10
55
Exemplo A:
Todo o mamífero é animal.
Todo cavalo é mamífero.
Portanto, todo cavalo é ___________.
Exemplo B:
Todo mamífero bebe leite.
O homem é mamífero.
Portanto, todo homem é ________e_________.
NOÇÕES DE LÓGICA
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 56
Sempre que pensamos, o raciocínio e a lógica nos
acompanham necessariamente.
Daí percebemos a importância da Lógica na nossa vida
não só na teoria, como também na prática, já que quando
queremos pensar, falar ou escrever corretamente
precisamos colocar em Ordem o Pensamento, isto é,
utilizar a Lógica
EXISTE LÓGICA NO DIA A DIA?
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
57
Exemplos:
A gaveta está fechada
A bala está na gaveta
Preciso primeiro abrir a gaveta, para depois pegar a bala.
João é mais velho que José
Marcelo é mais novo que José
Portanto, __________________________
EXISTE LÓGICA NO DIA A DIA?
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 58
Elabore um algoritmo que mova três discos de uma Torre
de Hanói, que consiste em três hastes (a – b – c), uma das
quais serve de suporte para três discos de tamanhos
diferentes (1 – 2 – 3 ), os menores sobre os maiores.
Pode-se mover um disco de cada vez para qualquer haste,
contanto que nunca seja colocado um disco maior sobre
o menor. O objetivo é transferir os três discos para outra
haste.
TORRE DE HANÓI
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
1
2
3
a b c
http://www.prof2000.pt/users/pjca/jogos_ficheiros/hanoi/torre%20de%20hanoi.html
59
Três jesuítas e três canibais precisam atravessar um rio;
para tanto dispõem de um barco com capacidade para
duas pessoas. Por medidas de segurança, não se deve
permitir que em alguma margem a quantidade de
jesuítas seja inferior à de canibais. Elabore uma sequência
de passos indicando as ações necessárias para que a
travessia seja feita de forma segura.
TRÊS JESUITAS E TRÊS CANIBAIS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
http://www.mdig.com.br/index.php?itemid=765
60
O conceito central da programação e da ciência da
computação é o de algoritmos. Programar é basicamente
construir algoritmos.
Um algoritmo é a descrição de um padrão de
comportamento, expressado em termos de um repertório
bem definido e finito de ações “primitivas”, das quais
damos por certo que elas podem ser executadas.
ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
11
61
"Algoritmo é uma sequência de passos que visa atingir um objetivo bem
definido." (FORBELLONE, 1999)
"Algoritmo é a descrição de uma sequência de passos que deve ser seguida
para a realização de uma tarefa." (ASCENCIO, 1999)
"Algoritmo é uma sequência finita de instruções ou operações cuja
execução, em tempo finito, resolve um problema computacional, qualquer
que seja sua instância." (SALVETTI, 1999)
"Algoritmo são regras formais para a obtenção de um resultado ou da
solução de um problema, englobando fórmulas de expressões aritméticas."
(MANZANO, 1997)
"Ação é um acontecimento que, a partir de um estado inicial, após um
período de tempo finito, produz um estado final previsível e bem definido.
Portanto, um algoritmo é a descrição de um conjunto de comandos que,
obedecidos, resultam numa sucessão finita de ações." (FARRER, 1999).
ALGORITMOS (Conceitos)
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 62
Outro conceito de Algoritmo é, formalmente, uma
sequência finita de passos que levam a execução de uma
tarefa, ou seja, a atingir um objetivo. Nesta pequena
definição de algoritmo deve-se notar a existência de três
ideias básicas:
Sequência: uma ordem de execução das instruções;
Finita: a sequênciade passos a serem executados deve ser
finita; e
Objetivo: um algoritmo é desenvolvido para se atingir um
determinado objetivo.
ALGORITMOS (Conceitos)
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
63
Exemplo de algoritmo sequencial
“traga a cesta com batatas do porão”;
“traga a panela do armário”;
“descasque as batatas”;
“devolva a cesta ao porão”;
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 64
Exemplo de algoritmo com condição simples
“traga a cesta com batatas do porão”;
“traga a panela do armário”;
“Se saia é clara” Então “coloque avental”;
“descasque as batatas”;
“devolva a cesta ao porão”;
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
65
Exemplo simples de algoritmo com repetição
“traga a cesta com batatas do porão”;
“traga a panela do armário”;
“descasque uma batata”;
“descasque uma batata”;
…
“descasque uma batata”;
“devolva a cesta ao porão”;
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
13
 V
ez
es
66
Somar três números
Receber os três números.
Somar os três números.
Mostrar o resultado obtido.
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
12
67
Fazer um sanduíche (outro exemplo)
Pegar o pão.
Cortar o pão ao meio.
Pegar a maionese.
Passar a maionese no pão.
Pegar e cortar alface e tomate.
Colocar alface e tomate no pão
Pegar o hambúrguer.
Fritar o hambúrguer.
Colocar o hambúrguer no pão.
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 68
Trocar a Lâmpada
Pegar uma lâmpada nova.
Pegar uma escada.
Posicionar a escada embaixo da lâmpada queimada
Subir na escada com a lâmpada nova na mão.
Retirar a lâmpada queimada.
Colocar a lâmpada nova.
Descer da escada.
Testar o interruptor.
Guardar a escada.
Jogar a lâmpada velha no lixo.
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
69
Ir para Escola
Acordar cedo.
Ir ao banheiro.
Abrir o armário para escolher uma roupa.
Se o tempo estiver quente então pegar uma camiseta e
uma calça jeans; caso contrário, pegar um agasalho e uma
calça jeans.
Vestir a roupa escolhida.
Tomar café.
Pegar uma condução.
Descer próximo à escola.
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 70
Sacar dinheiro do banco 24 horas
Ir até o banco 24 horas.
Colocar o cartão.
Digitar a senha
Solicitar a quantia desejada.
Se o saldo for maior ou igual à quantia desejada então
sacar; caso contrário, mostrar mensagem de
impossibilidade de saque.
Retirar o cartão.
Sair do banco 24 horas.
EXEMPLOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
71
Compreender completamente o problema a ser resolvido, destacando
os pontos mais importantes (“verbos”) e os objetos que o compõem.
Definir os dados de entrada, ou seja, quais dados serão fornecidos e
quais objetos fazem parte desse cenário-problema.
Definir o processamento, ou seja, quais cálculos serão efetuados e quais
as restrições para esses cálculos. O processamento é responsável pela
transformação dos dados de entrada em dados de saída. Além disso,
deve-se verificar quais objetos são responsáveis pelas atividades.
Definir os dados de saída, ou seja, quais dados serão gerados depois do
processamento.
Construir o algoritmo utilizando um dos tipos descritos na próxima
seção.
Testar o algoritmo realizando simulações.
PASSOS PARA CONSTRUÇÃO DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 72
Fluxograma
Pseudocódigo ou Portugol
TIPOS DE ALGORITMOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
13
73
Fluxograma consiste em analisar o enunciado do
problema e escrever, utilizando símbolos gráficos pré-
definidos, os passos a serem seguidos para sua resolução.
Vantagem: o entendimento de elementos gráficos é mais
simples que o entendimento de textos.
Desvantagem: é necessário aprender a simbologia dos
fluxogramas e, além disso, o algoritmo resultante não
apresenta muitos detalhes, dificultando sua transcrição
para um programa.
Pseudocódigo ou Portugol
FLUXOGRAMA
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 74
FLUXOGRAMA
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
75
O pseudocódigo ou portugol consiste em analisar o
enunciado do problema e escrever, por meio de regras
predefinidas, os passos a serem seguidos para sua
resolução.
Vantagem: a passagem do algoritmo para qualquer
linguagem de programação é quase imediata, bastando
conhecer as palavras reservadas dessa linguagem que
serão utilizadas.
Desvantagem: é necessário aprender as regras do
pseudocódigo.
PSEUDOCÓDIGO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 76
Algoritmo para multiplicar dois números
EXEMPLO DE ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Narrativa
1. Receber dois
números que serão
multiplicados.
2. Multiplicar os
números.
3. Mostrar o resultado
obtido na
multiplicação.
Fluxograma Pseudocódigo
ALGORITMO
DECLARE N1, N2, M NUMERICO
ESCREVA “DIGITE DOIS NUMEROS”
LEIA N1, N2
M N1*N2
ESCREVA “MULTIPLICAÇÃO=“, M
FIM_ALGORITMO
77
Algoritmo para dividir dois números
EXEMPLO DE ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Narrativa
1. Receber dois números
que serão divididos.
2. Se o segundo número
for igual a zero, então
não poderá ser feita a
divisão, pois não existe
divisão por zero; caso
contrário, dividir os
números e mostrar o
resultado da divisão.
Fluxograma Pseudocódigo
ALGORITMO
DECLARE N1, N2, D NUMÉRICO
ESCREVA "Digite dois números" 
LEIA N1, N2
SE N2 = 0 
ENTÃO
ESCREVA "Impossível dividir“
SENÃO
INÍCIO
D N1/N2
ESCREVA "Divisão = “, D
FIM
FIM_ALG0RITM0.
78
Algoritmo para calcular a média e mostrar a situação
EXEMPLO DE ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Narrativa
1. Receber as duas notas.
2. Calcular a média
aritmética.
3. Mostrar a média
aritmética.
4. Se a média aritmética
for maior ou igual a 7,
então a situação do
aluno é aprovado; caso
contrário, a situação é
reprovado.
Fluxograma Pseudocódigo
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite as duas notas” 
LEIA N1, N2 
M (N1 + N2) /2 
ESCREVA "Média = ",M 
SE M >= 7
ENTÃO ESCREVA "Aprovado" 
SENÃO ESCREVA "Reprovado" 
FIM ALGORITMO.
8/18/2014
14
79
Algoritmo para calcular o salário. Sabe-se que os funcionários que recebem
até R$500,00 terão aumento de 20% os demais terão aumento de 10%
EXEMPLO DE ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Narrativa
1. Receber o salário atual
do funcionário.
2. Se o salário atual do
funcionário for de até
R$ 500, calcular o novo
salário com percentual
de aumento de 20%;
caso contrário, calcular
o novo salário com
percentual de aumento
de 10%.
3. Mostrar o novo salário.
Fluxograma Pseudocódigo
ALGORITMO
DECLARE SAL_ATUAL, 
NOVO_SAL NUMÉRICO
ESCREVA "Digite o salário atual 
do funcionário"
LEIA SAL_ATUAL
SE SAL_ATUAL ≤ 500
ENTÃO NOVO_SAL 
SAL_ATUAL * 1,2 0 .
SENÃO N0V0_SAL SAL_ATUAL 
* 1,10
ESCREVA "Novo salário = 
",N0V0_SAL
FIM_ALGORITMO.
80
Em relação a algoritmos:
I. É uma sequência lógica de instruções que devem ser seguidas para a resolução de um
problema ou paraexecução de uma tarefa
II. Os algoritmos não podem ser utilizados na área das ciências cognitivas devido a sua
interpretação ambígua
III. Os algoritmos podem construir uma parte importante da documentação de sistemas, pois
descrevem as tarefas a serem realizadas pelos programas
Dadas a sentenças, podemos afirmar que:
a) As afirmativas I e II são verdadeiras
b) As afirmativas II e III são falsas
c) As afirmativas I e III são falsas
d) As afirmativas I e II são falsas
e) As afirmativas I e III são verdadeiras
EXERCÍCIO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
ESTRUTURA SEQUENCIAL
A
U
LA
 4
 e
 5
81ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 82
Linguagem de programação é um método padronizado
para expressar instruções para um computador. Uma
linguagem permite que um programador especifique
precisamente sobre quais dados um computador vai
atuar, como estes dados serão armazenados ou
transmitidos e quais ações devem ser tomadas sob várias
circunstâncias.
LINGUAGEM
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
83
As etapas para o desenvolvimento de um programa são:
Análise - Nesta etapa estuda-se o enunciado do problema
para definir os dados de entrada, o processamento e os
dados de saída.
Algoritmo - Ferramentas do tipo descrição narrativa,
fluxograma ou português estruturado são utilizadas para
descrever o problema com suas soluções.
Codificação - O algoritmo é transformado em códigos; da
linguagem de programação escolhida para se trabalhar.
Portanto, um programa é a codificação de um algoritmo
em uma linguagem de programação (ASCENCIO, 1999).
CONCEITOS BÁSICOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 84
A linguagem C foi o primeiro a implementá-la usando um
computador DEC PDP-11, que utilizava o sistema operacional Unix.
O marco inicial foi uma linguagem chamada BCPL, desenvolvida
por Martin Richards, que teve forte influência em uma linguagem
denominada B, inventada por Ken Thompson. Na década de 1970,
B levou ao desenvolvimento de C.
Várias implementações de C foram criadas, gerando, assim, muitas
discrepâncias. Para resolver tal situação, o ANSI (American
National Standards Institute) .
A linguagem C++ é uma extensão da linguagem C. Os incrementos
encontrados na linguagem C++ foram feitos para dar suporte à
programação orientada a objetos. A sintaxe dessa linguagem é
basicamente a mesma da linguagem C.
LINGUAGEM C/C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
15
85
Um algoritmo e, posteriormente, um programa, recebem
dados, que precisam ser armazenados no computador
para serem utilizados no processamento. Esse
armazenamento é feito na memória.
Todos os computadores trabalham com sistema numérico
binário. Neste sistema, os dados são transformados em 0
e 1 ('zeros' e 'uns') para, então, serem armazenados na
memória. Cada dígito binário (0 ou 1) ocupa porções de
memória chamadas bytes (8 bits), e cada byte é
identificado e acessado por meio de um endereço.
CONCEITO DE VARIÁVEL
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 86
Todos os caracteres existentes possuem um
correspondente numérico na tabela ASCII, que é
transformado em caractere binário pelo método da
divisão para, então, ser armazenado na memória.
Desta maneira, uma variável representa uma posição de
memória. Possui nome e tipo e seu conteúdo pode variar
ao longo do tempo, durante a execução de um programa.
Embora uma variável possa assumir diferentes valores,
ela só pode armazenar um valor a cada instante.
CONCEITO DE VARIÁVEL
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
87
Todo computador possui uma tabela de alocação que
contém o nome da variável, seu tipo (para saber quantos
bytes ocupará) e seu endereço inicial de armazenamento.
Dessa maneira, quando queremos buscar algum dado na
memória, basta sabermos o nome da variável que o
computador, por meio da tabela de alocação, busca
automaticamente.
CONCEITO DE VARIÁVEL
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 88
Os tipos de dados mais utilizados são:
Numéricos;
Lógicos;
Literais ou caracteres.
TIPOS DE DADOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
89
Os dados numéricos dividem-se em dois grupos: inteiros e
reais.
Os números inteiros podem ser positivos ou negativos e não
possuem parte fracionária. Exemplos:
-23
98
0
Os números reais podem ser positivos ou negativos e possuem
parte fracionária. Exemplos:
23.45
346.89
-34.88
0.0
TIPOS DE DADOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 90
São também chamados dados booleanos (por causa da
álgebra de Boole) e podem assumir os valores verdadeiro
ou falso. Exemplos:
True
False
TIPOS DE DADOS (LÓGICOS)
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
16
91
São dados formados por um único caractere ou por uma
cadeia de caracteres. Esses caracteres podem ser as letras
maiúsculas, as letras minúsculas, ou números (não
podem ser usados para cálculos) e os caracteres especiais
(&, #, @, ?, +). Exemplos:
“aluno”
“1234”
“@ internet”
“0.34”
“1 + 2”
TIPOS DE DADOS (LITERAIS)
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 92
Os identificadores são os nomes das variáveis, dos
programas, das constantes, das rotinas, das unidades etc.
As regras básicas para a formação dos identificadores são:
Os caracteres que você pode utilizar são: os números, as letras
maiúsculas, as letras minúsculas e o caractere sublinhado.
O primeiro caractere deve ser sempre uma letra ou o caractere
sublinhado.
Não são permitidos espaços em branco e caracteres especiais
(@,$, +, -, %, !).
Não podemos usar as palavras reservadas nos identificadores,
ou seja, palavras que pertençam a uma linguagem de
programação.
FORMAÇÃO DE IDENTIFICADORES
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
93
EXEMPLOS DE IDENTIFICADORES
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Identificadores Válidos
A
a
nota
NOTA
X5
A32
NOTA1
MATRICULA
Nota_1
dia
Identificadores Inválidos
5b - por começar com número;
e 12 - por conter espaço em branco;
x-y - por conter o caractere especial;
prova 2n - por conter espaço em
branco;
nota(2) - por conter os caracteres
especiais ();
case - por ser palavra reservada;
set - por ser palavra reservada.
94
As variáveis são declaradas após a palavra declare e os
tipos mais utilizados são: numérico (para variáveis que
receberão números), literal (para variáveis que receberão
caracteres) e lógico (para variáveis que receberão apenas
dois valores: verdadeiro ou falso).
Exemplo:
declare
x numérico
y, z literal
teste lógico
DECLARAÇÃO DE VARIÁVEIS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
95
O comando de atribuição é utilizado para conceder
valores ou operações a variáveis, sendo representado
pelo símbolo 
Exemplo:
X 4
X X+2
Y “aula”
teste falso
COMANDO DE ATRIBUIÇÃO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 96
O comando de entrada é utilizado para receber dados
digitados pelo usuário, que serão armazenados em
variáveis. Esse comando é representado pela palavra leia.
Exemplo:
leia x
Um valor digitado pelo usuário será armazenado na variável x.
COMANDO DE ENTRADA EM ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
17
97
O comando de saída é utilizado para mostrar dados na
tela ou na impressora. Essecomando é representado pela
palavra escreva, e os dados podem ser conteúdos de
variáveis ou mensagens.
Exemplo:
escreva x
Mostra o valor armazenado na variável x.
escreva "conteúdo de y = " , y
Mostra a mensagem "Conteúdo de y = " e em seguida o valor
armazenado na variável y.
COMANDO DE SAÍDA EM ALGORITMO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 98
Crie um algoritmo em descrição narrativa para ler
duas notas de um aluno e calcular a média final. M =
(n1+n2)/2.
Crie um algoritmo em fluxograma para calcular a área
de uma sala, permitindo que o usuário informe o
comprimento e largura. A = c*l
Crie um algoritmo em pseudo código para calcular o
IMC de uma pessoa. IMC = p/h2
Crie um algoritmo em pseudo código para calcular a
conversão de graus para radianos. R = π * g/180.
EXERCÍCIOS
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
99
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 100
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
101
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
C
o
m
p
ila
r 
(C
tr
l+
F
9
)
E
xe
cu
ta
r 
(C
tr
l+
F
1
0
)
C
o
m
p
ila
r 
e
 e
xe
cu
ta
r 
(F
9
)
102
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
E
sc
o
lh
e
r 
a
 p
a
st
a
Escolher o nome e o 
tipo de arquivo como 
C source files (*.c) ou 
como C++ sources 
files (*.cpp)
8/18/2014
18
103
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 104
COMPILADOR DEV-C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
105
As bibliotecas são arquivos contendo várias funções que
podem ser incorporadas aos programas escritos em C++. A
diretiva #include faz com que o texto contido na biblioteca
especificada seja inserido no programa.
As bibliotecas iostream e conio permitem a utilização de
diversos comandos de entrada e saída.
A biblioteca math.h permite que o programador utilize as
funções matemáticas.
A biblioteca time.h permite o uso da função randômica que
tem o objetivo de gerar números aleatórios.
A biblioteca locale.h permite que o programador defina a
língua que o seu programa será executado.
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 106
É importante salientar que a linguagem C++ é sensível
a letras maiúsculas e minúsculas, ou seja, considera
que letras maiúsculas são diferentes de minúsculas
(por exemplo, a é diferente de A). Sendo assim, todos
os comandos devem, obrigatoriamente, ser escritos
com letras minúsculas.
Em C++ cada comando é finalizado com o sinal de
ponto-e-vírgula.
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
107
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
setlocale(LC_ALL,”Portuguese”);
cout<<“Aqui está: Esse é o meu\n\tPrimeiro Programa!!”;
system("pause");
return 0;
}
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 108
As variáveis são declaradas após a especificação de
seus tipos.
int (para números inteiros);
float (para números reais);
char (para um caractere);
bool (para valores lógicos);
string (para cadeia de caracteres);
TIPOS DE DADOS EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
19
109
int x; Tipo inteiro
Declara uma variável chamada x em que pode ser armazenado
um número inteiro.
float y, z; Tipo real (ponto flutuante)
Declara duas variáveis chamadas y e z em que podem ser
armazenados dois números reais.
char sexo; Tipo caractere
Declara uma variável chamada sexo em que pode ser
armazenado um caractere.
char nome[40]; Tipo string
Declara uma variável chamada nome em que podem ser
armazenados até 40 caracteres.
TIPOS DE DADOS EM C++
Exemplo de declaração
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 110
O comando de atribuição é utilizado para conceder
valores ou operações a variáveis, sendo representado
por = (sinal de igualdade).
Exemplo:
x = 4;
x = x + 2;
y = 2.5;
sexo = ' F ';
LINGUAGEM C++
Comandos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
111
Em C++, os caracteres são representados entre
apóstrofos ( ' ). As cadeias de caracteres devem ser
representadas entre aspas ( " ).
Caso seja necessário armazenar uma cadeia de
caracteres dentro de uma variável, deve-se utilizar
uma função para manipulação de caracteres,
conforme apresentado a seguir:
strcpy(nome, "João"); //tipo char
LINGUAGEM C++
Comandos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 112
O comando de entrada é utilizado para receber dados digitados pelo
usuário. Os dados recebidos são armazenados em variáveis. Os
comandos de entrada mais utilizados na linguagem C++ são cin, gets.
Exemplo:
cin>>x;
Um valor digitado pelo usuário será armazenado na variável x.
gets(nome);
Um ou mais caracteres digitados pelo usuário serão armazenados
na variável nome.
getline(cin, nome);
Um ou mais caracteres digitados pelo usuário serão armazenados
na variável nome do tipo string.
LINGUAGEM C++
Comando de entrada
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Operador de extração
113
O comando de saída é utilizado para mostrar dados na
tela ou na impressora. O comando de saída utilizado na
linguagem C++ é o cout.
Exemplo:
cout << x;
Mostra o valor armazenado na variável x.
cout << “Conteúdo de X = “ << x;
Mostra a mensagem "Conteúdo de x = “ e em seguida o valor
armazenado na variável x.
Obs.: Os caracteres \t e \n quando associados ao comando cout permitem
que o programa execute, respectivamente, uma tabulação e uma
mudança de linha.
LINGUAGEM C++
Comando de saída
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Operador de inserção
114
Comentários são textos que podem ser inseridos em
programas com o objetivo de documentá-los. Eles não são
analisados pelo compilador.
Os comentários podem ocupar uma ou várias linhas,
devendo ser inseridos nos programas utilizando-se os
símbolos /* */ ou //.
Exemplo
/* linhas de comentário */
– A região de comentário é aberta com os símbolos de /* e encerrada com
os símbolos */
// Comentário
– A região de comentário é aberta com os símbolos // e será encerrada
automaticamente ao final da linha.
LINGUAGEM C++
Comentários
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
20
115
O operador % só pode ser utilizado com operandos do
tipo inteiro.
LINGUAGEM C++
Operadores aritméticos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 116
LINGUAGEM C++
Operadores matemáticos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
117
LINGUAGEM C++
Operadores relacionais
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 118
cbrt(x)- calcula raiz cubica de x ou pow(x,1.0/3.0);
LINGUAGEM C++
Funções matemáticas
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
119
As funções sin, cos e tan esperam receber argumentos no
formato de radianos; para receberem argumentos em
graus, siga o próximo exemplo.
Exemplo com variável para o valor de n:
valorpi = 3.1415;
cin>> x; //x em graus
y= sin ((valorpi * x) / 180);
Exemplo utilizando a função M_PI:
cin>>x; //x EM GRAUS
y= sin ((M_PI* x) / 180);
Linguagem C++
Observações
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 120
Linguagem C++
Palavras reservadas
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
21
121
Faça um algoritmo em linguagem natural para uma
receita de bolo.
Solução:
Misture os ingredientes
Unte a forma com manteiga
Despeje a mistura na forma
Se houver chocolate em pedaços então despeje sobre a mistura
Leve a forma ao forno
Enquanto não corar deixe a forma no forno
Retire do forno
Deixe esfriar
EXERCICIOS
Proposta 1
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 122
Faça um algoritmo em linguagem natural para o evento
tomar banho
Solução:
Entrar no banheiro e tirar a roupa
Abrir a torneira do chuveiro
Entrar na água
Ensaboar-se
Enxaguar-se
Sair da água
Fechar a torneira
Enxugar-se
Vestir-se
EXERCICIOS
Proposta 2
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
123
Faça um algoritmo em pseudocódigo para calcular o valor
de y com função de x, segundo a função y(x) = 3x + 2,
num domínio real.
Solução:
Algoritmo FUNCAO_DE_X
Declare X,Y Real;
Escreva (“Informe o valor de X”);
Leia (X);
Y 3 * X + 2;
Escreva (“O valor de y foi = “, Y);
Fim Algoritmo
EXERCICIOS
Proposta 3
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 124
Em relação à lógica considere os pseudocódigos
EXERCICIOS
Proposta 4
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
125
Somente alg1 tem consistência em sua representação e
chega a um resultado
Ambos os algoritmos abordam o mesmo problema e
chegam ao mesmo resultado
Somente alg2 tem consistência em sua representação e
chega a um resultado
O resultado da solução apresentada por alg2 é maior do
que a de alg1
O resultado da solução apresentada por alg2 é menor do
que a de alg1
EXERCICIOS
Proposta 4
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 126
De acordo com o exemplo de definição de variáveis,
afirmar se é verdadeiro ou falso.
NOME : literal[10]
IDADE : inteiro
SALARIO : real
TEM_FILHOS : lógico
CPF: literal[30].
EXERCICIOS
Proposta 5
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
8/18/2014
22
127
( V ) A variável NOME, capaz de armazenar dados literais
de comprimento 10 (dez caracteres);
( V ) A variável IDADE, capaz de armazenar um número
inteiro;
( V ) A variável SALÁRIO, capaz de armazenar um número
real;
( V ) A variável TEM_FILHOS, capaz de armazenar uma
informação lógica;
( F ) A variável CPF, capaz de armazenar um número
inteiro de 30 caracteres.
EXERCICIOS
Proposta 5 - Solução
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 128
Faça um algoritmo receba quatro números inteiros,
calcule e mostre a soma desses números.
Solução:
algoritmo
declare n1, n2, n3, n4, soma numérico
leia n1, n2, n3, n4
soma  n1 + n2 + n3 + n4
escreva soma
fim_algoritmo
EXERCICIOS
Proposta 6
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
129
Faça um algoritmo receba três notas, calcule e mostre a
média aritmética entre elas.
Solução:
Algoritmo
declare nota1, nota2, nota3, media numérico
leia nota1, nota2, nota3
media  (nota1 + nota2 + nota3)/3
escreva media
fim_ algoritmo
EXERCICIOS
Proposta 7
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba

Outros materiais