Conceitos Básicos de Programação

Documentos relacionados
Ambiente de desenvolvimento

Algoritmo e Programação Matemática

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução a Programação de Jogos

COMPILAÇÃO. Ricardo José Cabeça de Souza

1.1 o que é um algoritmo... 6

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

PROGRAMAÇÃO I. Introdução

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Estruturas II UFOP 1/35

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Métodos Computacionais

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

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

Conceitos Básicos Linguagem C

Variáveis, Tipos de Dados e Operadores

TÉCNICO DE INFORMÁTICA - SISTEMAS

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

O Processo de Programação

Algoritmos e Lógica de Programação Introdução e formas de representação

Lógica de Programação Teoria. rogerioaraujo.wordpress.com - 1

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

3. Linguagem de Programação C

Cadeia de caracteres (strings)

Estrutura de Dados Básica

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

Algoritmos RESUMO - LINGUAGEM C

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

CONCEITOS DE ALGORITMOS

INTRODUÇÃO À COMPUTAÇÃO - EPET006 -

Introdução à Linguagem C Variáveis e Expressões

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

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

Linguagem C: Introdução

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Fundamentos de Programação

Operações e Expressões

Fábio Rodrigues / Israel Lucania

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1

Introdução à Linguagem C

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

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

Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

Conceitos Básicos de Algoritmos

Introdução à Computação

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação

sumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3

Programação: Vetores

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação de Computadores:

Métodos para a construção de algoritmo

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Linguagem de Programação. Thiago Leite Francisco Barretto

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Algoritmos. Prof. Jonatas Bastos Site:

Estrutura do programa

Noções de algoritmos - Aula 1

Linguagem de Programação

Algoritmos e Técnicas de Programação

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Português Estruturado

Introdução à Computação MAC0110

Introdução aos Algoritmos

11 - Estrutura de um programa em C

Introdução e Conceitos

Aula 1 Apresentação do Curso

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Algoritmos Computacionais

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

6 Alguns conceitos e comandos em programação

Apêndice A. Pseudo-Linguagem

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Cadeia de caracteres (strings)

Linguagem de Programação C

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Noções de algoritmos - Aula 1

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

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

CAP. VI ANÁLISE SEMÂNTICA

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Conceitos básicos de algoritmos

CAPÍTULO 4 - OPERADORES E EXPRESSÕES

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação Classificação

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Introdução à Ciência da Computação

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Transcrição:

BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53

Conceitos básicos I Variável 2/53

Conceitos básicos II Posição de memoria, identificada através de um nome, e usada para guardar um valor 3/53

Conceitos básicos III Programador acessa variáveis através de algoritmos visando atingir resultados propostos 4/53

Conceitos básicos IV Existe a partir da declaração e seu escopo pode ser uma rotina ou todo o programa (locais globais) global (todos acessam) local(só pertence a ele) 5/53

Conceitos básicos V Identificador Nome de variáveis, funções, rótulos e vários outros objetos definidos pelo usuário Constantes Identificadores que não podem ter seus valores alterados durante a execução do programa 6/53

Conceitos básicos VI Estruturas de dados Tratam da forma de se ter acesso a conjuntos de dados agrupados segundo o algoritmo adotado para a solução de um problema (organização dos dados) Encontrar um elemento dentro do conjunto 7/53

Conceitos básicos VII Objetivo do seu estudo: Teórico (identificar e desenvolver modelos, determinando que classes de problemas podem ser resolvidos com o uso deles) 8/53

Conceitos básicos VIII Como controlar a ordem de impressão de documentos? 9/53

Conceitos básicos IX 10/53

Conceitos básicos X 11/53

Conceitos básicos XI Parênteses balanceados dentro de uma equação 12/53

Conceitos básicos XII 13/53

Conceitos básicos XIII 14/53

Conceitos básicos XIV Torres de Hanoi 15/53

Conceitos básicos XV Prático (criar representações concretas dos objetos e desenvolver rotinas capazes de atuar sobre estas representações) 16/53

Conceitos básicos XVI Tipos de dados Primitivos (inteiro, real, char,... ) Estruturados (vetores, registros,... ) 17/53

Conceitos básicos XVII Alocação estática Alocação dinâmica Alocação estática Reserva de espaço de memoria antes da execução Variáveis locais e globais armazenadas de forma FIXA Necessidade de previsão de tamanho do espaço (ex. vetor) Alocação dinâmica Reserva de espaço de memoria em tempo de execução Necessidade de funções para alocação Uso de ponteiro para a área reservada e crescimento dinâmico 18/53

Conceitos básicos XVIII 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 19/53

Conceitos básicos XIX Todo algoritmo deve satisfazer: Entrada: zero ou mais valores de entrada Saída: pelo menos um valor deve ser produzido Claridade: todo 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 20/53

Conceitos básicos XX 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 21/53

Conceitos básicos XXI 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. 22/53

Conceitos básicos XXII Concreto: todos os detalhes da realidade Abstrato: só características importantes 23/53

Conceitos básicos XXIII 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 24/53

Linguagens de programação I 25/53

Linguagens de programação II Características: 26/53

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

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: O programa-fonte é criado em um editor de textos. 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). 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. 28/53

Processo de programação II 29/53

Processo de programação III 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 linkeador : junta o código-objeto com as bibliotecas necessárias para gerar o programa-executável. 30/53

Processo de programação IV 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. 31/53

Ambiente de Programação C/C++ I O código-fonte é editado e armazenado em um arquivo com extensões: c, cpp No código-fonte, todo comando C++ termina com ; Em seguida, o programador executa o comando para compilar o código-fonte (arquivo com extensão obj ou o) 32/53

Ambiente de Programação C/C++ II Em um sistemas C/C++, o pré-processador é executado automaticamente antes do compilador Obedece comandos especiais chamados de diretivas do pré-processador Indicam que manipulações devem ser realizadas no programa antes da compilação (inclusão de outros arquivos no código-fonte) Todas as diretivas começam com # Diretivas do pré-processador não são comandos C/C++, assim elas não terminam com ; 33/53

Ambiente de Programação C/C++ III Diretivas mais utilizadas em C #include <stdio.h>, funções de entrada/saída #include <math.h>, funções matemáticas Diretivas mais utilizadas em C++ #include <iostream>, funções de entrada/saída #include <cmath>, funções matemáticas 34/53

Ambiente de Programação C/C++ IV A próxima fase é chamada de edição de ligações (link-edition) Programas C/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. 35/53

Exemplo: Programa em C e C++ I #i n c l u d e <s t d i o. h> i n t main ( ) { p r i n t f ( "Bem vindo à linguagem C! \n" ) ; r e t u r n 0 ; } #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { cout<<" Bem vindo à linguagem C ++! \n" ; r e t u r n 0 ; } 36/53

Exemplo: Programa em C e C++ II 37/53

Exemplo: Programa em C e C++ I Numérico Inteiro (3, 7, -6, 7829) Real (23.8, 3.789, -78.297, 2.7e10) Cadeia de caracteres ou string ( abc, ana paula, 3+4=7 ) Lógico ou booleano (verdadeiro/falso; true/false) Ponteiro 38/53

Exemplo: Programa em C e C++ II Exercicios: indique o tipo de cada uma das seguintes constantes 10 10.0-10 10 6.02e2 fim da questão true 39/53

Operações primitivas I Adição e subtração são representadas de forma usual matemática Multiplicação Divisão 8 2 Para evitar a possível confusão com a letra x, a multiplicação é indicada por um asterisco é representado como 8/2 Exponenciação 2 4 é representado por 2^4 40/53

Operações primitivas II Exemplos Adição: 2 + 3 + 4 Subtração: 10 4 1 Multiplicação: 2 3 4 Divisão: 10,0/4 41/53

Operações primitivas III Exponenciação: 3^2 Em C/C++ não existe esse operador Ele pode ser substituído pela função embutida pow(x,y) C: #include<math.h> C++: #include<cmath> 3^2 é equivalente a pow(3,2) 42/53

Operações primitivas IV O resultado de uma operação com os dois operandos inteiros é inteiro O resultado de uma operação com um operando real e o outro inteiro é real Qual é o resultado da expressão? 1 10 10 43/53

Operações primitivas V 44/53

Operações primitivas VI Além dos operadores aritméticos convencionais, existem outros operadores ou funções embutidas: Resto da divisão: em C/C++ representado por % Raiz quadrada: em C/C++ representado por sqrt(express~ao) Ex: sqrt(16) resulta em 4, sqrt(25+11) resulta em 6 45/53

Expressões relacionais I São aquelas que realizam uma comparação entre duas expressões e retornam 1. Zero (0), se o resultado é falso 2. Um (1), ou qualquer outro número diferente de zero, se o resultado é verdadeiro 46/53

Expressões relacionais II Para não esquecer os valores de uma expressão relacional, use: S1M NÃ0 47/53

Expressões relacionais III <expressao> == <expressao>: retorna verdadeiro quando as expressão forem iguais Ex: a == b <expressao>!= <expressao>: retorna verdadeiro quando as expressão forem diferentes Ex: a! = b 48/53

Expressões relacionais IV <expressao> > <expressao>: retorna verdadeiro quando a expressão da esquerda tiver valor maior que a expressão da direita Ex: a > b <expressao> < <expressao>: retorna verdadeiro quando a expressão da esquerda tiver valor menor que a expressão da direita Ex: a < b 49/53

Expressões lógicas I São aquelas que realizam uma operação lógica (ou, e, não, etc,... ) e retorna verdadeiro ou falso <expressao> && <expressao>: retorna verdadeiro quando ambas expressões são verdadeiras Ex. a == 0 && b == 0 <expressao> <expressao>: retorna verdadeiro quando pelo menos uma das expressões é verdadeira Ex. a == 0 b == 0! <expressao>: retorna verdadeiro quando a expressão é falsa e vice-versa. 50/53

FIM 51/53