Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Documentos relacionados
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Introdução. 17-out-08 Leandro Tonietto 2

Programação científica C++

Algoritmos e Programação

Algoritmos II prof. Daniel Oliveira

Introdução a Programação de Jogos

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Laboratório de Programação II

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

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

Variáveis primitivas e Controle de fluxo

Lição 4 Fundamentos da programação

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

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

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

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Linguagem C. André Tavares da Silva.

Linguagem de programação Java

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

Ambientação com a Sintaxe de Java: parte 1

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

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

PROGRAMAÇÃO em C. Vitor Valerio de Souza Campos

Working 03 : Conceitos Básicos I

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

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

Puca Huachi Vaz Penna

ECT1203 Linguagem de Programação

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Programação II. Aula 3

Operadores e Estruturas de Decisão. Vanessa Braganholo

Sintaxe Básica do Java. João Paulo Q. dos Santos

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

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Disciplina de Algoritmos e Programação

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

3. Linguagem de Programação C

Linguagem C: Introdução

Algoritmo e Programação Matemática

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Introdução à Programação

Algoritmos I Aula 13 Linguagem de Programação Java

Linguagem C Princípios Básicos (parte 1)

Análise de Programação

Introdução à Programação

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

Introdução à Linguagem C Variáveis e Expressões

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

Revisão. Profa Marina Gomes

Algoritmos e Programação

Programação de Computadores IV

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Conhecendo a Linguagem de Programação C

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

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

3. Linguagem de Programação C

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Linguagem de Programação JAVA. Tiago Alves de Oliveira

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

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

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

INSTRUÇÕES DE REPETIÇÃO

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Operadores e Estruturas de Decisão

Linguagem Java - Introdução

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

6 Alguns conceitos e comandos em programação

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

Métodos Computacionais

Programação de Computadores:

Linguagem C Funções. André Tavares da Silva.

Programação de Computadores III

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

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

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

JavaScript (ou JScript)

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

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Programação de Computadores III

Faculdade de Computação

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

A Linguagem C. A forma de um programa em C

Revisão C++ - Parte 1

Oficina de Python Prof. Me. José Carlos Perini

Introdução à Linguagem C

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

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

exatasfepi.com.br Informática C/C++ André Luís Duarte Feliz é o homem que acha sabedoria, e o homem que adquire entendimento; Provérbios 3:13

Introdução a Computação

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Aula 02. Prof. Diemesleno Souza Carvalho

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Transcrição:

Algoritmos Algoritmos Leandro Tonietto Unisinos ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/inf/pg1/algoritmosi_java.pdf Mar-2008 Possuem sintaxe flexível e são mais úteis para descrição em alto nível da solução de problemas. É necessário fazer o mapeamento para alguma linguagem de programação. Programas são formados por: Variáveis Expressões Comandos Bloco principal de operações Blocos auxiliares de operações Opcionalmente, mas importante, comentários de código. Linguagem de programação Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento Permite declaração de variáveis Permite definições de blocos de comandos Permite organização de funções e módulos Utilizada para a implementação de algoritmos Bibliotecas de software Bibliotecas são funções ou partes de programas que executam uma função padrão ou independente da aplicação aonde são usadas. Exemplo: programa que imprime dados no console do programa. A função de impressão, colocar caracteres na tela, é a mesma para todas as aplicações deste tipo. Não há motivos que justifiquem que tenham que escrever esta função em todos os programas; podemos fazer uma reutilização. Precisamos apenas importar ou incluir o arquivo da função nas nossas aplicações. Os programas não totalmente escritos do zero! Sintaxe do comando para incluir bibliotecas no programa: Para incluir uma do diretório padrão de bibliotecas: import <nome_pacote.[* nome_classe]; import java.io.file; import java.util.*; import meuprojeto.algumaclasse; Bloco comandos: Agrupa um conjunto de instruções afins. Instruções que deve ser executadas em conjunto, são escritas dentro de um bloco de comando. Determinados comandos podem exigir que escreva as suas instruções internas dentro de um bloco de comandos. Declarara-se (codifica-se, programa-se) um bloco de comandos com chaves: { início do bloco fim do bloco Normalmente possuem um identificador (nome) ou um comando associado. 1

Bloco comandos: Sintaxe para blocos de instruções: <tipo> <nome> ([<parâmetros>]) { <comandos...> Sintaxe para blocos instruções para comandos: <comando> (<expressão>) { <comandos,...> Veremos mais sobre blocos auxiliares e comandos mais adiante. Por enquanto, isto é o suficiente... Bloco comandos principal: É por onde começa a execução do algoritmo ou programa. É obrigatório. O compilador precisa saber por onde começar... Em Java, deve-se declarar um bloco chamado main: <comandos,...> Comentários: Servem para: Documentar o programa. Para explicar algum trecho importante do algoritmo. Para colocar meta-informações. Dois tipos: // - comentário de linha /* <informações> */ - comentário de bloco /** <comentários e tags> */ - comentário Javadoc Comentários: Exemplos: /** Esta classe realiza um operação * matemática... * @autor Fulano de tal * @version 01/04/2008 */ /* Trecho de código abaixo... */ // a linha abaixo calcula a média dos valores Dados: São informações sobre determinados objetos, campos ou atributos. Tipos de dados: Numéricos: Inteiros: int, long, short e byte Ponto-flutuante: double, float (diferencia do double pela letra f após o número). Texto: char: um único caracter. Deve ser informado entre aspas simples ( ). Cadeia de caracteres (strings): deve ser informado entre aspas duplas ( ). Classe String. Em Java, classe String é um tipo especial de classe, que pode ser usado também como tipo de dado. Booleano boolean: representa um estado binário. 1 ou 0, ligado ou desligado. Deve-se informar true ou false. São posições de memória que guardam valores e podem ser referenciadas ao longo do programa. Representam os dados do programa. Conteúdo não constante, permitem alterações. São utilizadas com algum tipo de dado associado. Para se usar um dado (uma variável) deve-se declará-las antes de ser usada. Por exemplo: se é necessário solicitar que o usuário digite o seu CPF para fazer alguma busca, então é necessário antes declarar uma variável que comporte esta informação. 2

Sintaxe para declaração em C/C++: <tipo> <nome> [ = <inicialização>]; int idade = 32; long cpf; float angulo = 45.0f; double total = 0.0; double media = total / numpessoas; char opcao = A ; String nome = Fulano de Tal ; String endereco = Rua XYZ, 123 ; boolean achouregistro = false; As declarações abaixo são válidas? int nome; boolean angulo = 45.0f; E quais delas são válidas de acordo com a double media = 1; lógica de programação? char idade = 8 ; String cpf = 123.981.329-36 ; Testar no ambiente de desenvolvimento... Erros de sintaxe o compilador avisa Erros de lógica só testando o programa mesmo!! Necessita maior cuidado na declaração. Decidir isto na etapa de pensar na solução = algoritmo. Escopo da variável: Um bloco de comandos define o escopo das variáveis declaradas dentro dele. Portanto, a vida útil ou a validade de uma variável está dependente do bloco em que foi declarada. Isto será revisto na aula sobre memória e ponteiros. Exemplo 1 Comentários /* Este baita programa executa duas tarefas: 1) Aloca dados para descrever uma pessoa. 2) Imprime os dados do vivente. Inclusão de bibliotecas */ import java.util.datel // inclusão bibliotecas auxiliares, veremos mais tarde... // declaração ; dados do vivente int idade = 32; ; char sexo = M ; ; String nome = Fulano de Tal ; Bloco principal do programa ; // impressão dos dados ; System.out.println( Dados ; do vivente: ); System.out.println( Nome: + nome); ; System.out.println( Idade: + idade); System.out.println( sexo: + sexo); Todos os comandos ou instruções do programa são terminados por ; //declaração: int a, b; char c; float d; int e; Inteiro (int): 2 bytes Caractere (char): 1 byte Ponto flutuante (float): 4 bytes Slide do Prof. Sandro Rigo Memória: Endereço Conteúdo ------------------------------ 100 a 101 a 102 b 103 b 104 c 105 d 106 d 107 d 108 d 109 d 110 e 111 e 112 113 114 //declaração: int a, b; char c; float d; int e; Inteiro (int): 2 bytes Caractere (char): 1 byte Ponto flutuante (float): 4 bytes Slide do Prof. Sandro Rigo Memória: Endereço Conteúdo ------------------------------ 100 00 101 00 102 00 103 01 104 33 (! ) 105 d 106 d 107 d 108 d 109 d 110 00 111 02 112 113 114 Exemplo de uso: a = 0; b = 1; c =! ; e = 2; Caractere Código ASCII 3

Comandos: Sempre terminam com ponto-e-vírgula ( ; ) Podem ser agrupados numa mesma linha int i=1; float f = 2.0f; Entretanto, não é uma boa prática de programação. Comandos são escritos dentro de um bloco de comandos, que está dentro de { e. Comandos podem ser de uma linha: a = b + 1; Bloco de comandos: São comandos definidos dentro de um comando maior: if (achou) { System.out.println( encontrou o dado ); indice = i; else { System.out.println( não encontrou o dado ); Expressões: São instruções matemáticas. Resultam em alguns valor. São usadas tanto na atribuição quanto na validação da execução de comandos de bloco. Atribuição: int a = 1; int a = (b c) * 2; Em comandos de bloco: if(a < (b-c)*2 )... Tipos de expressões: Atribuição: int a = 1; Aritméticas: Faz uso dos operadores matemáticos e dos modificadores de preferência - parênteses. +, -, *, /, % e () a = (b + c 1)/2 modulo = a % 2; Precedência: () * / % + - Tipos de expressões: Booleanas: Sempre retornam verdadeiro ou falso. Usadas na avaliação dos comandos de bloco ou em atribuições. Operadores de comparação: <, >, <=, >=, == e!= achou = total > 0; if(sexo == F ){...; Muito cuidado = é diferente == Operadores lógico: São usados para combinar expressões booleanas. Quando é necessário usar mais de uma condição para achar um valor booelano. &&, e! (respectivamente, AND, OR e NOT) achou = (total > 0) && (c == 2); if( (sexo == F ) (idade >= 60) ){... Descreva em linguagem alto nível o algoritmo para conversão de polegadas para centímetros. Sabendo que a fórmula para conversão é: 1 polegada = 2.54 centímetros Pensamento sistêmico para solucionar o problema. Para efetuar o cálculo de conversão é necessário saber qual é o número que deve ser convertido, então as primeiras instruções são: Solicitar ao usuário que informe um número Ler número a ser convertido Sabendo o número, é necessário executar a fórmula de conversão e armazenar o resultado Centímetros = polegadas * 2.54 Agora basta apenas imprimir o resultado na tela. Imprimir centímetros 4

Algoritmo de conversão: 1. Solicitar ao usuário que informe um número 2. Ler número a ser convertido 3. Centímetros = polegadas * 2.54 4. Imprimir centímetros Fácil? Então escreva este código em Java // algoritmo para conversão de polegadas para centímetros // declare variáveis com nomes significativos double polegadas; System.out.println( Informe as polegadas: ); // este comando lê do teclado polegadas = Teclado.leFloat(); // expressão que resolve o algoritmo // repare que o separador decimal dos ponto-flutuantes é o // ponto. e não a vírgula, double centimetros = polegadas * 2.54; System.out.println( = + centímetros + cm ); Exercícios 2: Faça programa para resolver os problemas: Calcular o fatorial de um número qualquer. Converter um valor representando uma temperatura em Fahrenheit para Celsius. Fórmula: ((fahrenheit - 32) * 5 / 9). Calcular o índice de massa corporal de uma pessoa (cm 2 / kg). Ler os dados de uma pessoa e imprimi-los na tela Classe de funções matemáticas Java possui uma classe que implementa diversas funções matemáticas: Math Para se usar as funções da Math não é necessário instanciar objeto. Exemplos: Math.round(numero): arredondamento. Math.abs(numero): valor absoluto. Math.min(a, b): o menor entre dois números. Math.sqrt(numero): raiz quadrada. Math.Pi(): número Pi Math.random(): gera um número aleatório entre 0 e 1 Math.pow(a,b): calcula a elevado na potência b Classe de funções matemáticas Exemplos: int mes = Math.min(a, 12); double raiz = Math.sqrt(144); Sintaxe para definição de classes public class NomeDaClasse { private Tipo atributo; public NomeDaClasse(){ // construtor public void setatributo(tipo parametro){ atributo = parametro; public Tipo getatributo(){ return atributo; 5