Linguagens de Programação Algoritmos. Introdução à Programação. Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

Documentos relacionados
Resolução de problemas e desenvolvimento de algoritmos

Conceitos básicos de Java AULA 02

Lógica. Everson Santos Araujo

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

UFRPE Prof. Gustavo Callou

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

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

ALP Algoritmos e Programação. . Linguagens para Computadores

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

ESTRUTURA CONDICIONAL

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

Aula 02: C# - Estruturas de Decisão

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

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

DIAGRAMA DE ATIVIDADES

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Introdução à Computação

ICC Introdução para JavaScript

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

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

Curso Técnico em Redes

Algoritmos e Programação de Computadores

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

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

TÉCNICAS DE PROGRAMAÇÃO 1 ESTRUTURAS DE CONTROLE

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

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

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

Algoritmos e Linguagem de Programação I

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

Linguagem algorítmica: Portugol

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

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

3 Sistemas de Numeração:

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

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Algoritmo e Programação

Aluísio Eustáquio da Silva

Introdução a Informática. Prof.: Roberto Franciscatto

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

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

Introdução a Programação

Algoritmos Computacionais ( Programas )

Computação Eletrônica

Informática I. Aula 5. Aula 5-13/05/2006 1

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

1.1. Organização de um Sistema Computacional

Índice: Caderno de Exercícios Microsoft Excel 2003

Sistema de Computação

AULA TEÓRICA 10 Tema 9. Introdução à programação. Desenho de Algoritmos

Resumo do enquadramento de operações para procedimentos especiais

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

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

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

Análise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos?

Introdução à Computação para o Ensino Médio. Centro Técnico Científico

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

FundamentosemInformática

Programação online em Java

Introdução às Linguagens de Programação

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Instruções para a atividade

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

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

Introdução à Arquitetura de Computadores IFES Campus Serra

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

Componentes do Computador e. aula 3. Profa. Débora Matos

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Comandos Sequenciais if else, e Switch

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Introdução a Java. Hélder Nunes

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Arquiteturas RISC. (Reduced Instructions Set Computers)

INF 1005 Programação I

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

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Orientação a Objetos

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

ARQUITETURA DE COMPUTADORES

Controle de Fluxo Comandos de decisão

Organização de Computadores

Algoritmos com VisuAlg

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

CURSO DE PROGRAMAÇÃO EM JAVA

Java. Marcio de Carvalho Victorino

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO;

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

1. NÍVEL CONVENCIONAL DE MÁQUINA

Complexidade de Algoritmos. Edson Prestes

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Controle de Fluxo Comandos de decisão

Introdução à Engenharia de Computação

PROGRAMAÇÃO JAVA. Parte 1

Transcrição:

Introdução à Programação Linguagens de Programação Algoritmos Alguns dos slides utilizados nessa aula foram gentilmente cedidos pelo Prof. Paulo Borba e Prof. Adriano Sarmento 10010010 10001110 uma linguagem que pode ser traduzida para a linguagem entendida pelo computador Linguagem imprecisa conduzem a enganos a = 10; a = a + 1;? 10010010 10001110 Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 1

Inadequação entre o nível de detalhe exigido pelo leitor e o utilizado na formulação da frase difícil em geral fácil para estudante de origami Nível de detalhe pode ser inadequado Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 2

se idade < 18 então pode dirigir senão não pode dirigir 001011101100 Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 3

Código- fonte a = 10; a = a + 1; Compilação Compilador Código de máquina 10010010 10001110 Código- fonte a = 10; a = a + 1; Interpretação Interpretador Código de máquina 10010010 10001110 Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 4

deve ter uma estrutura bem estabelecida quanto à ordem em que seus passos são executados algoritmos paralelos: duas ou mais seqüências de passos independentes Sandwich de queijo passo1: corte o pão em duas partes passo2: abra o pão passo3: insira o queijo no pão passo4: feche o pão Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 5

Sandwich de queijo e verdura (paralelo) passo1: corte o pão em duas partes passo2: corte o tomate passo3: corte a cebola passo4: abra o pão passo5: insira o queijo no pão passo6: insira o tomate no pão passo7: insira a cebola no pão passo8: feche o pão A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo Não deve requerer criatividade, bastando a capacidade de seguir instruções A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo Não deve requerer criatividade, bastando a capacidade de seguir instruções Alimentar Animais passo1: conduza o leão e o coelho para seus refeitórios passo2: alimente o coelho com cenoura passo3: alimente o leão com carne Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 6

Dados dois números quaisquer, as operações de soma, subtração, multiplicação e divisão são algoritmos? A operação de divisão não é um algoritmo 1 3 0.3333... Em que sentido os passos descritos a seguir falham em construir um algoritmo? passo1: retire uma moeda do bolso e coloque sobre a mesa passo2: retorne ao passo 1 Processo chegará ao fim quando o bolso não tiver mais moedas! Ambiguidade!!! Nenhuma indicação sobre a conduta a adotar quando não houver mais moedas Primitivas e suas regras usadas para representar precisamente idéias complexas constitui uma Linguagem de programação Sistema notacional que permite expressar idéias informalmente durante o desenvolvimento do algoritmo regras da linguagem formal relaxadas estrutura sintático-semânticas semelhantes (menos formais) às usadas pelas linguagens de programação Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 7

Selecionar uma, dentre duas, ações, conforme valor da condição se o produto interno bruto tiver aumentado, compre ações ordinárias; caso contrário, venda ações ordinárias compre ações ordinárias se o produto interno bruto tiver aumentado; caso contrário venda-as compre ou venda ações ordinárias dependendo do crescimento ou queda, respectivamente, do produto interno bruto se (aumento do produto interno bruto) então (compre ações ordinárias) senão (venda ações ordinárias) Ex: dividir total por 366 ou 365, conforme o ano seja bissexto ou não, respectivamente se (ano bissexto) então (dividir total por 366) senão (dividir total por 365) Sintaxe abreviada se (condição) então (ação) Ex: se as vendas diminuírem, reduza em 5% o preço se (vendas diminuírem) então (reduzir em 5% o preço) Ex: Determine se o aluno foi reprovado (nota menor que 5) ou aprovado se (nota >= 5) então (aluno aprovado) senão (aluno reprovado) Seleções aninhadas se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final) senão (aluno reprovado) Importância da Edentação se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final) senão (aluno reprovado) se (nota >= 5) então {se (nota >= 7) então (aluno aprovado) senão (fazer prova final)} senão (aluno reprovado) Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 8

Nos permite referenciar valores através de nomes que fazem sentido se (((9/5) x 25 + 32) >= 5) então (quente) senão (frio) Execução recorrente de uma seqüência de comandos enquanto uma condição permanecer verdadeira Ex: havendo ingressos para vender, permanecer vendendo ingressos enquanto (houver ingressos) faça (vender um ingresso) associe celsius ao valor 25 associe fahrenheit ao valor (9/5) x Celsius + 32 se (fahrenheit >= 5) então (quente) senão (frio) Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 9