INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Documentos relacionados
ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

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

Programação de Computadores II

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Conhecendo a Linguagem de Programação C

Algoritmos e Programação

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Introdução a Programação de Jogos

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

A linguagem C (visão histórica)

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

Programação de Computadores II Aula 03. Linguagem C I

Aula 03: Introdução a C

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973.

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Linguagens de Programação

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

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Básico: estrutura de programa, sintaxe Interface com linha de comando

Introdução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse

Programação Estruturada

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

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

Linguagem C: Introdução

Curso de C. Declaração de Variáveis 18/3/ :48 1

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Introdução à Programação C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Introdução a Computação

Programação de Computadores II

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Programação de Computadores II

Linguagem de Programação C

Ponteiros e Tabelas. K&R: Capítulo 5

Estrutura do programa

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Introdução à Linguagem C

Programação Estruturada

Introdução à linguagem C

11 - Estrutura de um programa em C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

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

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Linguagem C. André Tavares da Silva.

Aula 03 - Linguagem C

Introdução à Programação

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

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Computação. Introdução a C e Variáveis Inteiras

Ambiente de desenvolvimento

Linguagem de Programação C. Expressões em C

Introdução à Programação em C

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

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

Conceitos Básicos de C

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

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas

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

Tópicos em C. Eliade F. Lima

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

SSC 0301 IC para Engenharia Ambiental

Linguagem C Princípios Básicos (parte 1)

INTRODUÇÃO A LINGUAGEM C

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

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Aula 18: Funções em C

TÉCNICO DE INFORMÁTICA - SISTEMAS

Puca Huachi Vaz Penna

Laboratório de Introdução à Ciência da Computação I

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

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

Utilização da Linguagem C

3. Linguagem de Programação C

Estrutura de Programas e Tipos de Dados Simples

GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação

Linguagens de Programação I

Introdução à Computação

Prof. A. G. Silva. 21 de março de Prof. A. G. Silva INE5231 Computação Científica I 21 de março de / 76

Métodos Computacionais

Linguagem de Programação. Thiago Leite Francisco Barretto

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

3. Linguagem de Programação C

Faculdade de Computação

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

Aula 14: Estruturas de Seleção e Controle em C

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

Transcrição:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN

Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26

A linguagem C Linguagem de propósito geral Desenvolvida entre 1969 e 1973 ANSI C publicado em 1989 Tornou-se padrão ISO em 1990 Usada para desenvolver sistemas operacionais 3 /26

Linguagem de programação Conjunto de palavras (keywords) e regras a serem usadas na descrição de um programa Palavras (keyword) return, while, if, for Regras Atribução: VAR=EXPR Condicional: if (EXPR) then BLOCO end 4 /26

Programa de computadores Conjunto de instruções que o computador é capaz de processar Programa em C int main(int a, int b){ int soma,media; soma = a+b; media = soma/2; return media; 5 /26

Compilação e interpretação Compilação Traduz o programa em (LM) Linguagem de Máquina Executa-se o programa em LM: Mais rápido Código gerado nativo do processador Interpretação Um programa (interpretador) procssa as instruções Execução mais lenta Necessário ter interpretador para executar 6 /26

Compilação e interpretação Código executável Execução Compilação código fonte Código intermediário Interpretador Interpretação 7 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) int main(int argc, char ** argv) { //Aqui vai o programa return 0; 8 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) Função principal int main(int argc, char ** argv) { //Aqui vai o programa return 0; 8 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Função principal Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) Parâmetros da função principal int main(int argc, char ** argv) { //Aqui vai o programa return 0; 8 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) Tipo de retorno da função Função principal Parâmetros da função principal int main(int argc, char ** argv) { //Aqui vai o programa return 0; 8 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) Tipo de retorno da função Fim da função Função principal Parâmetros da função principal int main(int argc, char ** argv) { //Aqui vai o programa return 0; Início da função 8 /26

A linguagem C Um programa em C Conjunto de funções/procedimentos Conjunto de variáveis globais Ponto de início é a função main Retorna inteiro Possui dois parâmetros int: quantidade de parâmetros *char[]: array com os parâmetros (string) Tipo de retorno da função Fim da função Função principal Parâmetros da função principal int main(int argc, char ** argv) { //Aqui vai o programa return 0; 0 indica que o programa terminou corretamente Início da função 8 /26

A linguagem C Programa Hello world #include <stdio.h> int main(int argc, char **argv) { printf("hello World"); return 0; 9 /26

A linguagem C Programa Hello world Biblioteca para funções de entrada e saída (IO) #include <stdio.h> int main(int argc, char **argv) { printf("hello World"); return 0; 9 /26

A linguagem C Programa Hello world Biblioteca para funções de entrada e saída (IO) Função para imprimir string formatada #include <stdio.h> int main(int argc, char **argv) { printf("hello World"); return 0; 9 /26

Compilador GCC - Gnu Compiler Collection http://gcc.gnu.org clang - C Language http://clang.llvm.org Existem outros 10/26

Compilação Nome do comando: gcc Argumentos -Wall: mostra todos os warnings -ansi: verifica se o código respeita as regras do C ansi -o EXEC: gera o executável como nome EXEC Se não ocorrer erros/warnings o compilador terminará sem mostrar mensagens 11/26

Compilação Nome do comando: gcc Argumentos -Wall: mostra todos os warnings -ansi: verifica se o código respeita as regras do C ansi -o EXEC: gera o executável como nome EXEC Se não ocorrer erros/warnings o compilador terminará sem mostrar mensagens 11/26

Compilação Nome do comando: gcc Argumentos -Wall: mostra todos os warnings -ansi: verifica se o código respeita as regras do C ansi -o EXEC: gera o executável como nome EXEC Se não ocorrer erros/warnings o compilador terminará sem mostrar mensagens 11/26

Execução Depende do sistema operacional no linux escreve-se o nome do programa na console Caminho pode ser absoluto ou relativo 12/26

Execução Depende do sistema operacional no linux escreve-se o nome do programa na console Caminho pode ser absoluto ou relativo 12/26

DEMO 13/26

Funções em C int soma(int a, int b) { corpo 14/26

Funções em C Qualquer tipo int soma(int a, int b) { corpo 14/26

Funções em C Qualquer tipo Identificador válido int soma(int a, int b) { corpo 14/26

Funções em C Qualquer tipo Identificador válido Lista de identificadores com tipo int soma(int a, int b) { corpo 14/26

Funções em C Qualquer tipo Identificador válido Lista de identificadores com tipo int soma(int a, int b) { corpo Sequencia de declarações e instruções de C 14/26

Corpo da função int soma(int a, int b) { int s; s = a + b; return s; 15/26

Corpo da função int soma(int a, int b) { int s; s = a + b; return s; Sequencia de declarações/ instruções separadas por ponto-e-vírgula 15/26

Corpo da função int soma(int a, int b) { int s; s = a + b; return s; int soma (int a, int b) { int s; s = a + b; return s; int soma(int a, int b) { int s; s = a + b; return s; 15/26

Corpo da função Legibilidade Uma instrução por linha Ponto-e-vírgula no final da linha int soma(int a, int b) { int s; s = a + b; return s; 16/26

Tipos Principais tipos: char short int long float double Todos os tipos podem ser: signed unsigned Representação binária padrão IEEE OBS: String é um array de char 17/26

Variáveis DEVE ser declarada Declaração define tipo int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 18/26

Variáveis DEVE ser declarada Declaração define tipo int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 18/26

Variáveis DEVE ser declarada Declaração define tipo Variável resultado é declarada do tipo int int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 18/26

Atribuição Armazena um valor em uma zona de memória indicada pela variável VAR = EXPR; Tipo deve ser compatível Variável deve ser declarada Exemplo: soma = a+b; 19/26

Expressões Lado direito da atribuições Operadores dependem do tipo dos operandos + (soma), - (subtração), * (Multiplicação), / (Divisão inteira e real), % (resto da divisão) CUIDADO: Divisão inteira diferente da divisão real Observar também tipos das variáveis 10/3 10.0/3.0 20/26

A função main Todo programa em C começa pela função main retorna um inteiro Possui dois parâmetros inteiro com a quantidade de elementos no array de parâmetros Array de strings int main(int argc, char ** argv) { //Aqui vai o programa return 0; 21/26

Entrada e saída Ler dados do teclado Função scanf() Ler inteiro: scanf( %d,&a); Ler real: scanf( %f,&x); Ler string: scanf( %s,nome); Escrever dados no terminal Função printf printf( Um texto qualquer ); printf( a soma de %d e %d é %d,a,b,soma); printf( A média foi de %.2f km/h,media); Importante obeservar tipos das variáveis Detalhes do scanf e do printf serão vistos futuramente 22/26

Exemplo #include <stdio.h> int soma(int a, int b) { int resultado; resultado = a + b; return resultado; int main(int argc, char **argv) { int a, b, s; scanf("%d", &a); scanf("%d", &b); s = soma(a, b); printf("soma e %d\n", s); return 0; 23/26

Exemplo #include <stdio.h> int soma(int a, int b) { int resultado; resultado = a + b; return resultado; int main(int argc, char **argv) { int a, b, s; scanf("%d", &a); scanf("%d", &b); s = soma(a, b); printf("soma e %d\n", s); return 0; Necessário para usar scanf e printf. 23/26

Exemplo #include <stdio.h> int soma(int a, int b) { int resultado; resultado = a + b; return resultado; int main(int argc, char **argv) { int a, b, s; scanf("%d", &a); scanf("%d", &b); s = soma(a, b); printf("soma e %d\n", s); return 0; Necessário para usar scanf e printf. Indica uma quebra de linha 23/26

Declaração e uso de função int soma(int a, int b); int main(int argc, char **argv) { int a, b, s; scanf("%d",&a); scanf("%d",&b); s = soma(a, b); printf("soma e %d\n", s); return 0; int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 24/26

Declaração e uso de função Assinatura pode ser feita separada do corpo da função int soma(int a, int b); int main(int argc, char **argv) { int a, b, s; scanf("%d",&a); scanf("%d",&b); s = soma(a, b); printf("soma e %d\n", s); return 0; int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 24/26

Declaração e uso de função Assinatura pode ser feita separada do corpo da função Para que a função possa ser usada, sua assinatura (retorno, param, etc) deve ser conhecida int soma(int a, int b); int main(int argc, char **argv) { int a, b, s; scanf("%d",&a); scanf("%d",&b); s = soma(a, b); printf("soma e %d\n", s); return 0; int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 24/26

Declaração e uso de função Assinatura pode ser feita separada do corpo da função Para que a função possa ser usada, sua assinatura (retorno, param, etc) deve ser conhecida Corpo da função int soma(int a, int b); int main(int argc, char **argv) { int a, b, s; scanf("%d",&a); scanf("%d",&b); s = soma(a, b); printf("soma e %d\n", s); return 0; int soma(int a, int b) { int resultado; resultado = a + b; return resultado; 24/26

DEMO 25/26

Dúvidas? 26/26