Инфоурок / Информатика / Конспекты / Изучаем язык BASIC. Занятие 25 Цикл DO…LOOP
Обращаем Ваше внимание: Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии (2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации).

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Законы экологии», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

ПРИЁМ ЗАЯВОК ТОЛЬКО ДО 21 ОКТЯБРЯ!

Конкурс "Законы экологии"

Изучаем язык BASIC. Занятие 25 Цикл DO…LOOP

библиотека
материалов

Занятие 25

Цикл DO…LOOP

Цикл DOLOOP позволяет организовывать циклы как с предусловием, так и постусловием, завершать цикл при истинности или ложности условия. Этот цикл выполняет блок оператора, пока условие верно (WHILE) или до тех пор, пока не станет верным (UNTIL).

С предусловием DO [{WHILE/UNTIL} условие]

Тело цикла

LOOP


C постусловием DO

Тело цикла

LOOP[{WHILE/UNTIL} условие]


Выделение слов из предложения и подсчет их длин

CLS

INPUT A$

A$=A$ + “

K = 1 : S=0

L = LEN(A$)

DO

N = INSTR (K,A$,““)

S = S + 1

SL$(S) = MID$(A$, K, N-K)

SK(S)=LEN(SL$(S))

K = N + 1

LOOP WHILE N <> L

  1. A$=A$ + ““ прибавляем один пробел, чтобы выделить последнее слово.

  2. K = 1 необходимо задать этот параметр для считывания первого слова с первой позиции.

  3. L = LEN(A$) записываем в переменную L длину предложения

  4. DO цикл начинающийся с постусловием

  5. N = INSTR (K,A$,““) определяем пробел с К позиции, т.е. начинаем искать первый пробел для дальнейшего выделения слова.

  6. S = S + 1 счетчик количества слов в предложении

  7. SL$(S) = MID$(A$, K, N-K) занесение слов в массив слов, начиная с К позиции, длиной NK.

  8. SK(S)=LEN(SL$(S)) занесение в числовой массив длины соответствующего слова

  9. K = N + 1 определение К позиции для считывания следующего слова, т.к. N номер пробела, то следующее слово будет начинаться с позиции K = N + 1

  10. LOOP WHILE N <> L – закрываем цикл по условию, т.е. когда N = L выходит из цикла, цикл будет выполняться до тех пор пока N < > L


Распечатать слова четной длины

Ввод

FOR I = 1 TO S

IF SK(I)/2<>SK(I)\2 THEN PRINT SL$(I);“;

NEXT I


Распечатать слова длиной больше 3, но меньше 10

Ввод

FOR I = 1 TO S

IF SK(I) > 3 AND SK(I)< 10 THEN PRINT SL$(I);“;

NEXT I


Найти самое длинное слово и распечатать его.

Ввод

max = -1000

FOR I = 1 TO S

IF SK(I) > max THEN max = SK(I) : D = I

NEXT I

PRINT SL$(D)


Найти самое короткое слово и распечатать его.

Ввод

min = 1000

FOR I = 1 TO S

IF SK(I) < min THEN min = SK(I) : D = I

NEXT I

PRINT SL$(D)


Найти самое длинное слово и распечатать его зеркально.

Ввод

max = -1000

FOR I = 1 TO S

IF SK(I) > max THEN max = SK(I) : D = I

NEXT I

PRINT SL$(D)

FOR J = SK(D) TO 1 STEP -1

PRINT MID$(SL$(D),J,1);

NEXT J


Определить является ли заданное слово палиндромом или нет

CLS

INPUT A$

FOR I = 1 TO LEN(A$) \ 2

IF MID$(A$,I,1) = MID$(A$, LEN(A$) – I + 1,1) THEN d = d + 1

NEXT I

IF d = LEN(A$) \ 2 THEN PRINT yes“ ELSE PRINT no


Найти самое длинное слово и проверить является ли оно палиндромом или нет

Ввод

max = -1000

FOR I = 1 TO S

IF SK(I) > max THEN max = SK(I) : D = I

NEXT I

PRINT SL$(D)

FOR I = 1 TO SK(D)\ 2

IF MID$(SL$(D)I,1) = MID$(SL$(D), SK(d) – I + 1,1) THEN m = m + 1

NEXT I

IF m = LEN(SK(D) \ 2 THEN PRINT yes“ ELSE PRINT no


Домашнее задание

Создать одномерный массив из слов заданного предложения так, что слова располагаются в обратном порядке, т.е. сначала последнее, потом предпоследнее и т.д.

Ввод

FOR I = S TO 1 STEP -1

B$(I) = SL$(S – I + 1)

NEXT I

FOR I=1 TO S

PRINT B$(I); “;

NEXT I


В заданном предложении перевернуть все слова, в которых есть буква b в обратном порядке.

Ввод

FOR I = 1 TO S

W = 0

FOR J=1 TO SK(I)

IF MID$(SL$(I),J,1)=”B” THEN W = 1

NEXT J

IF W = 1 THEN

FOR J = SK(I) TO 1 STEP -1

PRINT MID$(SL$(I),J,1);

NEXT J

PRINT “;

ENDIF

NEXT I

Распечатать все слова предложения четной длины, расположенных после слова с наибольшим количеством символов, предполагается, что слово с максимальной длинной единственное.

Ввод

max = -1000

FOR I = 1 TO S

IF SK(I)>max THEN max = SK(I): d =I

NEXT I

FOR I = d + 1 TO S

IF SK(I)/2 = SK(I)\2 THEN PRINT SL$(I);“;

NEXT I




Самые низкие цены на курсы переподготовки

Специально для учителей, воспитателей и других работников системы образования действуют 50% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок", но в дипломе форма обучения не указывается.

Начало обучения ближайшей группы: 25 октября. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru

Общая информация

Номер материала: ДВ-004680

Похожие материалы