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

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

Computação I (MAB120) DCC/UFRJ

Programação Estruturada

Introdução a Programação de Jogos

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

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

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

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

Aula 05: Condicionais (if / else)

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

Desenvolvendo aplicações Java

AULA 01 ESTRUTURA DE DADOS

Introdução aos algoritmos computacionais

Capítulo 4: Condicionais

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

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

Linguagem de programação Java

ESTRUTURAS DE CONTROLE

Aula 8 Comandos de Seleção

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

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

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

Introdução a Programação de Jogos

Comando de Seleção em Java

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

Aula 2 - Introdução Cleverton Hentz

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

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

Introdução à Programação C

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

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

Aula 15: Repetição (Parte 3)

Introdução ao Python. Programa Computacional

Programação de Computadores

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

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

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

Subprogramação. Leonardo Gresta Paulino Murta.

Algoritmos e Técnicas de Programação

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

Algoritmos II Aula 11 Funções e Procedimentos

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

SSC 0301 IC para Engenharia Ambiental

1 Introdução e Conceitos básicos

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

Introdução a Computação

controle de fluxo - condicionais

SSC 0301 IC para Engenharia Ambiental

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

Aula 12- Variáveis e valores reais

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

Linguagens de Programação Classificação

ACH5531 Introdução à Computação

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Desenvolvimento Modular de Procedimentos

Introdução. Por que desenvolver ALGORITMO?

Tipos de dados e comandos POO

Introdução à Programação I

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

Programação de Computadores para GI

3. Linguagem de Programação C

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

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

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

Subprogramação. Leonardo Gresta Paulino Murta.

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

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.

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

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Computação Eletrônica

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

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

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

Apostila de Algoritmo e Programação I

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Processamento da Informação

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

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

Universidade Federal de Goiás Instituto de Informática 1ª Prova de Introdução a Programação 06/04/11

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

POO Programação Orientada a Objetos

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

Algoritmos I Aula 13 Linguagem de Programação Java

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

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

MC102 Algoritmos e Programação de Computadores

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

Estruturas de controle Parte 1

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Fundamentos de programação

Introdução aos Algoritmos

Conceitos básicos de Java AULA 02

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

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 Python (mas existem muitas outras). 3

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.") 4

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."); } } } 5

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."); } } } 5

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"); } 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 Python Usaremos um editor de texto simples para escrever os códigos (Windows: Notepad++, IDLE; Linux: Gedit, Kate, Gvim, Emacs, ) O código fonte será executado por meio de um terminal Os exercícios deverão ser submetidos no URI https://www.urionlinejudge.com.br/judge/pt/login 12