Курсовая работа учителя информатики МОУ СОШ с. Войсковая

advertisement
Курсовая работа учителя информатики МОУ СОШ с. Войсковая
Казинка Долгоруковского района Липецкой области
Андриановой Марии Васильевны
Задачи с использованием графических операторов
Задача 1: “Звезд на небе много. Экран компьютера – это маленькое
окошечко-телескоп, через которое мы можем посмотреть на небо. Можно
навести свой телескоп на участок, где совсем мало звезд, а можно и на
Млечный путь. Как записать программные строчки, в которых компьютер
запросил бы количество звезд?”
Решение:
CLS
SCRЕЕN 12
INPUT “Сколько звезд на небе”; N
FOR n=1 TO N
X= RND(1)*640
Y= RND(1)*480
Z=RND(1)* 15
PSET (X,Y),Z
NEXT N
END
Задача 2: А как сделать так, чтобы звезда зажглась, порадовала нас
немножко и погасла?
Решение : CLS
SCRЕЕN 12
INPUT “Сколько звезд на небе”; N
FOR n=1 TO N
X= RND(1)*640
Y= RND(1)*480
Z=RND(1)* 15
PSET (X,Y),Z
FOR к=1 TO 25000
NEXT к
PSET (X,Y),0”
NEXT N
END
Задача 3: А теперь давайте подумаем, как получить разноцветные линии
разной длины, разного цвета, в разных местах экрана.
Решение :
CLS
SCRЕЕN 12
INPUT “Сколько звезд на небе”; N
FOR n=1 TO N
X1= RND(1)*640
Y1= RND(1)*464
X2= RND(1)*640
Y2= RND(1)*464
LINE (X1,Y1) – (X2,Y2),Z
NEXT N
END
Задачи на операции с файлами.
Задача 1: Введите файл на 10 элементов.
Решение:
CLS
f = FREEFILE
OPEN "file.txt" FOR OUTPUT AS #f
FOR i = 1 TO 10
PRINT #1, i
NEXT i
CLOSE #f
вывод файла:
f = FREEFILE
OPEN "file.txt" FOR INPUT AS #f
DO WHILE NOT EOF(F)
INPUT #F, i
PRINT i
LOOP
CLOSE #f
Задача 2: Ввести файл. И вывести его содержимое с конца файла.
Решение: CLS
n = FREEFILE
OPEN "test.tmp" FOR OUTPUT AS n
REM заполняем файл числами от 1 до 20
FOR i = 1 TO 20
PRINT #n, i
PRINT i;
NEXT i
CLOSE #n
PRINT : PRINT
REM открываю файл опять для чтения
REM но на сей раз читать будет с конца
n = FREEFILE
OPEN "test.tmp" FOR INPUT AS n
REM перемещаюсь к концу файла. Index - будет определять элемент для
считывания
index = LOF(n) - 1
DO WHILE index > 0
SEEK #n, index
INPUT #n, a$
PRINT a$; " ";
REM переходим к предыдущему элементы файла
index = index - 3
LOOP
Задача 3: (для "продвинутых" учеников): Даны два файла (File1.bak и
File2.bak). Определить сколько элементов одного файла повторяются в
другом файле.
Решение:
CLS
OPEN "file1.bak" FOR INPUT AS #1
OPEN "file1.bak" FOR INPUT AS #2
DO WHILE NOT EOF(1)
INPUT #1, a
REM count- кол-во повторяющихся элементов
count = 0
SEEK #2, 1
DO WHILE NOT EOF(2)
INPUT #2, b
IF a = b THEN count = count + 1
LOOP
PRINT a; " встречается "; count; " раз"
LOOP
RESET
END
Дополнительные задачи
Задача 1: Найти наибольшее и наименьшее из двух заданных чисел A и B.
Решение: CLS
INPUT "A=";A
INPUT "B=";B
X=(ABS(A-B)+A+B))/2
Y=(A+B-ABS(A-B))/2
PRINT "X=";X
PRINT "Y=";Y
END
Задача 2: Вычислите 20 первых членов последовательности и их сумму, если
общий член последовательности
Решение:
CLS
K=1
S=0
DO
A=(SQR(K)+1)/(K^2+1)
S=S+A
PRINT “K=”;K,”A=”;A,”S=”;S
K=K+1
LOOP WHILE K<=20
END
Задача 3: Найдите НОД двух чисел.
Решение:
CLS
‘НОД двух чисел А и В‘
INPUT A, B
X=A: Y=B
DO
IF X=Y THEN
PRINT “A=”;A, “B=”; B, “НОД=”; X
END
ELSE
IF X>Y THEN
X=X-Y
ELSE
Y=Y-X
END IF
END IF
LOOP
, где (k=1,2,3…20)
Задача 4: Упорядочить 3 числа в порядке возрастания.
Решение:
INPUT”Введите три числа”; a, b, c
DO
SWAP a, b
IF b>=c THEN
SWAP b, c
END IF
LOOP WHILE a>=b
PRINT a, b, c
END
Задача 5: Вычислите значение числа ℮ с точностью до 0,000001, используя
разложение функции экспоненты в ряд.
Решение :
‘Вычисление e
INPUT”Введите точность вычисления”;E
S=0: P=1: K=0
DO
S=S+P
K=K+1
P=P/K
LOOP WHILE P>E
PRINT “e=”; S
END
Задача 6: Составьте программу, которая выводит на экран бегущую строку.
Фраза строки вводится с клавиатуры. Окно для строки разместить в центре
экрана и длина фразы 50 символов. Нажатие любой клавиши останавливает
“бег”.
CLS
Stroka$=””
FOR i=1 TO 50
Stroka$=Stroka$+”*”
NEXT i
CLS
PRINT”Введите строку символов”
INPUT a$: Stroka$=Strika$+a$
CLS: COLOR 0,3, 4: flag$=””
WHILE flag$=””
LOCATE 12, 15
PRINT MID$(Stroka$, 1,50)
Stroka$=MID$(Stroka$, 2) + MID$(Stroka$, 1, 1)
FOR i=1 TO 10^5: NEXT i
flag$=INKEY$
WEND
END
Задача 7: Пузырьковая сортировка одномерного массива.
Решение :
CLS
INPUT”Введите размер массива”;N
DIM A(N)
FOR I=1 TO N
INPUT A(I)
NEXT I
DO
X=0
FOR I=1 TO N-1
IF A(I)>A(I+1) THEN
SWAP A(I), A(I+1)
X=I
END IF
NEXT I
LOOP UNTIL X=0
PRINT
FOR I=1 TO N
PRINT A(I);
NEXT I
END
Download