Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Documentos relacionados
Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201. Departamento de Informática Centro Tecnológico

Introdução à Programação uma Abordagem Funcional

Programação II. Aula 1

Apresentação. Informação geral + Conceitos iniciais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação MAC0110

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Introdução à Informática

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

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

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

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Introdução à Programação

Projeto de Algoritmos

Introdução aos Algoritmos

Os computadores ditigais podem ser classificados em 5 grupos distintos:

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Introdução aos Algoritmos

Sistema numérico decimal

Arquitetura de Von Neumann

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

Estrutura de um computador digital. Gustavo Queiroz Fernandes

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

HISTÓRIA DO COMPUTADOR

Manutenção de Computadores e Redes

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Fat-Uerj: Introdução à computação

AEDI Introdução Revisão 2

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

Unidade I ORGANIZAÇÃO DE. Prof. Antônio Palmeira

ORGANIZAÇÃO DE COMPUTADORES

INF 1005 Programação I

Componentes do Computador

Introdução à Programação. Apresentação da Disciplina e Conceitos Básicos de Computadores

Programação Estruturada Aula - Introdução a Linguagem de Programação

Introdução à Computação MAC0110

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

Algoritmos e Estrutura de Dados I. Tiago Alves de Oliveira

Ementa. Adriano J. Holanda 15/2/2017. [Introdução à Computação I] ...

1. Conceitos Básicos de Computação

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Introdução à Informática

Aula 1: Introdução 3/3/2015

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

INTRODUÇÃO À MICROINFORMÁTICA

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

Sistemas de Computação

Elementos Físicos do SC e a Classificação de Arquiteturas

Unidade I. Organização de Computadores. Prof. Renato Lellis

Fundamentos de Arquiteturas de Computadores

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Algoritmos e Técnicas de Programação. Professora Luciana Faria

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

Conceitos básicos sobre computadores (continuação)

Arquitetura de Computadores

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

Universidade de Brasília Histórico e Introdução

Histórico e Introdução

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Os computadores foram construídos inicialmente para fins militares.

Engenharia Civil. Representação da Informação. Introdução à Computação

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

AGT0001 Algoritmos Aula 01 O Computador

FACULDADE PITÁGORAS PRONATEC

Técnicas de Programação

Sistema Computacional

Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

Organização e Arquitetura de Computadores. Leslier S. Corrêa

14/3/2016. Prof. Evandro L. L. Rodrigues

Evolução dos computadores

Informática I. Aula 2. Ementa

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Introdução à Computação

Introdução à Computação

15/09/2016 O QUE É UM COMPUTADOR? O QUE É UM COMPUTADOR? O QUE É UM COMPUTADOR? PENSAR EM INFORMÁTICA É PENSAR EM:

Introdução a Computação

Apresentação. Prof.: Roitier Campos Gonçalves

INFORMÁTICA: Informação automática

III.2 - Princípios de Arquitetura

Introdução à Computação: Máquinas Multiníveis

Disciplina de. Organização de Computadores Digitais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES

Disciplina de. Organização de Computadores Digitais

Arquitetura de Computadores

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Introdução a Programação de Jogos

COMPUTADOR. Adão de Melo Neto

AULA 01: APRESENTAÇÃO

Programação Estruturada

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

EVOLUÇÃO DOS COMPUTADORES. Vávulas e Transistores

Algoritmos Computacionais

Informática Aplicada. Introdução

Introdução à Informática

Histórico e Conceitos

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

Introdução ao Fortran 90

Transcrição:

Universidade Federal do Espírito Santo Programação II Prof.ª Claudia Boeres (boeres@inf.ufes.br) Filipe Mutz (filipemtz@gmail.com) CT IX - Sala 201 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Por que programar? para criar ferramentas para automatizar processos para simulações computacionais

A que se destina esse curso? aprendizagem de conceitos e métodos básicos para a construção de um programa em um computador para a resolução de problemas

O que é necessário? um computador um editor de texto aprender uma linguagem de programação aprender a utilizar um tradutor de programas no linux e/ou no windows

O que é um computador? máquina de processar dados numéricos ou simbólicos hardware + dispositivos software é capaz de interpretar dados, produzir novos resultados, aceitar novos conceitos para interpretação de novas situações.

Um pouco de história... Charles Babbage construiu no séc. XIX a primeira máquina programável de que se tem notícia, a máquina analítica. Era totalmente mecânica, composta basicamente por engrenagens que formavam quatro componentes: a memória, a unidade de cálculo ou computação, a unidade de entrada e a de saída; Ada Augusta Lovelace foi a primeira pessoa a programar um computador, contratada pelo próprio Babbage para criar sequências de instruções a serem lidas pela unidade de entrada.

O primeiro computador eletrônico foi construído no séc. XX, chamado ENIAC (Electronic Numerical Integrator And Computer) 140 quilowatts de energia elétrica; 18.000 válvulas; 1.500 relés; 30 toneladas. 7

John Von Neumann, pesquisador envolvido no projeto do ENIAC, construiu para o Instituto de Estudos Avançado de Princeton (Princeton Institute of Advanced Studies IAS) a máquina IAS; Ele imaginou que os programas poderiam ser representados em formato digital na memória, junto com os dados; 8

O que faz um computador? Dados Processamento Resultado resolve problemas de forma automática!!!

todo o processamento e armazenamento de informações em um computador são realizados via sinais digitais chamados de bits: 0 (desligado) e 1 (ligado) byte: agrupamento de 8 bits

O que é programar? identificar, organizar e codificar o conhecimento para a descrição de um conceito para o computador.

O que é necessário para programar? compreender o problema a ser resolvido; planejar uma solução; descrever a solução por meio de uma linguagem de programação; testar o programa com o objetivo de verificar se ele resolve o problema.

Navegação automática de robos a) qual o problema que quero resolver? compreensão do problema b) é preciso fornecer informações? dados de entrada Fonte: google images

Navegação automática de robos c) qual a estratégia de solução que devo adotar? planejando a solução d) como automatizar o processo? codificando por meio de um programa de computador e) funciona? TESTES!!!! Fonte: google images

Linguagem de Programação formalismo: padrões segundo os quais um agente possa interpretar e/ou descrever informação formalismo = sintaxe + semântica

Por que usar linguagem de programação? não é possível ainda usar linguagem natural para programar no computador; a linguagem de máquina é difícil de ser compreendida; são mais próximas da linguagem natural, podendo-se focar no problema e não nas dificuldades de entendimento da linguagem; tradutores.

Paradigmas de Programação Visões sobre a estruturação da solução do problema; Prog. Funcional: consiste em representar a solução em forma de funções (matemáticas); Prog. Procedural: consiste em representar a solução em forma de uma série de ações/procedimentos que são executados sequencialmente para produzir a solução; Prog.Orientada a Objetos: consiste em representar a solução em forma de objetos que enviam e recebem mensagens entre si e assim produzem a solução; Prog. em Lógica: consiste em representar o problema em forma de lógica simbólica e usar um processo de inferência para produzir resultados. 17

Algoritmo Sequencia finita de instruções bem definidas e não ambíguas; Cada uma das instruções de um algoritmo pode ser executada num período de tempo finito e com uma quantidade de esforço finita; Descrição narrativa: Exemplo: calcular a média aritmética entre duas notas 1.Obter as notas da primeira e segunda provas; 2. Calcular a média aritmética entre as duas; 3.Se o resultado for maior que 7, imprimir Aprovado. Senão, imprimir Reprovado. 18

Algoritmo O nível de detalhamento da linguagem de programação e suas ferramentas influencia a lógica efetuada pelo programador; 1. ler a e b 2. s = a + b 3. m = s / 2 4.imprimir m 1. ler a e b 2. m = (a + b)/2 3. imprimir m, decimal 19

Paradigma Estruturado seqüencial, condicional e iterativa; Modularização e parametrização; A linguagem C apresenta paradigma estruturado e procedural; Para compreendê-la é importante entender a arquitetura de hardware do sistema. 20

Arquitetura de Computadores Componentes Principais: Memória principal ou RAM (Random Access Memory): Armazena dados e instruções do programa em execução; Proporciona ao computador acesso rápido aos dados e instruções armazenados por ela; Só mantém as informações armazenadas enquanto o computador estiver ligado. Memória secundária: Geralmente possui maior capacidade de armazenamento; Tempo necessário para acessá-la maior se comparado ao da memória RAM; As informações permanecem armazenadas mesmo após o desligamento do computador; Exemplos: HDs, Disquetes, CD-ROMs, Pen Drives, etc. Processador: responsável por buscar instruções na memória, decodificá-las para determinar os operandos, as operacões e executá-las. 21

Arquitetura de Von Neumann

Arquitetura de Computadores Estrutura da memória RAM: Unidade básica: dígito binário (bit -> 0 ou 1); Formada por um conjunto de células (palavras de memória) sendo que cada célula pode guardar uma informação por instante de tempo; Cada célula possui um número de reconhecimento que a identifica unicamente na memória; O tamanho de uma célula é definido pelo número de bits que a compõem; O tamanho de cada célula pode variar dependendo da arquitetura utilizada, mas normalmente é definido por 8 bits; Quantas informações diferentes podem ser armazenadas em uma célula de n bits? Quantos bits existem em uma memória de 1 kb? 23

A estrutura de um bom programa deve conter... Cabeçalho Dicionário de dados Corpo Documentação Boa formatação

Interfaces de Programação Como gerar um programa (código executável)? Elaboraçaõ do algoritmo; Codificação em LP; Utilização de um compilador/interpretador para gerar o executável. Existem algumas formas de fazer isso: Chamada direta ao compilador; Utilização de makefiles; Utilização de IDEs (Integrated Development Environment). 25

Propriedades de um programa correção: o programa deve descrever corretamente o conhecimento segundo a intenção desejada e para cada entrada, deve executar e parar com a saída correta soma de dois números f x = 1/x eficiência: o programa deve usar de forma adequada os recursos da máquina (espaço de memória e tempo de execução) ordenação de elementos

Ordenação de elementos Bubble sort Quick sort Fonte: google images

Exercícios 1. Descreva os seguintes algoritmos: a) Fazer café; b) Escovar os dentes; c) Calcular a área e o perímetro de um retângulo. 28

2. Dados os dois algoritmos em descrição narrativa abaixo, escreva-os em forma de pseudocódigo. Multa em um radar de trânsito: 1.Obter a velocidade do veículo e a velocidade máxima permitida; 2.Adicionar 10% de tolerância à velocidade máxima permitida; 3.Se a velocidade do veículo for maior que a máxima, deve ser multado. Cálculo da alíquota do imposto de renda: 1.Obter o salário mensal do contribuinte; 2.Multiplicar por 13 e obter rendimento anual; 3.Se for até R$ 19.645,32, o contribuinte é isento; 4.Entre R$ 19.645,33 e R$ 29.442,00 é de 7,5%; 5.Entre R$ 29.442,01 e R$ 39.256,56 é de 15%; 6.Entre 39.256,57 e R$ 49.051,80 é 22,5%; 7.Acima de R$ 49.051,80 é de 27,5%.