Fundamentos de programação

Slides:



Advertisements
Apresentações semelhantes
Funções em C Prof. Fabiano Utiyama.
Advertisements

Programação em Java Prof. Maurício Braga
Algoritmo e Programação
Construção de Algoritmos AULA 02
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO AOS APLICATIVOS JAVA Prof. Thiago Pereira Rique
INTRODUÇÃO AOS APLICATIVOS JAVA
Programação II Estruturas de Dados Aula 01
Tipos de dados, Variáveis, Expressões e Operadores
Programação para Engenharia I
Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05) Universidade Federal do Vale do São.
Introdução a Programação Renata Freire
Introdução à Computação - Jorge Macêdo
LINGUAGEM C.
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
LINGUAGEM ESTRUTURADA TURBO C
Linguagem C Strings.
Linguagem C Strings.
Linguagem C Estruturas de Sequências
Variável Variável: “objecto” que pode assumir diversos valores;
Linguagem C Conteúdos já desenvolvidos
Revisão da Linguagem C.
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
Rodrigo Cristiano Silva
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
PROGRAMAÇÃO I UNIDADE 1.
Linguagem de Programação II Parte IV
CADEIA DE CARACTERES (Strings)
Introdução a Linguagem de Programação C
Seminário 1: Revisão de C
PROGRAMAÇÃO I UNIDADE 2.
PCI- Introdução a linguagem C
Programação em C++ Compiladores
Algoritmo e Programação
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
3. Introdução à Linguagem C
Introdução a Linguagem de Programação C
Tipos de Dados Operadores
Algumas notas sobre a linguagem de programação C
MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
JAVA Sintaxe.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Fundamentos de linguagens de programação
Linguagem C.
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Programação de Computadores - 1
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 2 Variáveis e Atribuições.
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Programação
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
Programação Computacional Aula 9: Meu primeiro programa em C
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Profa. Maria Augusta Constante Puget
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
Introdução à Linguagem C
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Programação estruturada unidade 2
Linguagem de Programação
Sistemas para Internet Algoritmos e Lógica de Programação
Prof. Tertuliano Operadores Variáveis em C++.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Fundamentos de programação

UTFPR – Fundamentos de Programação Um programa de computador é um conjunto de instruções que descrevem uma tarefa a ser realizada por um computador com o objetivo de resolver um problema. Programa pode referir-se às instruções escritas de acordo com a sintaxe e a semântica definidas por uma linguagem de programação (código fonte) ou à forma executável desse código. Um programa é basicamente composto por: Entrada Obtenção de dados para o programa trabalhar (receber dados do usuário ou de outras fontes) Processamento Manipulação de constantes e de variáveis Resolução de expressões matemáticas Execução de instruções sequenciais, de decisão e de repetição Manipulação de dados em bases de dados e arquivos ... Saída Informar dados de processamento (para o usuário, armazená-los, transmiti-los, acionar dispositivos...) UTFPR – Fundamentos de Programação

1.1 Estrutura básica de um programa Entrada Variáveis e constantes Processamento Instruções Saída Texto, conteúdo de variáveis e formatação fluxo de execução sequencial fluxo de execução com desvio fluxo de execução com repetição UTFPR – Fundamentos de Programação

1.2 Método para construir um programa Método para a construção de um programa: Entender o problema; Retirar do problema as entradas de dados necessárias; Definir as saídas que o programa deve fornecer; Determinar o que deve ser feito para transformar as entradas nas saídas (o algoritmo), resolver o problema; Determinar o tipo de dado a ser manipulado, definindo as variáveis e as constantes necessárias; Definir as instruções e as estruturas de decisão e de repetição necessárias; Apresentar os resultados; Verificar se as instruções definidas resolvem o problema da maneira esperada; Teste de mesa, por exemplo. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 1.4 Considerações No início do programa colocar o enunciado do problema; Comentar as partes mais complexas ou relevantes do programa; Utilizar espaços e linhas em branco para melhorar a legibilidade do programa, mas sem abusar dos mesmos; Escolher nomes representativos para os identificadores; Um comando por linha é suficiente; Utilizar parênteses para aumentar a legibilidade das expressões e evitar erros; Utilizar identação adequada. Identar o código é fundamental para sua legibilidade. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 2 Linguagem C Linguagem C Criada por Dennis M.Ritchie em 1972, nos laboratórios Bell. Definida por uma norma ANSI em 1988. UTFPR – Fundamentos de Programação

2.1 Palavras reservadas da linguagem C Palavras chave da linguagem C auto double int struct break else long switch case enum* register typedef char extern return union const* float short unsigned continue for signed* void* default goto sizeof volatile do if static while * ANSI UTFPR – Fundamentos de Programação

2.2 Estrutura de um programa C Estrutura básica de um programa C /* Programa em Linguagem C */ //comentário #include <stdio.h> //biblioteca com funções int main(void)//função principal {//marca o início do bloco de instruções /*instruções: declaração de variáveis e constantes obtenção de valores para variáveis operações lógicas e aritméticas estruturas sequenciais, de decisão e de repetição apresentação de resultados*/ }//marca o fim do bloco de instruções e da função main UTFPR – Fundamentos de Programação

2.2 Estrutura de um programa C Um programa em C é constituído por uma ou mais funções. Em um programa C executável deve existir uma e somente uma função com a identificação main Estrutura básica de um programa em C: #include “biblioteca” Nome_da_funcao ( ) //pode ser a main ou outra função { Variáveis locais; Instruções; } Exemplo: # include <stdio.h> int main(void) int varlocal; //instrução que declara uma variável local varlocal = 3; //instrução varlocal = varlocal + 5; //instrução printf(“Conteúdo da variável %d”,varlocal); //instrução UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 2.2.1 Diretiva include #include biblioteca Instrui o compilador a ler o conteúdo de um arquivo e a considerar o conteúdo desse arquivo. O nome do arquivo deve estar entre aspas (procura-o inicialmente no diretório atual) ou entre símbolos de menor e de maior (procura-o nos diretórios padrão de include para o compilador). #include “biblioteca1.h” #include “arquivo1.c” #include <stdio.h> Recomendação: “ ” para incluir arquivos do projeto; < > para incluir os arquivos de cabeçalho padrão. UTFPR – Fundamentos de Programação

2.2.2 Ponto e vírgula e Chaves Toda a instrução, ou comando, em C termina obrigatoriamente com “;” Chaves: Utilizadas para definir um bloco ou um conjunto de instruções relacionadas e logicamente conectadas. Um bloco começa com uma { e termina com uma } UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 2.2.3 Bloco de comandos Um bloco de comandos ou conjunto de instruções pode ser colocado em qualquer lugar em que seja possível a colocação de uma única instrução. Exemplo: #include <stdio.h> //contém o scanf e o printf int main (void) { int total, a=1, b=2; if (a<b) scanf(“%d”,&total); printf (“%d\n”, total); } prinf(“\n a:%d e b:%d”,a,b); Bloco de comandos Bloco de comandos UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 2.2.4 Comentários Comentários são anotações desconsideradas na compilação/interpretação ou execução do programa. /* ... */ - comentário com início e fim delimitado, ou de múltiplas linhas // - é comentado a partir da especificação // até o final da respectiva linha Exemplos: /* o imposto deve considerar a alíquota do ICMS. */ preco = precobruto + imposto; //mostrar o valor armazenado na variável preço printf (“Preço do produto é %.2f", preco); printf (“Preço do produto é %.2f", preco); //imprimir o preço UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 2.2.5 Instruções Instruções terminam sempre com ponto e vírgula (;) Instrução de atribuição de um valor para uma variável variável = valor; //variável “recebe” valor Exemplos: a = 3; x = 3+4/2; y= sqrt(3*a); Instrução para chamada a (uso de) uma função nome_da_função (parâmetros); printf(“Informe um valor: ”); scanf(“%d”, &Valor); funcao1(1,Valor, ‘r’); UTFPR – Fundamentos de Programação

3 Elementos fundamentais da linguagem C Tipos de dados; Variáveis e constantes; Operadores aritméticos, relacionais e lógicos; Instruções de entrada e saída; Estrutura sequencial; Estruturas de controle decisão; Estruturas de controle repetição; Estruturas de dados homogêneos; Estruturas de dados heterogêneos; Funções. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.1 Tipos de dados Tipos de dados representam os tipos de valores que podem ser manipulados por um programa: Básicos: inteiros: int reais ou ponto flutuante: float e double caracteres: char sem valor: void Derivados dos tipos básicos: Vetores (array) de caracteres (string) e numéricos, unidimensionais e multidimensionais (matriz) registros (struct) arquivos em disco (file) ... Objetos (orientação a objetos) Agrupam dados (atributos do objeto) e funções (métodos) que manipulam esses dados. UTFPR – Fundamentos de Programação

3.1 Tipos de dados Tipos de dados básicos char 8 0 a 255 int Tamanho em bits Faixa char 8 0 a 255 int 16 (depende da arquitetura de hardware) -32768 a 32767 float 32 -3.4E-38 a 3.4E38 seis dígitos de precisão double 64 -1.7E-308 a 1.7E308 dez dígitos de precisão void Sem valor UTFPR – Fundamentos de Programação

3.1.1 Tipos de dados: modificadores de tipos Exemplo: long int -> 32(bits), faixa -2.147.483.648 a 2.147.483.647 unsigned char -> 8 (bits), faixa de 0 a 255 Modificador Aplica-se a Significa short int Menor dimensão long int, double Maior dimensão signed char, int Com sinal unsigned Sem sinal Os modificadores signed, unsigned, short e long podem ser aplicados aos tipos básicos char e int; long pode ser aplicado a double (long float tem o mesmo significado que double); Signed com int é redundante; unsigned com ponto flutuante pode ser permitido mas reduz portabilidade; UTFPR – Fundamentos de Programação

3.1.2 Tipos de dados: modelador Modelador de tipo (type cast) Um modelador é aplicado a um valor, expressão ou variável. Ele força o mesmo a ser de um tipo especificado. Forma geral: (tipo) valor/expressão/variável Exemplo: #include <stdio.h> int main (void)        {    int Num=10; float F; F = (float) Num/7;  /* Uso do modelador transforma Num em float e posteriormente é realizada a divisão por 7, resultando uma divisão float*/ printf (“Resultado: %f",F); } Sem o modelador o C faria uma divisão inteira entre 10 e 7. O resultado seria 1 que seria convertido para float, mas continuaria a ser 1.0. Com o modelador, Num é transformado em float (10.0), dividido por inteiro, e resultado é float porque um dos divisores é float. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.2 Variáveis Uma variável indica uma posição de memória reservada, identificada por um nome (identificador), que pode ser utilizada para armazenar um valor de um tipo de dado especificado e esse valor poder ser recuperado. Uma variável possui um nome que a identifica e um tipo que determina o conteúdo que ela pode armazenar. Esse tipo determina a “quantidade” necessária de células de memória para armazenar um dado desse tipo. Memória Variável Nome UTFPR – Fundamentos de Programação

3.3 Português estruturado: mapeamento de variáveis na memória O computador trabalha diretamente com os identificadores (os nomes definidos para as variáveis). A manipulação das células de memória é feita por meio dos seus endereços. O tradutor (compilador ou interpretador) faz uma associação entre os identificadores e os endereços de memória reservados para as mesmas. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.3 Português estruturado: Tabela de Símbolos Forma de associação entre as variáveis e os seus respectivos endereços de memória UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.2 Variáveis Todas as variáveis em C devem ser declaradas. Forma geral de declaração: tipo identificador_da_variável; tipo é qualquer tipo de dado válido (char, int, float, double) mais qualquer modificador válido para o respectivo tipo de dado (long, short, signed, unsigned). identificardor_da_variável é o nome da variável, utilizado para acessar o seu conteúdo e para atribuir-lhe um valor para ser armazenado no endereço de memória reservado para a mesma. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.2 Variáveis Identificadores são nomes de variáveis, funções e outros elementos definidos pelos usuários. Podem possuir até 32 caracteres; O primeiro caractere deve ser letra ou sublinhado e os caracteres subsequentes podem ser letras, números ou sublinhados; C é case sensitive; Nome, NOME, NoMe - são identificadores distintos O nome (identificador) não pode ser o nome de uma palavra chave: auto, static, extern, int, long, if, while, do, ...... UTFPR – Fundamentos de Programação

3.2.1 Declaração de variáveis Exemplos de declaração de variáveis int Valor; float Preco; char Sexo; double Fatorial; Cada variável possui um espaço de memória reservado correspondente ao tamanho do seu tipo declarado. Nome da variável Tipo de dado UTFPR – Fundamentos de Programação

3.2.2 Inicialização de variáveis As variáveis em C podem receber um valor no momento da sua declaração. Isso é determinado inicialização da variável. int Valor = 1; float Preco = 150.00; char Sexo = 'F'; double Fatorial = 1; Valor de inicialização Nome da variável Tipo de dado UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.2.3 Lista de variáveis Lista_de_variáveis - um ou mais nomes de identificadores separados por vírgula. Exemplos: int contador, i, j, valor1=0; double balanco_anual, balanco_mensal; UTFPR – Fundamentos de Programação

3.2.4 Atribuição a uma variável 1) NomeDaVariável = um valor (uma constante); 2) NomeDaVariável = uma variável; 3) NomeDaVariável = uma expressão; 4) NomeDaVariável = chamada a uma função; Semântica do comando de atribuição: 1) Armazena o valor atribuído à variável a partir da posição inicial do endereço de memória reservado para ela; 2) Copia o conteúdo da variável de origem armazenando-o a partir da posição inicial do endereço de memória reservado para a variável de destino; 3) Resolve a expressão matemática, em seguida armazena o resultado a partir da posição inicial do endereço de memória reservado para a variável; 4) Executa a função e armazena o seu retorno a partir da posição inicial do endereço de memória reservado para a variável. Obs. Se o tipo do valor atribuído à variável e o tipo da variável que recebe este valor forem distintos, pode ocorrer erro de incompatibilidade de tipo ou perda de informação. UTFPR – Fundamentos de Programação

3.3 Função de entrada de dados Leitura de dados pela entrada padrão (teclado) scanf (“string de controle”, lista de argumentos); Onde: string de controle identifica o tipo de dado que será lido. lista de argumentos são os identificadores das variáveis que armazenarão os valores lidos. Exemplos: scanf(“%d”,&idade); scanf(“%s”,nome); %X X tipo de dado a ser lido Para strings (%s), o caractere & não deve ser usado. UTFPR – Fundamentos de Programação

3.3.1 Operador de Endereço & Saída: valor = 2, endereço = 0023FF70 Quando & é utilizado precedendo uma variável está sendo indicado o endereço dessa variável na memória. Exemplo: #include <stdio.h> int main (void) { int num; printf(“Informe um número: ”); scanf(“%d”,&num); /*No endereço reservado para a variável num será armazenado o valor informado para essa variável*/ printf (“valor = %d , endereço = %p”,num, &num); } Saída: valor = 2, endereço = 0023FF70 (o endereço varia conforme a memória da máquina) UTFPR – Fundamentos de Programação

3.3.2 Função de saída de dados Apresentação de dados na saída padrão (monitor de vídeo) printf (“texto, strings de controle e caracteres de formatação”, lista de argumentos); Onde: Texto que será impresso literalmente ou caracteres de formatação. Strings de controle identificam o tipo de dado contido nas variáveis cujo conteúdo será mostrado. Caracteres de formatação indicam instruções como quebra de linha e tabulação. Lista de argumentos são os identificadores das variáveis que contêm constantes, chamadas a funções e expressões que possuem os valores a serem impressos, de acordo com os caracteres de formatação. Exemplo: printf(“\nSua idade é: %d anos\n”, idade); UTFPR – Fundamentos de Programação

3.3.2 Função de saída de dados saída formatada com printf #include <stdio.h> int main(void) { printf (“%3.1f \n”, 3456.78); printf (“%.0f \n”, 3456.78); } X.Yf X quantidade de caracteres antes do ponto decimal Y quantidade de caracteres depois do ponto decimal Saída: 3456.8 3456 UTFPR – Fundamentos de Programação

3.3.2 Função de saída de dados Caracteres de formatação: \n nova linha \r enter \t tabulação (tab) \b retrocesso \” aspas \\ barra %% símbolo de % UTFPR – Fundamentos de Programação

3.3.3 Função de entrada/saída Strings de controle: %c ® caractere %d ou %i ® inteiro %ld ® inteiro longo %e ® número ou notação científica %f ® ponto flutuante %o ® octal %x ® hexadecimal %s ® string (cadeia de caracteres) %lf ® double %Iu ® endereço de memória UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.4 Operadores Operadores são elementos funcionais que atuam sobre operandos e produzem um determinado resultado. Uma expressão é composta de operadores e operandos. A expressão 3 + 2 relaciona dois operandos (os números 3 e 2) por meio do operador de adição (+). Um operando pode ser o conteúdo de uma variável, o retorno de uma função ou um valor constante. UTFPR – Fundamentos de Programação

3.4 Operadores: expressões Uma expressão matemática é um conjunto de variáveis e constantes numéricas relacionadas por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta um valor. O conceito de expressão aplicado à computação assume uma conotação mais ampla: uma expressão é uma combinação de variáveis, funções, constantes e operadores, e que, uma vez avaliada, resulta um valor. As variáveis e funções, constantes são os operandos. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.4 Operadores: expressão Triângulo de base (b) e altura (h) H B área = b x h 2 area = (b * h) / 2; matemática computacional A fórmula da área do triângulo utiliza três variáveis: b e h, que contém as dimensões do triângulo, e area que armazena o valor calculado (o resultado da expressão). Há, ainda, uma constante (2) e os operadores de multiplicação (*) e divisão (/). UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.4 Operadores Operadores unários atuam sobre um único operando. Ex. O sinal de (-) na frente de um número, cuja função é inverter seu sinal. Operadores binários, quando atuam sobre dois operandos. Ex. soma, subtração, multiplicação e divisão. operadores resultado aritméticos numérico lógicos lógico relacionais lógico UTFPR – Fundamentos de Programação

3.4.1 Operadores aritméticos Ação + Adição - Subtração * Multiplicação / Divisão % Resto da divisão inteira Subtração (unário) -- Decremento ++ Incremento UTFPR – Fundamentos de Programação

3.4.1.1 Incremento e Decremento x = x + 1; é o mesmo que x++; x = x - 1; é o mesmo que x--; Exemplos: x = 10; y = ++x; coloca 11 em x e y recebe 11 y = x++; coloca 10 em y e x recebe 11 y = --x; coloca 9 em x e y recebe 9 y = x--; coloca 10 em y e x recebe 9 UTFPR – Fundamentos de Programação

3.4.2 Operadores relacionais == igual a != diferente de > maior que < menor que >= maior ou igual a <= menor ou igual a Var X Var Y Teste lógico Resultado X=2 Y=3 X == Y Falso X != Y Verdadeiro X >= Y X < Y UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.4.3 Operadores lógicos ! negação lógica && “e” lógico, conjunção || “ou” lógico, disjunção Condição1 Var1 = 3 Condição2 Var2 = 3 Condição1 & Condição2 Condição1 | | Condição2 ! Condição1 Var1 > 2 V Var2 > 1 F Var2 == 2 Var1 > 5 Var2 > 2 Var2 < 2 UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação 3.4.4 Operadores lógicos Em C, o resultado da comparação será o valor ZERO se o resultado de um teste lógico é FALSO e um valor DIFERENTE DE ZERO (normalmente 1) se resultado de um teste lógico é VERDADEIRO. Exemplo: #include <stdio.h> int main(void) { int verdadeiro, falso;   verdadeiro = (15 < 20); falso = (15 == 20); printf(“Verdadeiro= %d, Falso= %d”, verdadeiro, falso); } Saída: Verdadeiro = 1, Falso = 0 UTFPR – Fundamentos de Programação

3.4.5 Precedência de operadores Maior precedência () [] -> ! ++ -- -(unário) (cast) * / % + - == != ! && || ? ; =  +=  -=  *=  /= etc. Menor precedência , O uso de parênteses altera a precedência dos operadores. operadores de mesma precedência, são executados da esquerda para a direita. UTFPR – Fundamentos de Programação

UTFPR – Fundamentos de Programação Referências SCHILDT, H. C Completo e total, 3ª ed. São Paulo: Makron Books, 1996. MIZRANI, V. V. Treinamento em linguagem C: curso completo - módulo 1. São Paulo: McGraw-Hill, 1990. Materiais obtidos na Internet Auxílio do professor Omero F. Bertol UTFPR – Fundamentos de Programação