Aula 2 a Linguagem C Prof. Filipe Mutz.. A linguagem C A linguagem de programação C foi originalmente desenvolvida por Dennis Ritchie entre 1969 e 1973.

Slides:



Advertisements
Similar presentations
NOVA EBD LIÇÃO 28. DEUS FALA PELA IGREJA “Antes, seguindo a verdade em amor, cresçamos em tudo naquele que é a cabeça, Cristo. Dele todo o corpo, ajustado.
Advertisements

A diferença entre um Anjo e um Amigo... Anjos e Amigos... Todos temos um pouquinho de cada coisa...
Sistemas Fuzzy Ronaldo Gilberto de Oliveira. Sistemas Fuzzy Sistemas fuzzy estabelecem mapeamentos entre conjuntos fuzzy (hipercubos fuzzy) Sistemas fuzzy.
Tecnologia de Fabricação Mecânica Técnico em Mecânica FORJAMENTO.
Grupo: Tipicos da póvoa. Problemas 1-Quantos tipos de drogas existem neste momento? 2-Quais as drogas mais perigosas? 3-Quais as drogas mais consumidas.
Luís Cardoso Nuno Santos Núria Morgado. É um site cuja estrutura permite a actualização rápida a partir de acréscimos dos chamados artigos, ou “posts”.
A CONTA - NOÇÃO, PARTES CONSTITUTIVA, REQUISITOS ESSENCIAIS
Prado Slides – Cidreira / RS Eu estava dentro do avião, prestes a decolar, e pela milionésima vez escutava a orientação do comandante: "Em caso de despressurização.
Eutanasia.
Workshop de Informática Prof. Pedro Costa
Janeiro de 2014 Slide 1 Educação financeira dos filhos.
Funções de Lógica Proposicional. Para negarmos uma proposição no formato de disjunção(p ou q), faremos o seguinte: 1) Negaremos a primeira (~p); 2) Negaremos.
GBIF NODES Committee Meeting Copenhagen, Denmark 4 th October 2009 A interface do usuário do IPT e ferramentas de qualidade de dados Alberto GONZÁLEZ-TALAVÁN.
Autógrafo é a assinatura original, de próprio punho, do autor de alguma obra. Assinam seus quadros os pintores.
Terra, um sistema capaz de gerar vida.
A FILOSOFIA 1 – A origem da Filosofia Cristiani Kobayashi UNIP.
Fidedignidade Igor Menezes Princípios de Psicometria AULA 10.
EXCLUSÃO DE MATRICULA. PROCURE NO “CADASTRO - ALUNO” O CANDIDATO QUE FOI MATRICULADO INDEVIDAMENTE.
Análise de Conteúdo e Indexação CLASSIFICAÇÃO - acto de agrupar coisas ou conceitos que tenham algo em comum; conjunto de regras que presidem à ordenação,
Conheço um escritor Plano Nacional de Leitura Rede Bibliotecas Escolares Revista Visão Júnior.
1 Património Genético Regulação do material genético.
Manutenção Centrada em Confiabilidade - MCC Jefferson Luis C. Salles Gestão da Manutenção.
Implantação do programa de gestão por competências Primeiro Ciclo de Avaliação de Comportamentos e Atribuição Padrão Secretaria Municipal de Gestão Diretoria.
Mestrado em Inovação e Qualidade na Produção Alimentar Processo Produtivo do Queijo.
Fondo Multilateral de Inversiones Reunión de Clúster TIC 2009 Sindirepa-sp – Sindicato da Indústria de Reparação de Veículos MecanicaBID Lima, … de noviembre.
Novidades nas últimas versões do CAT3D : da até Evolução do CAT3D em por Armando Alaminos Bouza – Mevis – Brasil. Aspectos dosimétricos.
1 Processamento de Sinais CDESC Rodolfo Araujo Victor RH/UP/ECTEP Aula 5 09/11/2010.
UFSC / EEL 16/09/2008 Fluxo de Potência em Sistemas de Distribuição EEL7102 Edison A. C. Aranha Neto, M.Eng. Prof. Jorge Coelho, D.Sc.
(autor desconhecido). Conta-se que após um feriado prolongado, o professor entrou na sala da Universidade para dar aula, mas os alunos estavam ansiosos.
FACULDADE DE CIÊNCIAS NATURAIS E MATEMÁTICA DEPARTAMENTO DE FÍSICA CURSO DE LICENCIATURA EM ENSINO DE FISICA LABORATÓRIO DE MECÂNICA ERROS DE MEDIÇÃO DOCENTE:
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 2/6/ :54 1 FORMATAÇÃO DE FRASES (continuação) Estilos Físicos. Elemento Produz texto com.
Gestão Financeira Aplicada _ Adm & Mkt do Esporte 1.
Protetor Solar FPS 30 Mary Kay. Protetor Solar FPS 30 A linha Solar Mary Kay protege e revitaliza a pele de qualquer pessoa, para que elas possam aproveitar.
相簿 由 Terry Kwan Citações do livro “O vendedor de sonhos” de Augusto Cury.
Ângulo Horizontal Topografia. Topografia Ângulo Vertical Topografia.
 Estatísticas do aborto no mundo  Onde ocorrem  Legalidade dos abortos  Desenvolvimento típico do embrião  Opiniões.
Recursos Digitais Mapa de resultados das Avaliações externas. Mapa de resultados das Avaliações externas. Conexão Professor Banco de Itens Orientações.
Contabilidade Social Aula 3.
Otimizando a apresentação Através do Software Power Point.
Estrutura Condicional Cleone Silva
Correlação Estatística Aplicada - Componente Prática.
Aplicativos para Internet Prof.ª Erika Miranda Prof. Wolley W. Silva.
Aula 9 07/maio/2012.  Atividade – Sobrevivência dos Animais  Atividade – Modificação de populações  Atividade – Observação de diversidade.
Introdução aos conceitos de Teste de Software Prof. Wolley W. Silva.
Reprogramando os modelos mentaisReprogramando os modelos mentais para melhoria do desempenho humano para melhoria do desempenho humano “Se o pensamento.
EQUIPAMENTOS DE CAPTURA - CÂMARAS FOTOGRÁFICAS RICARDO BATALHA Nº16 10PM1 PROF: ANTÓNIO SEMEDO.
Descubra Líderes em Potencial Pr. Carlos Augusto – MIPES / UNeB Adaptado de Dave Earley – Transformando Membros em Líderes.
Operações de Marketing. Competências Subsidiar a criação de estratégias de inovação em produtos e serviços. Subsidiar a criação e desenvolvimento de precificação,
PRONUNCIAMENTO TÉCNICO CPC 15 (R1) Combinação de Negócios Correlação às Normas Internacionais de Contabilidade – IFRS 3 (IASB – BV 2011)
DESENVOLVIMENTO, INCLUSÃO SOCIAL E INTEGRAÇÃO REGIONAL CONFERÊNCIA INTERNACIONAL EM TURISMO Programa de Incentivo à Iniciativa Privada no Setor do Turismo.
SENHOR, estou pedindo a tua ajuda; vem socorrer-me depressa! Ouve a minha oração, os meus pedidos! Que a minha oração com mãos levantadas seja como o.
Vai e Vem tem a sua origem na constatação do Plano de Ação Missionária da IECLB (PAMI): a Igreja é missionária na sua essência é uma das formas.
Gravitação - Aula III Aristóteles ao O Sistema Aristotélico. Prof. Ivã Gurgel 01-03/10/2014.
ESCALONAMENTO DE OPERAÇÕES DE RECONFIGURAÇÃO DINÂMICA Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Aluno: Ricardo Ferreira Orientador:
EST 41 / AE ESTABILIDADE DE ESTRUTURAS AERONÁUTICAS – Autor: Prof. Paulo Rizzi - Eng. Aer., Ph. D. Falha de Painéis Reforçados Tipos de Análise Coluna.
Como são constituídos os seres vivos? A utilização do microscópio para obter imagens ampliadas dos tecidos dos seres vivos permitiu concluir que todos,
Manuel de Barros Clique Aumente bem o SOM! Sempre que a gratuidade pousa em minhas palavras, elas são abençoadas por pássaros e por lírios.
COMO EFETUAR SEU REGISTRO E LOGIN NO SITE DA INTERCHAP-GLOBAL Clique na imagem para avançar para a próxima!
REVISÃO 3ª AVALIAÇÃO. Marketing Digital Publicidade & Assuntos Abordados Produzindo um Comercial; Comércio Digital; Comunicando na Internet.
INTRODUÇÃO AO ESTUDO DE INCERTEZA NA CALIRAÇÃO Prof. M.Sc Jefferson L. C. Salles.
1. 2 Métodos de Observação com GPS QUESTÕES 1- Qual objetivo do trabalho? 2- Será que com o GPS se resolverá o levantamento desejado? 3- Quanto custará.
Autor: Maique Garcia Pelotas, 15 de Junho de
Paiva Slides Oi, Como você acordou esta manhã? Eu vi você e esperei pensando que falaria comigo, mesmo que fossem apenas umas poucas palavras, querendo.
Cada uma das seguintes figuras representa uma circunferência e um polígono O polígono está inscrito na circunferência O polígono não está inscrito na.
Encerrando Ciclos Paulo Coelho Sempre é preciso saber quando uma etapa chega ao final. Se insistirmos em permanecer nela mais do que o tempo necessário,
REVISÃO MATEMÁTICA . BARRETO.
Aula Princípios de reactividade e equilíbrios químicos.
Movimento Uniformemente Variado Prof. Roberto Plantaodematematica.weebly.com.
ESTÁTICA MECÂNICA VETORIAL PARA ENGENHEIROS: ESTÁTICA Nona Edição Ferdinand P. Beer E. Russell Johnston, Jr. Notas de Aula: J. Walt Oler Texas Tech University.
Uma mensagem natural Gostaria de escrever-lhe hoje uma mensagem bem natural, uma mensagem sem desencantos,
Presentation transcript:

Aula 2 a Linguagem C Prof. Filipe Mutz.

A linguagem C A linguagem de programação C foi originalmente desenvolvida por Dennis Ritchie entre 1969 e 1973 no AT&T Bell Labs, e usada para reimplementar o Sistema Operacional Unix.

A linguagem C É vastamente utilizada em aplicações que requerem alto desempenho (ex.: sistemas embarcados, pesquisa científica, jogos, etc.).

A linguagem C Algoritmo main início inteiro x inteiro y x = 2 y = x * 5 fim int main (void) { int x; int y; x = 2; y = x * 5; return 0; }

int main (void) { int x; int y; x = 2; y = x * 5; return 0; } Declaração do algoritmo (função) Deve informar quais são os recursos necessários e o tipo do resultado Início Fim tipo do resultado parâmetros / recursos externos (a palavra “void” representa vazio) instruções executadas em ordem (terminam com ponto-e-vírgula) O resultado gerado pelo algoritmo de fato (na declaração temos apenas o tipo) “0” indica que o programa terminou sem erros. Termos em negrito são palavras-chave da linguagem.

int main (void) { int x; int y; x = 2; y = x * 5; return 0; } Importante! Atenção às letras. O correto é “int” e não “Int” nem tampouco “INT”. C é uma linguagem que diferencia maiúsculas e minúsculas. Blocos são delimitados por “{“ e “}”. As instruções dentro de um bloco devem receber uma indentação (espaço em relação à margem). Normalmente a tecla de TAB é usada para isso. Muita atenção aos pontos e vírgula!

A Linguagem C Todo programa deve obrigatoriamente possuir uma função chamada “main”. Ela indica por onde o programa deve começar Todas as instruções devem terminar com “;” Blocos de instrução devem ser limitados por “{” e “}” Os nomes das variáveis podem possuir letras, números, e underlines (“_”). Contudo, elas não podem começar com números. Espaços não são permitidos!

A Linguagem C Os tipos válidos de variáveis são: – int: números inteiros positivos, negativos, e zero (4 bytes). – float: números quebrados (ponto flutuante) (4 bytes). – double: números quebrados com maior precisão (8 bytes). – char: caracteres (1 byte). Modificadores de tipos: – long: aumenta a precisão dobrando o nº de bits usados para representar o tipo (long int, por exemplo). – short: reduz pela metade o nº de bits usados para representar o tipo (short int, por exemplo) – unsigned: representa apenas números positivos. Leva a um aumento na precisão (unsigned int, por exemplo) Expressões matemáticas: +, -, *, /, % (resto da divisão)

Entrada e Saída em C #include int main (void) { printf(“Ola, Galera\n”); return 0; } Incorpora ao programa funções adicionais que permitem a entrada e saída de dados A função printf mostra informações na tela. Esta instrução mostra o texto “Ola, Galera” (evite acentos) e vai para a próxima linha. C possui vários caracteres especiais representados por \. O ‘\n’ serve para saltar linhas.

Entrada e Saída em C #include int main (void) { printf(“Ola, Galera\n”); return 0; }

Entrada e Saída em C #include int main (void) { int i = 10; float f = 5.5; char c = ‘p’; printf(“Exemplo: %d %f %c\n”, i, f, c); return 0; } Para mostrar os valores de variáveis na tela precisamos usar alguns caracteres especiais. “%d” indica que naquele trecho do texto será introduzido um valor inteiro, “%f” indica um float, e “%c” indica um caractere. Os valores de fato são os valores das variáveis listados separados por vírgula após o texto entre aspas. As variáveis devem estar na ordem correta!

Entrada e Saída em C #include int main (void) { int x = 2; printf(“x = %d\n”, x); return 0; } x = _ Memória x2...

Entrada e Saída em C #include int main (void) { int x = 2; printf(“x = %d\n”, x); return 0; } x = _ 2 Memória x2...

Entrada e Saída em C #include int main (void) { int x = 2; printf(“x = %d\n”, x); return 0; } x = 2 _ Memória x2...

Entrada e Saída em C #include int main (void) { int x = 2; float y = 4.5; printf(“%d %f\n”, x, y); return 0; } _ Memória x2 y4.5...

Entrada e Saída em C #include int main (void) { int x = 2; float y = 4.5; printf(“%d %f\n”, x, y); return 0; } _ 2 Memória x2 y

Entrada e Saída em C #include int main (void) { int x = 2; float y = 4.5; printf(“%d %f\n”, x, y); return 0; } _ 2 Memória x2 y

#include int main (void) { int x; x = 5; printf(“x ”); printf(“%d”, x); return 0; } O que vai aparecer na tela se o algoritmo ao lado for executado?

Entrada e Saída em C #include int main (void) { int i = 10; float f = 5.5; char c = ‘p’; printf(“Exemplo: %d %f %c\n”, i, f, c); return 0; }

Entrada e Saída em C #include int main (void) { int i; scanf(“%d”, &i); return 0; } A instrução scanf é usada para ler dados do teclado. O número que o usuário digitar será armazenado na variável “i”. O símbolo “%d” entre aspas indica que o valor digitado deve ser um número inteiro. Os símbolos para float, double, caracteres, etc., são os mesmos do printf. O símbolo “&” é usado para obter o endereço da variável na memória.

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } _ Memória i...

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } Idade: _ Memória i...

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } Idade: _ Memória i...

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } Idade: 26 _ Memória i26...

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } Idade: 26 _ Memória i26...

Entrada e Saída em C #include int main (void) { int i; printf(“Idade: “); scanf(“%d”, &i); printf(“%d\n”, i); return 0; } Idade: _ Memória i26...

Exemplo Algoritmo Nascimento início inteiro idade inteiro data de nascimento escreva “Digite sua idade: ” leia idade data de nascimento = 2016 – idade Escreva “Nascimento: ”, data de nascimento fim

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória...

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc...

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc idade...

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc idade... Digite sua idade:_

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc idade... Digite sua idade:_

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc idade26... Digite sua idade:26 _

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc1990 idade26... Digite sua idade:26 _

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc1990 idade26... Digite sua idade:26 Nascimento: 1990 _

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória ano_nasc1990 idade26... Digite sua idade:26 Nascimento: 1990 _

#include int main (void) { int ano_nasc; int idade; printf(“Digite sua idade: “); scanf(“%d”, &idade); ano_nasc = 2016 – idade; printf(“Nascimento: %d\n”, ano_nasc); return 0; } Memória... Digite sua idade:26 Nascimento: 1990 _

#include int main (void) { float altura, peso, imc; printf("Digite seu peso: "); scanf("%f", &peso); printf("Digite sua altura: "); scanf("%f", &altura); imc = peso / (altura * altura); printf("Seu imc e: %f\n", imc); return 0; } Memória... _ Exercício!

Por que precisamos fazer I/O e não podemos simplesmente inicializar os valores das variáveis com os números que queremos? Por que não podemos no printf simplesmente mostrar o texto que contém o número ao invés de usar %d e etc.?

Como escrever e executar programas em seu computador Computadores entendem a linguagem binária. C não é binária. Logo, seus códigos precisam ser traduzidos Interpretação: Tradução e execução linha a linha Compilação: Tradução do código inteiro e execução do programa a posteriori Híbrido: compilação + execução linha a linha (interpretação do código binário)

Como escrever e executar programas em seu computador Salve o seu código em um arquivo com extensão “.c” (Exemplo: teste.c, imc.c,...). Compile o código para traduzi-lo para linguagem do computador. O resultado será um arquivo executável. Use o programa à vontade.

Como escrever e executar programas em seu computador IDEs: Integrated Development Environment ou Ambientes Integrados de Desenvolvimento – Editor de códigos – Compilador – Ambiente de Execução – Ambiente de Depuração

Netbeans (instruções de instalação no site) Área de edição Terminal de saída (console)

Botão de Compilação Botão de Execução Botão de Depuração (debug)

Se o código estiver incorreto, ao clicar em compilar serão listados no console os erros e a compilação irá falhar! Ex.: instruções sem “;” no final, caracteres desconhecidos (aspas dos slides), chaves abertas e não fechadas, etc. As linhas de erro são marcadas em vermelho no editor. OBS: a falta de “;” leva a um erro na próxima linha!

Atenção Cuidado ao copiar o código dos slides: aspas simples, aspas duplas, e sinal de subtração são diferentes daquelas esperadas pelo editor.

Exemplo Escreva um algoritmo que leia os coeficientes de uma equação do segundo grau e calcule as raízes (por enquanto, considere apenas equações com valores de delta positivos). Traduza o algoritmo para C.

Exercício Traduzindo um algoritmo para C. Escreva um algoritmo que calcule qual será a posição final de um carro se movendo em velocidade constante dada sua velocidade, o tempo da travessia, e sua posição inicial. Traduza o algoritmo para C.

Erros Sintaxe: o código não obedece a gramática da linguagem. Acontecem na compilação (erros em tempo de compilação) – faltam “;” – “{“ sem “}” ou vice-versa – “(“ sem “)” ou vice-versa – Etc. Para te ajudar, o Netbeans representa esses erros com uma lâmpada vermelha ao lado dos números das linhas.

Erros Lógicos: o código não faz o que era previsto, planejado ou desejado. Também acontecem ao executar o programa (tempo de execução). – No imc, ao invés de fazer p / (a * a), faz a / (p * p) – Na conversão de real para dólar, ao invés de fazer valor / 4, faz valor * 4. Para identificar esses erros, crie conjuntos de entrada-saída esperados.

Erros Outros erros em tempo de execução: o código tenta realizar operações que não são possíveis e que não podem ser testadas em tempo de compilação. – Ex.: Tentar calcular o imc com altura = 0. – Ex.: Acesso a regiões de inválidas de memória. Alguns erros são reportados pelo programa (acesso inválido de memória), enquanto outros não (divisão por zero)) Para identificar os erros não reportados, crie conjuntos de entrada-saída que podem causar problemas.

Exercícios Escreva e traduza para C algoritmos para calcular os seguintes valores: – A área de um quadrado a partir de seu lado. – A área de um retângulo a partir de seu comprimento e altura. – A área e o perímetro de um de círculo a partir de seu raio (assuma pi = ).