Vous êtes sur la page 1sur 58

Informtica Aplicada (EXA0115)

Informtica Bsica(EXA0116)
Leiva Casemiro Oliveira

Perodo 2017.1
Ementa
Introduo a Informtica; Noes de
algoritmos e linguagem de programao;

Informtica Aplicada (EXA0115):


Carga horria: 60 hrs / 4cr
Informtica Bsica(EXA0116):
Carga horria: 45 hrs / 3cr
Referncias
Informtica Aplicada/Bsica

CONCEITOS INICIAIS
Introduo
Para resolver um problema em um
computador, devemos encontrar uma maneira
de descrever esse problema de uma forma
clara e precisa, atravs de uma sequncia de
passos a serem seguidos at que se atinja a
soluo procurada

(Cruz e Knopman, 2001).


Introduo
Um algoritmo um conjunto finito de regras
que fornece uma sequncia de operaes para
resolver um problema especfico.

uma sequncia de passos que visa atingir


um objetivo bem definido.
Introduo
Programar = resolver problema
Programar soluo do problema
Introduo
Um algoritmo possui 5 caractersticas
importantes:
Finitude: Um algoritmo deve sempre terminar aps
um nmero finito de passos.
Definio: Cada passo de um algoritmo deve ser
precisamente definido. As aes devem ser definidas
rigorosamente e sem ambiguidades.
Entradas: zero ou mais;
Sadas: uma ou mais;
Efetividade: Um algoritmo deve ser efetivo.
Representao de algoritmo
Formas de Representao de algoritmo:
Linguagem natural;
Representao de algoritmo
Linguagem natural
Inicio: Fil de peixe com molho branco.
1: {preparo dos peixes}
Lave os fils e tempere com o suco dos limes, sal, pimenta e salsinha
picada. Deixe por 1/2 hora neste tempero. Enxugue e passe cada fil na
farinha de trigo. Depois passe pelos ovos batidos e frite na manteiga at
ficarem dourados dos dois lados.
2: {preparo do molho branco}
Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em
fogo mdio, cozinhe at engrossar. Adicione o sal, a pimenta e o queijo.
Continue com a panela no fogo, cozinhando at que o queijo derreta,
mexendo constantemente.
3: {juntando os dois}
Adicione queijo parmeso ralado. Misture e ponha sobre os fils.

Fim da receita do fil de peixe com molho


branco.
Representao de algoritmo
Formas de Representao de algoritmo:
Linguagem natural;
Fluxograma;
Representao de algoritmo
Formas de Representao de algoritmo:
Linguagem natural;
Fluxograma;
Representao de algoritmo
Formas de Representao de algoritmo:
Linguagem natural;
Fluxograma;
Pseudocdigo (pseudolinguagem);
Representao de algoritmo
Pseudocdigo (pseudolinguagem) Portugol Portugus Estruturado Visual G

Algoritmo "calcula mdia"


// Descrio : Calcula a mdia de um aluno no
semestre
Comentrios
// Autor : Leiva Casemiro
// Data : 20/11/2012
// Seo de Declaraes
var
nota1:real Declaraes de
nota2:real variveis
media:real
//incio do bloco de execuo dos comandos
Inicio
escreval ("Digite o valor da primeira nota:")
leia (nota1)
escreval ("Digite o valor da segunda nota:")
Bloco de execuo
leia (nota2)
de comandos
media <- (nota1 + nota2)/2
escreva ("A mdia =",media)

//fim do algoritmo
Fimalgoritmo

No ser nosso foco!


Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Pensando..
Exemplo: Algoritmo para resolver o problema da troca de uma lmpada
Informtica Aplicada/Bsica

A INTRODUO PROGRAMAO
EM C
Informtica Aplicada/Bsica

A INTRODUO PROGRAMAO
EM C

Na disciplina, a escolha da linguagem C est relacionada a:


eficincia
facilidade de uso
base para muitas outras linguagens
uma das mais usada atualmente
Fundamentos de um Ambiente Tpico de
Desenvolvimento de Programas em C
O programa criado no
Fases de Programas em Editor Disco
editor e armazenado em
disco.
C/C++ O programa pr-processador
analisa o cdigo fonte.
Pr-processador Disco
Edio
O compilador cria o cdigo-
objeto e o armazena em
Pr-processamento Compilador Disco disco.
O linker faz a conexo do
Compilao cdigo-objeto com as
Linker Disco bibliotecas.
Linkagem Memria Primria
Carregador O carregador transfere o
Carregamento programa para a memria.

Execuo
Disco Memria Primria
A UCP recupera cada
Entradas instruo e a executa,
armazenando (quando
UCP possvel) novos valores de
dados medida que o
programa executado.
Saidas
24
Modelo de um computador

Disco

25
Histria de C
Surgiu no incio dos anos 70
Criada inicialmente para o UNIX
Criadores:
Dennis Ritchie (dir)
Kenneth Thompson (esq)
Baseada na Linguagem B www.viphostsystem.com

Verso inicial bastante simples


Histria da Linguagem C
Ampla popularizao nos anos 80;
Muitas arquiteturas e compiladores
Problemas com a incompatibilidade;
Padronizao de 82 a 89 (C ANSI- American
National Standards Institute);
At hoje existem problemas entre os diversos
compiladores e sistemas operacionais.
Um programa simples: impresso de
uma Linha de Texto
1 /*Primeiro programa em C */
2
3 #include <stdio.h> /* biblioteca que realiza o printf() */
4
5 int main() {
6
7 printf( Bem-vindo ao C!\n" );
8
9 return 0; // como main foi declarada do tipo int tem que retornar um valor
10 }

Comentrios
Texto delimitado por /* e */ ignorado pelo
computador. Possibilidade de uso com //.
Usado para descrever programa
Um programa simples: impresso de
uma Linha de Texto
#include <stdio.h>
Diretiva do pr-processador
Indicao ao computador para carregar um certo arquivo
<stdio.h>
Permite operaes padro de entrada/sada

int main()
Programas em C contm uma ou mais funes,
uma das quais tem que ser exatamente main
Parnteses so usados para indicar uma funo
Um programa simples: impresso de
uma Linha de Texto
int main() {
....
}
int significa que main "retorna" um valor
inteiro
Chaves ({ }) indicam a existncia de um bloco
O corpo de todas as funes tem que est contido entre
chaves
Um programa simples: impresso de
uma Linha de Texto
printf(Bem-vindo ao C!\n");
Instrui o computador a realizar uma ao
Especificamente, imprime a cadeia de caracteres entre
aspas ( )
A linha inteira equivale a um comando
Todos os comandos tm que terminar com um ponto-e-
vrgula (;)
Caractere de escape (\)
Indica que o printf deve fazer algo fora do comum
\n o caractere nova-linha
Um programa simples: impresso de
uma Linha de Texto
return 0;
Maneira de sair de uma funo
return 0, neste caso, significa que o programa
terminou normalmente
Fecha-chave (})
Indica que o fim do main foi encontrado
Um programa simples: impresso de
uma Linha de Texto
Linker
Quando uma funo chamada, o linker a localiza
na biblioteca,
E a insere no programa-objeto (.obj)
Se o nome da funo for escrito incorretamente, o
linker produzir um erro, pois no ser capaz de
encontrar a funo na biblioteca
Varivel
uma representao lgica (abstrata) de uma
posio de memria.
Toda varivel possui um nome, um tipo, um
tamanho e um valor;
Seu contedo pode variar durante a execuo
de um programa;
Ela s pode assumir um valor a cada instante.
Varivel
Ao definir o tipo de uma varivel, faz-se
necessrio entendermos o tipo de Informao
a ser manipulada:
inteiro

lgico
real caractere
Outro programa simples: Soma de dois
Nmeros
1 /*Programa de soma */
2
3 #include <stdio.h>
4
5 int main() {
6
7 int int1, int2, soma; /* declarao */
8
9 printf( Entre com o primeiro inteiro:\n" ); /* prompt */
10 scanf( "%d", &int1 ); /* l um inteiro */
11 printf( Entre com o segundo inteiro:\n" ); /* prompt */
12 scanf( "%d", &int2 ); /* l um inteiro */
13 soma = int1 + int2; /* atribui soma */
14 printf( A soma eh igual a %d\n", soma ); /* imprime soma */
15
16 return 0; /* indica que o programa foi bem-sucedido */
17 }
Outro programa simples: Soma de dois
Nmeros
Entre com o primeiro inteiro:
1 /*Programa de soma */ 45
2 Entre com o segundo inteiro:
3 #include <stdio.h> 72
4 Soma eh igual a 117
5 int main() {
6
7 int int1, int2, soma; /* declarao */
8
9 printf( Entre com o primeiro inteiro:\n" ); /* prompt */
10 scanf( "%d", &int1 ); /* l um inteiro */
11 printf( Entre com o segundo inteiro:\n" ); /* prompt */
12 scanf( "%d", &int2 ); /* l um inteiro */
13 soma = int1 + int2; /* atribui soma */
14 printf( A soma eh igual a %d\n", soma ); /* imprime soma */
15
16 return 0; /* indica que o programa foi bem-sucedido */
17 }
Outro programa simples: Soma de dois
Nmeros
Vide anlise do programa anterior
Comentrios, #include <stdio.h> e
main
int int1, int2, soma;
Declarao de variveis
Variveis posies na memria nas quais um valor pode ser
armazenado

int significa que as variveis podem guardar


inteiros (-1, 3, 0, 47)
Outro programa simples: Soma de dois
Nmeros
Nomes de variveis (identificadores)
int1, Int1, int2, soma
Identificadores consiste de letras, dgitos (no
podem comear por dgitos) e sublinhado( _ )
Case sensitive (maiscula diferente de minscula)
O nome da varivel no pode ser igual a uma palavra
reservada e aos nomes das funes
Tamanho mximo para o nome de uma varivel: 32 caracteres
Declaraes aparecem antes dos comandos
executveis
Se um comando executvel referencia uma varivel no
declarada ser produzido um erro de sintaxe (compilador)
Declarao de variveis em C
<tipo> <lista de variveis>;
5 tipos bsicos: char, int, float, void, double

modificadores de tipo do C: signed, unsigned, long e short

int inteiro1, n1, x;

unsigned int i;

char letra, controle, nome[30];

float x; Os 4 podem ser aplicados ao int


long pode ser aplicado ao double
signed e unsigned aplicados ao char
Declarao de variveis em C
Tipo Bits Valor
______________________________________________
Char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
Int 16 -32.768 a 32.767
unsigned int 16 0 a 65.535
long int 32 -2.147.483.648 a 2.147.483.647
unsigned long int 32 0 a 4.294.967.295
Float 32 3.4E-38 a 3.4E+38
Double 64 1.7E-308 a 1.7E+308
long double 90 3.4E-4932 a 1.1 E+4932
Void 0 sem valor
Conceito de Memria
Variveis
Nomes de variveis correspondem a posies
(locaes) a serem reservadas na memria
Toda vez que um valor atribudo a uma varivel
(atravs de scanf, por exemplo), o valor anterior
substitudo (e destrudo)
A leitura de variveis da memria no as altera;

inteiro1

45
Outro programa simples: Soma de dois
Nmeros
scanf( "%d", &int1 );
Obtm um valor do usurio
scanf usa a entrada padro (comumente o teclado)

Este comando scanf tem dois argumentos


%d indica que o dado deve ser um inteiro
decimal
&int1 posio na memria na qual a varivel
est armazenada
& pode parecer confuso neste ponto
Por enquanto, lembrar apenas de adicion-lo ao nome da
varivel sempre que usar o comando scanf;
Outro programa simples: Soma de dois
Nmeros
scanf( "%d", &int1 );
Quando o programa est sendo executado, o
usurio responde ao comando scanf digitando
um nmero e, em seguida, pressionando a tecla
enter (return)
Outro programa simples: Soma de dois
Nmeros
Operador de atribuio =
Atribui um valor para a varivel
um operador binrio (tem dois operandos)
soma = varivel1 + varivel2;
soma recebe varivel1 + varivel2
Varivel que recebe valor posicionada esquerda
printf("Soma eh igual a %d\n", soma);
Similar ao scanf
%d significa que um decimal inteiro ser impresso
soma especifica qual inteiro ser impresso

Clculos podem ser realizados dentro de um


comando printf
printf("Soma e %d\n", int1 + int2);
Linguagem de Programao

ARITMTICA
Aritmtica
Clculos Aritmticos
Usa-se + para a adio e - para a subtrao;
Usa-se * para a multiplicao e / para a diviso;
Diviso inteira Truncamento do quociente
7 / 5 avaliado como 1
Operador de mdulo (%) Retorno do resto
7 % 5 avaliado como 2
Aritmtica
Operadores Aritmticos

Operao Operador Expresso Expresso


em C aritmtico algbrica em C
Adio + f+7 f+7
Subtrao - p-c p-c
Multiplicao * bm b*m
Diviso / x/y x/y
Mdulo % r mod s r%s
Aritmtica
Regras de precedncia
Operador(es) Operao(es) Ordem de Avaliao
(Precedncia)
() Parnteses Avaliados primeiro. Se estiverem
aninhados, a expresso encerrada quando
par mais interno avaliada. Se houver
vrios pares no mesmo nvel, a avaliao
ocorre da esquerda para a direita.

* / % Multiplicao, Diviso ou Avaliados em segundo lugar. Se houver


Resto vrios operadores no mesmo nvel, a
avaliao ocorre da esquerda para a
direita.
+ - Adio ou Subtrao Avaliados em terceiro lugar. Se houver
vrios operadores no mesmo nvel, a
avaliao ocorre da esquerda para a
direita.
Linguagem C palavras chave
Palavras-chave
Palavras reservadas especiais para C
No podem ser usadas como identificadores ou
nomes de variveis;
Palavras-chaves
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
Linguagem de Programao

ENTRA E SADA EM C
Entrada em C
Entrada
scanf (string_de_controle, lista_de_argumentos);

scanf( "%d", &inteiro1 );

scanf( "%d %c", &n1,&x ); /* le um inteiro e um


caractere */

scanf( "%30s", &nome );


Entrada em C
Entrada
Sada em C
Sada
printf (string_de_controle, lista_de_argumentos);

printf ("Teste %% %%") -> "Teste % %


printf ("%f",40.348) -> "40.348
printf ("%.2f",40.348) -> "40.35
printf ("Um caractere %c e um inteiro %d",'D',120) ->
"Um caractere D e um inteiro 120
printf (Meu nome e %s",nome) -> Meu nome e Leiva
printf ("%s%d%%","Juros de ",10) -> "Juros de 10%"
Sada em C
Sada
Sada em C
Sadas Especiais
Outras funes de E/S em C

FUNO
FUNCAO OPERACAO
OPERAO
getchar ( ) l um caractere; espera por <enter>
getche ( ) l um caractere com eco; no espera por
<enter>
getch ( ) l um caractere sem eco; no espera por
<enter>
putchar ( ) imprime um caractere na tela
gets ( ) l uma string via teclado
puts ( ) imprime uma string na tela
Controladores de Fluxo
prximas aulas
C possui 7 controladores de fluxo bsicos:

If/ else
? : (operador ternrio)
Switch
For
While
do-while
goto

Vous aimerez peut-être aussi