18
APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

Embed Size (px)

Citation preview

Page 1: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

APRESENTAÇÃO:ANDERSON CALDAS

CURSO DE C - 2010

AULA 01: Introdução a Linguagens de Programação

Page 2: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

ORGANIZAÇÃO DO CURSO DE C / 2010

Conceitos Expressões Fluxo Funções Vetores String Matrizes Estruturas Arquivo

TÓPICOS ABORDADOS:

DURAÇÃO ~ 2,5 MESES

TUTORES:

Anderson Caldas ([email protected]) Giancarlo Gusmão ([email protected]) David Anderson ([email protected]) Michele Agra ([email protected]) Reberth Douglas ([email protected])

Page 3: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

1. QUAL A FUNÇÃO DO LCCV ?

> No LCCV são desenvolvidas pesquisas que fazem a ligação entre a universidade e a indústria.

Page 4: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

2. QUAL O PERFIL DO PROFISSIONAL DO LCCV ?

> Profissional habilitado a desenvolver softwares ligados a sua área de pesquisa/especialização.

> Profissional capacitado a lidar com simulações numéricas de problemas de engenharia.

Por que é necessário aprender a programar ?

Software específico

“O LCCV desenvolve softwares não-comerciais”

Page 5: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

3. SOFTWARE E HARDWARE ?

O hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Em complemento ao hardware, o software é a parte lógica, ou seja, o conjunto de instruções e dados processado pelos circuitos eletrônicos do hardware.

Modelos de programação podem ser direcionadosem função das características do hardware.

Programação direcionada para clusters, processadoresespecíficos e placas gráficas específicas.

cluster

Placa gráfica

Processador DualCore

Page 6: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

4. COMO FAZER UM PROGRAMA DE COMPUTADOR ?

IDENTIFICAR O PROBLEMA

A SER RESOLVIDO

FORMULAR ANALITICAMENTEO PROBLEMA

FORMULAR NUMERICAMENTEO PROBLEMA

ESCREVER O PROGRAMAUSANDO ALGUMA LINGUAGEM

DE PROGRAMAÇÃO

CONVERTER O CÓDIGOPARA LINGUAGEM DE MÁQUINA

GERAÇÃO DO PROGRAMA

EXECUTÁVEL

C/C++

Matlab

compilador

algoritmo

Page 7: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

5. O QUE É UM ALGORITMO ?> Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.

> O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema

REFERÊNCIA: Wikipédiahttp://pt.wikipedia.org/wiki/Algoritmo

Algoritmo "SomaDeDoisValores";variável: SOMA,A,B: inteiro; inicio Escreva("Digite um numero"); Leia(A); escreva("digite outro numero"); leia(B); Soma <- A + B; escreva(SOMA); fim.

Exemplo de algoritmo

Qual o melhor algoritmo ?

“Depende da finalidade doprograma”

Page 8: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

6. O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO ?

Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.

Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.

Page 9: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

6.1 LINGUAGEM DE PROGRAMAÇÃO C

“Apesar de reconhecermos as dificuldades na aprendizagem da linguagem C, optamos por sua utilização neste curso simplesmente porque C é a linguagem básica da programação do UNIX, da Internet, do Windows, do Linux. “

Introdução à estrutura de dados, W. Celes e J. L. Rangel

O conhecimento de linguagens de programação por si só não capacita programadores. É necessário saber usá-las de maneira eficiente.

A linguagem C, assim como as linguagens Fortran e Pascal, são ditas linguagens “convencionais”, ela serve como base para praticamente todos os computadores em uso.

Para programar em uma linguagem convencional, precisamos de alguma maneira especificar as áreas de memória em que os dados com que queremos trabalhar estão armazenados e, freqüentemente, considerar os endereços de memória em que os dados se situam, o que faz com que o processo de programação envolva detalhes adicionais.

Em compensação, temos um maior controle da máquina quando utilizamos uma linguagem convencional, e podemos fazer programas melhores, ou seja, menores e mais rápidos.

Page 10: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

Um código em C deve sempre conter a função principal.

6.1 LINGUAGEM DE PROGRAMAÇÃO C

int main (void) { float tc; float tf; /* mostra mensagem para usuario */ printf("Digite a temperatura em Celsius: "); /* captura valor entrado via teclado */ scanf("%f",&tc); /* faz a conversao */ tf = 1.8*tc+32; /* exibe resultado */ printf("A temperatura em Fahrenheit é: %f\n", tf); return 0; }

Page 11: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

6.1 LINGUAGEM DE PROGRAMAÇÃO C/* Programa para conversão de temperatura */ #include <stdio.h> float converte (float c) { float f; f = 1.8*c + 32; return f; }

int main (void) { float tc; float tf; /* mostra mensagem para usuario */ printf("Digite a temperatura em Celsius: "); /* captura valor entrado via teclado */ scanf("%f",&tc); /* faz a conversao */ tf = 1.8*tc+32; /* exibe resultado */ printf("A temperatura em Fahrenheit é: %f\n", tf); return 0; }

Embora seja possível definir variáveis globais em qualquer parte do ambiente global (entre quaisquer funções), é prática comum defini-las no início do arquivo-fonte.

Como regra geral, por razões de clareza e

estruturação adequada do código, devemos evitar o uso indisciplinado de variáveis globais e resolver os problemas fazendo uso de variáveis locais sempre que possível.

Um programa em C, em geral, é constituído de diversas pequenas funções, que são independentes entre si – não podemos, por exemplo, definir uma função dentro de outra.

Dois tipos de ambientes são caracterizados em um código C. O ambiente global, externo às funções, e os ambientes locais, definidos pelas diversas funções.

Page 12: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

Um programa em C tem que, obrigatoriamente, conter a função principal (main). A execução de um programa começa pela função principal (a função main é automaticamente chamada quando o programa é carregado para a memória). As funções auxiliares são chamadas, direta ou indiretamente, a partir da função principal.

Em C, como nas demais linguagens “convencionais”, devemos reservar área de memória para

armazenar cada dado. Isto é feito através da declaração de variáveis, na qual informamos o tipo do dado que iremos armazenar naquela posição de memória

Uma característica fundamental da linguagem C diz respeito ao tempo de vida e à visibilidade das

variáveis. Uma variável (local) declarada dentro de uma função "vive" enquanto esta função está sendo executada, e nenhuma outra função tem acesso direto a esta variável. Outra característica das variáveis locais é que devem sempre ser explicitamente inicializadas antes de seu uso, caso contrário conterão “lixo”, isto é, valores indefinidos.

Outra alternativa, é possível definir variáveis que sejam externas às funções, isto é, variáveis

globais.

6.1 LINGUAGEM DE PROGRAMAÇÃO C

Page 13: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

6.2 ARMAZENAMENTO DE DADOS NO COMPUTADOR

A memória do computador é dividida em unidades de armazenamento chamadas bytes. Cada byte é composto por 8 bits, que podem armazenar os valores zero ou um. Nada além de zeros e uns pode ser armazenado na memória do computador.

> Cada posição da memória (byte) tem um endereço único. Não é possível endereçar diretamente um bit.

1 byte = 8 bits10010 10100 10110100111 001 11010110010

Se só podemos armazenar números na memória do computador, como fazemos para armazenar um texto (um documento ou uma mensagem)?

- Para ser possível armazenar uma seqüência de caracteres, que representa o texto, atribui-se a cada caractere um código numérico (por exemplo, pode-se associar ao caractere 'A' o código 65, ao caractere 'B' o código 66, e assim por diante). Se todos os caracteres tiverem códigos associados (inclusive os caracteres de pontuação e de formatação), podemos armazenar um texto na memória do computador como uma seqüência de códigos numéricos.

Page 14: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

7. LINGUAGEM INTERPRETADA OU COMPILADA ?Uma diferença importante entre as linguagens C e Matlab é que, via de regra, elas são implementadas de forma bastante diferente. Normalmente, Matlab é interpretada e C é compilada.

Linguagem Interpretada Linguagem Compilada

Linguagem InterpretadaLinguagem Compilada+

> Existe também as linguagens de programação híbridas:

Page 15: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

8. COMPILAÇÃO DE PROGRAMAS EM C ?

> Para desenvolvermos programas em uma linguagem como C, precisamos de:

ferramenta para edição do código fonte

ferramenta para geraçãodo código objeto

editor + compilador.

Considerando um exemplo de código denominado calcula.c a seguinte linha de código deve ser executada para geração do executável.

gcc –o prog.c prog.exe

Isso resultará em um executável com o nome prog.exe no windows.

E se houver mais arquivos-fonte ? Como devemos compilar ?

gcc –o prog.c converte.c prog.exe

Quais os problemas com o uso desse ciclo de desenvolvimento ?

Page 16: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

9. O QUE É UMA IDE ? Este ciclo pode ser realizado usando programas (editor, compilador, ligador)

separados ou empregando um “ambiente integrado de desenvolvimento” (integrated development environment, ou IDE).

IDE é um programa que oferece janelas para a edição de programas e facilidades para abrir, fechar e salvar arquivos e para compilar, ligar e executar programas.

Se um IDE estiver disponível, é possível criar e testar um programa, tudo em um mesmo ambiente, e todo o ciclo mencionado acima acontece de maneira mais confortável dentro de um mesmo ambiente, de preferência com uma interface amigável.

Exemplo de IDE

Page 17: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

9.1 Usando Visual Studio – Hello Word!

Cria um novo projeto

Page 18: APRESENTAÇÃO: ANDERSON CALDAS CURSO DE C - 2010 AULA 01: Introdução a Linguagens de Programação

CURSO DE C - 2010

FIM DA AULA 01: Introdução à Linguagens de Programação