Você está na página 1de 6

Big Idea:

Swift
Essential Question:
Como trabalhar com grupos de variáveis armazenadas em coleções?

Challenge:
Aprender as construções relacionadas a coleções, funções e closures em Swift.

Guiding Questions:
Quais são as principais coleções em Swift? Pesquisar nos recursos.
Qual a diferença entre as coleções em Swift? Pesquisar nos recursos.
Como criar coleções mutáveis e imutáveis em Swift? Pesquisar nos recursos.
Quais coleções podem armazenar um valor mais de uma vez? Pesquisar nos recursos.
O que é um array em Swift? Pesquisar nos recursos.
Quais as maneiras possíveis de se criar um array vazio em Swift? Implemente código para
criação de um array de
inteiros vazio.
Existem maneiras fáceis de inicializar um array? Implemente código para
criação de um array do
tipo Double com 5
valores iguais a 1.0
Como se acessa um valor específico de um array? Pesquisar nos recursos.
Quais as maneiras de se adicionar elementos a um array em Swift? Implemente código para
adicionar elementos no
início e no fim de um
array.
O que acontece se um valor for inserido em uma posição além do Implemente código para
tamanho do array? verificar o que acontece.
Como são removidos elementos de um array em Swift? Implemente código para
remover elementos em
um array, se possível.
É possível a remoção de mais de um elemento de um array ao mesmo Implemente código para
tempo? remoção de mais de um
elemento, se for possível.
Como se obtém uma parte de um array em Swift? Implemente código para
obter uma parte do array
contido no intervalo
[a,b], em que a e b são
valores válidos para os
índices do vetor.
Como pode ser feita a iteração sobre os elementos contidos em um Implemente código para
array? mostrar os valores
contidos em um array de
inteiros, tal como:
vet[0] = 2
vet[1] = 4
vet[2] = 6
.
.
.
Implemente código para
somar os valores inteiros
contidos em um vetor de
10 elementos.
O que é um dicionário em Swift? Pesquisar nos recursos.

Como se define um dicionário em Swift? Define um dicionário


com chave String e valor
inteiro.
Como se inicializa um dicionário em Swift? Inicialize o dicionário de
tal maneira que o nome
da carta de um baralho é
a chave e o número da
carta é o valor.
Como se remove um elemento de um conjunto em Swift? Remova o carta que
representa o Rei.
Como se adiciona um elemento à um dicionário em Swift? Adicione novamente a
carta que representa o
Rei.
O que acontece se um elemento a ser adicionado já estiver no Adicione o Rei
dicionário? novamente no dicionário.
Como se itera sobre as chaves de um dicionário? Implemente a iteração
com base nas chaves do
dicionário.
Como se itera sobre os valores contidos em um dicionário? Implemente a iteração
com base nos valores
contidos no dicionário.
Como se itera ao mesmo tempo sobre chaves e valores de um Implemente a iteração
dicionário? sobre o dicionário com
base na dupla
(key,valor).
O que é um conjunto em Swift? Pesquisar nos recursos.
Como se define um conjunto em Swift? Defina um conjunto com
base na anotação de seu
tipo.
Como se inicializa um conjunto em Swift? Inicialize um conjunto
com os valores {1,2,3}.
Como se adiciona um elemento ao conjunto? Adicione o valor 4 ao
conjunto e imprima os
elementos do mesmo.
O que acontece se um elemento adicionado já estiver no conjunto? Adicione o valor 4 ao
conjunto e e imprima os
elementos do mesmo.
Como se remove um elemento de um conjunto em Swift? Remova o elemento 2 do
conjunto criado
anteriormente.
Como se verifica a existência de um elemento em um conjunto? Verifique se o valor 2
está contido no conjunto.
Faça o mesmo para o
valor 3.
Como se itera sobre os elementos de um conjunto? Itere sobre o conjunto
para mostrar os
elementos do mesmo.
É possível apresentar os elementos do conjunto de forma ordenada? Implemente a iteração
de forma ordenada, se
possível.
O que é uma função em Swift? Pesquisar nos recursos.
Como se define uma função? Implemente uma função
que some dois números
e verifique se a soma é
um número primo ou
não.
Diferencie argumentos e parâmetros em funções? Pesquisar nos recursos.
Como criar uma função sem argumentos para parâmetros? Implemente uma função
que não tenha
argumentos.
É possível ter uma função com argumentos diferentes dos nomes dos Pesquisar nos recursos.
parâmetros?
O que é o comando guard? Pesquisar nos recursos.
Como fazer um retorno prematuro em uma função? Implemente uma função
que imprima “Olá, \
(nome)!!!” se o nome
existir, caso contrário
saia da função
prematuramente usando
o comando guard. Antes
informe que não há
necessidade de dizer
hello.
Como criar uma função com valores padrões para os parâmetros? Implemente uma função
que soma dois números
se ambos forem
passados, ou o primeiro
com o valor 10, se
apenas o primeiro
parâmetro for
informado.
Uma função pode não ter valor de retorno? Pesquisar nos recursos.
Uma função pode retornar um optional? Implemente uma função
que receba dois números
e retorne a divisão entre
dois números. Se o
denominador for igual a
zero retorne nil. Obs:
existe maneira mais
adequada de tratar isso.
Uma função pode ter múltiplos valores de retorno? Implemente uma função
que retorne as quatro
operações básicas
(soma, subtração,
multiplicação e divisão)
entre 2 números do tipo
Double. Verifique a
divisão existe para
retornar nil caso a
divisão não seja
possível. Obs: existe
maneira mais adequada
de tratar isso.
O que é necessário para que uma função possa mudar o valor de uma Implemente uma função
variável definida fora do escopo da função? sem retorno que receba
dois números como
parâmetros. Ao final
capture os valores da
soma e subtração nos
parâmetros passados na
função.
Uma função pode ser retornada a partir de uma função? Implemente uma função
que receba uma string
informando a operação a
ser realizada (soma,
subtração e
multiplicação) e retorne
uma função que tenha a
capacidade de realizar a
operação.
O que são funções aninhadas? Pesquisar nos recursos.
Implemente o exemplo
anterior usando funções
aninhadas.
Como se define uma variável para uma função? Crie uma variável que
receba função retornada
no exemplo anterior.
Uma função pode ser passada como parâmetro para uma função? Implemente uma função
que recebe dois
parâmetros do tipo
Double e realize a
operação com base na
função passada como
parâmetro. Note que a
função passada como
parâmetro deve receber
dois inteiros e retornar o
valor da operação de
interesse (soma,
subtração ou
multiplicação).
O que são closures? Pesquisar nos recursos.
Qual a diferença entre closures e functions? Pesquisar nos recursos.
Quais as formas possível das closures? Pesquisar nos recursos.
Como se define uma closure? Crie uma closure para
somar dois números.
Uma closure pode ser passada como parâmetro? Crie uma closure que
tem uma closure como
parâmetro informando a
operação (soma,
subtração, divisão ou
multiplicação) a ser
realizada sobre outros
dois parâmetros
passados como atributo.
Como mudar a forma de ordenação de um vetor usando closures? Implemente código para
mostrar os elementos
contidos em um vetor
em ordem decrescente.
Para tal, altere o método
sort.
Como realizar um filtro sobre elementos de um vetor usando closures? Apresente os valores
contidos em um vetor
que não são primos. Crie
uma closure para
verificar se um número é
primo.
Como gerar um novo array a partir de um existente usando closures? Implemente código que
gere um novo vetor no
qual os elementos são
multiplicados por 5.
Quais as possíveis formas de expressões usando closures? Pesquisar nos recursos.

Guiding Resources:
Swift Web Guide

swift.org

Swift Guides

Você também pode gostar