Apostila de Algoritmo e Programação I

Documentos relacionados
Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

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

Programação Básica. Estrutura de um algoritmo

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

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

Linguagem C: Introdução

Algoritmos I Aula 13 Linguagem de Programação Java

CONCEITOS DE ALGORITMOS

Algoritmos I Aula 12 Linguagem de Programação Java

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

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

Linguagens de Programação Classificação

Algoritmos e Programação

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Algoritmos. Conceitos e Comandos

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

Algoritmos II Aula 2 Vetores

Portugol. Tiago Alves de Oliveira

AULA TEÓRICA 4. Tema 2. Introdução a programação em Java (Continuação) Tema 3. Instruções básicas de entrada e saída

Algoritmos Computacionais

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

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Capítulo 1 Conceitos Básicos

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução a Computação

Introdução à Programação

JAVA. Professor: Bruno Toledo

Introdução a Computação

LINGUAGEM ALGORÍTMICA

Técnicas de Programação

Introdução a Programação de Jogos

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

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

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 2. Profª Amanda Gondim

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Introdução a Computação

Programação Estruturada

Vetores Unimensionais

Projeto de Algoritmos

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Aula 4: Introdução à Linguagem C++

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Desenvolvimento de Software I

Programação Estruturada Aula VisualG

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

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

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Variáveis, Tipos de Dados e Operadores

Lição 4 Fundamentos da programação

UNIDADE I AULA II. Introdução à programação Java

Linguagem de Descrição de algoritmos

Introdução à Programação

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Aula 4 Introdução ao C

SSC304 Introdução à Programação Para Engenharias

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

PROGRAMAÇÃO JAVA. Parte 2

Exercícios Resolvidos. Java Básico

Exercícios Repetição

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

printf( \n %d dividido por %d eh%d e o resto eh%d \n, x, y, resultado)

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Vetores Unimensionais

Desenvolvendo aplicações Java

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Seleção Múltipla Laços (while, do-while, for) AULA 05

Fundamentos de Programação

Algoritmo e Programação Matemática

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

Oficina de Python Prof. Me. José Carlos Perini

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

Ambiente de desenvolvimento

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

Fluxogramas e variáveis

Algoritmos. Prof. Jonatas Bastos Site:

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

AULA 1 INTRODUÇÃO AO JAVA

Transcrição:

Apostila de Algoritmo e Programação I Prof. Luthiano Venecian Adaptação Prof. Cava Versão: 1.0

SUMÁRIO 1. CONCEITOS BÁSICOS... 3 1.1. FORMAS DE REPRESENTAÇÃO DE ALGORITMOS... 4 1.2. EXERCÍCIOS... 4 1.3. INSTRUÇÕES QUE O COMPUTADOR EXECUTA... 5 1.4. PRIMEIRO EXEMPLO... 5 1.5. LINGUAGEM DE PROGRAMAÇÃO JAVA... 6 1.6. OUTROS EXEMPLOS... 7 1.7. EXERCÍCIOS... 7 2. PROGRAMAS SEQUÊNCIAIS... 8 2.1. ATRIBUIÇÃO... 8 2.2. CONSTANTE... 8 2.3. VARIÁVEL... 8 2.4. TIPO DE DADOS... 8 2.5. EXPRESSÕES... 9 2.6. OPERADORES ARITMÉTICOS... 9 2.7. ESCREVENDO EXPRESSÕES EM JAVA... 9 2.8. FUNÇÕES MATEMÁTICAS... 10 2.9. EXERCÍCIOS... 10 2.10. PROGRAMA COM ENTRADA DE DADOS... 11 2.11. REGRAS PARA CRIAR NOME DE VARIÁVEIS... 13 2.12. ROTEIRO PARA DESENVOLVIMENTO DE PROGRAMAS... 13 2.13. EXERCÍCIOS... 14

1. Conceitos básicos Hardware : Corresponde a parte matéria, aos componentes físicos e eletrônicos do computador ( equipamento) Software: Corresponde aos programas. Básico: Sistemas Operacionais (ex. Linux, Windows) Aplicativos: Editores de Texto, Editores gráficos Programa: Conjunto de instruções, escritas em alguma linguagem de programação que ao serem executadas em um computador resolvem um determinado problema. Exemplos: Programa para exibir UCPEL no dispositivo de saída: Linguagem C PASCAL JAVA Assembly (8086) #include <studio.h> main() { printf( UCPEL ); program exemplo; begin write( UCPEL ); end. public class Exemplo{ public static void main(string args[]){ System.out.println( UCPEL );.MODEL small.stack 100h.DATA Mensagem UCPEL$.CODE mov ax,@data mov ds,ax mov ah,9 mov dx,offset Mensagem Int 21h Algoritmo: É a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão finita de passos, atingindo o objetivo. É independente de linguagem de programação.

1.1. Formas de representação de algoritmos Descrição narrativa Português estruturado Fluxograma tradicional Diagrama de CHAPIN (Nasso a Shneiderman) Exemplo: Preparar uma limonada Pegar o limão Cortar o limão Espremer o limão Colocar o suco no copo Preencher o copo com água Adicionar 3 colheres de açúcar Misturar o conteúdo do copo com uma colher. 1.2. Exercícios 1- Escreva um algoritmo para trocar uma lâmpada. 2 Escreva um algoritmo para resolver o quebra-cabeça TORRE DE HANÓI Objetivo: Mover todos os discos do pino A para o pino B. Regras: Mover um disco por vez Um disco com diâmetro maior não pode ficar em cima de um disco com diâmetro menor.

1.3. Instruções que o computador executa Instrução para enviar uma informação para o dispositivo de saída (Escrever no vídeo) Instrução para armazenar uma informação na memória principal Instrução para obter um dado a partir do dispositivo de entrada (Ler o teclado) Instrução para obter o valor de expressões aritméticas (Calcular) 1.4. Primeiro exemplo Escreva um algoritmo para exibir na tela do computador a palavra UCPEL. Português Estruturado Início Escreva UCPEL fim Diagrama de CHAPIN Escreva UCPEL Fluxograma Tradicional início UCPEL fim

1.5. Linguagem de Programação JAVA Principais aspectos: Tecnologia desenvolvida na Sun Microsystems a partir de 1991 Paradigma da orientação a objetos Objetivo inicial: programação para dispositivos eletrônicos inteligentes. 1995 a Sun anunciou oficialmente o JAVA. Nome da linguagem: cidade de origem de um café importado Extensões: JME Java Micro Edition Plataforma voltada para pequenos dispositivos (celulares, agendas, PDAs...) JSE Java Standard Edition Aplicações cliente JEE Java Enterprise Edition Aplicações servidores Editor de texto: JCreator Editor de texto para Linguagem Java. Exemplo: public class Exemplo1{ public static void main(string args[]){ System.out.println( UCPEL ); Como escrever e executar o programa? Editor de Texto Programa ByteCode Compilador fonte Interpretador Exemplo1.java javac Exemplo1.class java Estudo da linguagem e suas estruturas de controle Máquina Virtual JAVA Estudo das bibliotecas de classes Java o JAVA API (Applications Programming Interfaces)

1.6. Outros exemplos Exemplo2 public class Exemplo2 { System.out.print("Algoritmos"); System.out.print("e"); System.out.print("Programação I"); Exemplo3 public class Exemplo3 { System.out.println("Algoritmos"); System.out.println("e"); System.out.println("Programação I"); Exemplo4 public class Exemplo4 { System.out.println("Algoritmos\ne\nProgramação I"); \n Nova linha 1.7. Exercícios Escreva um programa em Java para imprimir cada tela abaixo: a) U C P E L b) U C P E L c) U C P E L d) U C P E L

2. Programas sequênciais Exemplo: Um programa para somar os valores de 5 e 7. public class Exemplo5 { int va, vb, soma; va = 5; vb = 7; soma = va+vb; System.out.println(soma); 2.1. Atribuição (=) Permite armazenar um valor em uma variável. Ex. va = 5; 2.2. Constante É um valor fixo, invariante. Ex. va = 5; 5-> é uma constante inteira. 2.3. Variável É um espaço de memória que pode conter, a cada tempo, valores diferentes. Seu conteúdo é, referenciado através de um nome (identificar). Devemos fornecer nomes significativos para as variáveis. Ex. va = 5; 2.4. Tipo de dados Uma variável necessita estar associada a um tipo de dado correspondente. Se o conteúdo a ser armazenado é do tipo inteiro(0,1,2..) então é utilizado int. Ex. int va,vb,soma,idade; Caso seja um conteúdo como um texto, usa-se String. Ex. String nome; Se for número decimal(1.10, 0.95...), usa-se double. Ex. double precoproduto,notaaluno;

2.5. Expressões São representações simbólicas de operações a serem feitas sobre determinados operandos, visando a obtenção de um resultado. Ex. soma= va+vb; Exemplos de atribuições: variável = constante variável = variável variável = expressão Ex: a=5; Ex. b=c; Ex. d=a+3; 2.6. Operadores aritméticos * Multiplicação 1º / Divisão 1º % Resto da divisão 1º + Adição 2º - Subtração 2º 2.7. Escrevendo expressões em JAVA Matemática JAVA m = a + b 2 m = a + b 2 m = (a + b) / 2; m = a + b / 2; Exemplo: a = 5+2*3; b = (5+2)*3; c = 11%3; d = ((a+b)*c)/2;

Programa em Java public class Exemplo5a { int a, b, c, d; a=5+2*3; b=(5+2)*3; c=11%3; d=((a+b)*c)/2; System.out.println(d); 2.8. Funções matemáticas Utilizar a classe Math Matemática JAVA y = Math.sqrt(x); y = x³ y = π y = Match.pow(x,3); y = Mach.PI; 2.9. Exercícios A) Escrever a expressão abaixo em JAVA: B) Qual o valor atribuído a variável h? h = 11%4 + 12/3; C) Resolver exercícios da Folha 1.

2.10. Programa com entrada de dados Exemplo 6: O programa fará a entrada de um nome e imprimirá na tela. A seguir as 3 formas de representação para este algoritmo. Português Estruturado Início Leia nome Escreva nome fim Diagrama de CHAPIN Leia nome Escreva nome Fluxograma Tradicional início nome nome fim Programa em Java import javax.swing.joptionpane; public class Exemplo6 { String nome; nome = JOptionPane.showInputDialog("Informe seu nome: "); System.out.println(nome);

Observações: JOptionPane.showInputDialog => comando que cria a caixa de dialogo no computador. Tudo que estiver digitado entre ( Informe seu nome ) vai aparecer na caixa de diálogo; import javax.swing.joptionpane => Necessário para que o comando JOptionPane.showInputDialog funcione. Sempre precisará aparecer no inicio do código; Note que este programa fará a leitura de um nome. O tipo de dados utilizado é String. Exemplo7: Ler dois valores inteiros, calcular a soma entre os mesmos e escrever na tela. Diagrama de CHAPIN Leia va Leia vb Soma <- va+vb Escreva soma Programa em Java import javax.swing.joptionpane; public class Exemplo5 { String caixa1, caixa2; int va,vb,soma; caixa1 = JOptionPane.showInputDialog("Informe o 1º valor: "); caixa2 = JOptionPane.showInputDialog("Informe o 2º valor: "); va = Integer.parseInt(caixa1); vb = Integer.parseInt(caixa2); soma = va+vb; System.out.println("O resultado é: "+soma); Observações: Toda vez que uma entrada de dados for com conteúdo de um número inteiro, é necessário realizar uma conversão. o Exemplo: No código acima foi armazenado na variável caixa1 o valor lido pelo programa. O comando Integer.parseInt transforma o valor lido em inteiro.

Exemplo8: Ler um valor para calcular sua raiz quadrada. import javax.swing.joptionpane; public class Exemplo8 { String caixa1; double valor; caixa1 = JOptionPane.showInputDialog("Informe o valor Produto: "); valor = Double.parseDouble(caixa1); System.out.println("O produto custa R$ "+valor); Observações: Toda vez que uma entrada de dados for com conteúdo de um número que possui casas decimais, é necessário realizar uma conversão. o Exemplo: No código acima foi armazenado na variável caixa1 o valor lido pelo programa. O comando Double.parseDouble transforma o valor lido em decimal. 2.11. Regras para criar nome de variáveis 1. Deve ser comporto por letras, dígitos, underline; 2. Não pode começar por dígito; 3. Palavras reservadas da linguagem não podem ser utilizadas; 4. Não pode ter espaço em branco. a. Ex. nome da pessoa = Aluno ; (ERRO) b. Ex. nomedapessoa = Aluno ; (CORRETO) c. Ex. nome-da_pessoa = Aluno ; (CORRETO) 2.12. Roteiro para desenvolvimento de programas 1. Ler o enunciado até compreender o problema; 2. Identificar as saídas exigidas pelo problema; 3. Identificar as entradas descritas no enunciado; 4. Verificar as transformações necessárias para, dadas as entradas, produzir as saídas especificadas; 5. Escrever o algoritmo; 6. Testar cada passo, verificando se sua execução está conduzindo os objetivos desejados.

2.13. Exercícios A loja Maisbarato está fazendo uma liquidação de verão oferecendo um desconto em suas mercadorias baseado na idade de seus clientes. Para facilitar a determinação dos novos preços você foi convidado a escrever o seguinte software. Ler o preço original de um produto, a idade do cliente e escrever o valor que deverá ser pago. OBS. A loja oferecerá 0,5% para cada ano de vida do cliente. SAIDA: Preço promocional ENTRADA: Preço original e Idade do cliente. PreçoPromocional = preço original 0.5*idade*preço original 100 Resolução: Diagrama de CHAPIN Leia porig Leia idade ppro = porig 0.5*idade*porig 100 Escreva ppro Programa em JAVA import javax.swing.joptionpane; public class Exemplo9 { String caixa1, caixa2; double porig,ppro; int idade; caixa1 = JOptionPane.showInputDialog("Informe Preço: "); porig = Double.parseDouble(caixa1); caixa2 = JOptionPane.showInputDialog("Informe a Idade: "); idade = Integer.parseInt(caixa2); ppro = porig - (0.5*idade*porig)/100; System.out.println("Preço promocional: "+ppro); Resolver exercícios da folha nº 2