Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Требования к уровню подготовки учащихся 8 page





WEND

IF TIME1 > 300 THEN

LOCATE 21, 8: PRINT "Извините, сеанс уже начался. До свидания!"

END IF

IF sum = r * m THEN

LOCATE 20, 8: PRINT "Извините, все билеты проданы! До свидания!"

END IF

delay1

END

 

 

Подпрограммы

SUB clrscr1 'очистка экрана с 15 по 23 строку DIM i1 AS INTEGER FOR i1 = 15 TO 23 LOCATE i1, 1: PRINT SPC(78); " " NEXT i1 END SUB SUB clrscr2 'очистка экрана с 11 по 23 строку DIM i1 AS INTEGER FOR i1 = 11 TO 23 LOCATE i1, 1: PRINT SPC(78); " " NEXT i1 END SUB
SUB delay 'задержка до нажатия любой клавиши LOCATE 23, 5: PRINT "Для продолжения нажмите любую клавишу." SLEEP LOCATE 23, 5: PRINT SPC(70); " " END SUB SUB delay1 delay clrscr2 END SUB
SUB Sale DIM fl AS INTEGER DIM kol AS INTEGER 'отыскание n1 подряд расположенных, непроданных билетов PRINT fl1 = 0 kol = 0 FOR I = 1 TO r FOR j = 1 TO m IF card(I, j) = 0 THEN fl = 0 n1 = 0 WHILE card(I, j) = 0 n1 = n1 + 1 z = j j = j + 1 fl = 1 WEND IF fl = 1 THEN j = j - 1 IF n1 >= n THEN kol = kol + 1 IF (kol > 0) AND (kol <= r * m) THEN IF o = 2 THEN LOCATE 20, 8: PRINT "Смотрим следующие свободные места:" END IF END IF Selection END IF END IF IF o = 1 THEN GOTO 5 NEXT j NEXT I 5: delay1 END SUB ********************************* SUB Write2 'вывод таблицы состояния продажи билетов и таблицы цены билетов на данный сеанс DIM i1 AS INTEGER DIM j1 AS INTEGER CLS LOCATE 2, 17: PRINT "Добро пожаловать!" LOCATE 4, 12 FOR i1 = 1 TO m PRINT USING "####"; i1; NEXT i1 FOR i1 = 1 TO r LOCATE 4 + i1, 10 PRINT i1; FOR j1 = 1 TO m PRINT USING "|###"; card(i1, j1); NEXT j1 PRINT "|"; PRINT USING "#####р."; cost(i1) NEXT i1 END SUB SUB Selection 'диалог с покупателем DIM k AS INTEGER, p AS INTEGER fl1 = 1 LOCATE 15, 8 PRINT "Свободные места с "; PRINT z - n1 + 1; " по "; z; " "; I; " ряда." LOCATE 16, 8 PRINT "Стоимость билетов в этом ряду "; cost(I); PRINT "р. за билет." LOCATE 17, 8 PRINT "Вам подходит данный ряд?(1-да,2-нет)"; INPUT o IF o = 1 THEN LOCATE 20, 8: PRINT SPC(70); " " IF n1 = n THEN FOR k = z - n + 1 TO z card(I, k) = 1 NEXT k sum = sum + n LOCATE 18, 8: PRINT " Продано! До свидания!" delay ELSE 11: LOCATE 18, 8: PRINT "С какого места хотите взять билеты?"; INPUT p IF p > z - n + 1 THEN LOCATE 19, 8: PRINT "С этого места нет "; n; PRINT " рядом расположенных свободных мест" delay LOCATE 18, 1: PRINT SPC(70); " " LOCATE 19, 1: PRINT SPC(70); " " GOTO 11 END IF FOR k = p TO p + n - 1 card(I, k) = 1 NEXT k sum = sum + n LOCATE 19, 8: PRINT "Продано!До свидания!" delay END IF END IF clrscr2 END SUB  

Вид окна ввода-вывода системы QBasic в промежуточные моменты исполнения программы компьютерной модели

        Кадр 1 Кадр 2
Кадр 3   Кадр 4

 

Компьютерная модель 2 «Электронный кассир», реализованная в электронных таблицах MS Office Excel с использованием языка VBA.

Dim a(50, 50), c(50), i, j, s, r, m As Integer

Sub касссир()

r = 10: m = 12: Randomize Timer

'задание начальной конфигурации

For i = 1 To r

For j = 1 To m

k = Int(Rnd * 2)

If k < 1 Then a(i, j) = 1 Else a(i, j) = 0

Next j, i

Call оформление

For i = 1 To r

For j = 1 To m

If a(i, j) = 0 Then

ThisWorkbook.Worksheets(1).Cells(i + 3, j + 3).Select

Selection.Interior.ColorIndex = 0

Else

ThisWorkbook.Worksheets(1).Cells(i + 3, j + 3).Select

Selection.Interior.ColorIndex = 16

End If

Next j, i

'задание стоимости билетов

For i = 3 To r - 2

c(i) = 200

Next i

c(1) = 100: c(2) = 100: c(r - 1) = 100: c(r) = 100

'диалог с покупателем

ThisWorkbook.Activate

Call проверка

While (MsgBox("будете покупать билеты?", vbYesNo) = vbYes) And (s < r * m)

Call проверка

If s = 120 Then

MsgBox ("Извините, все билеты проданы ")

End

End If

Do

kol = InputBox("введите необходимое количество билетов (1,2,3)")

Loop While (kol <= 0) Or (kol > 3)

Do

n = InputBox("в каком ряду вы бы хотели сидеть?")

Loop While (n <= 0) Or (n > 12)

i = n: If kol = 1 Then Call место1

If kol = 2 Then Call место2


If kol = 3 Then Call место3

Wend

End Sub

Sub проверка()

s = 0

For q = 1 To r

For w = 1 To m

s = s + a(q, w)

Next w, q

End Sub

Sub оформление()

Range("a1:z30").Delete: Rows.RowHeight = 15: Columns.ColumnWidth = 6

Range("b4:b13").Select

With Selection

.Merge

.Orientation = 90

.Font.Bold = True

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

End With

Selection = "РЯД"

For q = 1 To 10

Cells(q + 3, 3) = q

Next q

Range("d2:o2").Select

With Selection

.Merge

.Font.Bold = True

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

End With

Selection = "МЕСТО"

ThisWorkbook.Worksheets(1).Cells(15, 2).Select

Selection.Interior.ColorIndex = 0: Selection.Borders.LineStyle = 1

Range("c15:e15").Select: Selection.Merge: Selection.Font.Bold = True

Selection = "место свободно"

ThisWorkbook.Worksheets(1).Cells(15, 7).Select

Selection.Interior.ColorIndex = 16: Selection.Borders.LineStyle = 1

Range("h15:j15").Select: Selection.Merge: Selection.Font.Bold = True

Selection = "место продано"

ThisWorkbook.Worksheets(1).Cells(15, 12).Select

Selection.Interior.Pattern = xlDown: Selection.Borders.LineStyle = 1

Range("m15:o15").Select: Selection.Merge: Selection.Font.Bold = True

Selection = "предлагаемое место"

For q = 1 To 12

Cells(3, q + 3) = q

Next q

Worksheets(1).Range("b2:o13").Borders.LineStyle = xlContinuous

End Sub

Sub место1()

fl = 0

For j = 1 To 12

If a(i, j) = 0 Then

fl = 1

Cells(i + 3, j + 3).Select: Selection.Interior.Pattern = xlDown

If MsgBox("в этом ряду есть " & j & " место. Будете брать?", vbYesNo) = vbYes Then

a(i, j) = 1

Cells(i + 3, j + 3).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

MsgBox ("С Вас " & c(i) & " руб."): GoTo 1

Else

Cells(i + 3, j + 3).Select: Selection.Interior.ColorIndex = 0

End If

End If

Next j

If fl = 1 Then

MsgBox ("Извините, больше ничего предложить не могу ")

Else

MsgBox ("В этом ряду нет необходимого Вам количества мест")

End If

1: End Sub

Sub место2()

fl = 0

For j = 1 To 11

If (a(i, j) = 0) And (a(i, j + 1) = 0) Then

fl = 1

Cells(i + 3, j + 3).Select: Selection.Interior.Pattern = xlDown

Cells(i + 3, j + 4).Select: Selection.Interior.Pattern = xlDown

If MsgBox("в этом ряду есть " & j & " è " & j + 1 & _

" места. Будете брать?", vbYesNo) = vbYes Then

a(i, j) = 1: a(i, j + 1) = 1

Cells(i + 3, j + 3).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

Cells(i + 3, j + 4).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

MsgBox ("С Вас " & 2 * c(i) & " руб."): GoTo 2

Else

Cells(i + 3, j + 3).Select: Selection.Interior.ColorIndex = 0

Cells(i + 3, j + 4).Select: Selection.Interior.ColorIndex = 0

End If

End If

Next j

If fl = 1 Then

MsgBox ("Извините, больше ничего предложить не могу")

Else

MsgBox ("В этом ряду нет необходимого Вам количества мест")


End If

2: End Sub

Sub место3()

fl = 0

For j = 1 To 10

If (a(i, j) = 0) And (a(i, j + 1) = 0) And (a(i, j + 2) = 0) Then

fl = 1

Cells(i + 3, j + 3).Select: Selection.Interior.Pattern = xlDown

Cells(i + 3, j + 4).Select: Selection.Interior.Pattern = xlDown

Cells(i + 3, j + 5).Select: Selection.Interior.Pattern = xlDown

If MsgBox("В этом ряду есть " & j & " è " & j + 1 & " è " & j + 2 & _

" места. Будете брать?", vbYesNo) = vbYes Then

a(i, j) = 1: a(i, j + 1) = 1: a(i, j + 2) = 1

Cells(i + 3, j + 3).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

Cells(i + 3, j + 4).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

Cells(i + 3, j + 5).Select

Selection.Interior.Pattern = xlSolid: Selection.Interior.ColorIndex = 16

MsgBox ("С Вас " & 3 * c(i) & " руб."): GoTo 3

Else

Cells(i + 3, j + 3).Select: Selection.Interior.ColorIndex = 0

Cells(i + 3, j + 4).Select: Selection.Interior.ColorIndex = 0

Cells(i + 3, j + 5).Select: Selection.Interior.ColorIndex = 0

End If

End If

Next j

If fl = 1 Then

MsgBox ("Извините, больше ничего предложить не могу")

Else

MsgBox ("В этом ряду нет необходимого Вам количества мест")

End If

3: End Sub

Вид окна MS Excel в промежуточный момент исполнения программы







Date: 2015-07-17; view: 431; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.021 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию