Lógica de Programação



Documentos relacionados
Estruturas de Controle A Tomada de Decisões

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Dadas a base e a altura de um triangulo, determinar sua área.

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Algoritmos e Programação de Computadores

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmos e Programação. Prof. Tarcio Carvalho

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Algoritmo e Programação

Resolução de problemas e desenvolvimento de algoritmos

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Programação para Computação

Introdução à Lógica de Programação (cont.)

ESTRUTURA CONDICIONAL

Introdução à Programação e Algoritmos. Aécio Costa

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Algoritmos com VisuAlg

Introdução à Lógica de Programação

1.1. Organização de um Sistema Computacional

MANZANO, José Augusto N. G., Estudo Dirigido: ALGORITMOS - Editora Érica, ÍNDICE

3. Tipos de Dados, Constantes e Variáveis.

Linguagem algorítmica: Portugol

1. Abordagem Contextual

COMPUTAÇÃO APLICADA. Porém, é necessário considerar que ninguém ensina ninguém a pensar, pois todas as pessoas normais tem este dom.

ICC Introdução para JavaScript

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Lógica de Programação

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Orientação a Objetos

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Introdução à Lógica de Programação

2ª Lista de exercícios

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

TÉCNICAS DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Conceitos Importantes:

Algoritmos. Cláudio Barbosa

2. Representação Numérica

Programação Estruturada Linguagem C

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

I Lista de Exercícios

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Lista de Exercícios 03b Algoritmos Repetição

Estruturas de Repetição

Introdução a Algoritmos Parte 04

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS -

CADERNO DE EXERCÍCIOS ALGORITMOS

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

Conceitos básicos da linguagem C

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Lista de Exercícios. Vetores

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

5 Equacionando os problemas

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

ALGORITMOS E FLUXOGRAMAS

Algoritmos Computacionais ( Programas )

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Aula 2 Modelo Simplificado de Computador

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

Arquitetura de Rede de Computadores

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Introdução aos cálculos de datas

Curso de Programação Computadores

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

OBI2014 Caderno de Tarefas

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Aluísio Eustáquio da Silva

CURSO TÉCNICO DE INFORMÁTICA

Bacharelado em Ciência e Tecnologia Bacharelado em Ciências e Humanidades. Representação Gráfica de Funções

Lógica de Programação

Aula 3 Desvio Condicional

Prof. Esp. Adriano Carvalho

Introdução à Programação

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Simulado OBM Nível 2

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Engenharia de Software III

Transcrição:

Lógica de Programação ESCOLA Lógica de Programação 1

Escola Alcides Maya - Primeiro Módulo Sumário Lógica de Programação 1 INTRODUÇÃO... 4 1.1 Definições básicas... 4 1.2 Necessidade do uso da lógica... 4 1.3 Uso da lógica no desenvolvimento de programas... 4 1.4 Diferenciação de nomenclaturas... 5 2 INTRODUÇÃO À LÓGICA... 6 2.1 Princípios de resolução de problemas... 6 2.2 Particularidades entre lógicas... 6 2.2.1 Técnica Modular... 7 2.2.2 Portugês Estruturada... 7 3 Técnicas Básicas de Programação... 8 3.1 Tipos de Informação... 8 3.2 Tipos de Dados... 8 3.3 O Uso de Variáveis... 8 3.4 O Uso de Constantes... 9 3.5 Os Operadores Aritméticos... 9 3.6 As Expressões Aritméticas ou Fórmulas Matemáticas... 9 3.7 Instruções Básicas... 10 3.7.1 Entrada, Processamento e Saída... 10 3.8 Exercícios de Aula... 13 3.9 Exercícios de Fixação... 15 4 Estruturas de Controle A Tomada de Decisões... 16 4.1 Desvio Condicional Simples... 17 4.1.1 Exercício de Aula... 18 4.2 Operadores Relacionais... 18 4.3 Desvio Condicional Composto... 18 4.3.1 Exercício de Aula... 19 4.4 Exercícios de Fixação... 20 4.5 Desvio Condicional Encadeado... 21 4.5.1 Exercício de Aula... 22 4.6 Exercícios de Fixação... 23 4.7 Operadores Lógicos... 23 4.7.1 Operador Lógico:.e... 24 4.7.1.1 Exercício de Aula... 24 4.7.2 Operador Lógico:.ou... 25 4.7.2.1 Exercício de Aula... 26 4.7.3 Operador Lógico:.não... 27 4.7.3.1 Exercício de Aula... 27 4.8 Exercícios de Fixação... 29 5 Estruturas de Controle Laços de Repetição... 32 5.1 Repetição do tipo: Teste Lógico no início do looping... 33 5.1.1 Exercício de Aula... 34 5.1.1.1 Exercícios de Fixação... 35 5.1.2 Exercícios de Fixação... 36 5.2 Repetição do tipo: Teste Lógico no fim do looping... 37 5.2.1 Exercício de Aula... 37 5.2.1.1 Exercícios de Fixação... 38 5.2.2 Exercício de Aula... 38 5.2.2.1 Exercícios de Fixação... 38 5.3 Repetição do tipo: Variável de Controle... 39 5.3.1 Exercício de Aula... 39 5.3.2 Exercícios de Fixação... 40 5.4 Exercícios de Fixação... 41 6 Estruturas de Dados Homogêneas I... 42 6.1 Matrizes de uma dimensão ou vetores... 43 2

Lógica de Programação 6.2 Operações básicas com Matrizes de uma dimensão... 44 6.2.1 Atribuição de uma Matriz... 45 6.2.2 Leitura de dados de uma Matriz... 45 6.2.3 Escrita dos dados de uma Matriz... 45 6.3 Exercício de Aula... 46 6.4 Exercícios de Fixação... 48 7 Estruturas de Dados Homogêneas II... 49 7.1 Matrizes com mais de uma dimensão... 49 7.2 Operações básicas com matrizes de duas dimensões... 50 7.2.1 Atribuição de uma Matriz... 51 7.2.2 Leitura de dados de uma Matriz... 51 7.3 Exercício de Aula... 52 7.4 Exercícios de Fixação... 53 8 Procedimentos e Funções... 54 3

Escola Alcides Maya - Primeiro Módulo 1 INTRODUÇÃO 1.1 Definições básicas Muitas pessoas gostam de falar ou julgar que possuem e sabem usar o raciocínio lógico, porém, quando necessitam do mesmo, perdem esta linha de raciocínio, pois este depende de inúmeros fatores para completálo, tais como: calma, conhecimento, vivência, versatilidade, experiência, criatividade, ponderação, responsabilidade, entre outros. Para usar a lógica, é necessário ter domínio sobre o pensamento, bem como saber pensar, ou seja, possuir a Arte de Pensar. Lógica é a ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio. 1.2 Necessidade do uso da lógica Usar a lógica é um fator a ser considerado por todos, principalmente pelos profissionais da área de tecnologia de informação, ou seja, pelos profissionais de informática. Estes profissionais, no seu dia-a-dia dentro das organizações, têm a incumbência de solucionar problemas e atingir os objetivos apresentados por seus usuários com eficiência e eficácia, utilizando recursos computacionais e/ou automatizados. Neste treinamento vamos mostrar como desenvolver e aperfeiçoar melhor esta técnica, lembrando que para isto você deverá ser persistente e praticá-la constantemente, chegando à exaustão sempre que julgar necessário. 1.3 Uso da lógica no desenvolvimento de programas É comum aos bons programadores, na preparação de um novo programa, iniciar com um diagrama de blocos para demonstrar sua linha de raciocínio lógico. Este diagrama também é chamado de fluxograma, e estabelece a seqüência de operações a se efetuar em um programa. Esta técnica permite uma posterior codificação em qualquer linguagem de programação. A técnica mais importante no projeto de lógica de programas é chamada Programação Estruturada, a qual consiste em uma Metodologia de Projeto, objetivando: Agilizar a codificação do programa; Facilitar a depuração do programa; Permitir a verificação de possíveis falhas; Facilitar as alterações e atualizações dos programas. E deve ser composta por quatro passos fundamentais: Escrever as instruções em seqüências lógicas; Escrever instruções em grupos pequenos; Distribuir módulos de programa entre diferentes programadores para que trabalhem sob a supervisão de um programador sênior; Revisar o trabalho executado, em reuniões regulares. 4

1.4 Diferenciação de nomenclaturas Lógica de Programação Vamos identificar as diferenças entre as seguintes nomenclaturas: Fluxograma: é uma ferramenta usada e desenvolvida pelo profissional que está envolvido diretamente com programação, tendo como objetivo descrever o método e a seqüência do processo dos planos num computador. : é uma ferramenta de representação textual de um determinado algoritmo computacional. Este método é utilizado com a finalidade de apresentar uma codificação simples que seja de fácil tradução para outras linguagens de programação de computador. Algoritmo: é um processo de cálculo matemático ou de resolução de um grupo de problemas semelhantes. Pode-se dizer, também, que são regras formais para obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas. 1.5 Formas de representação gráfica É uma maneira simples e concisa de representar dados sobre uma superfície plana, por meio de diferentes formas, de modo a facilitar a visualização completa e imediata de dados ou fenômenos tabulados. 1.6 Simbologias básicas Estes são alguns dos símbolos mais utilizados ao longo dos anos pelos profissionais de Processamento de Dados: Terminal símbolo utilizado como ponto para indicar o início e/ou fim do fluxo de um programa Seta de fluxo de dados permite indicar o sentido do fluxo de dados. Processamento Símbolo ou bloco que se utiliza pra indicar cálculos a efetuar, atribuições de valores ou qualquer manipulação de dados que tenha um bloco específico para sua descrição. Entrada e saída de dados símbolo em função de um dispositivo qualquer de entrada ou saída de dados, como fornecedor de informações para processamento, gravação e outros. Decisão indica a decisão que deve ser tomada indicando a possibilidade de desvio para outros pontos do fluxo, dependendo do resultado de comparação e de acordo com situações variáveis. 5

Escola Alcides Maya - Primeiro Módulo Conector utilizado quando é preciso particionar o fluxograma. Quando ocorrer mais de uma partição, é colocada uma letra ou número dentro do símbolo de conexão para identificar os pares de ligação. Conector específico para indicar conexão do fluxo em outra página. Módulo de sub-rotina 2 INTRODUÇÃO À LÓGICA 2.1 Princípios de resolução de problemas Nós programadores que somos solucionadores de problemas, devemos entender que problema é uma questão que foge a uma determinada regra, ou melhor, é o desvio de um percurso, o qual impede de atingir com sucesso um determinado objetivo com eficiência e eficácia. Portanto para resolver um problema de lógica usamos um procedimento de desenvolvimento para o fluxo de informações. Vamos usar como exemplo uma Escola Técnica de Informática, em que o cálculo da média é realizado por quatro notas bimestrais que determinam a aprovação ou reprovação dos seus alunos. Considere que o valor da média deva ser maior ou igual a 7 para que ocorra a aprovação. A primeira etapa apresenta um detalhamento no que se refere à entrada e saída, ou seja, deve-se entrar com as quatro notas bimestrais para se obter, como resultado, o cálculo da média e assim definir a aprovação ou reprovação do aluno. A segunda etapa consiste em trabalhar o termo: determinar a aprovação. Para ser possível determinar algo, é necessário estabelecer uma condição. Assim sendo, uma condição envolve uma decisão a ser tomada segundo um determinado resultado. No caso, a média. Desta forma, a condição de aprovação: média maior ou igual a 7 deve ser considerada no algoritmo. 2.2 Particularidades entre lógicas Como um Arquiteto desenha e escreve especificações para descrever como uma construção de um edifício deverá ser efetuada e o engenheiro de projeto desenvolve um esquema detalhado das atividades de construção, um especialista em informação desenvolve um plano, que será comunicado a outros, de como o problema de processamento de dados deve ser resolvido. Para auxiliarmos na sua compreensão, mostraremos como estes conceitos de estruturas, bem como as particularidades de conexões e dos procedimentos entre o método lógico, encaixam-se ou não para resolução dos problemas de processamento de dados. A seguir, são apresentados alguns tipos de procedimentos individualmente. 6

2.2.1 Técnica Modular Lógica de Programação Esta técnica deve ser elaborada como uma estrutura de partes independentes, denominada de módulos, cujo procedimento é controlado por um conjunto de regras, onde suas metas são as seguintes: Decompor o problema em partes independentes; Dividir um problema complexo em problemas menores e mais simples; Verificar a correção de um módulo de blocos, independentemente de sua utilização como uma unidade em processo maior. A modularização deve ser desenvolvida, se possível, em diferentes níveis. Ela pode ser utilizada para separar um problema em sistemas, um sistema em programas e um programa em módulos. O modelo padrão de um módulo consiste em três partes: Entrada, Processamento e Saída. Dados de Entrada Processo de transformação Dados de Saída 2.2.2 Portugês Estruturada É uma técnica narrativa denominada pseudocódigo, também conhecida como português estruturado ou chamado por alguns de portugol. Esta técnica de é baseada em uma PDL Program Design Language (Linguagem de Projeto de Programação) e é utilizada como referência genérica para uma linguagem de projeto de programação, tendo como finalidade mostrar uma notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e desenvolvimento de uma linguagem computacional (Clipper, C, Pascal, Delphi) e sua documentação. A seguir, é apresentado um exemplo deste tipo de algoritmo: início caractere: resultado; real: n1, n2, n3, n4; real: soma, media; leia n1, n2, n3, n4; soma n1 + n2 + n3 + n4; media soma / 4; se ( media >= 7 ) então resultado Aprovado ; senão resultado Reprovado ; fim_se escreva Nota 1:, n1; escreva Nota 2:, n2; escreva Nota 3:, n3; escreva Nota 4:, n4; escreva Soma:, soma; escreva Média:, media; escreva Resultado:, resultado; fim 7

Escola Alcides Maya - Primeiro Módulo A diferença entre uma linguagem de programação de alto nível utilizada em computação e uma PDL é que esta não pode ser compilada em um computador. 3 Técnicas Básicas de Programação A partir deste momento vamos ter um contato direto com a parte prática da Lógica de Programação. Na parte anterior tivemos uma introdução teórica básica de alguns pontos e desta parte em diante teremos um contato mais com a aplicação prática dos algoritmos, testes de mesa e por fim a codificação em pseudocódigo: Português estruturado. Mas ainda são necessários alguns conceitos. 3.1 Tipos de Informação Antes de iniciar o estudo de programação, é necessário considerar que um computador nada mais é do que uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações, sendo que essas informações classificam-se em dois tipos básicos: dados e instruções. 3.2 Tipos de Dados Os dados são representados pelas informações a serem tratadas (processadas) por um computador. Essas informações estão caracterizadas por três tipos de dados, a saber: dados numéricos (inteiros e reais), dados caracteres e dados lógicos. Tipo de Dado Descrição Exemplos Inteiro São caracterizados como tipos inteiros os dados numéricos 35 positivos ou negativos, excluindo-se deste qualquer número 0 fracionário. -56 Real São caracterizados como tipos reais os dados numéricos positivos, negativos e números fracionários. 35 1.2-45.897 Caracteres São caracterizados como tipos caracteres às seqüências PROGAMAÇÃO, contendo letras, números e símbolos especiais. Uma Rua Alfa, 52 apto 1 seqüência de caracteres deve ser indicada entre aspas ( ). Fone: 574-9988 Este tipo de dado é também conhecido como: alfanumérico, string, literal ou cadeia. 90387-456 77 Lógicos São caracterizados como tipos lógicos os dados com.falso. valores verdadeiro e falso, sendo que este tipo de dado.f. poderá representar apenas um dos dois valores. Ele também.verdadeiro. é chamado de tipo booleano. Para facilitar a citação de um dado do tipo lógico, fica declarado que estes deverão ser.v. apresentados e delimitados pelo caractere ponto (.). 3.3 O Uso de Variáveis Tem-se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante. E quando se fala de computadores, temos que ter em mente que o volume de informações a serem tratadas é grande e diversificado. Desta forma, os dados a serem processados serão bastante variáveis. Todo dado a ser armazenado na memória de um computador deve ser previamente identificado, ou seja, primeiro é necessário saber qual o seu tipo para depois fazer o seu armazenamento adequado. Estando armazenado o dado desejado, ele poderá ser utilizado e manipulado a qualquer momento. 8

Lógica de Programação Para utilizar o conceito de variável, imagine que a memória de um computador é um grande arquivo com várias gavetas, sendo que cada gaveta pode armazenar apenas um único valor (Seja ele: numérico, lógico ou caractere). Se for um grande arquivo com várias gavetas você há de concordar que é necessário identificar com um nome a gaveta que se pretende utilizar. Desta forma o valor armazenado pode ser utilizado a qualquer momento. O nome de uma variável é utilizado para sua identificação e posterior uso em um programa. Sendo assim, é necessário estabelecer algumas regras de utilização de variáveis: Nomes de uma variável poderão ser atribuídos com um ou mais caracteres; O primeiro caractere do nome de uma variável deverá ser uma letra; O nome de uma variável não poderá possuir espaços em branco; Não pode ser uma palavra reservada a uma instrução de programa; Não poderão ser utilizados outros caracteres a não ser letras e números. São nomes válidos de variáveis: nomeusuario, nome_cliente, fone1, delta25, z4, entre outros. Devemos ainda considerar que dentro de um programa uma variável pode exercer dois papéis. Um de ação, quando é modificada ao longo de um programa para apresentar um determinado resultado, e o segundo de controle, a qual poderá ser vigiada e controlada durante a execução de um programa. 3.4 O Uso de Constantes Tem-se como definição de constante tudo aquilo que é fixo ou estável. Existirão vários momentos em que este conceito deverá estar em uso. Por exemplo, o valor 1.23 da fórmula seguinte é uma constante: resultado = entrada * 1.23 3.5 Os Operadores Aritméticos Tanto variáveis como constantes poderão ser utilizadas na elaboração de cálculos matemáticos, ou seja, na elaboração de expressões aritméticas, desde que sejam estabelecidas como do tipo real ou inteira, e para que isto ocorra é necessário à utilização de operadores aritméticos. Veja a seguir a tabela dos operadores aritméticos Operador Operação Tipo de resultado h Exponenciação Inteiro ou Real / Divisão Real Div Divisão Inteiro * Multiplicação Inteiro ou Real + Adição Inteiro ou Real - Subtração Inteiro ou Real 3.6 As Expressões Aritméticas ou Fórmulas Matemáticas Será muito comum trabalharmos com expressões aritméticas ou fórmulas matemáticas, uma vez que a maior parte do trabalho computacional está relacionada com a utilização de cálculos. Estas expressões são definidas pelo relacionamento existentes entre variáveis e constantes numéricas por meio da utilização dos operadores aritméticos. Considere a fórmula: area = PI. raio² para o cálculo da área de uma circunferência, em que estão presentes as variáveis área e raio, a constante PI (pi = 3.14159) e os operadores aritméticos de multiplicação e também a operação de potência, elevando o valor da variável raio ao quadrado. As expressões aritméticas em computação são escritas de uma forma um pouco diferente da forma conhecida em matemática, por exemplo, a expressão: x = {43. [55 : (30 + 2) ] } será escrita na forma computacional como: x (43 * (55 / (30 +2))). 9

Escola Alcides Maya - Primeiro Módulo Perceba que as chaves e colchetes são abolidos, utilizando-se em seu lugar apenas os parênteses. É também substituído o sinal de (=) igual pelo sinal de ( ) implicando ou atribuindo. O sinal de atribuição ( ) é utilizado para indicar que o valor de uma expressão aritmética ou fórmula está sendo armazenado em uma variável. No caso da fórmula para o cálculo da área de uma circunferência, ela poderia ser escrita da seguinte maneira: area 3.14159 * raio h2 ou area 3.14159 * raio * raio 3.7 Instruções Básicas As instruções são representadas pelo conjunto de palavras-chave de uma determinada linguagem de programação, que tem por finalidade comandar o computador. Para a lógica de programação podemos utilizar o. Agora teremos contato com algumas instruções como: início, fim, var, programa, enquanto, se, então, senão, escreva, leia, etc. 3.7.1 Entrada, Processamento e Saída Para criar um programa que seja executável dentro de um computador, deve-se ter em mente três pontos de trabalho: a entrada de dados, o seu processamento e a saída deles. Sendo assim todo programa estará trabalhando com estes três conceitos. O processo de execução de um programa ocorre após a entrada de dados com a instrução leia e a sua saída com a instrução escreva. O processamento será uma conseqüência da manipulação das variáveis de ação. Uma entrada e uma saída poderão ocorrer dentro de um computador de diversas formas. Por exemplo, uma entrada poderá ser feita via teclado, modem, leitores óticos, disco, entre outros. Uma saída poderá ser feita em vídeo, impressora, disco, entre outras formas. Devido a esta grande variedade, nossos programas escritos em português estruturado farão menção às instruções leia e escreva. Considere o seguinte exemplo de um problema: Deverá ser criado um programa que efetue a leitura de dois valores numéricos. Faça a operação de soma entre os dois valores e apresente o resultado obtido. Note: Sempre estaremos diante de um problema, o qual deverá ser resolvido primeiro por nós, para que depois seja resolvido por um computador. O que queremos dizer é que primeiro você deve entender bem o problema, para depois buscar a sua solução dentro de um computador, ou seja, você deverá ensinar a máquina a resolver o seu problema, por meio de um programa. Desta forma, o segredo de uma boa lógica está na compreensão adequada do problema a ser solucionado. Com relação ao problema proposto, deverá ser primeiro muito bem interpretado. Isto ocorre com o auxílio de uma ferramenta denominado algoritmo, que deverá estabelecer todos os passos necessários a serem cumpridos na busca de uma solução para um problema. Lembre-se de que um algoritmo é na verdade uma receita de como fazer. Para tanto, observe a estrutura do algoritmo com relação ao problema da leitura dos dois valores (que não conhecemos e também não precisamos conhecer, pois neste caso utilizaremos duas variáveis para trabalhar estas incógnitas A e B) e a sua respectiva soma (conseqüência dos valores informados, a qual também é uma incógnita e depende dos valores fornecidos; utilizaremos para esta a variável X). Algoritmo 1 Ler dois valores, no caso as variáveis A e B; 2 Efetuar a soma das variáveis A e B, atribuindo o seu resultado para a variável X; 3 Apresentar o valor da variável X após a operação de soma dos dois valores fornecidos Perceba que o algoritmo é a interpretação passo a passo de um determinado problema. É como ter um problema matemático: João foi à feira com R$ 20,00, comprou uma dúzia de laranjas por R$ 5,00. com quanto João voltou para casa?. Na verdade, o que interessa não é o fato ocorrido com João e sim efetuar os cálculos necessários para se saber quanto sobrou na mão de João. Em processamento de dados é parecido, pois precisamos somente efetuar o levantamento das variáveis e saber o que fazer com elas. 10

Lógica de Programação Fluxograma Completada a fase de interpretação do problema e da definição das variáveis a serem utilizadas, passa-se para a fase de diagramação do algoritmo, que é o fluxograma. Inicio Ler A Ler B X <-- A + B Escrever X Fim Figura 3.1 Fluxograma para leitura, soma de dois valores e apresentação do resultado. Observe a indicação de Início e Fim do fluxograma com o símbolo Terminal. Este símbolo deverá estar sempre presente, indicando o ponto de início e fim de um fluxograma. Note também a existência de uma seta na linha que liga um símbolo ao outro. Isto é necessário, pois desta forma sabe-se a direção que o processamento de um programa deverá seguir. O símbolo retângulo significa Processamento e será utilizado para representar diversas operações, principalmente os cálculos matemáticos executados por um programa. Podemos utilizar outra forma de representação da lógica do programa, através de uma representação textual chamada:. A seguir escrevemos o programa nesta forma de representação: início inteiro: A, B, X; leia A; leia B; X A + B; escreva X; fim 11

Escola Alcides Maya - Primeiro Módulo Desta forma, são utilizadas três variáveis: A, B e X, estabelecendo-se assim o seu respectivo tipo. Tendo relacionado todas as variáveis que serão utilizadas no programa, passa-se para a fase de montagem do que está estabelecido no fluxograma, ou seja, de tudo que está relacionado entre os símbolos Terminal (Indicação de início e fim do fluxograma) Observe que o bloco de instruções de programa, indicado entre as instruções início e fim é apresentado deslocado um pouco para a direita. Este estilo de escrita deve ser obedecido, para facilitar a leitura de um bloco de programa, recebendo o nome de endentação. Após a leitura dos valores para as variáveis A e B, eles serão somados e atribuídos na variável X, a qual será apresentada com o valor da soma processada. Codificação em Pascal Para exemplificar vamos codificar o algoritmo que soma os números na linguagem Pascal: program soma_num; var X : integer; A : integer; B : integer; begin readln (A); readln (B); X := A + B; writeln (X); end. Depois de codificar o programa (escrever o programa em uma linguagem) você deve compilar o programa fonte. O que significa compilar? Compilar é: Transformar a linguagem fonte do programa em um programa executável, ou seja, transformar o programa na linguagem de máquina. Como compilamos? Compilamos utilizando um programa especial que faz este trabalho Observação: Se houver problemas de sintaxe, se você escreveu alguma instrução errada, o compilador não irá gerar o programa executável, ele apenas irá emitir uma mensagem de erro de sintaxe. Se não houver erro na compilação, teremos o programa executável, também chamado de aplicativo, que será utilizado para testar o programa, verificando se o mesmo faz o que o fluxograma determinou. Resumindo: Para fazer o computador resolver um problema qualquer temos que: 1 Fazer o algoritmo do problema 2 Codificar o programa em uma linguagem de programação 3 Compilar este programa para verificar erros de sintaxe e criar o programa executável 4 Testar o programa executável 12

Lógica de Programação Codificação em Linguagem C Agora vamos codificar o algoritmo que soma os números na linguagem C. main( ) { int X; int A; int B; scanf( %d, &A); scanf( %d, &B); X = A + B; printf( %d, X); } Depois de codificar este programa, você deverá também compilar, para verificar possíveis erros de sintaxe, e testar o programa. 3.8 Exercícios de Aula Abaixo são apresentados exemplos que aplicam os conceitos até aqui estudados. Sendo assim, olhe atentamente cada exemplo para perceber os seus detalhes. Trabalharemos apenas com o, pois na disciplina de Fundamentos de Programação você irá codificar o programa na linguagem C. Primeiro exemplo Desenvolver a lógica para um programa que efetue o cálculo da área de uma circunferência, apresentando a área calculada. Algoritmo Para efetuar o cálculo da área de uma circunferência é necessário conhecer a fórmula que executa este cálculo sendo esta: A = pr², em que A é a variável que conterá o resultado do cálculo da área, p é o valor de pi (3.14159), sendo uma constante na fórmula e R o valor do raio. Sendo assim, basta estabelecer: 1 Ler um valor para o raio, no caso a variável R; 2 Estabelecer que PI possua o valor 3,14159; 3 Efetuar o cálculo da área, elevando ao quadrado o valor de R e multiplicando por PI; 4 Apresentar o valor da variável A. A fórmula para o cálculo da área passará a ser escrita como: A 3.14159 * Rh2 ou se você preferir poderá escrever da seguinte forma: A 3.14159 * R * R. 13

Escola Alcides Maya - Primeiro Módulo início real: A, R; escreva Digite o valor do raio: ; leia R; A 3.14159 * R * R; escreva A área :, A; fim Segundo exemplo Construir um programa que efetue o cálculo do salário líquido de um professor. Para fazer este programa, você deverá possuir alguns dados, tais como: valor da hora aula, número de horas trabalhadas no mês e percentual de desconto do INSS. Em primeiro lugar, deve-se estabelecer qual será o seu salário bruto para efetuar o desconto e ter o valor do salário líquido. Algoritmo 1 Estabelecer a leitura da variável HT (Horas trabalhadas no mês); 2 Estabelecer a leitura da variável VH (valor hora aula); 3 Estabelecer a leitura da variável PD (Percentual de desconto de INSS); 4 Calcular o salário bruto (SB), sendo este a multiplicação das variáveis HT e VH; 5 Calcular o total de desconto (TD) com base no valor de PD dividido por 100; 6 Calcular o salário líquido (SL), deduzindo o desconto do salário bruto; 7 Apresentar os valores dos salários bruto e líquido: SB, TD e SL. início inteiro: HT; real : VH, PD, TD, SB, SL ; escreva Digite a quantidade de horas trabalhadas: ; leia HT; escreva Digite o valor da hora: ; leia VH; escreva Digite o percentual de desconto do INSS: ; leia PD; SB HT * VH; TD ( PD / 100 ) * SB; SL SB TD; escreva Valor do salário bruto...:, SB; escreva Total de desconto de INSS...:, TD; escreva Valor do salário líquido...:, SL; fim 14

3.9 Exercícios de Fixação Lógica de Programação 1 Indique com um X quais dos dados abaixo são do tipo Inteiro. ( ) 1000 ( ) 0 ( ) -900 ( ).Verdadeiro. ( ) -456 ( ) 34 ( ) Casa 8 ( ) 0 ( ).Falso. ( ) 1.56 2 Indique com um X quais dos dados abaixo são do tipo Real. ( ) -678 ( ) 0.87 ( ) -9.12 ( ).Verdadeiro. ( ) -456 ( ) 99.8 ( ) Cinco ( ) 45.8976 ( ).Falso. ( ) 1.56 3 Indique com um X quais dos dados abaixo são do tipo Literal. ( ) 678 ( ) 0.87 ( ) -9.12 ( ) Verdadeiro ( ) -456 ( ) 99.8 ( ) Cinco ( ) 45.8976 ( ).Falso. ( ) 1.56 4 Indique com um X quais dos dados abaixo são do tipo Lógico. ( ) -678 ( ) 0.87 ( ) -9.12 ( ).Verdadeiro. ( ) -456 ( ).V. ( ) Cinco ( ).Falso. ( ).F. ( ) 1.56 15

Escola Alcides Maya - Primeiro Módulo 5 Desenvolva os programas a seguir em português estruturado: a) Ler dois valores numéricos. Calcular e apresentar o produto entre eles. b) Ler três valores numéricos. Calcular e apresentar a média entre eles. c) Ler a idade de uma pessoa. Calcular e apresentar a existência desta pessoa em número de dias, em número de horas, em número de minutos e em número de segundos. d) Ler uma temperatura em graus Fahrenheit e apresenta-la convertida em graus Celsius. A fórmula de conversão é C ( F 32 ) * ( 5 / 9 ), sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. e) Calcular e apresentar o valor do volume de uma lata de óleo, utilizando a fórmula: VOLUME 3.14159 * RAIO h 2 * ALTURA. f) Efetuar o cálculo da quantidade de litros de combustível gasta em uma viagem, utilizando um automóvel que faz 12 KM por litro. Para obter o cálculo, o usuário deve fornecer o tempo gasto (TEMPO) e a velocidade média (VELOCIDADE) durante a viagem. Desta forma, será possível obter a distância percorrida com a fórmula DISTÂNCIA TEMPO * VELOCIDADE. Possuindo o valor da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a fórmula LITROS_USADOS DISTÂNCIA / 12. Ao final o programa deve apresentar os valores da velocidade média (VELOCIDADE), tempo gasto na viagem (TEMPO), a distância percorrida (DISTÂNCIA) e a quantidade de litros (LITROS_USADOS) utilizada na viagem. g) Efetuar o cálculo e a apresentação do valor de uma prestação em atraso, utilizando a fórmula PRESTAÇÃO VALOR + (VALOR * (TAXA / 100) * TEMPO). h) Ler dois valores (inteiros, reais ou caracteres) para as variáveis A e B, e efetuar a troca dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresentar os valores trocados. i) Elaborar um programa que calcule e apresente o volume de uma caixa retangular por meio da fórmula VOLUME COMPRIMENTO * LARGURA * ALTURA. j) Efetuar a leitura de um número inteiro e apresentar o resultado do quadrado desse número k) Elaborar um programa que leia as 4 notas escolares de um aluno. Calcular e apresentar a média do aluno. l) Elaborar um programa que leia a idade de duas pessoas. Calcular e apresentar a diferença das idades. m) Elaborar um programa que leia de um vendedor o salário fixo, o valor total de vendas por ele efetuadas na loja e o percentual de comissão que ganha pelas vendas. Calcular e apresentar o valor da comissão que ele vai receber e o salário total. n) Elaborar um programa que calcula a área de um triângulo. O programa deve ler o valor da base e o valor da altura do triângulo. A fórmula da área é: area = (base * altura) / 2. Após o calculo apresentar a área. 4 Estruturas de Controle A Tomada de Decisões Foi visto anteriormente como trabalhar com entrada, processamento e saída utilizando variáveis, constantes e operadores aritméticos. Apesar de já se conseguir solucionar problemas e transformá-los em programas, os recursos até aqui estudados são limitados, pois haverá momentos em que um determinado valor dentro de um programa necessitará ser tratado para se efetuar um processamento mais adequado. Imagine a seguinte situação: Um programa que apresente a média de um aluno e a informação se ele está aprovado ou reprovado. Observe que será necessário verificar a média do aluno para tomar uma decisão no sentido de apresentar a sua real situação: aprovado ou reprovado. 16

4.1 Desvio Condicional Simples Lógica de Programação Para solucionar o problema proposto, é necessário trabalhar uma nova instrução: se...então...fim_se. Fluxograma Observe no fluxograma a existência das letras S e N, além das linhas com seta indicando a direção do processamento, colocada juntamente com o símbolo de Decisão. O S representa o sim e está posicionado para indicar que um determinado bloco de operações será executado quando a condição atribuída for verdadeira. O N está para não e será executado quando a condição for falsa. O símbolo do losango, ou melhor, dizendo, Decisão deverá ser utilizado em situações em que haja necessidade de usar uma decisão dentro do programa. Uma decisão será tomada sempre com base em uma pergunta, como Resposta = sim, e é esta pergunta que deverá estar indicada dentro do símbolo de losango. Condição N S Instruções executadas quando a condição for verdadeira Instruções executadas quando a condição for falsa ou após ser verdadeira se (condição) então < instruções para condição verdadeira > fim_se Sendo a condição verdadeira, serão executadas todas as instruções que estejam entre a instrução se...então e a instrução fim-se. Sendo a condição falsa, serão executadas as instruções que estejam após o comando fim_se. 17

Escola Alcides Maya - Primeiro Módulo 4.1.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que leia dois valores numéricos. Efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10. Algoritmo 1 Ler um valor para a variável A e outro valor para a variável B; 2 Efetuar a soma dos valores incógnitos A e B, atribuindo o valor da soma na variável X; 3 Apresentar o valor da soma contido na variável X, caso o valor de X seja maior que 10. início inteiro: A, B, X; escreva Digite um número: ; leia A; escreva Digite outro número: ; leia B; X A + B; se ( X > 10 ) então escreva X; fim se fim 4.2 Operadores Relacionais Ao utilizarmos os desvios condicionais necessitamos dos operadores relacionais. Operador Ação Exemplo Resultado > maior que 5 > 2 V >= maior ou igual a 5 >= 7 F < menor que 5 < 7 V <= menor ou igual a 5 <= 7 V = igual a 5 = 7 F < > Diferente 5 < > 7 V 4.3 Desvio Condicional Composto Vamos aprender agora a fazer uso da instrução se...então...senão...fim_se. Fluxograma. 18

Lógica de Programação Condição N S Instruções executadas quando condição verdadeira Instruções executadas quando condição for falsa Figura 4.3 Estrutura do símbolo para instrução se...então...senão...fim-se se (condição) então < instruções para condição verdadeira > senão < instruções para condição falsa > fim se Sendo a condição verdadeira, serão executadas todas as instruções que estejam posicionadas entre o se... então e a instrução senão. Sendo a condição falsa, serão executadas as instruções que estejam entre o senão e a instrução fim se. 4.3.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que leia dois valores numéricos e efetue a adição destes valores. Caso o valor somado seja maior ou igual a 10, deverá ser apresentado somando a ele mais 5; caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo 7. Algoritmo 1 Ler um valor para a variável A e outro valor para a variável B; 2 Efetuar a soma dos valores incógnitos A e B, atribuindo o valor da soma na variável X; 3 Verificar se X é maior ou igual a 10; caso seja verdadeiro, calcule R x + 5. Senão calcule R X 7 19

Escola Alcides Maya - Primeiro Módulo início inteiro: A, B, X, R; escreva Digite um número: ; leia A; escreva Digite outro número: ; leia B; X A + B; se ( X >= 10 ) então R X + 5; senão R X 7; fim se escreva O resultado é:, R; fim Observe que após a definição dos tipos de variáveis, é solicitada a leitura dos valores para as variáveis A e B, depois esses valores são atribuídos na variável X, a qual possui o resultado da adição dos dois valores. Neste ponto, é questionada no programa uma condição que permitirá escrever o resultado da soma adicionado de 5, caso esta seja maior ou igual a 10, e não sendo, o programa apresentará o resultado subtraindo 7. 4.4 Exercícios de Fixação Vamos fazer alguns exercícios: a) Faça um Programa que leia dois números quaisquer, e escreva o maior deles. b) Faça um Programa que leia um número inteiro. Informar se o número é PAR ou ÍMPAR. c) Faça um Programa que leia dois números quaisquer, e escreva o resultado do cálculo do maior dividido pelo menor. d) Faça um Programa que leia a receita e a despesa de uma empresa e apresente se ela está com LUCRO ou com PREJUÍZO. e) Faça um Programa que leia 4 notas escolares de um aluno. Calcule e apresente a média. Sabendo-se que a média de aprovação da escola é 7, apresente a informação se o aluno foi APROVADO ou REPROVADO. f) Faça um Programa que leia dois números e apresente o sinal do produto entre eles. Considere que somente números diferentes de zero serão digitados. g) Faça um Programa que leia um número e escreva maior do que 100, se o número digitado for maior que 100 e escreva menor do que 100, se o número for menor do que 100. h) Faça um Programa que leia um código:1 sinal vermelho, 2 sinal verde. Baseado no código digitado diga para o pedestre que está esperando no sinal: SIGA ou ESPERE i) Faça um Programa que leia a quantidade de vitórias e a quantidade de derrotas de um time de futebol. Escrever BOM se o número de vitórias for maior que o número de derrotas, caso contrário escrever RUIM. 20

4.5 Desvio Condicional Encadeado Lógica de Programação Existem casos em que é necessário estabelecer a verificação de condições sucessivas, em que uma determinada ação poderá ser executada se um conjunto anterior de instruções ou condições for satisfeito. Sendo a ação executada, ela poderá ainda estabelecer novas condições. Isto significa utilizar uma condição dentro de outra condição. Este tipo de estrutura poderá possuir diversos níveis de condição, sendo chamadas de encadeamentos. Fluxograma Condição1 N S Instruções executadas quando condição 1 verdadeira Condição2 N S Instruções executadas quando condição 1 é falsa, mas a condição 2 é verdadeira Instruções executadas quando condição 1 e condição 2 são falsas 21

Escola Alcides Maya - Primeiro Módulo Figura 4.5 Estrutura condicional composta ou encadeada. se (condição 1) então < instruções para condição 1 verdadeira > senão se (condição 2) então < instruções para condição 2 verdadeira > senão < instruções para condição 1 e condição 2 falsa > fim se fim se 4.5.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor ou igual a 500. Se o salário for maior que 500, mas, menor ou igual a 1000, seu reajuste será de 10%; caso seja ainda maior que 1000, o reajuste deverá ser de 5%. Algoritmo Perceba que o problema em questão estabelece três condições para calcular o reajuste do salário do funcionário, sendo: Salário <= 500, reajuste de 15% Salário > 500, mas <= 1000, reajuste será de 10% Salário > 1000, reajuste será de 5% Estas condições deverão ser encadeadas, pois todas as possibilidades de reajuste deverão ser cercadas. Sendo assim, observe o algoritmo abaixo: 1 Definir uma variável para o salário reajustado: novo_salario; 2 Ler um valor para a variável salário; 3 Verificar se o valor de salario <= 500, se sim reajustar em 15%; 4 Verificar se o valor de salario <= 1000, se sim reajustar em 10%; 5 Verificar se o valor de salario > 1000, se sim reajustar em 5%; 6 Apresentar o valor reajustado, atribuindo a novo_salário. início real: salário, novo_salario; escreva Digite o valor do salário: ; leia salario; se ( salario <= 500 ) então novo_salário salário * ( 15 / 100 ); senão se ( salario <= 1000 ) então novo_salário salário * ( 10 / 100 ); senao novo_salário salário * ( 5 / 100 ); 22

fim se fim se escreva O valor do novo salário é:,novo_salario; fim Lógica de Programação 4.6 Exercícios de Fixação Vamos fazer alguns exercícios a) Faça um Programa que leia o valor do salário hora, a quantidade de horas trabalhadas e a quantidade de filho menores de 14 anos de um funcionário. Calcular o valor do salário bruto. Para calcular o valor do salário família levar em consideração o seguinte: Se o salário bruto for até R$ 500,00 o salário família será de R$ 10,50 por cada filho; Se o salário bruto for acima de R$ 500,00 até R$ 1.000,00 o salário família será de R$ 6,50 por cada filho; Se o salário bruto for acima de R$ 1.000,00 o salário família será de R$ 1,50 por cada filho. No final apresentar o valor do salário bruto e o valor do salário família a ser recebido. b) Faça um Programa que leia o salário bruto de uma pessoa e calcule o desconto do INSS levando em consideração o seguinte: Para salários até R$ 500,00 a alíquota de INSS será de 8% Para sal.acima de R$ 500,00 até R$ 1.000,00 a alíquota de INSS será de 10% Para sal.acima de R$ 1.000,00 a alíquota de INSS será de 12%. No final deverá ser apresentado: Salário bruto Taxa de INSS Valor de INSS Salário líquido c) Faça um Programa que leia o código de uma mercadoria e que escreva o nome do produto conforme tabela abaixo: 1 Sabão 2 Vassoura 3 Detergente 4.7 Operadores Lógicos Pode ser que você necessite, em algum momento, trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução se, efetuando desta forma testes múltiplos. Para estes casos é necessário trabalhar com a utilização dos operadores lógicos. Os operadores lógicos mais comuns são:.e.,.ou. e.não., e serão representadores em português estruturado sempre entre pontos. Em alguns casos, o uso de operadores lógicos evita a utilização de instruções se encadeadas. 23

Escola Alcides Maya - Primeiro Módulo 4.7.1 Operador Lógico:.e. O operador do tipo.e. é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. Condição 1 Condição 2 Resultado Falsa Falsa Falso Verdadeira Falsa Falso Verdadeira Verdadeira Verdadeiro Para facilitar a compreensão deste operador imagine que você possua dois fios ligados a uma lâmpada e a uma bateria. A lâmpada somente acenderá se você tiver ligado ambos os fios aos pólos da bateria. Acompanhe esse exemplo no seguinte diagrama: Fio Vermelho Ligado Fio Preto Ligado Lâmpada Acende Falso Falso Falso Verdadeiro Falso Falso Falso Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro se (condição 1).e. (condição 2) então < instruções executadas se condição 1 e condição 2 verdadeiras > fim_se O operador.e. faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras. 4.7.1.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que leia um número. Informar se o número digitado está na faixa de 20 a 90. Algoritmo 1 Ler um valor para a variável num; 2 Se o valor digitado estiver na faixa de 20 a 90 apresentar uma mensagem informando. início inteiro: num; escreva Digite um número: ; leia num; se ( num >= 20 ).e. ( num <= 90 ) então escreva O número está na faixa de 20 a 90 ; senão escreva O número está fora da faixa de 20 a 90 ; fim se fim 24

Lógica de Programação O exemplo mostra, por meio da utilização do operador.e. que somente será apresentada a mensagem O número está na faixa de 20 a 90, caso o valor fornecido para a variável num seja entre 20 e 90. Qualquer valor fornecido fora da faixa definida apresentará a mensagem O número não está na faixa de 20 a 90. Segundo exemplo Desenvolver a lógica para um programa que leia um ângulo (entre 0º e 360º) e que escreva o quadrante ao qual pertence. Ignorar os eixos. Algoritmo 1 Ler um valor para a variável angulo; 2 Verificar se o ângulo digitado é > 0 e < 90, se for verdade: ângulo está no primeiro quadrante 3 Verificar se o ângulo digitado é > 90 e < 180, se for verdade: ângulo está no segundo quadrante 4 Verificar se o ângulo digitado é > 180 e < 270, se for verdade: ângulo está no terceiro quadrante 5 Verificar se o ângulo digitado é > 270 e < 360, se for verdade: ângulo está no quarto quadrante início inteiro: ângulo; escreva Digite um ângulo: ; leia angulo; se ( angulo > 0 ).e. ( angulo < 90 ) então escreva Ângulo está no primeiro quadrante ; senão se ( angulo > 90 ).e. ( angulo < 180 ) então escreva Ângulo está no segundo quadrante ; senão se ( angulo > 180 ).e. ( angulo < 270 ) então escreva Ângulo está no terceiro quadrante ; senão se ( angulo > 270 ).e. ( angulo < 360 ) então escreva Ângulo está no quarto quadrante ; fim se fim se fim se fim se fim O programa acima não se preocupa se o usuário digitar um valor indevido, ou seja, se não estiver na faixa ou estiver em um dos eixos. Este exemplo foi feito desta forma para que possamos nos concentrar apenas no operador lógico.e. 4.7.2 Operador Lógico:.ou. O operador do tipo.ou. é utilizado quando pelo menos um dos relacionamentos lógicos (quando houver mais de um relacionamento) de uma condição necessita ser verdadeiro. Abaixo, é apresentada a tabela de decisão para este tipo de operador: Condição 1 Condição 2 Resultado Falsa Falsa Falso Verdadeira Falsa Verdadeiro Falsa Verdadeira Verdadeiro Verdadeira Verdadeira Verdadeiro Considere agora, como exemplo, que você deseja escrever uma carta. Se você tiver uma máquina de escrever 25

Escola Alcides Maya - Primeiro Módulo ou (OR) um microcomputador, pode tranqüilamente satisfazer seu desejo. Acompanhe o diagrama em seguida: Tem Máquina Tem Computador Pode Escrever Falso Falso Falso Verdadeiro Falso Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro Verdadeiro se (condição 1).ou. (condição 2) então < instruções executadas se condição 1 ou se condição 2 for verdadeiras > fim_se O operador.ou. faz com que seja executada uma determinada operação se pelo menos uma das condições mencionadas for verdadeira. 4.7.2.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que leia o código relativo ao sexo (masculino=1 ou feminino=2). Se for digitado um código correto informar que o código é válido, caso contrário informar que o código é inválido. Algoritmo 1 Ler um código numérico para a variável codigo; 2 Se o código digitado for igual a 1 ou igual a 2 apresentar uma mensagem informando que o código é válido caso contrário informar que o código é inválido. início inteiro: código; escreva Digite um código: ; leia código; se ( codigo = 1 ).ou. ( código = 2 ) então escreva O código do sexo é válido ; senão escreva O código do sexo é inválido ; fim se fim O exemplo mostra, por meio da utilização do operador.ou. que somente será apresentada a mensagem O código do sexo é válido, caso o valor fornecido para a variável codigo seja 1 ou 2. Qualquer outro valor fornecido apresentará a mensagem: O código do sexo é inválido. 26

4.7.3 Operador Lógico:.não. Lógica de Programação O operador do tipo.não. é utilizado quando houver necessidade de estabelecer a inversão do resultado lógico de uma determinada condição. Se a condição for verdadeira, será considerada falsa. Se a condição for falsa, será considerada verdadeira. Abaixo, é apresentada a tabela de decisão para este tipo de operador: Condição Falsa Falsa Resultado Verdadeiro Verdadeiro Considere agora, como exemplo, que se você possui um carro e o pneu está furado, você não (NOT) pode viajar. É o que mostra a tabela abaixo: Peneu Está furado Resultado Falso Verdadeiro Verdadeiro Falso se.não. (condição) então < instruções executadas se condição não for verdadeira > fim se O operador.não. faz com que seja executada uma determinada operação se a condição não for verdadeira, portanto, considerada falsa ou vice-versa. 4.7.3.1 Exercício de Aula Primeiro exemplo Desenvolver a lógica para um programa que somente efetue o cálculo de C (A + B) * X, se o valor da variável X não for maior que 5. Qualquer valor de 5 para baixo efetuará o cálculo C (A + B) * X. Se forem informados os valores 5, 1 e 2, respectivamente, para as variáveis A, B e X, resultará para a variável C o valor 12, pois o valor 2 da variável X é controlado pela instrução se.não. (X > 5) então, como sendo verdadeiro, uma vez que não é maior que 5. Sendo assim, os valores 5 e 1 são somados resultando 6 e multiplicados por 2 resultando 12. Mas se forem informados os valores 5, 1 e 6, respectivamente, para as variáveis A, B e X, resultará para a variável C o valor 24, pois o valor 6 da variável X é controlado pela instrução se. não. (X > 5) então, como sendo falso. Sendo assim, os valores 5 e 1 são subtraídos resultando 4 e multiplicados por 6 resultando 24. Algoritmo 1 Ler um valor numérico para a variável A,B, X; 2 Se.não. (X > 5) então calcular: C (A + B) * X caso contrário calcular: C (A B) * X 3 - Apresentar o valor do resultado do cálculo. início inteiro: A, B, C, X; leia A, B, X; se.não. ( X > 5 ) então C (A + B) * X; senão C (A B) * X; fim se 27

Escola Alcides Maya - Primeiro Módulo escreva C; fim Segundo exemplo Ler três valores para os lados de um triângulo, considerando lados como: A, B e C. Verificar se os lados fornecidos formam realmente um triângulo, e se for esta condição verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isósceles, escaleno ou eqüilátero. Algoritmo Para estabelecer este algoritmo, é necessário em primeiro lugar saber o que realmente é um triângulo. Se você não souber o que é um triângulo, conseqüentemente não conseguirá resolver o problema. Triângulo é uma forma geométrica (polígono) composta por três lados, sendo que cada lado é menor que a soma dos outros dois lados. Perceba que isto é uma regra (uma condição) e deverá ser considerada. É um triângulo quando A<B+C, quando B<A+C e quando C<A+B. Tendo certeza de que os valores informados para os três lados formam um triângulo, serão então analisados os valores para estabelecer qual tipo de triângulo será formado: isósceles, escaleno ou eqüilátero. Um triângulo é isósceles quando possui dois lados iguais e um diferente, sendo A=B ou A=C ou B=C; é escaleno quando possui todos os lados diferentes, sendo A<>B e B<>C e é eqüilátero quando possui todos os lados iguais, sendo A=B e B=C. 1 Ler três valores para os lados de um triângulo: A, B e C; 2 Verificar se cada lado é menor que a soma dos outros dois lados. Se sim, saber se A=B e B=C, sendo verdade o triângulo é eqüilátero. Se não, verificar se A=B ou A=C ou B=C, sendo verdade o triângulo é isósceles; caso contrário, o triângulo é escaleno. 3 Caso os lados fornecidos não caracterizem um triângulo, avisar a ocorrência. início real: A, B, C ; leia A, B, C; se ( A < B + C ).e. ( B < A + C ).e. ( C < A + B ) então se ( A = B ).e. ( B = C ) então escreva Triângulo Eqüilátero ; senão se ( A = B ).ou. ( A = C ).ou. ( C = B ) então escreva Triângulo Isósceles ; senão escreva Triângulo Escaleno ; fim se fim se senão escreva As medidas não formam um triângulo ; fim se fim 28

4.8 Exercícios de Fixação Lógica de Programação 1. Faça um Programa que leia as coordenadas de um ponto no plano (x,y) e escreva o quadrante ao qual pertence o ponto no plano. No primeiro quadrante x e y são positivos. No segundo quadrante y é positivo. No terceiro quadrante nem x nem y é positivo. No quarto quadrante x é positivo. Y Segundo Quadrante Primeiro Quadrante X Terceiro Quadrante Quarto Quadrante 2. Faça um Programa que leia o QI de uma pessoa e escreva uma mensagem baseada na tabela abaixo. Observe que os colchetes identificam um intervalo fechado e os parênteses identificam um intervalo aberto. [ 000, 030 ) - Ameba [ 030, 050 ) - Débil Mental [ 050, 070 ) - Regular [ 070, 100 ) - Normal [ 100, 150 ] - Gênio Outros - QI inválido 3. Faça um Programa que leia três notas de uma pessoa. Calcular a média e apresentar um conceito conforme a tabela abaixo: [ 10, 09 ] - A ( 09, 07 ] - B ( 07, 04 ] - C ( 04, 00 ] - D 4. A empresa XYZ & Cia Ltda decidiu conceder um aumento de salários a seus funcionários de acordo com a tabela abaixo: SALÁRIO ATUAL De 0 até 400 15% Acima de 400 até 700 12% Acima de 700 até 1000 10% Acima de 1000 até 1800 7% Acima de 1800 até 2500 4% Acima de 2500 0% ÍNDICE DE AUMENTO 29