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



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

Algoritmos e Programação de Computadores

Algoritmos Computacionais ( Programas )

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

Algoritmos com VisuAlg

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

Algoritmo e Programação

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

ESTRUTURA CONDICIONAL

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

INTRODUÇÃO AOS SISTEMAS LÓGICOS

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

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

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

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

Linguagem algorítmica: Portugol

PC Fundamentos Revisão 4

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Resolução de problemas e desenvolvimento de algoritmos

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Algoritmos e Programação _ Departamento de Informática

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

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

Programação Básica em Arduino Aula 2

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

INTRODUÇÃO À LINGUAGEM C++

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

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

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

Estruturas de Controle A Tomada de Decisões

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

Introdução a Algoritmos Parte 04

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Introdução aos cálculos de datas

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

Conceitos Importantes:

Aluísio Eustáquio da Silva

Componentes da linguagem C++

LÓGICA DE PROGRAMAÇÃO

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

Capítulo 2: Introdução à Linguagem C

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

Aula 3 Desvio Condicional

ALGORITMOS E FLUXOGRAMAS

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

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

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Algoritmos em Javascript

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

INF 1005 Programação I

Programação de Computadores

Conceitos básicos da linguagem C

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com.

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

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

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

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

Programação Elementar de Computadores Jurandy Soares

Controle de Fluxo Comandos de decisão

2. ENTRADA DE DADOS 2.1. TEXTOS

Lógica. Everson Santos Araujo

e à Linguagem de Programação Python

CAP. I ERROS EM CÁLCULO NUMÉRICO

Estruturas de Repetição Parte II PARA-ATÉ

3 Sistemas de Numeração:

Módulo III. Folhas de Cálculo

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

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Controle de Fluxo Comandos de decisão

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

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

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

OPERADORES E ESTRUTURAS DE CONTROLE

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Organização de programas em Python. Vanessa Braganholo

Arquitetura de Computadores. Tipos de Instruções

Programação de Computadores. Professor Ilaim Costa Junior

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Expressões Lógicas Comandos de Seleção

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Programação WEB I Estruturas de controle e repetição

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Organização e Arquitetura de Computadores I

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

Java Como Programar, 8/E

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Lógica de Programação

ARQUITETURA DE COMPUTADORES

Estruturas de Repetição

Sistemas de Numeração

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

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

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

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

Algoritmos e Programação. Prof. Tarcio Carvalho

Transcrição:

Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1

Estruturas de dados Representação computacional das informações do problema ser resolvido Informações podem ser de diferentes tipos, então implicam diferentes representações Ex: Identifique os dados de entrada e saída neste algoritmo para calcular a aceleração de um corpo: 1. Leia para variável M a massa do corpo em kg 2. Leia para variável F força a ser aplicada ao corpo 3. Calcule aceleração: a = F / M a c *Mg 4. Mostre o valor da variável a na tela 2

Tipos primitivos de dados São os tipos de informação que o computador manipula: Numéricos: Inteiros: um subconjunto dos números inteiros, podendo ser sinalizados ou não (ex: 4, -5, 1034, 0) Reais: um subconjunto dos números reais, com determinada precisão (ex: 1.34, 2.7828) Não-numéricos: Alfanuméricos: sequências de letras, algarismos e símbolos (ex: ABCDEF, FX90, R$ 10,00 ) Booleanos: valores que representam verdadeiro ou falso (ex: TRUE, FALSE) 3

Constantes e variáveis Informações podem estar guardadas em constantes ou variáveis Constantes: valores que não mudam ao longo do tempo Variáveis: guardam valores que podem mudar Conteúdo: valor da variável Identificador: o nome da variável Do ponto de vista computacional, uma variável é uma área de memória RAM 4

Constantes e variáveis Ex: Algoritmo para calcular a aceleração de um corpo: 1. Leia para variável M a massa do corpo em kg 2. Leia para variável F força a ser aplicada ao corpo 3. Calcule aceleração: a = F / M a c *Mg 4 Mostre o valor da variável a na tela constantes F: variável que representa a força aplicada M: variável que representa a massa do corpo a: variável que representa a aceleração resultante a c : constante que representa o atrito cinético g: constante que representa a aceleração gravitacional 5

Constantes e variáveis Ex: Algoritmo para formatar o nome de uma pessoa: 1. Leia para variável nome o primeiro nome de uma pessoa 2. Leia para variável sobrenome seu sobrenome 3. Faça variável NomeCompleto = nome + sobrenome 4. Mostre o valor da variável NomeCompleto na tela Variáveis: nome, sobrenome, NomeCompleto Constantes: Obs: todas variáveis e constantes são alfanuméricas 6

Constantes e variáveis O identificador é o nome de um local onde se podem guardar valores de determinado tipo de dados A definição de identificadores possui regras (sendo algumas de bom senso): Devem iniciar com caractere alfabético Segundo caractere em diante pode ser numérico Pode-se usar símbolo _ como parte do identificador Devem ajudar a lembrar do que se trata a informação guardada (i.e: mnemônico) Ex: nome, sobrenome, a, F, lista,... 7

Declaração de variáveis As variáveis necessárias em um algoritmo devem ser previamente declaradas Assim se reserva memória para guardar seus conteúdos A declaração inclui o tipo de dados da variável e seu identificador, na forma: Tipo variável1, variável2,...; Exemplos: real x, y; // coordenadas de um ponto texto Nome; inteiro Dia, mes, ano; logico Sucesso; /* verificação do nome bem sucedida */ 8

Declaração de variáveis Ao serem declaradas as variáveis não estão inicializadas Quer dizer, não possuem valor inicial A declaração ocorre antes das ações do algoritmo Os comentários representam qualquer explicação inserida no algoritmo, para ajudar seu entendimento Comentários são precedidos por //... ou delimitados por /* e */ (neste caso, podem ocupar mais de uma linha) 9

Operações básicas: atribuição Atribuir ou associar um valor a uma variável Sintaxe genérica: identificador expressão; Expressão depende do tipo da variável: Numéricas: expressão pode conter constantes, variáveis numéricas, expressões aritméticas, funções matemáticas Lógicas: expressão deve resultar em Verdadeiro ou Falso Texto: expressão deve resultar em um texto Exemplos: x 10 // variável x é do tipo Inteiro sucesso (x < 20) E (y > 10); // sucesso é do tipo 10

Operações básicas: operadores usados em expressões Aritméticos (somente com variáveis numéricas): +, - Adição e subtração (unários) +, - Adição e subtração (binários) * Multiplicação / Divisão div Divisão inteira ou truncada mod Resto da divisão inteira 11

Operações básicas: operadores usados em expressões Relacionais (usados para comparações): Somente com dados numéricos: >, >=, <, <= Com quaisquer tipos de dados: = (igual), =/= (diferente) Lógicos ou Booleanos (usados para combinar condições): E (conjunção). Ex: (x > 0) E (x < 10) OU (disjunção). Ex: (idade < 5) OU (idade >= 65) NOT (negação). Ex: NOT (opcao = ) 12

Descrição do algoritmo em pseudo-linguagem: INICIO FIM Declaração de variáveis e constantes Inicialização de variáveis e constantes Comandos de entrada de dados Processamento / cálculo Comandos de saída de dados 13

Descrição do algoritmo em pseudo-linguagem: Ex: cálculo de média INICIO Real P1, P2, P3, P4, M; Ler P1 Ler P2 Ler P3 Ler P4 M (P1 + P2 + P3 + P4) / 4 Escrever Media final =, M FIM 14

Exercícios: 1) Faça um algoritmo para ler dados pessoais (nome, ano de nascimento, endereço, sexo), e mostre esses dados da seguinte forma: Nome: nome completo Nascimento: ano de nascimento Idade: idade Sexo: M ou F Maior de idade: Verdadeiro ou Falso 15

Exercícios: 2) ) Faça um algoritmo para calcular e mostrar o perímetro de um polígono qualquer. 3) Faça um algoritmo para calcular e mostrar a área de um polígono qualquer. 4) Faça um algoritmo para mostrar de forma separada o valor inteiro de um número real e sua parte fracionária. 16

Exercícios: 5) Faça um algoritmo para calcular a resistência equivalente para um circuito com duas resistências em paralelo. 6) Faça um algoritmo para calcular o desvio padrão de um conjunto de 8 valores reais. 7) Em um cinema as cadeiras são numeradas sequencialmente, começando no canto esquerdo próximo à tela. Essas cadeiras estão organizadas em 40 fileiras de 20 cadeiras. Faça um algoritmo que informe que que fileira se encontre determinada cadeira, e sua posiçõa em relação ao início da fileira. 17

Estruturas de controle: Condicional: : faz a escolha de ações a serem executadas, dependendo de condições definidas. Condições são dadas por expressões booleanas, que resultam em Verdadeiro ou Falso. Sintaxe geral: Se condição entao Bloco de comandos FimSe ou Se condição entao Bloco de comandos Senao Bloco de comandos FimSe 18

Representação em fluxograma para se... então senão Não Condição Sim Sentenças Sentenças 19

Estruturas de controle: exemplo Determinar se um número é par ou ímpar: INICIO Inteiro numero Escrever Digite um numero: Ler numero Se (numero % 2 = 0) entao Escrever Numero, numero, é par Senao Escrever Numero, numero, é ímpar FimSe FIM 20

Estruturas de controle: exemplo Determinar se um número é par ou ímpar: (fluxograma) 21

Exercícios: 1) Faça um algoritmo para fazer a divisão de dois números reais. Antes de dividi-los deve ser feito um teste de validade. Caso não seja possível dividi-los, deve ser mostrada uma mensagem de erro. Se for possível, deve- se mostrar o resultado da divisão. 2) Faça um algoritmo para fazer a divisão de dois números inteiros. No entanto, antes de efetuar a divisão deve-se verificar se é possível fazer a divisão sem resto, gerando-se uma mensagem de erro caso contrário. 22

Exercícios: 3) Tendo como dados de entrada o sexo e a altura de uma pessoa, faça um algoritmo que calcule o peso ideal usando estas fórmulas (h = altura): Homens: 72.7 * h 58 Mulheres: 62.1 * h - 44.7 23

Exercícios: 4) Traduza o fluxograma ao lado para Portugol. O que faz esse algoritmo? 24

Condições: expressões que resultam em Verdadeiro ou Falso Condições simples: : apenas uma comparação. Ex: Idade < 18 // Verdadeiro se pessoa for menor de idade Sexo = M // Verdadeiro se pessoa for do sexo feminino Condições compostas: : combinam condições usando operadores lógicos (NAO, E, OU). Ex: Idade > 18 E sexo = F // mulheres maiores de idade X > 0 E x < 10 // valor da variável x está entre 0 e 10 25

Condições: exercício 1) Um edifício possui dois elevadores. Quando alguém chama um elevador, o sistema de controle seleciona o mais adequado. As regras de seleção para o melhor elevador são as seguintes (em ordem de preferência): i) Aquele que estiver indo na mesma direção do chamado, e indo para o andar de onde ele se originou. ii) Aquele que estiver parado e mais próximo do andar de onde veio o chamado. (continua...) 26

Cada elevador é descrito pelas variáveis (N é 1 ou 2): Logico paradon, subindon Inteiro andarn O chamado é descrito pelas variáveis: Inteiro chamadoandar Logico chamadosubindo a) Escreva a condição que expresse a regra de seleção i) b) Escreva a condição que expresse a regra de seleção ii) c) Escreva a condição escolha o elevador adequado 27

Estrutura condicional: Escolhe caso Mais prática para comparar uma variável (ou expressão) com múltiplos valores INICIO Inteiro opcao Escrever Digite uma opcao entre 1 e 3: Ler opcao Escolhe opcao Caso 1: escrever opcao 1 Caso 2: escrever opcao 2 Caso 3: escrever opcao 3 Defeito: escrever opcao desconhecida! FimEscolhe FIM 28

Estrutura condicional: Escolhe caso Equivalente a se.. então senão aninhados: INICIO Inteiro opcao Escrever Digite uma opcao entre 1 e 3: Ler opcao Se opcao = 1 entao escrever opcao 1 Senao Se opcao = 2 entao escrever opcao 2 Senao Se opcao = 3 entao escrever opcao 3 Senao escrever opcao desconhecida! FimSe FimSe FimSe FIM 29

Estrutura condicional: Escolhe caso Podem-se especificar múltiplos valores em cada teste: INICIO Inteiro opcao Escrever Digite uma opcao entre 1 e 10: Ler opcao Escolhe opcao Caso 1, 3, 5, 7, 9: escrever opcao ímpar Caso 2, 4, 6, 8, 10: escrever opcao par Defeito: escrever opcao desconhecida! FimEscolhe FIM 30

Exercícios 1) Refaça o programa da calculadora, mas desta vez usando a estrutura escolhe caso. 2) Faça um algoritmo que mostre qual o último dia de um determinado mês informado pelo teclado. Caso seja informado o mês 2 (fevereiro), seu algoritmo deve identificar se é ano bissexto (assim o mês tem 29 dias), ou não (mês tem 28 dias). Obs: anos bissextos são dados pelas regras (segundo o calendário Gregoriano): i) De 4 em 4 anos é ano bissexto. ii) De 100 em 100 anos não é ano bissexto. iii) De 400 em 400 anos é ano bissexto. iv) Prevalecem as últimas regras sobre as primeiras. 31

Exercícios 3) A previsão do tempo na costa brasileira pode ser feita de forma aproximada usando-se um barômetro e um termômetro. Uma estimativa com boa chance de acerto se baseia na tabela abaixo (obtida em http://www.popa.com.br/meteorologia/pressao&temperatura.htm): Faça um algoritmo que forneça uma estimativa da previsão do tempo, usando a tabela acima. 32