Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Programação de Algoritmos: Conceitos Básicos e Exemplos Práticos, Teses (TCC) de Programação Javascript

Este texto é destinado aos estudantes aprendizes que participam do programa Escola Técnica Aberta do Brasil (e-Tec Brasil), vinculado à Escola Técnica Aberta do Piauí (ETAPI) do Instituto Federal de Educação, Ciência e Tecnologia do Piauí (IFPI), com apoio da Prefeitura Municipal dos respectivos pólos: Alegrete do Piauí, Batalha, Monsenhor Gil e Valença do Piauí

Tipologia: Teses (TCC)

2021

Compartilhado em 28/02/2021

nytstalk
nytstalk 🇧🇷

4

(1)

1 documento

1 / 155

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
-
LÓGICA DE
LÓGICA DE LÓGICA DE
LÓGICA DE
PROGRAMAÇÃO
PROGRAMAÇÃOPROGRAMAÇÃO
PROGRAMAÇÃO
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Introdução à Programação de Algoritmos: Conceitos Básicos e Exemplos Práticos e outras Teses (TCC) em PDF para Programação Javascript, somente na Docsity!

LÓGICA DELÓGICA DELÓGICA DELÓGICA DE

PROGRAMAÇÃOPROGRAMAÇÃOPROGRAMAÇÃOPROGRAMAÇÃO

PRESIDENTE DA REPÚBLICA Luiz Inácio Lula da Silva

MINISTRO DA EDUCAÇÃO Fernando Haddad

GOVERNADOR DO ESTADO Wellington Dias

REITOR DO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA Francisco da Chagas Santana

SECRETÁRIO DE EDUCAÇÃO A DISTÂNCIA DO MEC Carlos Eduardo Bielschowsky

COORDENADORIA GERAL DA UNIVERSIDADE ABERTA DO BRASIL Celso Costa

SECRETÁRIO DE EDUCAÇÃO DO ESTADO DO PIAUÍ Antonio José Medeiros

COORDENADOR GERAL DO CENTRO DE EDUCAÇÃO ABERTA A DISTÂNCIA DO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA Elanne Cristina Oliveira dos Santos

SUPERITENDÊNTE DE EDUCAÇÃO SUPERIOR NO ESTADO Eliane Mendonça

ORGANIZAÇÃO DO MATERIAL DIDÁTICO Rogério da Silva Batista

LÓGICA DE PROGRAMAÇÃO

Rogério da Silva Batista

APRESENTAÇÃO

Este texto é destinado aos estudantes aprendizes que

participam do programa Escola Técnica Aberta do Brasil (e-Tec

Brasil), vinculado à Escola Técnica Aberta do Piauí (ETAPI) do

Instituto Federal de Educação, Ciência e Tecnologia do Piauí

(IFPI), com apoio da Prefeitura Municipal dos respectivos pólos:

Alegrete do Piauí, Batalha, Monsenhor Gil e Valença do Piauí.

O texto é composto de nove (09) Aulas assim distribuídas:

Na Aula 1 introduzimos o conceito de Lógica de

Programação e a necessidade do uso dessa Lógica, a

aplicabilidade da lógica no desenvolvimento de programas

através do conceito de Algoritmos e Conceitos de Programas de

Computador.

Na Aula 2 Formas de Representação de Algoritmos

apresentando a Descrição Narrativa, o Fluxograma, o Diagrama

de Chapin e o Pseudocódigo.

Na Aula 3 a Manipulação de Dados apresenta os Tipos de

Dados, Variáveis e Constantes abordando seus conceitos,

utilidades e exemplos de uso.

Na Aula 4 Operadores e Expressões abordam o conceito

de Operadores e Expressões e como estes estão classificados e

seus exemplos de uso.

Na Aula 5 Instruções Primitivas, vamos conhecer e utilizar os comandos de entrada e saída de dados e Identificar e

aplicar os conceitos de entrada, processamento e saída na resolução de algoritmos

Na Aula 6 Estruturas de Controle e tomadas de decisões,

Vamos abordar as características da estruturas de decisão simples e compostas aplicá-las em exemplos práticos.

Na Aula 7 Estruturas de Repetição , vamos abordar as

características das estruturas de repetição e em que situações é mais apropriado usá-las.

Na Aula 8 Estruturas Homogêneas: Vetores e Matrizes

vamos abordar os conceitos das estruturas homogêneas e

compreender suas utilizações em diversas situações

práticas.

Na Aula 9 Sub-Rotinas, Vamos entender o mecanismo

de funcionamento de uma sub-rotina dentro de um algoritmo e

diferenciar os tipos de sub-rotinas existentes e aplicá-las dentro

de um algoritmo através de chamadas.

Quem sou?

Professor

Rogério da Silva Batista

Sou Bacharel em Ciência da Computação pela Universidade

Federal do Piauí e Especialista em Análise de Sistemas pela

Universidade Estadual do Piauí. Sou professor do IFPI desde 2003

e leciono disciplinas dos cursos de Informática ligadas à área de

Programação, como: Algoritmos, Programação em Ambiente

Gráfico e Programação Orientada à Objetos dentre outras.

Atualmente estou à frente da coordenação do curso de Tecnologia

em Análise e Desenvolvimento de Sistemas e agora estou dando

minha contribuição ao projeto ETAPI junto ao curso Técnico em

Informática, como professor Conteudista da disciplina de Lógica de

Programação. Espero que este material tenha uma grande

contribuição no aprendizado desta disciplina de forma que o aluno

adquira uma base forte em programação, condição essa

necessária para o aluno obtenha êxito nas disciplinas futuras e

possa alcançar o objetivo a que se propõe este curso.

1.3 Algoritmos: Aplicabilidade da lógica no desenvolvimento de

  • 1.1 Conceituação
  • 1.2 A necessidade do uso da Lógica
  • programas
  • 1.4 Programas de Computador................................................................
  • RESUMO
  • ATIVIDADES DA AULA
  • RESPOSTAS
  • 2.1 Descrição Narrativa
  • 2.2 Fluxograma
    • 2.2.1 Construindo um Fluxograma....................................................
  • 2.3 Diagrama de Chapin
  • 2.4 Pseudocódigo
  • ATIVIDADES DA AULA
  • RESPOSTAS
  • 3.1 Tipo de Dados
    • 3.1.1 Tipos Inteiros...........................................................................
    • 3.1.2 Tipos Reais
    • 3.1.3 Tipos Caracteres
    • 3.1.4 Tipos Lógicos
    • 3.1.5 Tipos de Dados na Linguagem de Programação Pascal
  • 3.2 Variáveis e Constantes
    • 3.2.1 Armazenamento de Dados na Memória....................................
    • 3.2.2 Conceito e Utilidade de Variáveis
    • 3.2.3 Definição de Variáveis em Algoritmos
    • 3.2.4 Conceito e Utilidade de Constantes
    • 3.2.5 Definições de Constantes em Algoritmos
  • RESUMO
  • ATIVIDADES DA AULA
  • RESPOSTAS
  • 4.1 Operadores - 4.1.1 Operadores Aritméticos - 4.1.2 Operadores Relacionais........................................................ - 4.1.3 Operadores Lógicos - 4.1.4 Operador de Concatenação................................................... - 4.1.5 Operador de Atribuição........................................................
    • 4.2 Expressões
      • 4.2.1 Expressões Aritméticas
      • 4.2.2 Expressões Lógicas
      • 4.2.3 Avaliação de Expressões
    • 5.1 Blocos de Instruções
    • 5.2 Entrada, Processamento e Saída
      • 5.2.1 Entrada
      • 5.2.2 Saída....................................................................................
      • 5.2.3 Teste de Mesa
    • 6.1 Estrutura de decisão simples (comando: se...fim_se)
    • 6.2 Estrutura de decisão composta (comando: se...senão...fim_se)
    • 6.3 Estruturas de decisão encadeadas
    • 6.4 Estruturas de decisão de múltipla escolha (comando: caso)
    • 7.1 Introdução
    • e Teste no Início: Estrutura Enquanto 7.2 Estrutura de Repetição para Um Número Indefinido de Repetições
    • e Teste no Final: Estrutura Repita 7.3 Estrutura de Repetição para Um Número Indefinido de Repetições
    • Estrutura Para 7.4 Estrutura de Repetição para um Numero Definido de Repetições:
    • 7.5 Estruturas de Controle Encadeadas
      • 7.5.1 Encadeamento de Estrutura Enquanto com Enquanto
      • 7.5.2 Encadeamento de Estrutura Enquanto com Repita................
      • 7.5.3 Encadeamento de Estrutura Enquanto com Para
      • 7.5.4 Encadeamento de Estrutura Repita com Repita
      • 7.5.5 Encadeamento de Estrutura Repita com Enquanto................
      • 7.5.6 Encadeamento de Estrutura Repita com Para........................
      • 7.5.7 Encadeamento de Estrutura Para com Para
      • 7.5.8 Encadeamento da Estrutura Para com Enquanto
      • 7.5.9 Encadeamento da Estrutura Para com Repita........................
  • RESUMO
  • EXERCICIOS RESOLVIDOS
  • ATIVIDADES DA AULA
  • 8.1 Introdução
  • 8.2 Vetores
    • 8.2.1 Definição
    • 8.2.2 Declaração
    • 8.2.3 Exemplo de vetor
    • 8.2.4 Atribuindo valores ao vetor....................................................
    • 8.2.5 Preenchendo um vetor
    • 8.2.6 Mostrando os elementos do vetor
  • 8.3 Matrizes
    • 8.3.1 Definição
    • 8.3.2 Declaração de uma matriz
      • 8.3.1 Exemplo de Matriz........................................................
    • 8.3.3 Atribuindo valores a uma Matriz............................................
    • 8.3.4 Preenchendo uma Matriz
    • 8.3.5 Mostrando os elementos de uma Matriz
  • EXERCICIOS RESOLVIDOS
  • ATIVIDADES DA AULA
  • 9.1 Mecanismo de Funcionamento
  • 9.2 Definição de Sub-Rotinas
  • 9.3 Funções
  • 9.4 Procedimentos
  • 9.5 Variáveis Globais e Locais
  • 9.6 Parâmetros
  • 9.7 Mecanismos de Passagem de Parâmetros
    • 9.7.1 Passagem de Parâmetros por Valor
    • 9.7.2 Passagem de Parâmetros por Referência
  • RESUMO
  • EXERCICIOS RESOLVIDOS
  • ATIVIDADES DA AULA
  • BIBLIOGRAFIA

Objetivos

Aula 1

Introdução à Lógica

de Programação

Ao final desta aula, você deverá ser capaz de:

  • Aplicar a lógica formal e matemática na Programação de Computadores.
  • Definir o conceito de lógica e suas aplicações no

dia-a-dia.

  • Conceituar Algoritmos descrevendo passo a passo o processo de construção de um algoritmo para

resolução de um problema clássico.

1.1 Conceituação

Sem duvida, o computador é uma das maiores invenções do homem e tem se mostrado uma ferramenta versátil, rápida e segura para a manipulação de informações.

Para muitos, essa invenção é responsável pela intensificação da mecanização e descobertas científicas na vida moderna. Esta afirmação dá um caráter autônomo ao computador, como se o mesmo fizesse tudo sozinho. Entretanto cabe esclarecer que o computador não é criativo e nem inteligente, na verdade, apenas reproduz o que lhe é ordenado por meio de seus programas de computador, os quais são construídos para resolver algum problema específico e a solução adotada é sempre uma solução lógica. Podemos entender essa “solução lógica” como uma espécie de receita de bolo a ser adotada para a solução do problema. A Lógica de Programação é então o passo inicial para a construção de um programa de computador.

Para usar a lógica, é necessário ter domínio sobre o pensamento, bem como saber pensar, ou seja, possuir a “Arte de Pensar”. Alguns definem o raciocínio lógico como um conjunto de estudos que visa determinar os processos intelectuais que são as condições gerais do conhecimento verdadeiro. Isso é válido para a tradição filosófica clássica aristotélico-tomista, também conhecida por Lógica Formal.

Em contraposição a esse conceito de Lógica Formal, surgiu um outro – o de Lógica Material – para designar o estudo do raciocínio no que ele depende quanto ao seu conteúdo ou matéria

Esta distinção entre lógica formal e lógica material permite-nos agora perceber porque, tendo em vista a sua forma, o raciocínio é correto ou incorreto (válido ou invalido). Mas se atendermos à sua matéria, a conclusão pode ser verdadeira ou falsa.

Exemplo:

  1. Nenhum homem sabe dançar
  2. Este dançarino é homem
  3. Este dançarino não sabe dançar Este raciocínio é formalmente correto, uma vez que a conclusão está corretamente deduzida. Mas a conclusão é falsa, uma vez que é falsa a primeira proposição ("Nenhum homem sabe dançar"). Estamos perante um raciocínio que tem validade formal, mas não tem validade material. Logo temos que concluir que é falso.

Desde a sua criação a lógica tem registrado enormes aperfeiçoamentos, sobretudo, a partir de meados do século XIX. É costume dividir-se a sua história em três períodos: Período Clássico, Período Moderno e Período Contemporâneo.

A Lógica Matemática ou Simbólica (surgida no Período Moderno), é usada para expressar o conteúdo do pensamento simbólico e defende a idéia de que o raciocínio é visto como cálculo matemático. A Lógica Matemática exerceu uma influência decisiva em muitos domínios, principalmente na Eletrônica, Cibernética, Informática, Inteligência Artificial, dentre outros.

Mesmo com essa multiplicidade de conceitos, a Lógica pode ser vista como uma ciência que procura encontrar as leis em relação às quais o nosso pensamento deve obedecer para que possa ser considerado válido.

1.3 Algoritmos: Aplicabilidade da lógica no

desenvolvimento de programas

A construção de algoritmos é o primeiro passo para o desenvolvimento de programas de computador. É uma das tarefas mais complexas da programação de computadores, mas também uma das mais desafiadoras e empolgantes. Muitas definições podem ser dadas à palavra algoritmo. Atualmente, tem-se associado algoritmo à computação, mas este não é um termo restrito à computação ou que tenha nascido com ela. Na realidade, a palavra algoritmo vem do nome do matemático iraniano Abu Abdullah Mohammad Ibn Musa al-Khawarizmi, nascido em Khawarizmi (Kheva), ao sul do mar de Aral, que viveu no século XVII. A influência de Khawarizmi no crescimento da ciência em geral, particularmente na matemática, astronomia e geografia, é bastante reconhecida. O termo algoritmo também é utilizado em outras áreas como: engenharia, administração, entre outras. Algumas definições de algoritmo:

  • Uma seqüência de passos que visa a atingir um objetivo definido.
  • Um procedimento passo a passo para a solução de um problema.
  • Uma seqüência detalhada de ações a serem executadas para realizar alguma tarefa.

Um exemplo clássico de algoritmo é uma receita culinária. Veja o exemplo a seguir de um bolo de chocolate.

  • Ingredientes
    • 4 xícaras (chá) de farinha de trigo.
    • 2 xícaras (chá) de açúcar cristal.
    • 2 xícaras (chá) de achocolatado.
    • 2 colheres (sopa) de fermento em pó.
    • 1 pitada de sal.
    • 3 ovos.
    • 2 xícaras (chá) de água morna.
    • 1 xícara (chá) de óleo.
    • Óleo para untar.
    • Farinha de trigo para polvilhar.
  • Modo de preparo Numa vasilha, misture 4 xícaras (chá) de farinha de trigo, 2 xícaras (chá) de açúcar cristal, 2 xícaras (chá) de achocolatado, 2 colheres (sopa) de fermento em pó e 1 pitada de sal. Junte 3 ovos, 2 xícaras (chá) de água morna e 1 xícara (chá) de óleo. Misture bem. Unte uma forma retangular de 25 cm x 37 cm com óleo e polvilhe farinha de trigo e despeje a massa. Asse em temperatura média (de 170°C a 180°C) por 30 minutos.

A receita tem todas as características de um algoritmo. Ela tem uma seqüência detalhada de passos, descrita no modo de preparo. Apresenta a tarefa a ser realizada, que no caso é o bolo de chocolate. Além disto, podemos identificar na receita entradas (no caso, os ingredientes) e uma saída, que é o próprio bolo.

Poderíamos, então, nos perguntar por que a palavra algoritmo ficou tão associada à computação? Para compreendermos melhor os motivos, é preciso entender, mesmo que superficialmente, o funcionamento dos programas de computador.

Figura 1: Fases do Algoritmo

O algoritmo não é a solução do problema, mas uma forma de solucioná-lo. Assim, para um mesmo problema, podemos criar diferentes algoritmos usando diferentes abordagens. Em outras palavras, podemos usar diferentes seqüências de instruções para resolver o mesmo problema. Em alguns casos, até mesmo diferentes instruções.

A construção de um algoritmo deve observar todos os passos necessários à execução da atividade e evitar que passos desnecessários sejam executados ou que passos interdependentes sejam executados fora de ordem.

Durante a construção de um algoritmo são realizadas constantes revisões a fim de identificar novas situações ou exceções a serem tratadas. Q uando temos um problema e precisamos construir um algoritmo para resolvê-lo, devemos passar pelas seguintes etapas:

a) definir o problema;

b) realizar um estudo da situação atual e verificar qual(is) a(s) forma(s) de resolver o problema;

c) terminada a fase de estudo, descrever o algoritmo que deverá, a princípio, resolver o problema;

d) analisar junto aos usuários se o problema será resolvido. Se a solução não foi encontrada, ou surgirem exceções a serem tratadas, deverá ser retomado para a fase de estudo para descobrir onde está a falha.

A fim de entender como um algoritmo é construído, vamos analisar a construção de um algoritmo para o seguinte problema clássico, discutido por vários autores, inclusive em Forbellone e Eberspacher (2005, p. 4), por ser um problema cotidiano e que não exige conhecimentos específicos: "trocar uma lâmpada queimada". A partir desse exemplo, será possível evidenciar o processo de encadeamento de idéias até a solução final do problema.

Entrada Processamento Saída