CURSO BÁSICO DE PROGRAMAÇÃO AULA 2. Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Portugol Studio

Documentos relacionados
CURSO BÁSICO DE PROGRAMAÇÃO AULA 2. Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Visualg

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Conceitos e Comandos

Algoritmo e Programação Matemática

Noções de algoritmos - Aula 1

PROGRAMAÇÃO COMPUTACIONAL I

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Introdução à Ciência da Computação

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Algoritmos: tipos de dados, variáveis e expressões

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

ALGORITMOS AULA 2. Profª Amanda Gondim

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

CONCEITOS DE ALGORITMOS

Prof. Jorge Cavalcanti

Métodos para a construção de algoritmo

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Linguagem Computacional

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

5. Expressões aritméticas

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Programação de Computadores I. Professor Ilaim Costa Junior

Fundamentos de Programação

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

Português Estruturado

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação Estruturada Aula VisualG

Português Estruturado (VISUALG)

Técnicas de Programação

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel

Introdução aos Algoritmos

Prof. José Remo / Prof. Ildeberto Rodello 1

Instruções, dados e expressões

Conceitos Básicos de Algoritmos

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Introdução à Computação

Oficina de Python Prof. Me. José Carlos Perini

Fluxogramas e variáveis

Introdução aos Algoritmos

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Introdução à Computação

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Programação de Computadores III

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Pseudocódigo e visualg

Conceitos básicos de algoritmos

Desenvolvido por: Juarez A. Muylaert Filho - Andréa T. Medeiros - Adriana S. Spallanzani -

Algoritmos e Programação

Programação de Computadores III

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

Estrutura de Condição, Escolha e Repetição

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Programação Introdução

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Algoritmos I Aula 5 Visualg

7 Operadores e Expressões

CAPÍTULO 2 TIPO DE DADOS

Programação de Computadores:

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha

Tipos de dados, constantes e variáveis. Prof.: Jesus

Programação Estruturada

Introdução ao VisuALG

Introdução à Computação

Ciência da Computação A&P

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Introdução à Computação

Capítulo 1 Conceitos Básicos

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Conceitos Básicos de Algoritmos

Lista de Exercícios - 1 Prof: Yuri Frota

Algoritmos Computacionais

Algoritmos e Técnicas de Programação

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Portugol. Tiago Alves de Oliveira

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Transcrição:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 2 Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Portugol Studio

Revisão da aula anterior 1. Hardware e Software Básico/Aplicativo. 2. Sistemas Operacionais 3. O que é Programação? 4. Linguagens de Programação 5. Paradigmas da Programação 6. Compiladores e Interpretadores 7. Proposições, Conectores e Tabelas Verdade

Revisão da aula anterior P Q (P v Q) ^ P Q V V V F F V F F

Revisão da aula anterior P Q P v Q (P v Q) (P v Q) ^ P (P v Q) ^ P Q V V V F F T V F V F F T F V V F F T F F F V F T

Revisão da aula anterior 1. O que é um algoritmo? 2. Quais os passos para fazer um sanduíche? 3. O que é um desvio em um algoritmo?

Revisão da aula anterior 1. Pegar um pão. 2. Pegar uma faca 3. Abri-lo com a faca. 4. Passar maionese 5. Colocar uma fatia de mussarela. 6. Se tiver presunto, colocar uma fatia de presunto. 7. Senão se tiver peito de peru, colocar uma fatia de peito de peru e pular para o PASSO 9. 8. Senão cancelar sanduíche e fazer miojo. FIM 9. Colocar o sanduíche na sanduicheira. 10. Esperar 3 minutos. 11. Desligar a sanduicheira. 12. Retirar o sanduiche e servir. FIM

Revisão da aula anterior Mas o computador entende essas sequências de passos? Para o computador, o que significa digitar sua senha ou ligar o fogão? Computacionalmente, os algoritmos devem seguir um conjunto de instruções pré-determinadas. Essas instruções são a língua que o computador fala. Ou seja são uma linguagem de programação.

Variáveis Trata-se de algo instável, inconstante e sujeito a alterações. Uma variável é um símbolo que representa um elemento não fixo de determinado conjunto. Ex : x é uma variável do Universo {..., -12, -9, -6, -3, 0, 3, 6, 9, 12,...} Logo x, é uma variável que pode assumir qualquer valor múltiplo de 3. Variáveis estão presentes em fórmulas (equações), preposições (lógica), como também em algoritmos.

Variáveis Variáveis, em algoritmos, representam de forma abstrata uma porção da memória, a qual serve para armazenar quaisquer informações em tempo de execução. Variáveis podem assumir diversos valores durante uma mesma execução. Variáveis possuem três atributos: Nome: Identificador da variável Tipo de dado: Refere-se ao universo em que a variável está contida Informação: Refere-se ao valor atribuído a ela e portanto armazenado por ela.

Nomes de Variáveis Ao trabalhar com variáveis, devemos nomeá-las de forma a identificá-las de forma única, e poder resgatá-las quando necessário. O nome deve ser intuitivo, de forma a identificar o que o valor contido nela representa ao programa. Para nomear uma variável é necessário seguir regras: Deve iniciar com letras ou _. Não é permitido uso de caracteres especiais (exceto _ ). Não pode ser uma palavra reservada da linguagem. Non-case-sensitive.

Nomes de Variáveis Válidos lucro Inválidos &lucro _lucro lucro_mensal lucro_ lucro1 lucro# 1lucro escreva, leia inicio, fimalgoritmo

Tipos de Variáveis Variáveis devem estar contidas em um conjunto definido de valores. Para matemática uma variável pode estar contida em diversos conjuntos: N Naturais Z Inteiros Q Racionais I Irracionais R Reais C - Complexos

Tipos de Variáveis Nas linguagem em geral apenas representa-se inteiros e reais para tipos numéricos. Além destes, também é possível representar valores literais e lógicos. Exemplos: Tipo Valores Inteiro {..., -3, -2, -1, 0, 1, 2, 3,...} Real {..., -1,..., -0.5,..., 0,..., 0.5,..., 1,...} Literal João, Pedro, Francisco, 06/07/2013 Lógico Verdadeiro ou Falso. Caractere a, b, D, 1, &...

Declaração de Variáveis Para se utilizar as variáveis, antes é necessária a declaração das mesmas. Declarar: definir o tipo de variável e seu nome. Exemplos: inteiro numero_conta real lucro_mensal literal nome_cliente logico devendo int numero_conta; float lucro_mensal; char nome_cliente[50]; boolean devendo;

Declaração de Variáveis Pode se declarar mais de uma variável por vez: numero_conta_corrente, numero_conta_poupanca : inteiro saldo, lucro_mensal : real int numero_conta_corrente,numero_conta_poupanca; float saldo, lucro_mensal;

Exercícios 1) Indique com um X quais dos dados seguintes são do tipo Inteiro. a) ( ) 1000 b) ( ) 0 c) ( ) -900 d) ( ) Verdadeiro e) ( ) -456 f) ( ) 34 g) ( ) Casa 8 h) ( ) 0 i) ( ) Falso j) ( ) -1,56

Exercícios 2) Indique com um X quais dos dados seguintes são do tipo Real. a) ( ) -678 b) ( ) 0,97 c) ( ) -9,12 d) ( ) Verdadeiro e) ( ) -456 f) ( ) -99,8 g) ( ) Cinco h) ( ) 45,8976 i) ( ) Falso j) ( ) -1,56

Exercícios 3) Indique com um X os dados do tipo Literal. a) ( ) 678 b) ( ) 0,87 c) ( ) -9,12 d) ( ) Verdadeiro e) ( ) -456 f)( ) -99,8 g) ( ) Cinco h) ( ) 45,8976 i) ( ) Falso j) ( ) 1,56

Exercícios 4) Indique com um X os dados do tipo Lógico a) ( ) -678 b) ( ) 0,87 c) ( ) -9,12 d) ( ) Verdadeiro e) ( ) -456 f) ( ) V g) ( ) Cinco h) ( ) Falso i) ( ) F j) ( ) True k) ( ) -1,56

Exercícios 5) Assinale com um X os nomes válidos para uma variável. a) ( ) Endereço b) ( ) 21Brasil c) ( ) Fone$Com d) ( ) NomeUsuário e) ( ) Nome_Usuário f) ( ) Nome*Usuário g) ( ) End*A-6 h) ( ) Cidade3 i) ( ) Tes_Te j) ( ) Nome_Pess_Cont k) ( ) 2Aluno

Estrutura de um Algoritmo Cabeçalho Informações a respeito do código, elas aparecem como linhas comentadas no inicio do código antes do conjunto de instruções. Em Portugol ela pode aparecer no início do código como linhas comentadas, //, onde cada linha contem uma informação. Exemplo: // Função : bhaskara // Autor : Jhon // Data : 02/07/2013

Estrutura de um Algoritmo Declaração de variáveis O local de declaração de variáveis varia entre as linguagens de programação. Em Portugol devem ser declaradas na seção de variáveis, na primeira linha logo após a palavra chave var. Exemplo: real K logico W inteiro Z caracter y cadeia S real A, B, C

Estrutura de um Algoritmo Corpo do Programa O corpo do programa é constituído pelos métodos e funções que serão utilizados para resolver um determinado problema. Desenvolvimento Top-Down: consiste em projetar os algoritmos começando com uma descrição do algoritmo em termos gerais e através de refinamentos sucessivos progredindo até instruções de nível mais básico. Exemplos de métodos que compõem o corpo de um programa: Comandos de entrada de dados Comandos de saída de dados Cadeias Se e Senão Laços de repetição

Estrutura de um Algoritmo Identação: Organização das linhas do código ressaltando a hierarquia de blocos. É muito importante ter um código identado pois melhora a sua legibilidade. Escopo: faixa de instrução na qual uma determinada variável é visível. Uma variável visível é aquela que pode ser referenciada naquela instrução. Blocos: seção de código que tem suas próprias variáveis locais cujo escopo é reduzido. Linguagens como Python e Raskell usam a identação para identificar os blocos.

Estrutura de um Algoritmo Exemplo de código identado Exemplo de código não identado

Exemplo Calculando a área de um retângulo: Variáveis: inteiro aresta1, aresta2, area Comandos: Peça aresta1 ao usuário Peça aresta2 ao usuário Armazenar em area o resultado de aresta1 * aresta2 Imprima area

Exercícios 6) Estruture os algoritmos conforme o exemplo anterior: a) Calculando a área de um retângulo com entrada de coordenadas. (X1,Y1) (X3,Y3) (X2,Y2) b) Calculando a área de um círculo. (X4,Y4) c) Calculando o volume de uma caixa retangular. Entrada por medidas de lados Entrada por coordenadas

Operadores lógicos Lógica o estudo dos processos válidos que atingem a verdade O valor retornado é apenas VERDADEIRO ou FALSO OPERADOR OPERAÇÃO TIPO RESULTANTE == igual lógico <> Ou!= diferente lógico < menor que lógico > maior que lógico <= menor ou igual lógico >= maior ou igual lógico

Exemplos Considere a expressão Idade < 18 Valor Idade Resultado V 18 F 31 FALSO 3 VERDADEIRO 15 VERDADEIRO 18 FALSO Considere a expressão Saldo >= 1250. Valor Saldo Resultado 1580 VERDADEIRO 1100 FALSO 1251 VERDADEIRO F 1250 V 1250 VERDADEIRO

Exemplos Considere a expressão Idade = 18 Valor Idade Resultado F 18 F 31 FALSO 3 FALSO V 15 FALSO 18 VERDADEIRO Considere a expressão Saldo!= 1250. Valor Idade Resultado 1580 VERDADEIRO 1100 VERDADEIRO 1251 VERDADEIRO 1250 FALSO V 1250 F V

Observações Comparação entre valores reais tem o mesmo formato da relação entre inteiros. Comparações entre valores de caracteres e cadeias seguem a tabela ASCII

Conectores lógicos Símbolo Significado AND, &&, E E, OR, OU OU!, negação Conector E Conector OU Conector Não P Q P && Q P Q P Q P P V V V V V V V F V F F V F V F V F V F F V V F F F F F F

Exemplos A e B Esta operação só retornará VERDADEIRO, somente se A e B forem verdadeiro A ou B Esta operação só retornará VERDADEIRO, somente se A ou B forem verdadeiro. Conector E P Q P && Q V V V V F F F V F F F F Conector OU A B P Q V V V V F V F V V F F F

Conectores Lógicos Podemos juntar vários operadores para montar uma expressão lógica complexa A && B C &&!D Ou (A &&B) (C &&!D) Ou A && (B C) &&!D Cada uma destas expressões pode ser diferente Somente fazendo tabela verdade para ter certeza

Precedência de operadores Quando usamos vários conectores lógicos, eles tem uma ordem de resolução 1. O que está dentro dos parênteses, priorizando os parênteses mais internos 2. Operador NOT 3. Operador AND 4. Operador OR Exemplo (A>2) AND NOT (A>20) equivale a (A>2) AND (NOT (A>20)) (X=0) OR (X>=2) AND (X<=5), equivale a (X=0) OR ((X>=2) AND (X<=5))

Precedência de Operadores Operações com precedência igual normalmente são executadas da esquerda para a direita, embora o compilador possa, às vezes, rearranjar os operadores para otimização de código. Na dúvida, é aconselhável usar parênteses para garantir a prioridade desejada

Operadores aritméticos OPERADOR OPERAÇÃO + adição - subtração * multiplicação / divisão % resto da divisão inteira

Exemplos 2 % 4 = 2 1+4 = 5 3 % 4 = 3 5-3 = 2 4 % 4 = 0-5 + 9 = 4 5 % 4 = 1 5 * 5 = 25 20 / 2 = 10 20.0 / 2 = 10.0 2 / 4.0 = 0.5 2.0 / 4 = 0.5 2 / 4 = 0 Não é possível dividir 2 por 4 inteiramente, então a divisão fica com quociente zero e resto 2!

Precedência de Operadores Prioridade 1:* / % Prioridade 2: + - Parênteses são prioritários sempre! A + B C * D / E (A+B) C * D /E ((A+B) C) * (D/E) A+B (C*D)/E Operações com precedência igual normalmente são executadas da esquerda para a direita, embora o compilador possa, às vezes, rearranjar os operadores para otimização de código. Na dúvida, é aconselhável usar parênteses para garantir a prioridade desejada

Exercícios 7) Indicar o resultado e o tipo do resultado de cada uma das expressões onde A = 5, B = 2, C = 8 e D = 1,5. a) 5 + 4 2 b) 10 3,4 c) A < B d) 4 + B D e) 5/2 f) A * 2,4 g) A > B h) B + C = B * A

Exercícios 8) Sendo as variáveis A = 3, B = 5, C = 1 e D = 2, construa uma expressão que obtenha: a) T = 8 b) T = 27 e) T = 50,5 f) T = 12 g) T = 13,5 h) T = 9 i) T = 21

Exercícios 9)Analise as expressões e responda V ou F sendo A = 1, B = 2, C = 3, D = 4, E = 5 e G = -4: a) ( ) A * B + C = D E b) ( ) C * D + E = E * B + C + D c) ( ) A + E + D C > C * B E + C

Ferramenta Portugol Studio O que é o Portugol Studio?

Ferramenta Portugol Studio

Tipos de Variáveis no Portugol Studio Inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. Real: define variáveis numéricas do tipo real, ou seja, com casas decimais. Caracter: declara um caracter apenas; Cadeia: declara uma variável contendo uma cadeia de caracteres Lógico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

Declarando Variáveis do Portugol studio <tipo-de-dado> <lista-de-variáveis> Exemplo:

Casos de Erro na Declaração

Atribuindo Valores a Variáveis no Portugol Studio <variavel> = <valor> Exemplo:

Casos de Erro na Atribuição

Operações Básicas do Portugol Studio Operadores aritméticos +, - Operadores Unários, isto é são aplicados a um único operando. São os operadores de maior precedência. Exemplos: -3 e +x. +, -, *, / Operadores aritméticos tradicionais de adição, subtração, multiplicação e divisão. Por convenção * e / tem precedência sobre + e -. % Operador de módulo (isto é, resto da divisão inteira). Tem a mesma precedência da divisão comum.

Operações Básicas do Portugol Studio Operadores relacionais =, <, >, <=, >=,!= Respectivamente igual, menor que, maior que, menor ou igual a, maior ou igual a, diferente de. São utilizados em expressões lógicas para se testar valores de um mesmo tipo. nao ou Operadores Lógicos Operador unário de negação. nao verdadeiro = falso e nao falso = verdadeiro. Tem a maior precedência entre os operadores lógicos. Operador que resulta verdadeiro se um dos seus operandos lógicos for verdadeiro. e Operador que resulta verdadeiro somente se os seus dois operandos lógicos forem verdadeiros.

Exemplos:

Casos de Erro nas Operações

Comando de Saída no Portugol Studio Exemplo: escreva(<lista-de-expressões>)

Casos de Erro nas Operação de Saída

Comando de Entrada no Portugol Studio Exemplo: leia (<lista-de-variáveis>)

Casos de Erro de Entrada no Portugol Studio E se o usuário não for cuidadoso com o tipo da entrada que fornece?

Exercícios 10) Fácil: Peça para que o usuário forneça seu nome, e então imprima-o na tela. 11) Médio: Peça para que o usuário forneça seu nome, idade, peso e CPF, e então imprima-os na mesma linha, porém com separação de 5 espaços entre cada um. Existe mais de uma forma de resolver este problema? 12) Semi-Difícil: Peça para que o usuário fornaça seu peso e altura, e então imprima seu IMC na tela. Lembre-se: IMC = (peso)/(altura²).

Exercícios 13) Fazer um algoritmo para informar a área de um triângulo 14) Dadas 3 notas, fazer um algoritmo para calcular a média aritmética 15) Fazer um algoritmo para calcular o salário líquido de um empregado, onde: SB = Salário Bruto DE = descontos AD = adicionais SL = salário líquido 16) Dadas 2 notas, mostrar na tela: Soma e a média 17) Fazer um algoritmo que dado um número qualquer obtenha a soma do número com seus 3 consecutivos 18) Dadas 2 variáveis, imprimi-las com os valores invertidos.

Exercícios 19) Elabore um código que Leia do dispositivo de entrada um valor inteiro qualquer, obtenha a raiz desse numero e escreva no dispositivo de saída com a precisão de duas casas decimais. 20) Elabore um código que implemente a função de bhaskara, leia três valores inteiros qualquer de entrada, e de saída escreva os resultados com precisão de 3 casas decimais.

FIM Dúvidas? Alexandre, Ayrton, Guilherme e João Paulo. nane_abn@hotmail.com, ayrton@ayrton.eti.br, guilherme_zabot@hotmail.com, juaum_jpc@hotmail.com