Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. ToniKapuchon

    ToniKapuchon Elder - Старейшина

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    y=tg(x);
    switch(y)
    {
    case y>0:{ cout >> "/n номер четверти 2 и 3"; break;}
    case y<0:{ cout >> "/n номер четверти 1 и 4"; break;}
    }
     
    2 people like this.
  2. Olegros911

    Olegros911 Banned

    Joined:
    7 Apr 2008
    Messages:
    135
    Likes Received:
    40
    Reputations:
    -7
    помогите ришить задачу на Асамблере...

    Задача///// найти минимальное число из заданих чисел 110(bin),33,FO(hex),1111(bin),251 нужно чтоб все ето щитала програмка в Асемблере
    Кто поможет++++++++++++++++++++++++
     
    2 people like this.
  3. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    вот нашел прогу ввода массива и поиска макс и мин элементов.
    Code:
    [B][COLOR=DarkOrange]Ввести массив чисел, найти min и max, вывести на экран[/COLOR][/B]
    .model small
    .stack 100h
    .data
    massiv dw 80 dup(?)
    msg1 db 0ah,0dh,“Vvodite chisla “,0ah,0dh,“$“
    msg2 db 0ah,0dh,“max = $“
    msg3 db 0ah,0dh,“min = $“
    c10 dw 10
    .code
    start:
    mov ax,@data
    mov ds,ax
    mov ah,09h ; вывод приглашения для ввода чисел
    lea dx,msg1
    int 21h
    mov di,0 ; в di - max
    mov si,32767 ; в si - min
    xor dx,dx ; в dx - очередное число
    input_loop:
    mov ah,01h ; ввод символа
    int 21h
    cmp al,0dh ; если enter
    je chislo ; то занести число в массив
    cmp al,20h ; если пробел
    je chislo ; то занести число в массив
    sub al,30h ; вычитаем '0'
    mov cl,al ; сохраняем цифру в cl
    mov ax,dx ; в ax - введенное число
    mul c10 ; умножаем на 10
    xor ch,ch
    add ax,cx ; добавляем цифру из al
    mov dx,ax ; число снова в dx
    jmp input_loop
    chislo:
    mov bx,cx ; в bx - порядковый номер очередного числа
    shl bx,1 ; теперь - смещение очередного числа в массиве
    mov massiv[bx],dx ; записываем в массив число
    inc cx ; увеличиваем счетчик введенных чисел
    cmp dx,si ; сравниваем число с минимальным
    jb minimum ; если оно меньше, то jmp на minimum
    cmp dx,di ; сравниваем число с максиальным
    jg maximum ; если оно больше, то jmp на maximum
    jmp chislo_cont ; иначе jmp на chislo_cont
    minimum:
    mov si,dx ; запоминаем минимальное число в si
    jmp chislo_cont
    maximum:
    mov di,dx ; запоминаем максимальное число в di
    chislo_cont:
    xor dx,dx ; dx в ноль
    cmp cx,80 ; если ввели 80-ое число
    je end_input ; то конец ввода
    cmp al,0dh ; если был нажат enter
    je end_input ; то конец ввода
    jmp input_loop
    end_input:
    mov ah,09h ; вывод на экран msg2
    lea dx,msg2
    int 21h
    mov ax,di ; передаем в функцию output max через ax
    call output ; выводим это число
    lea dx,msg3 ; вывод на экран msg3
    mov ah,9
    int 21h
    mov ax,si ; передаем в ouptput min через ax
    call output ; выводим это число
    mov ah,4ch ; завершение программы
    int 21h
    output proc ; процедура вывода числа, находящегосы в ax
    xor cx,cx ; счетчик цифр
    div_loop:
    xor dx,dx ; подготовка к делению
    div c10 ; деление
    add dx,30h ; в dx - ASCII-код остатка от деления
    push dx ; сохраняем его в стеке
    inc cx ; инкремент счетчика
    cmp ax,0 ; деление, покуда частное не нулевое
    je out_loop
    jmp div_loop
    out_loop: ; цикл вывода числа
    pop dx ; извлекаем из стека очередной остаток
    mov ah,02h ; и выводим его на экран
    int 21h
    loop out_loop ; цикл продолжается cx раз
    ret
    output endp
    end start
    
    щя смотрю где то писал функции перевода в разные СЧ... найду - добавлю.
    Вот нашел функцию перевода с BIN to HEX. имхо тебе будет нужно.

    -------------------EDIT--------------------------

    Code:
    BinToHex Proc
    	mov cx,4
    L3:
    	mov si,ax
    	and si,0fh;здесь я мож втыканул...или же маска and si,1111b
    	mov dl,strHex[si] ; DATA strHex DB '0123456789ABCDEF'
    	dec bx
    	mov [bx], dl
    	shr ax,4
    	dec cx
    	jnz L3
    	ret
    BinToHex ENDP
    

    -------------------EDIT--------------------------
     
    _________________________
    #783 NetSter, 22 Nov 2008
    Last edited: 22 Nov 2008
    1 person likes this.
  4. Olegros911

    Olegros911 Banned

    Joined:
    7 Apr 2008
    Messages:
    135
    Likes Received:
    40
    Reputations:
    -7
    Спасибо
     
  5. madjihad

    madjihad New Member

    Joined:
    12 Oct 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Нужна помощь в написании ФТП клиента с радиобатоном для анонимного входа, поддержкой основных ф-й фтп(просмотр директорий, скачка, выкачка и тд.) Я думаю исходников в нете нарыть можно много, я и нарыл:) но встретился с проблемой. Вопервых желательно код на С++ но можна и делфу. Во вторых большинство клиентов получаются досовскими, а радиобатон тогда нельзя добавить. переделать тоже не получается. Помогите хоть чем-то. Наперёд большое спасиба!!!
     
  6. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    можеш посмотреть сорцы нормального фтп сервера (с) by Pablo Software ЗДЕСЬ
    или же если сильно горит недорого смотри ЗДЕСЬ
     
    _________________________
  7. GOODmen

    GOODmen Member

    Joined:
    8 Nov 2008
    Messages:
    45
    Likes Received:
    76
    Reputations:
    10
    Народ выручайте,нужно лабу сделать на free pascale кто поможет тому огромный респект
    Вот задачи
     
    1 person likes this.
  8. Anutka

    Anutka New Member

    Joined:
    26 Oct 2008
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0
    У меня на следующую прогу(преобразоване латинских заглавных букв в строчные) masm выдает такую ошибку:fatal error L1101:invalid object module pos:1E Record type:570C. Объясните мне, что это значит. и также хотелось бы узнать как ее исправить.
    Сама прога:
    CSEG segment
    org 100h
    assume CS:CSEG, DS:CSEG, SS:CSEG, ES:CSEG
    start:
    ;очистка экрана
    MOV AX,0600H ;AH=06H - УСТАНОВКА ПРОКРУТКИ, AL=00 - ВО ВЕСЬ ЭКРАН
    MOV BH,07 ;ЧЕРНО-БЕЛЫЙ ЭКРАН
    MOV CX,0000 ;ВЕРХНЯЯ ЛЕВАЯ ПОЗИЦИЯ
    MOV DX,184FH ;НИЖНЯЯ ПРАВАЯ ПОЗИЦИЯ
    INT 10H ;УПРАВЛЕНИЕ В BIOS
    ;УСТАНОВКА КУРСОРА В ПОЗИЦИЮ 00
    MOV AH,02 ;ЗАПРОС НА УСТАНОВКУ КУРСОРА
    MOV BH,00 ;ВЫБОР ВИДЕОСТРАНИЦЫ
    MOV DX,0000 ;УСТАНОВКА КУРСОРА
    INT 10H ;УПРАВЛЕНИЕ В BIOS
    ;ВЫВОД ПРИГЛАШЕНИЯ НА ВВОД
    MOV AH,09 ;ФУНКЦИЯ ВЫВОДА СТРОКИ
    MOV DX,OFFSET MSG1 ;АДРЕС СТРОКИ
    INT 21H ;ПОЛЬЗОВАТЕЛЬСКОЕ ПРЕРЫВАНИЕ
    ;СЧИТЫВАНИЕ СИМВОЛОВ, ВВЕДЕННЫХ С КЛВИАТУРЫ
    MOV AH,3FH ;ФУНКЦИЯ ВВОДА
    MOV BX,00 ;НОМЕР ДЛЯ КЛАВИАТУРЫ
    MOV CX,254 ;ДОПУСТИМОЕ КОЛИЧЕСТВО ВВЕДЕННЫХ СИМВОЛОВ
    MOV DX,OFFSET INBUF ;ЗАНЕСЕНИЕ АДРЕСА БУФЕРА В РЕГИСТР DX
    INT 21H ;ПОЛЬЗОВАТЕЛЬСКОЕ ПРЕРЫВАНИЕ
    SUB AX,02 ;ИЗОБЩЕГО КОЛИЧЕСТВА СИМВОЛОВ ВЫЧИТАЮТСЯ СИМВОЛЫ "ВВОД" И "КОНЕЦ СТРОКИ"
    ;ИЗМЕНЕНИЕ ЗАГЛАВНЫХ БУКВ НА СТРОЧНЫЕ
    MOV SI,OFFSET INBUF ;В РЕГИСТР sI (ИНДЕКС ПРИЕМНИКА) ЗАНОСИМ АДРЕС ПЕРВОГО СИМВОЛА
    MOV CX,AX ;В РЕГИСТР CX ЗАНОСИМ КОЛИЧЕСТВО СИМВОЛОВ
    L1:
    MOV BL,[SI] ;В BL ЗАНОСИМ ПРОСМАТРИВАЕМЫЙ ФАЙЛ
    CMP BL,64 ;СРАВНИВАЕМ С 64 65=A
    JBE VYHOD ;ЕСЛИ МЕНЬШЕ ИЛИ РАВНО ЗАКАНЧИВАЕМ ПРОСТМОТР
    CMP BL,90 ;СРАВНИВАЕМ С 90 90=Z
    JA STROKI ;ЕСЛИ БОЛЬШЕ ПРОВЕРИМ НА СТРОЧНОСТЬ
    ADD BL,32 ;ЕСЛИ ЗАГЛАВНАЯ ЛАТИНСКАЯ СДЕЛАЕМ СТРОЧНОЙ
    MOV [SI],BL ;ВЕРНЕМ НА МЕСТО
    JMP VYHOD ;КОНЕЦ
    STROKI:
    CMP BL,97 ;СРАВНИВАЕМ С 97 97=a
    JB VYHOD ;ЕСЛИ МЕНЬШЕ ЗАКАНЧИВАЕМ
    CMP BL,122 ;СРАВНИВАЕМ С 122 122=z
    JA VYHOD ;ЕСЛИ БОЛЬШЕ ЗАКАНЧИВАЕМ
    MOV [SI],BL ;ВОЗВРАЩАЕМ НА МЕСТО
    VYHOD:
    INC SI ;ПЕРЕХОД НА СЛЕДУЮЩИЙ СИМВОЛ
    LOOP L1
    MOV BL,BYTE PTR '$'
    MOV [SI],BL ;ЗАТЫКАЕТ СТРОКУ СИМВОЛОМ $
    ;ВЫВОД НОВОЙ СТРОКИ
    MOV AH,09
    MOV DX,OFFSET MSG2
    INT 21H
    MOV DX,OFFSET INBUF
    INT 21H
    INT 20H ;ЗАВЕРШЕНИЕ ПРОГРАММЫ
    MSG1 DB "ENTER STRING OF SYMBOLS:$"

    MSG2 DB "CONVERT STRING:$"

    INBUF DB 256 DUP (' ')
     
  9. UnPazz

    UnPazz Elder - Старейшина

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    Код :

    Удали все комментарии и заработает
     
  10. Sinay

    Sinay Elder - Старейшина

    Joined:
    1 Sep 2007
    Messages:
    356
    Likes Received:
    365
    Reputations:
    20
    и с комментариями заработает ;)
     
    2 people like this.
  11. madjihad

    madjihad New Member

    Joined:
    12 Oct 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    мне клиент нужен... Простинький. А не сервер :)
     
  12. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Вот с этим не заработает
    Code:
    min:=mas[1]; [b]/[/b] представим что мин.число равно минэлементу.
    :)
     
  13. madjihad

    madjihad New Member

    Joined:
    12 Oct 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Или может хотябы обясните как можна полностю досовское окно вывести в обычное окно и там же сразу всё вводить? Тоесть средствами Builder C++ создать с програмы
    С++(типа досовской) создать програму под винду с радиобатоном и просто тем же что бЫло в досе...
     
  14. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Ты хочешь гуи в консоль засунуть? О_о Или консоль в гуи?
     
  15. vikseriq

    vikseriq Elder - Старейшина

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    Хм.. Как вариант, пихай техтбокс, и при нажатии постать передавай команду cmd.exe - правда вывод не заберешь )
    Ты часом не шелл под винХП сделать захотел? ))
     
  16. madjihad

    madjihad New Member

    Joined:
    12 Oct 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Да я вобще просто ФТП клиент пытаюсь сделать. Обязательное условие РАДИОБАТОН. А норм исходники ФТП клиента нашол токо досовские. Вот и шаманю.... Можна и просто норм исходники в окнах на билдер :)
     
  17. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    в Turbo Pascal'е нет двойных слешей (//), т.е. они не могу быть использованы для коментариев
     
  18. GOODmen

    GOODmen Member

    Joined:
    8 Nov 2008
    Messages:
    45
    Likes Received:
    76
    Reputations:
    10
    Все норм рабит,спасибо UnPazz

    0verbreaK,все норм,мне и не для турбы надо было:)
     
  19. Cereus

    Cereus New Member

    Joined:
    9 Nov 2008
    Messages:
    15
    Likes Received:
    3
    Reputations:
    0
    Приветствую всех. Суть ситуации такая: пишу на Delphi7 прогу, которая будет обращаться к БД. Необходимо написать SQL запрос, который по введенным полям (Фамилия, Имя, Отчество) ИЛИ по одному введенному полю будет выполнять поиск и выводить полученные данные на отдельную форму.
    У меня получается примерно следующее:
    Code:
    fam:=edit1.Text;
    imja:=edit2.Text;
    otch:=edit3.Text;
    with form2.query1 do begin //начало выполнения запроса
    close;//Закрыть файл результат выполлнения предыдущего запроса
    sql.Clear; //очистить поля предыдущего запроса
    //записываем новый запрос в свойство SQL
    sql.Add('select Фамилия,Имя,Отчество');
    Sql.Add('form "Telef_Kniga.DB"');
    SQL.Add('ORDER BY fam,Imja,Otch');
    open; //старт выполнения запроса
    
    if Query1.RecordCount <> 0 then
    DataSource1.DataSet:=Query1 // отобразить рез-т выполнения запроса
    else begin
         ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
         DataSource1.DataSet:=Table1;
         end;  
    end; //конец выполнения запроса
    
    Но в результате выполнения вылетает дли-и-и-и-иная ошибка. Признаться честно в чем в чем, а в SQL`е я вообще нема, поэтому буду очень благодарен если будут присутствовать, желательно подробные, комментарии
     
  20. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    хз, получится или нет, все же попробуй так:
    Code:
    sql.Add('select [B]fam,Imja,Otch[/B]');
    Sql.Add('[B]from[/B] Telef_Kniga.DB');
    SQL.Add('ORDER BY fam');
    
    и хорошо бы на ошибку посмотреть :)
     
Thread Status:
Not open for further replies.