Processamento da Informação

Documentos relacionados
Processamento da Informação

MC-102 Aula 01. Instituto de Computação Unicamp

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

1 Da aula teórica ao Java

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

Computação I (MAB120) DCC/UFRJ

Programação Estruturada

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Introdução a Programação de Jogos

Introdução à Programação de Computadores Parte I

ESTRUTURAS DE CONTROLE

Introdução a Programação na Linguagem C.

Aula 05: Condicionais (if / else)

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

Processamento da informação. Prof. Fabrício Olivetti de França

Introdução aos algoritmos computacionais

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

Capítulo 4: Condicionais

AULA 01 ESTRUTURA DE DADOS

INF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1

Desenvolvendo aplicações Java

Aula 3: Algoritmos: Formalização e Construção

Aula 8 Comandos de Seleção

Linguagem de programação Java

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

Introdução a Programação de Jogos

public class ExecScanner1 { public static void main(string[] args) { // TODO code application logic here

Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C.

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

Processamento da Informação. Prof. Daniel M. Martin (2019 Q1)

Aula 2 - Introdução Cleverton Hentz

Introdução à Programação C

Comando de Seleção em Java

Aula 15: Repetição (Parte 3)

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

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Introdução ao Python. Programa Computacional

Programação de Computadores

Algoritmos e Técnicas de Programação

SSC 0301 IC para Engenharia Ambiental

1 Introdução e Conceitos básicos

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Introdução a lógica e a Linguagem de Programação

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

Introdução a Computação

controle de fluxo - condicionais

SSC 0301 IC para Engenharia Ambiental

Algoritmos II Aula 11 Funções e Procedimentos

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

Curso: Análise e Desenvolvimento de Sistemas. (Introdução a disciplina Algoritmos e Programação)

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

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

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

Aula 12- Variáveis e valores reais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Subprogramação. Leonardo Gresta Paulino Murta.

Introdução aos Algoritmos

Introdução à Programação I

ACH5531 Introdução à Computação

3. Linguagem de Programação C

Linguagens de Programação Classificação

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

Introdução aos Algoritmos

Tipos de dados e comandos POO

Computação Eletrônica

Introdução. Por que desenvolver ALGORITMO?

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Comandos de desvio de fluxo. Expressões lógicas.

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

Desenvolvimento Modular de Procedimentos

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

Apostila de Algoritmo e Programação I

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Laboratório 3 Comandos de repetição while, do-while e for

Processamento da Informação

Conhecendo a Linguagem de Programação C

Aula 03 Introdução à Programação com a Linguagem Python

Aula 7 Modularização. Processamento da Informação. Universidade Federal do ABC

Programação de Computadores para GI

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

MC102 Algoritmos e Programação de Computadores

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

Subprogramação. Leonardo Gresta Paulino Murta.

Classes, instâncias e métodos de acesso. prática

Noções de Algoritmos

Lista de Exercícios I. 01. Desenvolva um programa em Java que receba três valores numéricos inteiros e mostre a soma desses três números.

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

Algoritmos I Aula 13 Linguagem de Programação Java

Introdução as Máquinas de Autômatos

Fundamentos de programação

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 19 de maio de 2008

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Introdução à Programação em C

Estruturas de controle Parte 1

Transcrição:

Processamento da Informação Introdução ao curso Professora Carla Negri Lintzmayer 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC

Introdução Carla Negri Lintzmayer carla.negri@ufabc.edu.br carla.negri.ufabc@gmail.com Sala 508-2, bloco A http://professor.ufabc.edu.br/~carla.negri Atendimento: Sextas-feiras, das 10h às 12h 1

O que vamos aprender neste curso

O que vamos aprender neste curso Como usar um computador para resolver problemas 1. Definiremos um problema a ser revolvido 2. Discutiremos uma solução para o problema 3. Descreveremos um algoritmo para resolver o problema Sequência bem definida de comandos e passos, que podem ser especificados de várias formas, inclusive em português 4. Implementaremos este algoritmo e criaremos um programa Sequência de comandos e passos que um computador deve executar 2

Linguagem de programação Para construir novos programas, uma forma seria escrever códigos binários diretamente executados por um computador (hardware). Uma maneira mais simples é escrever os programas em uma linguagem de programação com nível mais alto de abstração. Uma linguagem de programação é um conjunto de comandos que são mais próximos da linguagem humana do que os sinais digitais. Nesta disciplina, usaremos a linguagem de programação Java (mas existem muitas outras). 3

Problema: resolver equação ax 2 + bx + c = 0 Algoritmo: calcule o discriminante: = b 2 4ac determine a quantidade de raízes: se = 0, existe apenas uma; se < 0, existem duas raízes imaginárias; caso contrário, existem duas raízes reais calcule a(s) raiz(es): b± 2a Programa em linguagem Java: import java.util.scanner; public class EquacaoSegundoGrau { public static void main(string[] Strings) { Scanner input = new Scanner(System.in); double a = input.nextdouble(); double b = input.nextdouble(); double c = input.nextdouble(); double D = b * b - 4 * a * c; double r1, r2; if (D > 0.0) { r1 = (-b + Math.pow(D, 0.5)) / (2.0 * a); r2 = (-b - Math.pow(D, 0.5)) / (2.0 * a); System.out.println("Raizes: " + r1 + ", " + r2); } else if (D == 0.0) { r1 = -b / (2.0 * a); System.out.println("Raiz: " + r1); } else { System.out.println("Sem raizes reais."); } } } 4

Problema: resolver equação ax 2 + bx + c = 0 Algoritmo: Programa em linguagem C: calcule o discriminante: = b 2 4ac determine a quantidade de raízes: se = 0, existe apenas uma; se < 0, existem duas raízes imaginárias; caso contrário, existem duas raízes reais calcule a(s) raiz(es): b± 2a #include <stdio.h> #include <math.h> int main() { double a, b, c; scanf("%lf %lf %lf", &a, &b, &c); double D = b * b - 4 * a * c; double r1, r2; } if (D > 0.0) { r1 = (-b + sqrt(d)) / (2.0 * a); r2 = (-b - sqrt(d)) / (2.0 * a); printf("raizes: %lf, %lf\n", r1, r2); } else if (D == 0.0) { r1 = -b / (2.0 * a); printf("raiz: %lf\n", r1); } else { printf("não há raizes reais.\n"); } 5

Problema: resolver equação ax 2 + bx + c = 0 Algoritmo: calcule o discriminante: = b 2 4ac Programa em linguagem Python: from math import sqrt determine a quantidade de raízes: se = 0, existe apenas uma; se < 0, existem duas raízes imaginárias; caso contrário, existem duas raízes reais calcule a(s) raiz(es): b± 2a a = float(input()) b = float(input()) c = float(input()) D = b**2-4*a*c if D > 0: r1 = (((-b) + sqrt(d))/(2*a)) r2 = (((-b) - sqrt(d))/(2*a)) print("raizes: %f, %f" % (r1, r2)) elif D == 0: r = (-b) / 2*a print("raiz: ", x) else: print("não há raizes reais.") 6

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Por que aprender algoritmos e programação? Atividade básica de qualquer bom computeiro Para ser capaz de automatizar algum processo Para criar ferramentas/protótipos, você deverá fazer simulações para a realização de testes preliminares Para enxergar situações onde uma solução computacional pode trazer benefícios Para testar hipóteses Para resolver sistemas complexos de equações que não necessariamente podem ser resolvidos por softwares padrões (como MatLab) Posso ter algum retorno financeiro com isso! Porque é legal e desfiador! 7

Como serão as aulas Objetivo: praticar aspectos importantes de lógica de programação Breve revisão da parte teórica Resolução de alguns exercícios em conjunto Atendimento de dúvidas na resolução de outros exercícios http://professor.ufabc.edu.br/~carla.negri 8

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que eu espero de você Participe das aulas Respeite os horários Não deixe dúvidas acumularem Faça e implemente os exercícios Comporte-se de acordo com o código de ética da UFABC Seja autor das suas soluções Não assine a lista de presença por outros Não consulte nada durante as avaliações 9

O que você pode esperar de mim 10

O que vocês podem esperar de mim Participação Paciência Dedicação Atendimento 11

Ambiente de programação Nessa disciplina aplicaremos os conceitos vistos em linguagem Java Usaremos um editor de texto simples para escrever os códigos (Windows: Notepad++; Linux: Gedit, Kate, Gvim, Emacs, ) O código fonte será transformado em programa por meio de um terminal Os exercícios deverão ser submetidos no URI https://www.urionlinejudge.com.br/judge/pt/login 12