Programação II. Aula 2



Documentos relacionados
Componentes da linguagem C++

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

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

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

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

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

Programação para Computação

INF 1005 Programação I

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

Linguagem algorítmica: Portugol

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

Capítulo 2: Introdução à Linguagem C

Resolução de problemas e desenvolvimento de algoritmos

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Introdução a Computação

Estruturas de entrada e saída

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Introdução à Lógica 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

20 Caracteres - Tipo char

Algoritmos e Programação de Computadores I. Prof. Eduardo

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

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Introdução à Programação

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

e à Linguagem de Programação Python

1. PROLOGO ==========

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

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

Resumo da Matéria de Linguagem de Programação. Linguagem C

OBI2014 Caderno de Tarefas

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

Princípios de funcionamento dos computadores

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

13 Números Reais - Tipo float

Feature-Driven Development

O Processo de Programação

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Linguagem de Programação

Estrutura de Dados Básica

TÉCNICAS DE PROGRAMAÇÃO

ALGORITMO I VARIÁVEIS INDEXADAS

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Variáveis e Comandos de Atribuição

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

OBI2009 Caderno de Tarefas

Curso de Linguagem C

Programação Básica em Arduino Aula 2

A4 Projeto Integrador e Lista de Jogos

Projeto e Desenvolvimento de Algoritmos

Algoritmos e Tipos de Dados

Prof. Esp. Adriano Carvalho

ALGORITMOS E FLUXOGRAMAS

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

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.

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Algoritmos e Programação Parte Teórica

Dadas a base e a altura de um triangulo, determinar sua área.

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

Italo Valcy

Algoritmos e Técnicas de

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

Implementando uma Classe e Criando Objetos a partir dela

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Algoritmos com VisuAlg

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

1.1. Organização de um Sistema Computacional

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Conceitos básicos da linguagem C

MICROSOFT OFFICE EXCEL 2007

17 - Funções e Procedimentos em C Programação Modular

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

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

Algoritmos e Programação Estruturada

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

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

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

Organização de programas em Python. Vanessa Braganholo

Convertendo Algoritmos para a Linguagem C

EMENTAS DAS DISCIPLINAS

Algoritmo e Programação

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Transcrição:

Programação II Aula 2

Introdução Para que serve programação? Resolver algum problema computacionalmente. Desenvolver um programa de computador (solução) cuja execução leve a um resultado (aceitável) de um dado problema. * Nem todos os problemas têm solução computacional viável Entender a natureza do problema e estar atento aos requisitos da solução desejada **** Escolha do paradigma de programação; Escolha do método/estrutura de dados (procedural); Escolha da linguagem de programação;

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.

Prog. Procedural X Funcional Descreve como computar (manipulando variáveis) Fatorial(n) begin a := 1; while n>0 do begin a := a*n; n := n-l end; return n; end;

Prog. Procedural - Conceitos Básicos Programa: solução computacional para um dado problema. Programa correto: implementação (correta) de um algoritmo (correto) em uma dada linguagem de programação (adequada). Algoritmo: qualquer procedimento computacional bem definido que toma algum valor como entrada e produz algum valor como saída. [Cormen] Algoritmo correto é tal que para cada instância de entrada ele termina e produz a saída esperada (no tempo esperado) para um dado problema. Análise de algoritmos (antes de implementar): Corretude: mostrar que o algoritmo sempre produz a saída esperada. Complexidade: envolve prever os recursos necessários como tempo, espaço (memória), hardware, largura de banda. Testes (alternativa** à análise depois de implementar)

Algoritmo para escovar dentes Algoritmo: qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Entrada: Dentes sujos com restos de alimentos, uma escova dental em condições de uso, 90 gramas de creme dental e 300 mililitros de água tratada. Saída: Dentes limpos (sem restos de alimentos visíveis), uma escova dental em condições de uso e 85 gramas de creme dental. Toda a quantidade de água deve ser utilizada.

Algoritmo para escovar dentes 1. Pegar a escova e a pasta de dentes; 2. Colocar um pouco de pasta sobre as cerdas da escova; 3. Escovar os dentes do maxilar inferior; 4. Escovar os dentes do maxilar superior; 5. Expelir da boca o excesso de espuma; 6. Bochechar um pouco de água; 7. Lavar a escova e guardá-la; 8. Enxugar o rosto.

Algoritmo para escovar dentes Técnica de refinamentos sucessivos: dividir um processo complexo em processos-componentes menores, especificando-se a entrada e a saída de cada um deles. Processo-componente pegar a escova e a pasta de dentes : 1. Enquanto não encontrar a escova e o tubo de pasta, continuar procurando por cada gaveta do armário; 2. Caso tenham acabado as gavetas e não tenha encontrado a escova e o tubo, interromper a tarefa.

Etapas de programação Entendimento do problema a ser resolvido; Planejamento de uma solução => algoritmo; Formalização da solução usando uma linguagem de programação; Verificação da conformidade da solução obtida com o problema proposto.

Algoritmo para ordenar lista de números Construir uma lista ordenada à partir de uma lista original Entrada: lista qualquer Saída: lista ordenada 1. Se a lista tem menos de 2 elementos, termina; 2. Senão, para cada posição da lista, Percorre-se a lista da posição final até a atual, efetuando a troca dos elementos quando o valor da posição à frente for menor que o valor da posição atual.

Partes de um Programa Nome da receita; Ingredientes: descreve todo o material necessário para o preparo da receita; Modo de preparo: descreve a forma de trabalhar com os ingredientes para que se obtenha o resultado esperado; Comentários sobre certos procedimentos ou ingredientes a fim de detalhar alguma peculiaridade que o cozinheiro poderia não conhecer previamente.

Partes de um Programa Cabeçalho: contém informações sobre o programa, como o seu nome; Dicionário de dados: define quais são os dados manipulados pelo programa; Corpo: define os procedimentos que o programa deve executar; Documentação: explica certos aspectos não muito claros do programa, tanto no corpo do programa quanto no cabeçalho ou no dicionário de dados.

Partes de um Programa

Variáveis e Memória Variáveis: espaço da memória reservado para guardar os dados a serem manipulados pelo programa. Declaração: <Tipo de Dado> <Identificador> Tipos de dados básicos Inteiro Ponto Flutuante Caracter

Variáveis e Células de Memória Atribuição de valor à variável Atribuição estática Na declaração da variável: <Tipo de Dado> <Identificador> = <expressão> No corpo do programa <Identificador> = <expressão> Atribuição Dinâmica Leitura do teclado scanf Leitura de arquivo Veremos mais adiante

Tipo de Dados Básicos Inteiro (int) Representa um intervalo finito do conjunto matemático dos números inteiros [-32768, 32767] Ponto flutuante (float) Representa um intervalo finito do conjunto matemático dos números racionais Caracter (char) Representa símbolos pré-definidos na tabela ASCII

Constantes # define <identificador> <valor>

Expressões Aritméticas

Expressões Aritméticas

Exercício Construa um programa em C que: Declara três variáveis do tipo inteiro, a, b, e c, e atribui a elas valores constantes quaisquer. Imprime na tela o valor das variáveis Soma b com c e guarda em a. Imprime na tela o valor de a.