21

(17 відповідей, залишених у Системне програмування)

Я тільки починаю вчити асемблер, а на дистанційному навчанні нічого не пояснили навіть не навели приклади літератури, лише дали завдання та дедлайн. Я дуже прошу допомогти, щоб в подальшому не виникали проблеми, бо таких завдань ще 10 штук.

22

(17 відповідей, залишених у Системне програмування)

Я повний нуль в асемблері, так що дуже прошу не сміятися, а допомогти виправити помилки, я знаю, що їх тут дуже багато.

Як я зрозумів, то

A            DB      0F4h     ;a = -4
B            DB         0Аh     ;b = 10
C1                DB      05h    ;c = 5
D            DB         0F7h     ;d = -7
X            DD      ?

повинно бути так?

23

(17 відповідей, залишених у Системне програмування)

А як тоді правильно? Я не розумію

24

(17 відповідей, залишених у Системне програмування)

В прикладі до завданню був наступний код для початку:

.686P
.MODEL         FLAT, STDCALL
.STACK         4096
.DATA
MB_OK        EQU        0
m            EQU        481h                ;m = 1153d
str_format          DB           "X = %d",0
str_buffer         DB        256 dup (0)
m_title        DB        "Lab #5",0
A            DB          0Ch                 ;a = 12
B            DB         0FCh               ;b = -4
C1                DB          0F0h                ;c = -16
D            DB         02h                 ;d = 2
X            DD          ?

    extern MessageBoxA@16:NEAR
    extern wsprintfA:NEAR
.CODE
Start:

а 10 - це значення, згідно завданню де а=-4, b=10, c=5, d=-7.

25

(17 відповідей, залишених у Системне програмування)

Ви про форматування чи що? Я не розумію чому воно таке... В VS воно рівне
Я в асемблері повний нуль, але щось намагався написати...

26

(17 відповідей, залишених у Системне програмування)

В мене завдання написати код на асемблері та на С++ за наступною формулою https://replace.org.ua/uploads/images/8036/083a4f0fbbcff67b65064d43e96c4173.png, де а=-4, b=10, c=5, d=-7. На С++ я написав, а на Асемблері не вдається. Різні результати.
Код на С++

int main()
{
    double X;
    int a = -4,
        b = 10,
        c = 5,
        d = -7;
    X = pow(d, 3) +((b * b) - 3 * c * b) / (pow(a, 2) + 9) + 350;
    std::cout << "X= "<<X;
}

Вивід: X=5

На асемблері я написав наступний код:

.686P
.MODEL         FLAT, STDCALL
.STACK         4096
.DATA
MB_OK        EQU    0
m        EQU        481h    ;m = 350d
str_format      DB     "X = %d",0
str_buffer     DB    256 dup (0)
m_title        DB    "Lab #5",0
A            DB      0Ch     ;a = -4
B            DB         0FCh    ;b = 10
C1                DB      0F0h    ;c = 5
D            DB         02h     ;d = -7
X            DD      ?

    extern MessageBoxA@16:NEAR
    extern wsprintfA:NEAR
.CODE
Start:
            XOR     eax, eax    ;ax = 0
            MOV     al, C1       ;al = b
            CBW                    ;ax = b
        
            XOR     ebx, ebx     ;bx = 0
            MOV     bl, A          ;bl = b
            IMUL    bx             ;ax = b^2
            IMUL    bx             ;ax = c*b
            IMUL    bx             ;ax=b^2-3*c*b

            SUB     eax, eax       ;ax = ax-3
            
            XOR     ebx, ebx       ;bx = 0
            MOV     bl, D            ;bl = a
            IDIV    bx                ;ax = a^2+9
            XOR     ebx, ebx       ;ebx = 0
            MOV     ebx, eax       ;bx = ax = (ax-3*c) / a^2+9
        
            XOR     eax, eax        ;ax = 0
            MOV     al, D             ;al = d
            IMUL    ax                 ;ax = d^3

            ADD      ebx, eax     ;bx = d*3 + ((b^2-3*c*b) / a^2+9) 
            ADD      ebx, m       ;bx =  d*3 + ((b^2-3*c*b) / a^2+9) +350
            MOV     BYTE PTR[X], bl
  

            PUSH    X
            PUSH    OFFSET str_format
            PUSH    OFFSET str_buffer
            CALL    wsprintfA
            ADD     esp, 12

            PUSH    MB_OK
            PUSH    OFFSET m_title
            PUSH    OFFSET str_buffer
            PUSH    0
            CALL    MessageBoxA@16

            RET
END Start

а на асемблері вивід Х=144

27

(9 відповідей, залишених у C++)

koala, дякую! Виправив abs на fabs тепер все працює!

28

(9 відповідей, залишених у C++)

В мене вивід все одно нуль, хоча я скопіював ваш код:

#include <stdio.h>
#include <conio.h>
#include <time.h>
#define _USE_MATH_DEFINES
#include <math.h>
int main()
{
    double y = 6.2, x = 4.1124, a = 0;
    double pi;
    pi = 3.14;
    a = abs((pow(sin(x), 3) * abs(3 * pow(x, 3) + 2 * pow(y, 2) - 6)) / (sqrt(pow((3 * pow(x, 3) + 2 * pow(2, y) - 6), 2) + pi)));
    printf("a= %lf \n", a);
    return 0;
}

29

(9 відповідей, залишених у C++)

Це я також виправив, а як формулу виправити? В чому помилка?

30

(9 відповідей, залишених у C++)

Прибрав, але помилка у записі формули то... Я зовсім не розумію, де помилка. Без запису модулю рахує, а з модулем відповідь завжди нуль.

31

(9 відповідей, залишених у C++)

Добрий день, будь-ласка допоможіть знайти помилку. Відповідь завжди нуль.

/* lr03_v01.c */
#include <stdio.h>
#include <conio.h>
#include <time.h>
#define _USE_MATH_DEFINES
#include <math.h>

main()
{
    double y,x,a;
    double pi;
    pi = 3, 14;
    printf("y=");
    scanf_s("%i", &y);
    printf("x=");
    scanf_s("%i", &x);
    a = abs((pow(sin(x), 3) * abs(3 * pow(x, 3) + 2 * pow(y, 2) - 6)) / (sqrt(pow((3 * pow(x, 3) + 2 * pow(2, y) - 6), 2)+pi))); //тут помилка
    printf("a= %lf \n", a);
 
    _getch();
    return 0;
}

32

(8 відповідей, залишених у C++)

koala написав:

Я не питатиму, кого зраджує ваша відповідь, лише вкажу на те, що ви в циклі два рази інкремент робите. Ну й j там зайве, вистачить самого i.
Ну і вирівнюйте код, ви самі собі життя ускладнюєте.

Дякую! Тепер працює правильно.

33

(8 відповідей, залишених у C++)

koala написав:

А чому ви вирішили, що в цьому коді є помилки?

Відповідь невірна, а даний ряд був порахований у Exel та у маткаді, відповідь там однакова. Ось відповідь у Visual Studio https://replace.org.ua/uploads/images/8036/bf2fc8c655fc603526050f9bdabbc198.png

34

(8 відповідей, залишених у C++)

Рішення у маткаді є: https://replace.org.ua/uploads/images/8036/7c7dea9e3e69e6e7bbd50213cdad8013.png
Кодом я ніяк не зрозумію як виправити

35

(8 відповідей, залишених у C++)

Потрібно знайти суму ряду (картинка):
х=3.5
n=10


Є наступний код

#include <iostream>
#include <cmath>
using namespace std;
int fact(int x) {
    int p = 1;
    if (x == 0) return 1;
    for (int i = x; i >= 1; --i) {
        p *= i;
    }
    return p;
}

int main() {

    int n = 10, i = 2, j = 1;
    double S = 0;
    double x=3.5;
while (i++ <= 10);
{
    S +=  pow(x, j) / fact(i);
    ++i;
    j += 1;

}
    cout << S << endl;

    return 0;
}

36

(7 відповідей, залишених у PHP)

Все як в cкрипті виправив все одно результату немає

 <form action ="auth.php" method="post">
                    <input type="text" class="form-control" name="username" placeholder="Логін"> <br>
                    <input type="password"  class="form-control"name="password" placeholder="Пароль"><br>
                     <button class="btn btn-succes" type="submit">Авторизуватися</button>
                </form>
                </div>
VTrim написав:

Я не знаю як і звідки ви це все пишете, але для початку, у вас не збігаються назви POST полів у html формі та самому скрипті.

37

(7 відповідей, залишених у PHP)

Проблема в тому, що не виводить нічого.

VTrim написав:

І в чому проблема?

38

(7 відповідей, залишених у PHP)

Допоможіть будь-ласка
https://replace.org.ua/uploads/images/8036/9fb0af5823a36cfcdf53c3d85e3e5804.png https://replace.org.ua/uploads/images/8036/4030f1f51f704de1f9559a661fdc16cc.png

Результатом є перекидування пусту сторінку, але я написав в файлі, щоб писало щось типу "Вітаю".

Файл: admin.php

                    <!-- /форма авторизації для співробітників  -->
                 <form action ="auth.php" method="post">
                    <input type="text" class="form-control" name="login" placeholder="Логін"> <br>
                    <input type="password"  class="form-control"name="pass" placeholder="Пароль"><br>
                     <button class="btn btn-succes" type="submit">Авторизація</button>
                </form>

Файл: auth.php

<?php
    session_start();
        ?>
    <?php require_once "database.php"; ?>
     
    <?php
    
    if(isset($_SESSION["session_username"])){

    header("Location: intropage.php");
    }
 
    if(isset($_POST["login"])){
 
    if(!empty($_POST['username']) && !empty($_POST['password'])) {
    $username=htmlspecialchars($_POST['username']);
    $password=htmlspecialchars($_POST['password']);
    $query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");
    $numrows=mysql_num_rows($query);
    if($numrows!=0)
 {
while($row=mysql_fetch_assoc($query))
 {
    $dbusername=$row['username'];
  $dbpassword=$row['password'];
 }
  if($username == $dbusername && $password == $dbpassword)
 {
 
    //  session_start();
     $_SESSION['session_username']=$username;    

   header("Location: intropage.php");
    }
    } else {
      $message = "Invalid username or password!";
    
    echo  "Invalid username or password!";
 }
    } else {
    $message = "All fields are required!";
    }
    }
    ?>

Файл: logout.php

<?php
    session_start();
    unset($_SESSION['session_username']);
    session_destroy();
    header("location:login.php");
    ?>

Файл:intropage.php

<div id="welcome">
 <h2>Вітаємо, <span> USER </span></h2>!
    <p><a href="logout.php">Вийти</a> з системи</p>
</div>

39

(8 відповідей, залишених у Бази даних)

я не могу його знайти.

koala написав:

Ну то знайдіть в інеті роз'яснення чи правильний код. Навряд чи хто вам тут писатиме підручника.

40

(8 відповідей, залишених у Бази даних)

VTrim написав:

в місці де повинне бути зображення його немає https://replace.org.ua/uploads/images/8036/b8b10eb491be3ece9d1d7e93bea1a6d4.png