Gå til innhold

Apple Swift - Prosjekt : (VELOPT) - Bokstavkalkulator


Anbefalte innlegg

Hei. Kanskje noen her, kan kjenne meg igjen fra tråden i: "Generell / annen programmering." Jeg tror at, jeg har: Klart, og velge ett språk. Språket, er: "Apple Swift."

 

Husk at jeg, er rent: Amatør i språket. Og det er, første gang jeg: Forsøker meg, på skript. Hittil har jeg, klart og skrive ned: Hva som, er herunder.

import Foundation

var alphaBeta = char in "abcdefghijklmnopqrstuvwxyz"
let alphaValue = 01
var number = var alphaBeta
var number = let alphaValue

let alphaValue + let alphaValue = var alphaValued
var alphaValued = 125
if alphaValued > 00 {
    smallest = alphaValued
}
var number = 26
var smallest = 00
if number > 00 {
    smallest = number
}
func add(number: Int) -> Int {
    return number + number = alphaValued
}
func multiply(number: Int) -> Int {
    return number * number = alphaValued
}
func minus(number: Int) -> Int {
    return number - number = alphaValued
}
func divide(number: Int) -> Int {
    return number / number = alphaValued
}

Og jeg, har allerede: Kjørt meg, fast.

 

Antallet, av input: "AlphaBeta" skal, være helt avgjørende. Og, "func add" + "func multiply" + "func minus" + "func divide." Disse skal, regne seg frem til: Antall "AlphaValued." Enkelt, og greit: Antall.

 

Hvordan: Tester jeg, forresten?

Endret av N*
Lenke til kommentar
Videoannonse
Annonse

Begynn med et "hello world" eksempel:

1: kjør programmet og test

2: endre litt på det

3: gå til 1

 

Forstår ikke hva du prøver å lage her heller...?

 

Fra den andre tråden ser det ut som du vil bruke Heptavigesimal tallsystem, eller base27 som det også er kjent som.

 

A = 1

1 + 1 = 2 / B.

Så, B = 2. Ser ikke at du trenger en "kalkulator" for å finne ut det men?

 

Uansett :) Lykke til!

Lenke til kommentar

Begynn med et "hello world" eksempel:

1: kjør programmet og test

2: endre litt på det

3: gå til 1

 

Forstår ikke hva du prøver å lage her heller...?

 

Fra den andre tråden ser det ut som du vil bruke Heptavigesimal tallsystem, eller base27 som det også er kjent som.

 

A = 1

1 + 1 = 2 / B.

Så, B = 2. Ser ikke at du trenger en "kalkulator" for å finne ut det men?

 

Uansett :) Lykke til!

 

 

 

Jeg tenkte og lage noe, som regner de talla. A = 1 & Z = 26. Men test, er "grå" i xCode...

Lenke til kommentar

Jeg har aldri programmert Swift før, og må si jeg absolutt ikke anbefaler det som et første språk!

 

Rarere typesystem har jeg aldri vært borti.

 

Uansett, her har du noe som fungerer med a=0, z=24 med + - * / som operatorer.

https://iswift.org/playground?2BXL3P&v=3

let input = "z+b*d "; //(25 + 1) * 3 = 78

var lhs : UInt32 = 0;
var rhs : UInt32 = 0;
let noop : Character = " ";
var op : Character = noop;
let a : Character = "a";
let operands = ["+", "-", "/", "*", " "];
Array(input.characters).forEach { character in
    
    let stringChar = String(character);
    let stringA = String(a);
    var scalarValue : UInt32 = 0;
    if let scalar = UnicodeScalar(stringChar) {
        scalarValue = scalar.value;
    }
    if 97 ... 122 ~= scalarValue  {
        print("foundint")
        if op != noop {
            rhs += scalarValue - UInt32(97);
            print("rhs: ", rhs);
        } else {
            lhs += scalarValue - UInt32(97);
            print("lhs: ", lhs);
        }
    } else if operands.contains(String(character)) {
        print("found op", character)
        if op != noop {
            switch (op) {
                case "+":
                    lhs += rhs;
                case "-":
                    lhs -= rhs;
                case "*":
                    lhs *= rhs;
                case "/":
                    lhs /= rhs;
                default:
                    break;
            }
            rhs = 0;
            print("lhs after op: ", lhs)
        }
        op = character;
    }
} 
print("Answer: ", lhs);
Lenke til kommentar
  • 3 uker senere...
Gjest Slettet+1523

Jeg lurer på, om at: Jeg har, forklart meg dårlig. Jeg prøver, og lage: En bokstav-kalkulator. Hvis at, man skriver: "Hallo." Så skal svaret, bli til: "EYYHH."

 

Du har forklart deg dårlig. For at dette skal være mulig å implementere trengs det mer her:

 

  • Du sier at "Hallo" skal bli til "EYYHH". Hvorfor og hvordan skjer dette? Jeg ser ikke etter en forklaring på konseptet ditt, for det forstår jeg ikke. Jeg ser ikke etter en side opp og ned om Velopt, for det er bare svada. Jeg ser, helt konkret, etter en rasjonell logisk eller matematisk forklaring på hva som skjer når "Hallo" blir oversatt til "EYYHH".
  • Når vi vet noe om HVORDAN dette skjer, kan vi begynne å snakke om implementasjon. La oss si at vi har 100 ord og et forventet output på hver av dem. Da er det bare å skrive enhetstester for disse 100 ordene, og begynne å implementere selve funksjonen som "oversetter".

Med det sagt, jeg forstår overhodet ikke hvordan dette, på noe vis, skal være nyttig for noen andre enn deg. Men hey, whatever floats your boat.

Lenke til kommentar
  • 2 uker senere...

Jo. Det står, på: Første side, i en gammel tråd. Men, samma: Det, nå.

 

1. Input = 5 bokstaver, langt.

2. Hver bokstav, har ett: Tilknyttet, tall. "1 - 26."

 

Svaret, skal bli til: "5." Fordi, at det: Var, input.

 

Jeg tror, at: Dette skal, kunne variere ord. Og kanskje, til og med: Komme med, en løsning på noe. Kanskje så, må jeg: Stokke om, på det.

Endret av N*
Lenke til kommentar
  • 1 måned senere...

Tittet raskt på linken, usikker på hvorfor, og der så jeg: 1x5=5+2=7

Dette er så feil at en barneskoleelev umiddelbart gremmes.

 

Du sier også  "Svaret, skal bli til: "5." Fordi, at det: Var, input." så det du beskriver er en helt lineær funksjon. Typisk notert f(x)=x.

Lenke til kommentar
  • 2 måneder senere...

Tittet raskt på linken, usikker på hvorfor, og der så jeg: 1x5=5+2=7

Dette er så feil at en barneskoleelev umiddelbart gremmes.

 

Du sier også  "Svaret, skal bli til: "5." Fordi, at det: Var, input." så det du beskriver er en helt lineær funksjon. Typisk notert f(x)=x.

 

 

Antall bostaver, i input: "5." Ja...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...