Escolar Documentos
Profissional Documentos
Cultura Documentos
-Procedimentos.
1. Leitura dos slides.
2. Anotar comandos.
3. Treinar os comandos.
4. Resolver exercícios.
5. Tirar dúvida.
Aula 1 - O que é Lógica?
• Objetivos:
– Compreender um pouco sobre lógica
– Diferenciar tipos de lógica
– Entender o conceito de Programação
Aula 1 - O que é Lógica?
• Lógica é o estudo das deduções (raciocínios)
válidas.
– Pensamento.
– Raciocínio.
C Ruby
Java Visual Basic .NET
Objective-C Transact-SQL
C++ Lisp
PHP Pascal
C♯ Bash
Visual Basic PL/SQL
Python Delphi / Object Pascal
Perl Ada
JavaScript MATLAB
Aula 1 -Informática
• Objetivos:
– Definir informática
– Conceituar Sistema Computacional
– Entender formas de armazenamento de dados
– Diferenciar tipos de softwares
Aula 1 – Informática
Revisão da Aula anterior segundo
Aula 1 – Informática
InforMática
Informação
DADOS->INFORMAÇÃO
CODIFICAÇÃO->ARMAZENAMENTO
Automática
SISTEMA COMPUTACIONAL
Aula 1 – Sistema Computacional
FISICA LÓGICA
HARDWARE SOFTWARE
Aula 1 – Sistema Computacional
Aula 1 – Informática
Sistema Computacional
Geração Armazenamento
Zero Mecânico
1° Geração Válvulas
2° Geração Transistores
3° Geração CHIPS – pastilha de
silício
4° Geração VLSI
Aula 1 – Informática
Aula 1 – Armazenamento de dados
Aula 1 – Unidade de armazenamento
de dados
Aula 1 – Camadas de Software
Aula 1 – Tipos de Software
• Sistema Operacional
• Bios/Setup
• Firmware
Básicos • IDE
• Pacote Office
• AutoCad
• E-mail
Aplicativo • Simulação
Aula 2 - Conceitos básicos para a
programação de computadores
• Objetivos:
– Definir algoritmos
– Identificar as características de um algoritmo
– Saber representar algoritmos
– Representar problemas com algoritmos
Aula 2 - Conceitos básicos para a
programação de computadores
• Tópicos:
– Algoritmo
– Representação
– Estruturas de Algoritmos
• Sequencial
• Condicional
• Repetição
Aula 2 - Conceitos básicos para a
programação de computadores
– Algoritmo
Algoritmo é a especificação da sequência ordenada
de passos que deve ser seguida para a solução de
um problema ou para a realização de uma tarefa,
garantindo a sua repetitividade.
Representação de um método!
Aula 2 – Características desejáveis de
um algoritmo
• legível: o algoritmo deve ser compreensível até por um leigo
• de alto nível: o algoritmo deve poder ser traduzido em
qualquer linguagem de programação, ele não deve fazer uso
de conhecimentos técnicos relativos a um determinado
programa ou a um sistema operacional dado.
• preciso: cada elemento do algoritmo não deve ser confuso,
por isso é importante eliminar qualquer ambiguidade.
• conciso: um algoritmo não deve exceder uma página. Se for
o caso, é preciso decompor o problema em vários
subproblemas
Aula 2 - Características inerentes de
um algoritmo
• Características inerentes de um algoritmo
– Sequência de passos
– Trata entradas e saídas
– Utiliza Lógica
– Objetivo definido
– Finito
Aula 2 – Representação de Algoritmos
– Representação
• Narrativa
• Fluxograma
• Pseudocódigo
• Diagrama de Chappin
• Linguagem de programação
Aula 2 - Representação narrativa
Aula 2 - Representação narrativa
Aula 2 – Atividade de casa
– MEMÓRIA RAM
A soma
idade
nome
Aula 3 -Estrutura Sequencial
Palavras reservadas
Aula 3 -Estrutura Sequencial
• Declaração de variáveis
– Processo pelo qual reserva um espaço na
memória para guardar os dados do programa.
• TIPO NOME;
Números
Caracteres Inteiros
Símbolos INT
CHAR
Números
Reais
FLOAT
DOUBLE
Aula 3 -Estrutura Sequencial
– Exercícios
Aula 3 -Estrutura Sequencial
• Exercícios
– 1- Declare as seguintes variáveis em um programa:
letra = C numero1 = 13 numero2 = 3.56 pi=3,1415 mol = 6×10²³
– 2- Diga se as seguintes variáveis são válidas:
a) linguagem
B)progRAMA
c)ufu1234
d)int
e)float4
f)2012
– 3- Qual a estrutura básica da declaração de uma variável?
a)tipo valor = variável!
b)valor tipo = variável;;
c)tipo variável == valor;
d)tipo variável = valor;
e)main tipo variável <- valor.
Aula 3 -Estrutura Sequencial
• Exercício
1- Declare as variáveis em um programa para
armazenar os valores da tabela abaixo
Aula 3 -Estrutura Sequencial
• Objetivos:
– Comandos de entrada e saída
– Utilizar operadores
• Atribuição
• Aritméticos
– Representar um algoritmo sequencial em C.
Aula 3 -Estrutura Sequencial
• Algumas bibliotecas da Linguagem C
Biblioteca Padrão
#include <stdio.h>
no início do programa.
Saída: A Função printf
Entrada: A função Scanf
Aula 3 -Estrutura Sequencial
#include <stdio.h>
Saída: A Função printf
int printf(controle, arg1, arg2, ...);
Ex: scanf(“%d”,&idade);
Ex: scanf(“%c”,&letradigitada);
Ex: scanf(“%f”,¬a);
Aula 3 -Estrutura Sequencial
• Representando um problema na Linguagem C
algoritmo “exemplo 2”
variaveis numero, resposta: inteiro
escreva (“Digite um número inteiro: ”)
leia (numero)
resposta <- numero+2
escreva (“Resultado (número + 2): ”, resposta)
fimalgoritmo
USANDO A LINGUAGEM C
INT MAIN()
{
}
Aula 3 -Estrutura Sequencial
• Declaração ATRIBUIÇÃO DIRETA
int idade,ano; idade = 20;
float peso,altura; peso = 33.5;
float preco; O operador de atribuição = indica que o
resultado da expressão à direita do operador
será atribuído à variável.
ATRIBUIÇÃO INDIRETA
printf(“Digite o preço”);
scanf(“%f”,&preco);
Aula 3 -Estrutura Sequencial
• Operadores aritméticos
Aula 3 -Estrutura Sequencial
– Exercícios
• Qual o resultado das variáveis x, y e z depois da
seguinte sequência de operações:
– int x, y, z;
– x = y = 10;
– z = x++;
– x = -x;
– y++;
– x = x + y – z--;
Aula 3 -Estrutura Sequencial
– Exercícios
• Escreva um programa que declare variáveis do tipo int, char e
float, inicialize-as, e imprima os seus valores.
• Escreva um programa que leia 3 números reais e imprima a média
aritmética destes números.
• Escreva um programa que pegue o valor de uma conta de
restaurante e imprima o valor total a ser pago, considerando que o
restaurante cobra 10% de taxa para os atendentes.
• Faça um programa que peça ao usuário a quilometragem atual, a
quilometragem anterior, os litros consumidos e informe a taxa de
consumo (quilômetros por litro) de um automóvel.
• Escreva um programa que converta uma temperatura de Farenheit
para Celsius.
• Escreva um programa que, dado o perímetro de um círculo, calcule
sua área.
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Aula 3 –Aula Laboratório
Pratica 1
• Procedimentos
– Baixar os slides e seguir instruções da Aula 3-
laboratório 1
– Digitar o código do cálculo do IMC
– Executar o programa
Pratica 2
• Procedimentos
– Crie um projeto no Dev.
– Elabore um algoritmo
para calcular a área de
um trapézio: A =
((B+b)*h)/2;
– Execute o programa
Pratica 3
• Procedimentos
– Crie um projeto no Dev.
– Elabore um algoritmo para
calcular a média de um
aluno e imprimir a
mensagem aprovado ou
aprovado.
• Se a media > = 7
– Aprovado
• Senão
– Reprovado
– Execute o programa
Solução da pratica
Aula 4 - Estrutura Condicional
• Tópicos:
– Introdução
– Estruturas Simples
– Estruturas Compostas
Aula 4 - Estrutura Condicional
Tomar uma decisão!
Aula 4 - Estrutura Condicional
• Definição
– Estruturas que permitem a escolha da execução de
um trecho de código de acordo com a condição.
Aula 4 - Estrutura Condicional
• A ESTRUTURA IF/ELSE:
– Estruturas que permitem a escolha da execução de
um trecho de código de acordo com a condição.
Aula 4 - Estrutura Condicional
• A ESTRUTURA IF/ELSE:
– Existem quatro maneiras de usar essa estrutura
condicional:
• If sem o else
• If com o else
• If com else aninhado
• If com else if
Aula 4 - Estrutura Condicional
• Exemplos
Aula 4 - Estrutura Condicional
Aula 4 - Estrutura Condicional
• Operadores relacionais
Aula 4 - Estrutura Condicional
• Operadores lógicos
Aula 5 - Estrutura de Repetição
• Tópicos:
– Introdução
– PARA
– ENQUANTO
– FAÇA/ENQUANTO
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
– Se uma ação se repete em um algoritmo, em vez de
escrevê-la várias vezes, em certos casos podemos
resumir anotando uma vez só e solicitando que ela se
repita, usando uma das estruturas de repetição.
– Podemos executar uma ação (ou um conjunto de
ações) um número definido ou indefinido de vezes,
ou enquanto um estado permanecer ou até que um
estado seja atingido.
– As principais estruturas de repetição são:
• PARA...ATÉ...REPETIR
• ENQUANTO...REPETIR
• REPETIR...ENQUANTO
104
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
1) Primeiro:
2) Último:
3) Passo:
105
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
1) Primeiro:
2) Último:
3) Passo:
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
1) Primeiro:
2) Último:
3) Passo:
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
1) Primeiro:
2) Último:
3) Passo:
Lógica de
programação
• ESTRUTURAS DE REPETIÇÃO
1) Primeiro:
2) Último:
3) Passo:
Fluxograma de uma estrutura de repetição: Lógica de
programação
INÍCIO
CONT = 1
Neste ponto do
algoritmo podemos
incluir qualquer
conjunto de instruções
CONT = CONT + 1 que quisermos repetir
10 vezes.
Sim
CONT <= 10?
Não
FIM
110
Lógica de
programação
Estruturas de repetição
Enquanto...Repetir condição
F
<instruções> instrução
Repetir...Enquanto
instrução
Repetir <instruções>
enquanto (condição)
F
condição
Para...até...repetir V
111
Lógica de
programação
Pseudocódigo:
1. Início
2. Soma = 0 <<< o acumulador precisa ter um valor inicial
3. Para cont =1 até 50 repetir
3.1 ler num
3.2 soma = soma + num
4. Media = soma / cont
5. Mostrar media
6. Fim
113
Lógica de
programação
PARA...ATÉ...REPETIR
– Formato:
Para <variável> = <valor inicial> até <valor final> repetir
<ações>
• Significado: A <variável> é inicializada com <valor inicial>.
Após cada execução das <ações>, é somado 1 à <variável> e
repete-se as <ações>, continuando assim até que a
<variável> atinja o <valor final>.
• Esta estrutura de repetição cria um contador automático,
que nós não precisamos mandar incrementar.
• Ao usar esta estrutura já está subentendido que a
<variável> inicia com <valor inicial> e é incrementada a cada
ciclo (podendo-se inclusive aproveitar seu valor dentro do
ciclo), e que as <ações> serão repetidas até que a <variável>
tenha o <valor final>.
114
Lógica de
programação
– Para esse problema construímos um algoritmo que será genérico, ou seja, que
poderá ser usado para calcular a média de quantos números se quiser!
– Pseudocódigo:
1- Início
2- Mostrar “De quantos valores você quer calcular a média?”
3- Ler QUANT (aqui se descobre quantas repetições)
4- SOMA = 0
5- Para CONT = 1 até QUANT repetir
5.1- Ler N (aqui é lido cada número, um em cada ciclo)
5.2- SOMA = SOMA + N (aqui os valores lidos são acumulados)
6- MEDIA = SOMA / QUANT (isto está fora do loop)
7- Mostrar MEDIA
8- Fim
116
•
Exercício
Faça um algoritmo para calcular e escrever
o valor de S:
1 3 5 7 99
S ...
1 2 3 4 50
117
Exemplo de solução
1. Início
2. S=0
3. Para I=1 ate’ 50 repetir
3.1 S=S+(I*2-1)/I
4. Mostrar S
5. Fim
118
Exercício
Faça um algoritmo para calcular os 20
primeiros termos da série de Fibonacci:
0, 1, 1, 2, 3, 5, 8, 13, ….
com F0=0 e F1=1
119
Exemplo de solução
1. Início
2. Mostrar 0
3. Mostrar 1
4. n_2=0
5. n_1=1
6. Para I=3 até 20 repetir
6.1 n=n_1 + n_2
6.2 mostrar n
6.3 n_2=n_1
6.4 n_1=n
7. Fim
120
Exercício
Faça um algoritmo para calcular a soma dos
números primos menores que 100
121
Exemplo de solução
1. Início
2. Para I=1 até 99 repetir
2.1 eprimo=1
2.2 para J=2 até I-1 repetir
2.2.1 se I%j=0 então eprimo=0
2.3 se eprimo=1 então mostrar I
3. Fim
122
Estruturas de repetição em C
123
Estrutura de repetição: comando for
• Comando for
for (var=valor inicial; condição; incremento/decremento)
comando;
Exemplo:
for (cont=3; cont<=11; cont++)
printf (“%d”,cont);
for (var=valor inicial; condição; incremento/decremento)
{
comando1;
comando2;
comando3;
}
124
Comando for
for (var=valor inicial; condição; inc/dec)
comando1;
125
Exercício
#include <stdio.h>
#include <stdlib.h>
main(){
int numero, cont, neg=0;
for (cont=0; cont<5; cont++) {
printf ("\nDigite um numero inteiro: ");
scanf ("%d", &numero);
if (numero<0) neg=neg+1;
}
printf ("\nO numero de valores negativos e’ %d\n", neg);
system("pause");
}
126
Cuidado!!!
127
Lembre-se!!!
Qual o valor da variável de controle do for após a execução do
comando for? O valor que foi testado e não passou na condição.
Exemplo: saída:
#include <stdio.h> 1
#include <stdlib.h> 2
main(){ 3
int cont; 4
for (cont=1; cont<=10; cont=++){ 5
printf ("%d\n", cont); 6
} 7
printf("valor apos o FOR: %d\n",cont); 8
system("pause"); 9
} 10
valor apos o FOR: 11
Press any key to continue...
128
Só use quando estritamente necessário:
E para forçar o término da repetição? Use um break.
Exemplo : saída:
#include <stdio.h> 1
#include <stdlib.h> 2
main(){ 3
int I; 4
for (I=1; I<=10; I=I+1){ 5
printf ("%d\n",I); apos o FOR: 5
if (I==5) break; Press any key to continue...
}
printf(“apos o FOR: %d\n",I);
system("pause"); Atenção para o valor de
} saída da variável de
controle
129
Cuidado!!
• Faça sempre um teste de mesa com os
valores inicial e final do loop do comando
for, pois a maioria dos erros são na primeira
ou na última execução do laço.
• Erros comuns:
– Executar o laço (repetição) uma vez a mais ou a
menos que o desejado
– Atribuir o valor inicial de alguma variável
dentro do laço, quando deveria ser fora
– Não atribuir o valor inicial de uma variável
(principalmente em for s aninhados)
130
Construção de Algoritmos para
resolver sequências
• Identificar o número de termos
• Identificar o primeiro e último termo.
• Escolher uma variável para controle.
• Resolver a expressão da sequência, que pode
ser um somatório.
• Exibir o valor final da sequência.
131
WHILE
• INICIALIZAÇÃO
• WHILE( CONDIÇÃO ){
– COMANDO
– PASSO
• }
132
DO/WHILE
• INICIALIZAÇÃO
• DO{
– COMANDO
– PASSO
• }WHILE( CONDIÇÃO );
133
Exercícios
134
Exercícios
Faça um programa para calcular e escrever o valor de S:
S 1 2 3 4 5 ...
S 2 4 6 8 10 ...
1 3 5 7 99
S ...
1 2 3 4 50
1 2 3 4 5 6
S ...
2 3 4 5 6 7
2! 3! 4! 5!
S 1
2 3 4 ...
2 3 4 5
135
Aula 5 – Tipos Indexados
• Tópicos:
– Introdução
– Índices
– Vetores
– Declaração de vetores
– Escrevendo dados em vetores
– Lendo dados em vetores
Aula 5 – Tipos Indexados
• Tópicos:
– Criação de espaços na memória para armazenar
diversos valores do mesmo tipo.
Aula 5 – Tipos Indexados
• Declaração
Aula 5 – Tipos Indexados
• Atribuindo valores
– Direta
– Indireta
Aula 5 – Tipos Indexados
• Percorrendo os valores