O Processo de Programação



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

Introdução à Programação

Componentes da linguagem C++

Linguagem de Programação I

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

INF 1005 Programação I

Linguagem algorítmica: Portugol

Conceitos básicos da linguagem C

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

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

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

Algoritmos e Programação Estruturada

Tutorial: Programando no Linux

Introdução. Capítulo Breve sinopse

José Romildo Malaquias

Exercício de Revisão Linguagem C

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

Convertendo Algoritmos para a Linguagem C

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

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

LINGUAGEM C UMA INTRODUÇÃO

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

Estrutura de um programa em linguagem C

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

Curso de Programação Computadores

Linguagem de Programação I. Aula 05 Linguagem C

Programação científica C++

Laboratório de Programação 02

5 Apresentando a linguagem C

1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks:

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

Algoritmos e Linguagem de Programação I

2 Um Primeiro Programa em C

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

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

Software Básico (INF1018)

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

Introdução à Programação

Introdução a Linguagem C

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

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Conceitos Básicos da Linguagem C. Prof. Leonardo Barreto Campos 1

Introdução a Computação

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Aluísio Eustáquio da Silva

COMPILADORES E INTERPRETADORES

Conceitos Básicos de C

UFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++

20 Caracteres - Tipo char

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

Programação de Computadores Primeiros Passos Práticos em C++

Conceitos Básicos de Programação

Linguagem de Programação

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Sintaxe Básica de Java Parte 1

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

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

Resolução de problemas e desenvolvimento de algoritmos

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

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Unidade 3: Linguagem de programação

Olimpíadas de Informática

Introdução à Linguagem C/C++ Parte I

1. Apresentação Objetivos

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

CURSO DE PROGRAMAÇÃO EM JAVA

Algoritmos x Programação. Primeiros Passos na Linguagem C/C++ Como traduzir um algoritmo? Algoritmo original. Prof. Marcelo Cohen flash@inf

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

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

INTRODUÇÃO À LINGUAGEM C/C++

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

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

Organização de programas em Python. Vanessa Braganholo

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros

JSP - ORIENTADO A OBJETOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Resumo da Introdução de Prática de Programação com C. A Linguagem C

CONVENÇÃO DE CÓDIGO JAVA

Conceitos de Linguagens de Programação

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++

3 Revisão de Software

Primeiro Curso de Programação em C 3 a Edição

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

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes

e à Linguagem de Programação Python

DESENVOLVIMENTO DE SOFTWARE II. Aula 07 A linguagem de programação C# e sua sintaxe

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

Desenvolvendo Websites com PHP

Python Funções. Introdução à Programação SI1

Transcrição:

Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23

Algoritmo Um algoritmo é uma seqüência de instruções bem definidas para a solução de um problema em um tempo finito. Um algoritmo não é a solução de um problema, é o caminho para a solução. Todo algoritmo deve satisfazer: Entrada: zero ou mais valores de entrada Saída: pelo menos um valor deve ser produzido Claridade: toda instrução deve ser clara e não ambígua Término: o algoritmo deve terminar depois de um número finito de passos Efetividade: toda instrução deve ser factível 2/23

Programação I Programação: ato de escrever um algoritmo em alguma linguagem de programação. Programas são formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados 3/23

Programação II 4/23

Programação III Características: 5/23

Abstração I Abstração: está associada à remoção dos detalhes de algo ou alguma coisa, com o intuito de concentrar foco em suas características mais importantes. Os dados ou problemas a serem processados pelo computador representam uma abstração de parte da realidade. A abstração sugere a distinção que deve ser feita entre o que o programa faz e como ele é implementado. 6/23

Abstração II Concreto: todos os detalhes da realidade Abstrato: só características importantes 7/23

Abstração III Quanto mais abstrato mais geral. A figura ao lado poderia representar qualquer avião. Quanto mais concreto, mais específico O avião ao lado é tão específico, com tantos detalhes, que só representa ele mesmo 8/23

Desenvolvimento de software Etapas do desenvolvimento de um programa: Análise Algoritmo Estudar o enunciado do problema; Definir os dados de entrada, o processamento e os dados de saída. Descrever o problema com suas soluções. Codificação Expressar o algoritmo numa linguagem de programação escolhida. 9/23

Processo de programação I Inicia com a edição de um programa-fonte e termina com a geração de um programa-executável. Passos: 1. O programa-fonte é criado em um editor de textos e gravado em um arquivo com extensão c. 2. O compilador analisa o código-fonte e o converte para um código-objeto (versão em linguagem de máquina do programa-fonte) que é gravado em um arquivo com extensão o ou obj, dependendo do sistema operacional. 3. Se o programa contiver chamadas a funções das bibliotecas (função cosseno, por exemplo) o ligador (linker) junta o programa-objeto com a(s) respectiva(s) biblioteca(s) e gera um código-executável, que é gravado em um arquivo com extensão.exe no Windows, ou sem extensão, mas com permissão de execução em sistemas Unix. 10/23

Processo de programação II Edição de ligações: (link-edição) Programas em C tipicamente contém chamadas a funções definidas em outros locais, tais como as bibliotecas padrões ou bibliotecas de um projeto particular O código-objeto produzido contém buracos devido a essas chamadas O linker liga o código-objeto com o código dessas chamadas para produzir o código-executavel. 11/23

Processo de programação III 12/23

Processo de programação IV Principais termos: Código-fonte: contem os comando da linguagem de programação Código-objeto: criado pela conversão do código-fonte em linguagem de máquina. É gerado pelo compilador. Ligador ou linkeditor: junta o código-objeto com as bibliotecas necessárias para gerar o programa-executável. 13/23

Processo de programação V Programa executável: código que pode ser executado pelo sistema operacional. Tempo de compilação: durante o processo de conversão entre código-fonte e código-objeto. Tempo de execução: após a ativação do programa executável. 14/23

Pre-processamento I Em um sistema desenvolvido em C, o pré-processador é executado automaticamente antes do compilador Obedece comandos especiais chamados de diretivas de pré-processamento. Indicam que manipulações devem ser realizadas no texto do programa antes da compilação (inclusão de outros arquivos no código-fonte, por exemplo). Todas as diretivas começam com # Diretivas do pré-processador não são comandos C, assim elas não terminam com ; 15/23

Pre-processamento II Diretivas de inclusão de arquivo em C: #include <stdio.h> funções de entrada/saída #include <math.h> funções matemáticas 16/23

Primeiro programa em C I / primeiro programa em C / #include <stdio.h> int main(void) { printf( Bem vindo à linguagem C!\n ); return 0; } 17/23

Primeiro programa em C II 18/23

Primeiro programa em C III 1. Digite o texto do programa-fonte em um editor de texto e salve-o no arquivo ola.c. Alguns bons editores de texto são: notepad++ (Windows) gedit (Linux) editor do ambiente de desenvolvimento Code::Blocks 2. Compile o programa-fonte para obter o programa executável. Na linha de comando, usando o compilador gcc: $ gcc ola.c -o ola Usando o ambiente de desenvolvimento Code::Blocks O ligador é executado indiretamente pelo próprio comando que que faz a compilação. 3. Execute o programa Na linha de comando: $./ola Usando o ambiente de desenvolvimento Code::Blocks 19/23

Estrutura básica de um programa em C I <diretivas do pré-processador> <declarações globais> int main(void) { / <comentário de bloco> / <declarações locais> <instruções> return <status>; } // <comentário de linha> 20/23

Estrutura básica de um programa em C II As diretivas de pré-processamento tipicamente são para incluir arquivos de cabeçalho (header files) de bibliotecas. Um programa em C é formado por várias funções que podem ser chamadas umas pelas outras (assunto a ser estudado mais adiante). main é a função principal do programa. É o ponto de entrada para a execução do programa. Quando pedimos ao sistema operacional para executar o programa, ele começa pela execução das instruções colocadas no corpo da função main. A instrução return deve ser a última instrução em main e encerra a execução do programa. Ela informa ao sistema operacional um código de status, geralmente indicando se o programa funcionou corretamente (valor zero) ou não (valor diferente de zero). 21/23

Estrutura básica de um programa em C III Comentário é um segmento do programa que é completamente ignorado pelo compilador, servindo para documentar o programa quando alguém o lê. O comentário pode ser: de bloco: delimitados pelas sequências de caracteres \* e */, pode incluir várias linhas do texto do programa de linha: começa com a sequência de caracteres // e termina no final da linha Na linguagem C letras maiúsculas e minúsculas fazem diferença ao escrever o texto do programa. Assim os nomes main e Main são considerados diferentes. 22/23

FIM Créditos: Baseado no material preparado pelo Prof. Guillermo Cámara-Chávez. 23/23