Меню
Разработки
Разработки  /  Информатика  /  Проверочные работы  /  Алгоритмизация и программирование

Алгоритмизация и программирование

Вводный материал, разобранные примеры и полный набор задач с приведением блок-хем по основным разделам языка Qbasic: проверено, школьники и студенты первого курса появляется системность в мышлении.
09.02.2012

Описание разработки

Из всех систем Windows –программирования Visual Basic – наиболее удобное, простое и эффективное средство для разработки интерфейса. Visual Basic превратился в высокоэффективное средство разработки различных Windows - приложений от локальных до сетевых с качеством программ, не уступающим программам, написанным на языке C++, став визуальным и объектно-ориентированным, делает его доступным широкому кругу пользователей.Visual Basic стал стандартом в Microsoft Office. Изучение Бейсика в средних школах, является хорошей базой для изучения современной версии языка. Данное пособие, является достаточно компактным, охватывает широкий круг задач. И в тоже время доступно для понимания даже начинающим. Учебное пособие состоит из трех частей. Задача первой части познакомить с понятиями алгоритма, свойствами алгоритма, этапами решения задачи, языком блок - схем и дать начальное сведение по среде программирования Basic, особенностям объектно-ориентированного событийно-управляемого программирования. Изложение материала этой части ведется на примере решения простейших задач. Примеры полностью иллюстрирует возможности и достоинства Бейсика. Эта часть включает обработку символьных данных и графические возможности языка. Для развития алгоритмического и математического мышления, а также для расширения кругозора приведены примеры и задачи для работы с одномерными и двумерными массивами, замечательные (исторически признанные) алгоритмы и занимательные задачи повышенной сложности, предлагая материал по разработке достаточно сложных программ. Каждая тема подкреплена значительным набором заданий для самостоятельных занятий.

Алгоритмизация и программирование

Содержимое разработки

59

I.

1. Введение. Цели изадачи курса.

В наше время информационного бума успех сопутствует тому, кто владеет информацией. Фундамент информатизации закладывается в сфере образования. Вопросы компьютерной общеобразовательной подготовки вплотную подходят к проблеме освоения новых видов информации и обмена ею, новых технологий и форм общения. Способность человека управлять процессом зависит от его информированности. От этого зависит перестройка системы управления, новые экономические пути решения тех или иных проблем. Качество информационной оснащённости, наличие быстродействующих и общедоступных каналов движения информации сегодня определяют уровень развития стран. Внедрение и использование информационных технологий - материал необходимый всем без исключения пользователям для практической работы, - способствует решению задач интенсификации и индивидуализации обучения, формированию познавательских способностей, улучшению организации учебного процесса. Алгоритмический стиль мышления –одна из важных форм умственной деятельности, - даёт методы построения математической модели реального объекта , позволяет автоматизировать обработку информационного потока. Разработка алгоритмов предшествует их реализации на компьютере, что активизирует познавательные возможности школьника, развивает теоретическое мышление (прикладное изучение численных методов: числовые ряды, законы чисел, - например, чисел Фибоначчи) в изучении реальных закономерностей. Занимательные алгоритмы, алгоритмы, известные с древних времён (Евклида, Горнера, Эратосфена ) вполне доступные ученику, способствуют умению создавать эффективные алгоритмы. Реализация алгоритма на машинном языке научит создавать жизнеспособные и надёжные, предусматривающие обработку меняющихся исходных данных, эффективные программы. Т.о. ведётся подготовка будущих пользователей для работы с системами и подготовка будущих программистов.


2. Алгоритмизация.
Определение, способы написания, этапы решения, свойства.


Алгоритм есть система предписаний, предназначений исполнителю для решения некоторой задачи.

Три способа написания:

1)на естественном языке;

2)на языке схем алгоритмов;

3)на алгоритмическом языке программирования.

Этапы решения задач на ЭВМ:

1.Постановка задачи. Условие должно быть корректным.

2.Составление математической модели задачи. Отбрасываем несущественные стороны явления, подбираем объекты и математические формулы.

3.Составление алгоритма решения задачи.

4.Решение задачи и проверка результатов.

Свойства алгоритма:

1. Результативность.

2. Дискретность.

3. Конкретность.

4. Однозначность.

5. Массовость.

Требования к программе:

1. Максимально понятный интерфейс (диалог).

2. Защита от неопытного пользователя.

Под обработкой информации понимают преобразование информации, проведение различных операций над ней:

  1. Дано (исходные данные).

  2. Получить (результаты).

  3. Как связаны исходные данные и результаты ( формулы и преобразования информации).

  4. Могут присутствовать промежуточные данные .


Т.е. задача должна быть чётко сформулирована, значит:

Высказаны те предположения, как в море информации об изучаемом явлении или объекте извлечь исходные данные; что будет результатом;

Всё это называют моделью задачи: предположения, исходные данные, результаты, связи между ними. Если исходные данные и результаты представить числами, а соотношения и связи математическими формулами, то можно говорить о создании математической модели.

Умение программировать определяет некоторые элементы общей культуры (теоретическая база):

  1. Определит общие принципы решения задачи.

  2. Детализировать эти общие принципы (разработать пошаговый алгоритм).

  3. Построить математическую модель.

  4. Знание языков программирования.

  5. Умение работать с ЭВМ и готовыми программными средствами (умение предугадать алгоритм, работать с системами управления и обработки информации-СУБД).












3. Элементы блок-схемы.

Начало б\сх ;



Конец б\сх ;



блок ввода (-вывода) ;


рабочий блок (оператор присваивания; арифметическое выражение) ;


описания ;


_ +

логический блок ;


переходы между блоками .


Примерами могут быть:






_



+













-



-



+

Серия 2












4. ЭЛЕМЕНТЫ ЯЗЫКА BASIC.

  • Входной набор знаков:

                  • алфавит (русский и английский) ;

                  • цифры ;

                  • спец . символы (! ? # & % . , + - * ^


  • Константы (тип) :

                  • 1.целые (746; 577)%;
                  • 2.веществ.(5.171; 731.1371)!;
                  • 3.символы (“текст”).
  • Переменные (тип):

                  • 1.целый (D%);

                  • 2.веществ. (М!=85.74 (7 знаков после запятой) (Z# = 85.74734568 (16 знаков после запятой);

                  • 3.символьный (F =”привет!”).

  • Массивы (тип):

                  • 1.целый DIM F%(N)-например: успеваемость учеников;

                  • 2.веществ DIM F!(N)-з/плата;

                  • 3.симв. DIM F(N)-список учеников класса.

  • Описание типа:

    • Неявное-

                  • DEFINT A,C-F,N-R

                  • DEFSNG B,S-W, Z

                  • DEFSTR F

    • Явное

                  • DEFINT A,KAT

                  • DEFSNG E,GAME

                  • DEFSTR MI,L ,RES

  • Операторы ввода-вывода :

                  • INPUT “Введите значение”; N

INPUT “Введите фамилию”; Fam$

                  • PRINT “Получите значение”; Q

PRINT X^2+1; Z-1

PRINT “Его фамилия”; Fam$

  • Арифметические операции:

                  • ^ - в степень

                  • -

                  • +

                  • *-умножить

                  • \-целочисленное деление

                  • SQR-квадратный корень

                  • MOD-остаток (целочисленный) от деления

                  • /-деление

  • Встроенные функции:

                  • ABS(x)- x по модулю

                  • LOG(x)-натуральный логарифм ln x

                  • exp(x)-экспонента e

                  • sin(x)

                  • cos(x)

                  • TAN(x)-tg x

                  • ATN(x)-arctg x

                  • SGN(x)-знак числа signum (или sign(x) )

1 , если x

sgn(x) = 0 , если x=0

-1 , если x0

                  • INT(x)-целая часть(меньшее целое):

INT(-4;01)=-5

INT(23;56)=23

                  • FIX(x)-отбрасывает дробную часть:

FIX(-4;01)=-4

FIX(23;56)=23

                  • RND(x)-генерация случайного числа

                  • C=STR(x)-превращает числовое значение в строку.

                  • Z=VAL(x)-превращает строку в число.

  • Строковые операции:

                  • STR$(X)- перевод числового значения в символьное

                  • VAL(X$)-перевод символа в число

                  • LEN(X$)- число позиций в символьной строке

                  • LEFT$(X$,I)-выборка I символов в символьной переменной слева

                  • RIGHT$(X$,I)-выборка I символов в символьной переменной справа

                  • MID$(X$,M,N)-выборка N символов начиная с M-той позиции в переменной X

                  • INSTR(X$,Y$)-номер позиции, в которой впервые найдена символьная переменная Y$ в переменной X$

                  • INSTR(I,X$,Y$)-номер позиции, в которой впервые найдена символьная переменная Y$ в переменной X$ начиная с I-той позиции

  • Операции отношений (результатом будет{T,F}{TRUE , FALSE}:

                  • = равно

                  • неравно

                  • меньше

                  • больше

                  • меньше или равно

  • Логические операции:

                  • NOT X (не x)

                  • X ANDY (x и y)

                  • X OR Y (x или y)

                  • X EQ Y (еквивалентно)


  • Условный оператор:

                  • IF … THEN …. [ ELSE ..]

  • Операторы условного и безусловного перехода:

                  • GOTO N (номер строки)

                  • ON PER GOTO N1, N2, N3 (переход на строку N1,если PER=1;N2, если PER=2; N3, если PER=3)

                  • IF … GOTO …. [ ELSE ]

  • Назначение функциональных клавишей :

    • F1- загрузка системы

    • F2- LOAD- загрузка с внешнего устройства или постоянного носителя

    • F3-EDIT

    • F4-LIST

    • F5- загрузка и выполнение из оперативной памяти

    • F6- CLS- очистка экрана

    • F7-SAVE-сохранение

    • F8-AVTO-автонумерация

    • F9-RENUM-перенумерация

    • F10-CONTINUE

  • Цвет :

    • COLOR N-номер цвета шрифта.

                  • 1-синий

                  • 2-зеленый

                  • 3-серо-голубой

                  • 4-красный

                  • 5-сереневый

                  • 6-оранжевый

                  • 7-белый

                  • 8-серый

                  • 9-голубой

                  • 10-светло-зеленый

                  • 11-ярко-белый

                  • 12-алый

                  • 13-светло-сиреневый

                  • 14-желтый

                  • 15-самый белый

  • Графические операторы:

                  • Screen 9 *(640x350)-размер экрана;(№ экрана от 0 до 13)

                  • Color c1, c2 *(цвет линий, цвет фона)

                  • Pset (x, y), c

                  • Line (100,150)-(160,180), c, bf

                  • Circle (x, y), r, c, вырезать, оставить, k

                  • *(0kcжатие по вертикали, k1-по горизонт.)

                  • PCLS-очистка графического ЗУ

  • Оператор выбора:

SELECT CASE N (переменная)

CASE IS… условие (логическое выражение, сравнение)

Операторы

CASE … TO …

Операторы

CASE … TO …(границы)

Операторы

CASE O (значение)

Операторы

END SELECT

  • Оператор цикла:

Счетчик цикла



FOR I=1 TO N [STEP N]


………………….. Шаг


(тело цикла)

…………………….

NEXT


5. Линейный алгоритм.

Вычислить значение функции.

5.1. Y=sin|x|+tgx


ИЛИ


















INPUT “Введите Х”;X INPUT “Введите Х”;X

M=ABS(X) Y=SIN(ABS(X))+TAN(ABS(X))

Y=SIN(M)+TAN(M) PRINT “Вывод Y”;Y

PRINT “Вывод Y”;Y


5.2. Y=SIN|X|*COS²(X-18)


INPUT “Введите Х”;X

Y=SIN(ABS(X)*(COS(X-18))^2

PRINT “Вывод Y”;Y







5.3. Напишите программу, в которой присвоить значение 2-м числовым переменным и вывести на экран их сумму, разность, произведение, частное.

Пусть X,Y-две переменные.

Создадим еще четыре, в которых :

А-+

В- -

С-*

Д-\

Программа примет вид :

INPUT “Введите Х”;X

INPUT “Введите Y”;Y

A=X+Y

B=X-Y

C=X*Y

D=X/Y

PRINT “Искомые результаты”;a;b;c;d


5.4. В магазине продается костюмная ткань. Ее цена 2100 руб. за 1м². Напишите программу, которая подсчитывает и выводит на экран стоимость куска этой ткани длиной 6,5 метров и шириной 80 сантиметров.

X-стоимость 1м².

Y-стоимость погонного метра.

Z-общая стоимость покупки.



Х=2100 руб.

Y=X /100*80

Z=Y*6,5




X=2100

Y=X/100*80

Z=Y*6.5

PRINT “Вывод Z”;Z


5.5. Напишите программу нахождения среднего арифметического 4-х чисел.

Пусть х1,х2,х3,х4,-четыре числа. Sr-среднее арифметическое.


INPUT “Введите значения”;X1,X2,X3,X4

Sr=(X1+X2+X3+X4)/4

PRINT “Результат”; Sr












5.6. Задумайте число от 1 до 100. Напишите операторы , которые будут последовательно выполнять следующие действия:

-присвоить числовой переменной значение, равное произведению этого числа самого на

себя;

-сложить эту переменную с удвоенным задуманным числом;

-разделить сумму на задуманное число;

-уменьшить результат на задуманное число;

-вывести ответ.

X-Задуманное число.

Y-

Z- Промежуточные

Q- переменные

W-Результат


INPUT “Введите Х”;X

Y=X^2

Z=Y+2*X

Q=Z/X

W=Q-X

PRINT “Результат=”;W





5.7. Вычислить множество значений функции.

Y=X^ 2+B, где Х10,10 с шагом 2; В -параметр.


INPUT “Введите значение параметра”; B

FOR X=-10 TO 10 STEP 2

Y=X^2+B

PRINT Y;

NEXT

PRINT


*Задание. Составить схему и написать программу нахождения суммы дробей A/B и C/D.


6. Разветвляющийся алгоритм.

6.1 Нахождение корней квадратного уравнения.

6.1.1. Пошаговое описание :

шаг 1. Ввод А,В,С

шаг 2. D=B²-4*A*C

шаг 3. D

шаг 4. Если

шаг 5. Если =0, то два корня :

х1=(-В-D)/( 2*А)

x2=(-B+D)/( 2*А)

шаг 6. Вывод результата.

6.1.2. Блок-схема :



+



_

6.1.3. Программа:


INPUT “”;A,B,C

D=B^2-4*A*C

IF D=0 THEN X1=(-B-D)/(2*A):X2=(-B+D)/(2*A):PRINT “Два корня ”;X1;X2

IF DКорней нет. ”

6.2.Составить программу вычисления минимального среди A, B, C, если A=SIN(X), B=COS(X), C=Ln(X). Проверить для X=5.


INPUT “Введите значение Х”;X

PRINT “Для заданного значения Х минимальным значением Y будет ”;

A=SIN(X):B=COS(X):C=LOG(X)

IF A














6.3. Решение системы уравнений :


X*Y ; если X²+Y²=1

2X+Y

2X-Y ; если X²+Y²0

Z=

X+Y

X-Y ; если X²+Y²





INPUT “Введите Х”;X

I

+

NPUT “Введите Y”;Y

IF (X^2+Y^2)=1 THEN Z=X*Y

IF (X^2+Y^2)0 THEN Z=(2*X+Y)/(2*X-Y)

IF (X^2+Y^2)

PRINT “Результат”; Z











*Задание. Нарисовать блок-схему и написать программу вычисления значений для следующих систем :


1. 2. Функция Дирихле 3.

X+Y, если Х=2 и Y2+X, если Х-2 sin(X+Y), если X2+Y2

X-Y, если Х

Z= X*Y, если Х=2 и Y=5 X2-1/X, если Х2+Y21

X/Y, если Х=5













7. Блок-схема команды повторения.


Циклический алгоритм - алгоритм, в котором имеется возврат к предыдущим шагам программы.

For … to .. [step …]

Next



7.1

Input “N”;N

For i=1 to N

S=s+i

Next

Print “S=”;S


7

Счетчик цикла

Определяет сколько раз будет вычисляться тело цикла


Может:

  1. принимать как положительные значения, так и отрицательные;

  2. быть как целого типа, так и вещественного типа;

  3. как увеличиваться, так и уменьшаться.

.2
















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


Верхняя и нижняя граница могут:

  1. принимать как положительные значения, так и отрицательные;

  2. быть как целого типа, так и вещественного типа;


7.2.1

К=0.7

N=17.5

For i=К to N step 0.4

S=S+i

Next

Print “ Сумма искомых величин S=”;S


7.2.2

К=-0.5

N=-14.5

For i=К to N step -0.2

S=S+i

Next

Print “ Сумма искомых величин S=”;S


7.2.3

К=-0.4

N=12.02

For i=К to N step 0.3

S=S+i

Next

Print “ Сумма искомых величин S=”;S


7.2.4


К=-1.7

N=20.5

For i=К to N step 0.4

S=S+i

Next

Print “ Сумма искомых величин S=”;S


7.2.5


Неправильно, такой цикл не сработает ни разу:

К=-1.7

N=20.5

For i=К to N step –0.6

S=S+i

Next

Print “ Сумма искомых величин S=”;S



7.3. Написать программу, которая вычислит и выведет сумму всех целых чисел от 1 до 200, которые делятся без остатка на 8.

+

-











INPUT “Введите число N”;N

FOR I=1 TO N

IF I/8=INT(I/8) THEN S=S+I

NEXT

PRINT “Искомый результат”; S

7.4. Написать программу, которая вычислит и выведет все 2- и 3- значные числа, которые делятся без остатка на 15.











FOR I=10 TO 999

IF I/15=INT(I/15) THEN PRINT “Искомый результат”; I

NEXT

8. Натуральный ряд чисел.


8.1.Написать программу, которая вычислит и выведет сумму всех трехзначных чисел.





-

+

I=100

S=S+I

I=I+1



+



FOR I=100 TO 999

S=S+I

NEXT

PRINT “Искомый результат”; S


8.2.Найти среднее арифметическое натурального ряда чисел от 1 до 200.







+

FOR I=100 TO 999

S=S+I

NEXT

PRINT “Искомый результат”; S


8.3.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+N2.








INPUT “Введите число N”;N

S=0

FOR I=1 TO N

S=S+I^2

NEXT

PRINT “Искомый результат”; S


8.4. Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+1/N2.












INPUT “Введите число N”; N

S=0

FOR I=1 TO N

S=S+1/I^2

NEXT

PRINT “Искомый результат”; S


8.5.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+1/2N.









INPUT “Введите число N”;N

S=0

FOR I=1 TO N

S=S+1/2^n

NEXT

PRINT “Искомый результат”; S

8.6.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . . +(1/N)*(-1)^N+1 .













INPUT “Введите число N”;N

S=0

FOR I=1 TO N

S=S+(1/N)*(-1)^N+1

NEXT

PRINT “Искомый результат”; S

8.7.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=(100*1)/(12+1)+(100*2)/(22+1)+(100*3)/(32+1)+. . . +(100*N)/(N2+1) .









+

-



INPUT “Введите число N”;N

S=0

FOR I=1 TO N

S=S+(100*I)/(I^2+1)

NEXT

PRINT “Искомый результат”; S

8.8.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен

2+… 2+…. 2








INPUT “Введите число N”; N

S=0

K=1

I=2^(1/2)

FOR K=1 TO N

I=(2+I)^(1/2)

S=S+I

NEXT

PRINT “Искомый результат”; S


8.9. Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен

.. .. .. 5













INPUT “Введите число N”;N

S=0

K=1

I=5

FOR K=1 TO N

I=(5)^(1/2)

S=S+I

NEXT

PRINT “Искомый результат”; S




*Задания. Работа с натуральными числами.


  1. Найдите сумму всех чисел от 51 до 99. Равна ли она 3676.

  2. Напишите программу суммирования всех одно и двухзначных чисел, которые делятся на 5.

  3. Найти сумму всех трехзначных нечетных чисел.

  4. Найти произведение всех трехзначных четных чисел.

5. Найдите произведение всех четных чисел от -100 до 1000.

6. Найти сумму всех трехзначных нечетных чисел.

7. Найти сумму удвоенных N первых членов натурального ряда.

8. Найти среднее арифметическое натурального ряда чисел до200.

9. Дана последовательность натуральных чисел (упорядоченная 1,2,3...N). Найти сумму квадратов элементов последовательности. И найти сколько чисел 10

10. Дана последовательность натуральных чисел. Найти сумму квадратов элементов последовательности. Найти количество чисел, кратных 17.

11. Найти среднее арифметическое всех трехзначных чисел.

12. Найти сумму удвоенных N первых членов натурального ряда.

13. Найти сумму всех трехзначных нечетных чисел.

14. Найдите произведение всех четных чисел от –100 до 100.

15. Найти произведение всех трехзначных четных чисел.

16. Найти сумму всех трехзначных нечетных чисел.

17. Найти сумму всех нечетных чисел от –100 до 100.

18. Найти среднее арифметическое натурального ряда чисел до 1000.

19.Напишите программу, формирующую таблицу умножения.

20. Дана формула нахождения элементов числового ряда. Найти каждый элемент и произведение элементов этого ряда:

  1. 1/N!

  2. 1/(n^2+4)

  3. 1+5 N - 1-5 N

  1. 2

5

  1. N!

  2. (N+1)/N!

  3. ex=1+x+x2/2!+x3/3!+x4/4!+. . .+xn/n!

  4. q n, где q=(21/2)/3

  5. (2*k+1)/(4*k3-3)

  6. 1/n3

  7. k2/(k2+1)

  8. k(k+1)2

  9. M!/((N!(M-N)!)

  10. N* N*. .* N



. . .. N


9. Одномерный массив. Описание, создание.


Если элементы последовательности упорядочены (т. е. между элементами последовательности есть какая-то связь, закономерность), то можно обозначить переменной 1-ый элемент последовательности, а остальные задать формулой ,отражающей закономерность и к N-му элементу обращаться по формуле.

Если элементы последовательности набраны хаотично, невзаимосвязано(случайно, например: t воздуха за какой-то период, или отметки по успеваемости, или урожайность в различных колхозах и т.д.),то элемент последовательности нужно обозначить через переменную с индексом (AN),(где I=1,до определенного, заданного N), и адресоваться через имя А с индексом I. Тогда можно (т. к. закономерности между элементами нет, но есть закономерность между индексами, т.е. введя индексацию мы вводим свою закономерность между элементами последовательности) последовательно обращаться к элементам массива или к любому N-му элементу сразу. Массив-это организованный набор однотипных переменных, имеющих в памяти строго определенное место.

A(I)-элемент массива, где А - имя массива, I - индекс (порядковый номер).


9.1. В доме N комнат. Каждая имеет форму прямоугольника. Длина и ширина каждой указаны. Нарисовать блок-схему нахождения площади S каждой комнаты и общую S всех комнат в этом доме.

INPUT “Введите кол-во комнат”; N

FOR I=1 TO N

INPUT “Введите длину комнаты”; D(I)

INPUT “Введите ширину комнаты”; Sh(I)

S(I)=D(I)*Sh(I)

PRINT S(I);

NEXT

PRINT










9.2. Создать массив генератором случайных чисел.

INPUT “Введите количество элементов массива”; N

FOR I=1 TO N

COLOR I

A(I)=INT(RND(1)*10)

PRINT A(I);

NEXT

PRINT

9.3. Создать массив по формуле числового ряда ½n. Найти сумму элементов.














INPUT “Введите число N”;N

S=0

DIM A(N)

FOR I=0 TO N

COLOR I

A(I)=1/2^I

S=S+A(I)

PRINT A(I);

NEXT

PRINT

PRINT “Сумма элементов массива”; S


9.4. Создать массив по формуле числового ряда1/ N!. Найти сумму элементов.













INPUT “Введите число N”;N

S=0

DIM A(N)

A(0)=1

FOR I=1 TO N

COLOR I

A(I)=A(I-1)*(1/I)

S=S+A(I)

PRINT A(I);

NEXT

PRINT

PRINT “Сумма элементов массива”; S

9.5. Создать массив по формуле числового ряда 1/(N^2+4). Найти сумму элементов.











INPUT “Введите число N”; N

S=0

DIM A(N)

FOR I=0 TO N

COLOR I

A(I)=1/(N^2+4)

S=S+A(I)

PRINT A(I);

NEXT

PRINT

PRINT “Сумма элементов массива”; S

9.6. Написать программу, которая вычислит и выведет каждый элементов массива и сумму, где каждый элемент представлен

.. .. .. 5










+



INPUT “Введите число N”;N

S=0

DIM A(N)

A(0)=5

FOR I=1 TO N

COLOR I

A(I)=A(I-1)^(1/2)

S=S+A(I)

PRINT A(I);

NEXT

PRINT

PRINT “Сумма элементов массива”; S

9.7. Написать программу, которая вычислит элементы массива и сумму, где каждый элемент представлен

2+… 2+… 2













INPUT “Введите число N”;N

S=0

DIM A(N)

A(0)=0

FOR I=1 TO N

COLOR I

A(I)=(2+A(I-1))^(1/2)

S=S+A(I)

PRINT A(I);

NEXT

PRINT

PRINT “Сумма элементов массива”; S


*Задание. Сформировать массив по формуле до N-го элемента, найти сумму и произведение элементов массива:


  1. Х(k)=(2k+1)/(4k3-3)

  2. Х(n)=qn где q= 4/3

  3. 1+1/2+1/3+…1/n

  4. (1+1/28+1/38+…+1/n8)

  5. 1+1/22+1/32+…+1/n2

  6. X(k)=k2/(k2+1)

  7. X(n)=(100n)/(n2+1)

  8. S=(1+1/2+1/4+…+1/2n) где ряд представлен формулой 1/2n

  9. A(k)=k(k+1)2

  10. A(n)=(1+/2)n-(1-/2)n

  11. X(n)=(3n+4)/(n+1)

  12. X(n)=1/(n3+0.8)

  13. N!=1*2*3*…n. N-ый член представлен формулой. Т.е.

1!=1

2!=1*2

3!=1*2*3

4!=1*2*3*4

  1. (1+1/1!+1/2!+…+1/n!) где ряд представлен формулой 1/n!

  2. Cnm=m!/n!(m-n)!

  3. Ex=1+x+x2/2!+x3/3!+x4/4!+…xn/n!

  4. Создать массив A(N), где каждый элемент получается арифметической прогрессией, при чем A(1)=2, а шаг прогрессии равен 3.



10.Выборка и преобразование элементов одномерного массива.

10.1. Каждый третий элемент массива заменить нулем.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=1 TO P STEP 3

T(I)=0

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT



10.2. Найти сумму положительных элементов массива T(P).


INPUT “Введите количество элементов массива ”;P

S=0

DIM T(P)

FOR I=1 TO P

INPUT “Введите элемент массива ”;T(I)

NEXT

FOR I=1 TO P

IF T(I)0 THEN S=S+T(I)

NEXT

PRINT “Искомый результат ”; S















10.3. Элементы с 3 по 9 возвести в квадрат.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=3 TO 9

T(I)=T(I)^2

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.4. Из каждого второго извлечь корень.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=1 TO P STEP 2

T(I)=T(I)^(1/2)

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.5. Значение элементов, имеющих четные индексы, разделить на последний элемент.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=1 TO P STEP2

T(I)=T(I)/T(P)

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.6. Нечетные элементы разделить на значение второго элемента.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=1 TO P

IF T(I)=INT(T(I) THEN T(I)=T(I)/T(2)

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.7. Нечетным элементам присвоить значения квадратов индексов.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

FOR I=1 TO P

IF T(I)=INT(T(I) THEN T(I)=I^2

NEXT

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.8. Первый и последний элемент массива поменять местами.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

Z=T(1)

T(1)=T(P)

T(P)=Z

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.9. Выполнить циклический сдвиг элементов массива.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

Z=T(1)

FOR I=1 TO P-1

T(I)=T(I+1)

NEXT

T(P)=Z

FOR I=1 TO P

COLOR I

PRINT T(I);

NEXT

PRINT


10.10. Найти среднее арифметическое элементов массива.


INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

PRINT

FOR I=1 TO P

S=S+T(I)

NEXT

S=S/P

PRINT “Искомое значение”; S



10.11. Нахождение минимального (максимального) элемента массива.

INPUT “Введите количество элементов массива ”;P

DIM T(P)

FOR I=1 TO P

T(I)=INT(RND(1)*10)

PRINT T(I);

NEXT

MIN=T(1)

FOR I=2 TO P

IF MINT(I) THEN MIN=T(I)

NEXT

PRINT “Минимальный элемент ”;MIN
















*Задания на преобразование одномерного массива:

  1. Четные элементы разделить на значение индекса.

  2. Измерена t воздуха в течение месяца :

    1. Найти среднее арифметическое t воздуха.

    2. Количество дней, когда t была 0.(

    3. Найти max, min.

  3. Нечетным элементам присвоить значения квадратов их индексов.

  4. Сожмите массив, выбросив каждый второй его элемент ( дополнительные массивы использовать не разрешается).

  5. Выполнить циклический сдвиг элементов влево.

  6. Построить алгоритм (и написать программу) подсчета количества элементов массива больших среднего арифметического всех элементов этого массива.

  7. Дан массив. Найти наибольшее и наименьшее и вычислить их разность.

  8. Дан одномерный массив. Все его элементы, не равные нулю, переписать (сохраняя их порядок) в начало массива, а нулевые элементы- в конец массива (новый массив не заводить).

  9. Задан массив С, содержащий M чисел. Сформировать два массива А и В, включая в массив А четные (по номеру ) элементы массива С в порядке их следования, а в массив В нечетные.

  10. Найти средние арифметическое каждого третьего элементы.

  11. Подсчитать количество четных и нечетных элементов массива.

  12. В предложенном одномерном массиве замените все нулевые элементы.

  13. Значения элементов, имеющих нечетные индексы, умножить на второй элемент.

  14. В массиве Т(к) найти сумму всех чисел 2 и подсчитать количество ”0”.

  15. В массиве А(N) найти сумму отрицательных элементов.

  16. Массив создать генератором случайных чисел у каждого второго элемента, изменить знак на противоположный.

  17. В массиве D(M) заменить нулями элементы, имеющие нечетные индексы.

  18. Заменить в массиве A(N) четные элементы на «0».

  19. В массиве T(N) заменить все четные элементы на «0», т. е. Например: если T(I)=(3,6,9,12,15), получить T(I)=(3,0,9,0,15).

  20. В одномерном массиве найти те элементы, которые совпадают с индексами и вывести сообщение о наличии (и количестве) таковых.

  21. Заполнение нулями всех элементов массива.

  22. Каждый третий элемент массива заменить “0” Дан массив К каждому третьему элементу прибавить значение его индекса

  23. Найти произведение массива

  24. В массиве A(N) найти произведение отрицательных чисел

  25. Нечетные элементы разделить второго элемента.

  26. Значения элементов, имеющих четные индексы, разделить на последний элемент.

  27. Элементы с четными и нечетными номерами (индексами) поменять местами.

  28. Найти сумму положительных элементов заданного массива Т, содержащего Р чисел.

  29. Элементы массива с 3-го по 9-ый возвести в квадрат.

  30. Дан массив Д(К).Заменить нулями элементы, имеющие четные индексы.

  31. Дан массив C(Q).Каждый третий элемент разделить на значение второго элемента.

  32. Найти среднее арифметическое элементов массива А(N).

  33. Элементы с 5-го по 10 заменить обратными величинами.

  34. Нахождение минимального элемента массива.

  35. Нахождение максимального элемента массива.

  36. Найти среднее арифметическое четных и среднее арифметическое нечетных элементов массива.

  37. Дана последовательность натуральных чисел. Подсчитать сколько элементов 7.

  38. Все элементы

  39. Обмен:1 и последний элементы массива поменять местами.

  40. Дан массив. Нечетные элементы заменить их обратными величинами.

  41. Написать программу нахождения количества чисел в массиве больших среднего арифметического этой последовательности.

  42. В одномерном массиве сосчитать количество 3 и 7 и вывести на экран сообщение о том, каких цифр и на сколько больше.

  43. Нечетные элементы умножить на последний элемент.

  44. Найдите сумму всех нечетных чисел от –100 до 100.

  45. Подсчитать количество элементов в массиве 3 и сумму элементов 5.

  46. Дан массив. Первые пять элементов возвести в квадрат.

  47. В массиве В(х) подсчитать количество “5” и “3”.

  48. Дан массив. Элементы с 4-го по 8-й разделить на их индекс.

  49. Элементы с 7-го по 13 заменить противоположными значениями.

  50. Информация о количестве осадков, выпавших в течение месяца и о температуре воздуха задана в виде массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега. Считать, что идет дождь, если температура воздуха 0.


11. Слияние и разбиение одномерного массива


11.1. Перестановка элементов внутри массива :


Элементы с четными и нечетными номерами поменять местами.

INPUT “ВВЕДИТЕ КОЛ-ВО ЭЛЕМЕНТОВ МАССИВА (четное)”;N

DIM A(N)

FOR I=1 TO N

A(I)=INT(RND(1)*10)

NEXT

FOR I=1 TO N STEP2

C=A(I)

A(I)=A(I+1)

A(I+1)=C

NEXT

FOR I=1 TO N

PRINT A(I);

COLOR I

NEXT

PRINT























11.2. Слияние двух массивов.


11.2.1. Заданы два массива А и В, содержащие по G чисел. Сформировать массив С, включая в него сначала все элементы массива А, затем все элементы массива В.


INPUT “Введите кол-во элементов массива”; G

DIM A(g),S(g),C(2*g)

FOR I=1 TO g

INPUT “Введите элемент массива А”;A(I)

NEXT

FOR I=1 TO G

INPUT “Введите элемент массива B”;B(I)

NEXT

FOR I=1 TO G

C(I)=A(I)

NEXT

FOR I=1 TO G

C(G+I)=B(I)

NEXT

FOR I=1 TO 2*G

PRINT C(I);

COLOR I

NEXT

PRINT




11.2.2. Сформировать массив C, включая в него попеременно элементы массивов A и B, содержащих по N чисел.




























+






INPUT “Введите кол-во элементов массива”; N

DIM A(N),S(N),C(2*N)

FOR I=1 TO N

COLOR 5

A(I)=INT(RND(1)*10)

PRINT A(I);

NEXT

PRINT

COLOR 6

FOR I=1 TO N

B(I)= INT(RND(1)*10)

PRINT B(I);

NEXT

PRINT

FOR I=1 TO N

C(I*2-1)=A(I)

C(I*2)=B(I)

NEXT

FOR I=1 TO 2*N

PRINT C(I);

COLOR I

NEXT


11.3. Разбиение массива

11.3.1. Масcив С разделить на два массива А и B.

INPUT “Введите кол-во элементов массива С (четное)”;N

DIM C(N)

COLOR 2

FOR I =1 TON

C(I)=INT(RND(1)*10)

PRINT C(I);

NEXT

PRINT

DIM A (N/2), B (N/2)

FOR I=1 TO N/2

A (I)=C (I)

B (I)= C(N/2+I)

NEXT

COLOR 3

FOR I =1 TO N/2

PRINT A(I);

NEXT

PRINT

COLOR 4

FOR I =1 TO N/2

PRINT B(I);

NEXT

PRINT


*Задания на слияние и разбиение одномерного массива.


  1. Из двух упорядоченных массивов A(K) и B(L) сформируйте массив C(K+L), упорядоченный так же, как исходные.

  2. Для заданного массива A(M) сформируйте массив B(M/2) по формуле B(I)=(A(I)+A(M+1-I))/2

  3. Задан массив С, содержащий М чисел. Сформировать два массива А и В, включая в массив А четные (по номеру) элементы массива С в порядке их следования, а в массив В нечетные.

  4. Из двух упорядоченных массивов A(N), B(M) сформировать один, упорядоченный в обратную сторону.




12. Двумерный массив.

12.1. Понятие двумерного массива

12.1.1. Повторение.

  • Одновременный массив.

    • Что такое массив. Как описывается массив?

    • Как обозначается элемент массива?

    • Как формируется одномерный массив? В цикле I=1,N

    • Программа создания массива.

    • Вывод одномерного массива.

12.1.2. Определение

  • Двумерный массив.

    • Как описывается? DIM A(N,M)

    • Как обозначается элемент массива? A(I,J)

    • Как изменяются индексы? I=1,N; J=1,N

    • Как формируется двумерный массив? Два цикла (вложенный):

FOR I=1 TO N

FOR J=1 TO N

. . . . . . . . . . . . . .

NEXT

NEXT

Цикл, открывающийся первым, закрывается последним. Для каждого значения счетчика внешнего цикла перебираются все значения счетчика внутреннего цикла.

    • Программа создания двумерного массива (генератором случайных чисел):

FOR I=1 TO N

FOR J=1 TO N

COLOR J

A(I,J)=INT(RND(1)*10)

PRINT A(I,J);

NEXT

PRINT

NEXT


    • Вывод двумерного массива (Смотрите предыдущий пункт).

  • Создание 2-мерного массива вычислением (по формуле).


  • Преобразование двумерного массива в одномерный и обратно.


  • Выборки и преобразование элементов двумерного массива.





АРИФМЕТИЧЕСКИЙ КВАДРАТ


INPUT N a(i,J)=a(i-1,J)+a(i,j-1)

J=0

1

1

1

1

1

1

1

2

3

4

5


1

3

6

10

15


1

4

10

20

35


1

5

15

35

70


1






FOR i=0 TO N

A(i,J)=1

NEXT

I=0

FOR J=0 TO N

A(i,J)=1

NEXT

FOR J=1 TO N

FOR I=1 TO N

A(i,J)=a(i-1,J)+a(i,J-1)

PRINT A(I,J);

NEXT

PRINT

NEXT

Паук идет по направлению к солнцу.

Из одной клетки в другую только снизу вверх или справа на лево. Сколько возможных путей есть у паука ?

12.1.3. Преобразование двумерного массива в одномерный и обратно.


12.1.3.1. Из массива А(N,N) сформируйте B, развернув по строкам и столбцам.

K=0

DIM B ( N ^2)

REM K=1

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RND(1)*10)

PRINT A(I,J);

K=K+1

B(K)=A(I,J)

NEXT

PRINT

NEXT

FOR I=1 TO N*N

PRINT B(K);

NEXT

PRINT
















12.1.3.2. По условию предыдущей задачи проделайте обратную операцию.


For j=1 to n

FOR I=1 TO N

K=K+1

A(I,J)=B(K)

PRINT A(I,j);

NEXT

PRINT

NEXT


12.1.4. Выборка и преобразование элементов двумерного массива.


12.1.4.1. В заданном массиве K(N,F) найдите сумму элементов в каждой строке. Сформируйте одномерный массив Q(N), содержащий полученные суммы. Элементы K(I,J) сформируйте случайным образом


INPUT “Количество строк”; N

INPUT “Количество столбцов”; F

FOR I=1 TO N

S=0

FOR J=1 TO F

K(i,J)=int(rnd(1)*10)

COLOR J

PRINT K(I,J);

S=S+K(I,J)

NEXT

Q(I)=S

PRINT

NEXT

FOR I=1 TO N

COLOR I

PRINT Q(I);

NEXT

PRINT




















12.1.4.2. Сформируйте двумерную матрицу A(N,N) случайным образом. Элементы равные «3» замените нулем. Подсчитайте количество таких элементов.


Input N

INPUT M

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RND(1)*10)

IF A(I,j)=3 THEN A(I,J)=0:K=K+1

PRINT A(I,J);

NEXT

PRINT

NEXT

PRINT “Таких элементов”; K


12.1.4.3. Сформируйте двумерную матрицу A(N,N) случайным образом. Элементы по диагонали замените «9».


INPUT N

INPUT M

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RND(1)*10)

PRINT A(I,J);

IF I=J OR I+J=N+1 THEN A(I,J)=9

NEXT

PRINT

NEXT

FOR I=1 TO N

FOR J=1 TO N

PRINT A(I,J);

NEXT

PRINT

NEXT


12.1.4.4. Сформируйте двумерный массив A(N,N) случайным образом. Элементы первого и последнего столбца замените «1». Элементы первой и последней строки замените «0».


FOR I=1 TO N STEP N-1

FOR J=1 TO M

A(I,J)=1

NEXT

NEXT

FOR J=1 TO M STEP M-1

FOR I=1 TO N

A(I,J)=0

NEXT

NEXT


12.1.4.5. Двумерный массив заполнить «0» и «1» в шахматном порядке.


INPUT N

INPUT M

DIN A(N,M)

K=0

FOR I=1 TO N

FOT J=1 TO M

IF K=0 THEN A(I,J)=0:K=1 ELSE A(I,J)=1:K=0

NEXT

NEXT

FOR I=1 TO N

A(I,1)=1

A(I,M)=1

NEXT

FOR J=1 TO M

A(I,J)=0

A(M,J)=0

NEXT


12.1.4.6. Сформируйте массив A(N,N) случайным образом. Подсчитайте количество строк, сумма которых делится на 2 без остатка и количество столбцов, сумма которых 2*N.


INPUT N

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RND(1)*10)

NEXT

NEXT

OST=0

FOR I=1 TO N

OST=0

S1=0

K1=0

FOR J=1 TO N

S1=S1+A(I,J)

NEXT

OST=S1 MOD 2

REM S1/2=INT(S1/2)

IF OST=0 THEN K1=K1+1

NEXT

FOR J=1 TO N

S2=0

K2=0

FOR I=1 TO N

S2=S2+A(I,J)

NEXT

IF S2=2*N THEN K2=K2+1

NEXT

PRINT “Кол-во столбцов, удовлетворяющих условию”; K2

Print “Кол-во строк, удовлетворяющих условию”; K1


12.1.4.7. В массиве A(N,M) все числа различны. В каждой строке выбирается минимальный элемент, затем среди этих чисел выбирается максимальный. Напечатайте номер строки K массива Q(N), в которой расположено выбранное число.


INPUT “Введите количество строк ”; N

INPUT “Введите количество столбцов”; M

DIM Q(N)

DIM A(N,M)

FOR I=1 TO N

FOR J=1 TO M

COLOR J

A(I,J)=INT(RND(1)*10)

PRINT A(I,J);

NEXT

PRINT

NEXT

FOR I=1 TO N

MIN=A(I,1)

FOR I=2 TO N

IF MINA(I,J) THEN MIN=A(I,J):K=J

NEXT

PRINT “В ”; K; “столбце ”; I; ”строки находится минимальный элемент”; MIN

Q(I)=MIN

NEXT

MAX=Q(1)

FOR I=2 TO N

IF MAX

NEXT

PRINT “В ”;K;”строке находится ”;MAX









































































12.1.4.8. Сформируйте двумерную матрицу А(N,N) случ. образом. Элементы, равные"3", замените нулем. Подсчитайте кол-во таких элементов.

INPUT N

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(KND(1)*10)

IF A(I,J)=3 THEN A(I,J)=0;K=K+1

PRINT A(I,J);

NEXT

PRINT

NEXT

PRINT "таких элементов";К


12.1.4.9. Сформируйте двумерную матрицу А(N,N) случ. образом. Элементы по диагонали замените «9».


INPUT N

INPUT M

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RND(1)*10)

PRINT A(I,J)

IF I=J THEN A(I,J)=9

OR I+J=N+1

NEXT

PRINT

NEXT

FOR I=1 TO N

FOR J=1 TO N

PRINT A(I,J)

NEXT

PRINT

NEXT

FOR I=1 TO N

A(I,I)=1

A(I,n+1-I)=1

NEXT

12.1.4.10. Сформируйте 2-мерный массив A(N,N) случайным образом. Элементы


1-й и последней строки замените”0”. 1-го и последнего столбца замените “1”.

FOR I=1 TO N STEP N-1 FOR J=1 TO M STEP M-1

FOR J=1 TO M FOR I=1 TO N

A(I,J)=0 A(I,J)=1

NEXT NEXT

NEXT NEXT


Произвольных столбцов заменить “1”. Произвольных стpок заменить “0”.

FOR I=1 TO N FOR J=1 TO M

A(I,J)=1 A(I,J)=0:A(M,J)=0

A(I,M)=1 NEXT

NEXT

12.1.4.11. Сформируйте массив A(N,N) образом. Подсчитайте кол-во строк, сумма эл-в которых делится на 2 без остатка и кол-во столбцов, сумма которых 2 * N.


INPUT M

FOR I=1 TO N

COLOR I

FOR J=1 TO N

A(I,J) = INT (RND(1)*10);

NEXT

PRINT

NEXT

OST=0

FOR I=1 TO N

OST=0:S1=0:K1=0

FOR J=1 TO N

S1=S1+A(I,J)

NEXT

OST=(S1)MOD(2)

IF OST=0 THEN K1=K1+1

NEXT

FOR J=1 TO N

S2=0: K2=0

FOR I=1 TO N

S2=S2+A(I,J)

NEXT

IF S22*N THEN K2=K2+1

NEXT

PRINT “кол-во столбцов, удовл. усл ="; К2;"кол-во строк удовл. усл="; К1


*

I=I+1

MAX=Q(I)

K=I

Задания на преобразование элементов двумерного массива.


  1. В двумерном массиве каждую вторую строку заменить “0”. Каждый второй столбец заменить “1”.

  2. В двумерном массиве произвольных чисел B(4,7) поменять местами второй и пятый столбцы.

3. В двумерном массиве A(N,N) сумма элементов по строкам равно ли сумме элементов по столбцам?.

4. В двумерном массиве в каждой строке занулите каждый третий элемент. А в каждом втором столбце каждый второй элемент замените 9.

5.В двумерном массиве у каждого второго элемента каждой второй строки извлечь корень. Изменить цвет этих элементов. В нечетных строках каждый третий элемент возвести в степень равную номеру строки.

6.Сформируйте массив C(N,N), где

I!

C(I,S)= S!*(I-S)! , при I S


0 , при I

7.Сформировать двумерный массив и заполнить числами Пифагора

a2+b2=c2

Например 32+42=52

Тогда массив будет иметь вид 3;4;5;*2

6;8;10;*3

9;12;15*4

12;16;15*4

т. е. первую тройку чисел.

8.Создать A(N,N)-двумерный массив, где каждый элемент получается геометрической прогрессией с шагом 2,(самый 1-ый элемент=7). Сформировать массив B, в который войдут все простые числа из первого.

9.В заданном A(N,N) найдите произведение элементов в каждом столбце, сформируйте одномерный массив содержащий полученные произведения по убыванию.

10.В заданном массиве A(N,N) элементов элементов в каждой строке. Сформировать два одномерных массива (содержащих четные и нечетные элементы) расположенные по возрастанию элементов.

11.В массиве X(M,N) все числа различны. В каждой строке выбирается минимальный элемент, затем среди этих чисел выбирается максимальный. Напечатать номер строки массива Х, в котором каждый элемент встречается несколько раз. Развернув его по строкам, удалите все повторяющиеся и сверните обратно по столбцам в массив В.

12.Создать двумерный массив A(N,N), где по строке каждый элемент

получается арифметической прогрессией с шагом 3,( самый первый элемент =2).

13.Сформировать одномерный массив B(N),в который войдут все числа из первого, кратные 2.

14.В двумерном массиве в каждой строке выбирается минимальный,

за тем среди этих чисел выбирается максимальное. Напечатайте номер строки массива A, в котором расположено выбранное.

15.Переформируйте А(N,N) так, чтобы строки нового массива располагались по убыванию их поэлементных сумм.

16.Выясните, является ли предложенный двумерный массив размером N*N магическим квадратом, т .е. массивом , суммы элементов которого по строкам , по столбцам и по обоим диагоналям равны.

17.В двумерном массиве А(N,N) по каждой строке найти количество чисел 5.Сформировать одномерный массив С, содержащий эти числа.

По каждому столбцу найти числа , кратные 9. Сформировать массив В, содержащий эти числа.

Все массивы вывести в разном цвете.

18.Рост студентов группы представлен в виде таблицы (2 * 30). Определить средний рост.

19. Успеваемость студентов группы представлена в виде таблицы(30 *10).Определить среднюю успеваемость по каждому предмету и средний балл каждого студента.

20. Сформируйте массив А(N,N), где каждый элемент формируется геометрической прогрессией по любым двум ее членам, номера которых известны.

21. Сформируйте массив А(N,N),где каждый элемент формируется арифметической прогрессией по любому члену прогрессии (номер которого известен) и разности прогрессии.

22. Сформируйте двумерный массив А(N,N), где каждый элемент формируется геометрической прогрессией по любому члену прогрессии, номер которого известен и равен знаменателю прогрессии.

23.Введите таблицу (10;10). Найдите произведение элементов в каждом столбце. Сформируйте строку, содержащую полученные произведения по убыванию.

24.Двумерный массив заполнить «0» и «1» в шахматном порядке.

25.Транспонируйте произвольный двумерный массив, т.е. поменяйте нумерацию его элементов

А(i, j)=А(j, i).

Дополнительные массивы не использовать.

26.Создать таблицу (20 * 20), у каждого второго элемента каждой второй строки извлечь корень. Изменить цвет этих элементов. В нечетных строках каждый третий элемент возвести в степень, равную номеру строки.

27.Сформеруйте двумерный массив N *N, где N лежит в пределах от 2 до 9,представляющий собой таблицу для N-ричной системы исчисления.

28.Создать таблицу(20*20), где каждый элемент получается геометрической прогрессией с шагом 2,(самый 1-ый элемент=7).

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

29.Сформируйте 2-мерный массив A(N,N) случайным образом.

Элементы 1-го и последнего столбца замените “1”.

Элементы 1-ый и последней строки заменить “0”

30.Создать таблицу(20;20)

По каждой строке найти числа, больше 5.(Ввести эти числа).

По каждому столбцу найти числа, кратные 9. Вывести эти числа .

Все массивы вывести в разном цвете.

31.В двумерном массиве 2 и 5 столбец поменяйте местами, 1 и 4 строку поменяйте местами.

32.Переформируйте A(N,N) так, чтобы столбцы нового массива располагались по возрастанию их поэлементных сумм.

33.Сформируйте массив A(N,M) случайным образом. Подсчитайте количество строк, сумма которых делиться на 2 без остатка и количество столбцов, сумма элементов которых 2*N.

34.Введите таблицу(10;10) элементов. Найдите сумму элементов в N-ой строке. Сформируйте строку, содержащую полученные суммы, расположенные по возрастанию.

35. Сформировать двумерный массив A(N,N) и заполнить цепочкой цифр 1,2,3,4,5,6,7,8,9.


13. Замечательные алгоритмы.

13.1. Куб любого натурального числа равен сумме N нечетных чисел, следующих по порядку за числами , сумма которых составила куб числа N-1.


1³=1 J=1

2³ =3+5 FOR I=1 TO N

3³=7+9+11 PRINT I+”^3”;

4³=13+15+17+19 FOR K=1 TO I

5³=21+23+25+29 PRINT J , “ +”;

J=J+2

NEXT

PRINT “ “

NEXT

9.2.Возведение в квадрат без операции умножения. Т. е. Квадрат любого натурального числа N равен сумме N первых нечетных чисел.

1²=1 FOR I=1 TO N

2²=1+3 PRINT I + “^2”

3²=1+3 +5 FOR K=1 TO I-1

4²=1+3+5+7 PRINT J+2; “+”;

5²=1+3+5+7+9 NEXT

PRINT J+2

NEXT

13.3. Пифагоровы числа. Т. е. умножаем каждое из чисел основной тройки на любое натуральное число, снова получим числа Пифагора.

A²+B²=C² (3²+4²=5²)

3 4 5

6 8 10

9 12 15

12 16 20

15 20 25

Найти все Пифагоровы числа

  1. а=3: в=4: c=5

20 FOR I=2 TO 1000

30 PRINT а;”^2+”:b;”^2=”;c;”^2”

40 a=a*I

  1. b=b*I

60 c=c*I

70 IF C1000 GO TO 90

  1. NEXT

  1. END









Как продолжение темы: “Замечательные свойства чисел” рассмотрим несколько исторических алгоритмов . И на их примере используем условные операторы и операторы перехода.


13.4. Алгоритм Евклида (нахождения НОД).

10 INPUT A

20 INPUT B

30 IF AB THEN C=A mod b:a=c ELSE c=b mod a:b=c

40 IF A=0 THEN PRINT “НОД=”;B:END

50 IF B=0 THEN PRINT “НОД=”;A:END

60 GO TO 30

























13.5. Наименьшее общее кратное. Из 13.4. используем алгоритм НОД.

10 INPUTA

15 INPUTB

20 A1=A

25 B1=B

30 IF AB THEN C=a MOD B:a=c ELSE C=B MOD А:B=С

40 IF A=0 THEN C=A1/B*B1:PRINT C:END

50 IF B=0 THEN C=A1/B*B1:PRINT C:END

60 GO TO 30


13.6. Числа Фибоначчи. Дана последовательность чисел, причем каждый следующий равен сумме предыдущих. Для этой последовательности выполняется A(I)=A(I-1)+A(I-2). Получается последовательность чисел 0,1,1,2,3,5,8,13,21…

INPUT N

DIM A(N)

A(0)=0

A(1)=1

FOR I=2 TO N

A(I)=A(I-1)+A(I-2)

NEXT

FOR I=0 TO N

PRINT A(I);

NEXT

PRINT

13.7. Алгоритм Горнера. Алгоритм получения N-той последовательности многочлена Ньютона: Y=A0*XN+A1*XN-1+…AN-1*XN.

S1=AI-2-X+AI-1

………………….

SI=S I-1*X+A I

Найти до N-того элемента последовательности.

INPUT N

DIM A(N) :INPUT X:DIM S(N)

FOR I=0 TO N

A(I)=INT(RND(1)*10)

NEXT

S(1)=A(0)*X+A(1)

FOR I=2 TO N

S(I)=S(I-1)*X+A(I)

NEXT

FOR I=1 TO N

PRINT S(I);

NEXT

PRINT

14. Занимательные задачи.

14.1. Какой должен быть % роста вклада в банке, чтобы через 10 лет вклад удвоился?

10 INPUT “Размер вклада ?”;S

20 INPUT “% ?”;X

30 S1=0

40 S=0

50 FOR I=1 TO 10

60 S1=(S*X)/100

70 S=S+S1

80 NEXT

90 PRINT S

100 IF S2*S1 THEN PRINT “Повысьте % т. к. вклад достиг ”;S1;”руб.”

110 IF S=2*S1 THEN PRINT “Вы сделали правильную % ставку, вклад удвоился”

120 IF SСнижайте % ,т. к. вклад достиг ”;S1;”руб.”


14.2. Продавец Несчитайкина просит разработать для нее программу расчета стоимости (по стоимости 1кг какого-либо продукта) 50г. этого продукта, 100,150,200,…,1000,2000,10000г.

INPUT “Сколько стоит 1 кг? ”;N

S=N/1000

PRINT “Стоимость : вес”

FOR I=50 TO 1000 STEP 50

PRINT I*S;TAB(10);I

NEXT

FOR I=2000 TO 10000 STEP 1000

PRINT I*S;TAB(10);I

NEXT


*Задания:

  1. Совершенные числа равны сумме своих делителей, меньших, чем оно само.

Например: 28=1+2+4+7+14

Найти все совершенные числа

==============================================================

  1. Автоморфным называется такое число, которое равно последним цифрам своего квадрата. Например:

52=25

252=625

Найти все автоморфные числа 4000. Сформировать A(N,2), где N- количество таких чисел, A(N,1)-само число=625, A(N,2)-его квадрат-5.

===============================================================

  1. Близнецы- это два простых числа, разность которых=2.

Например: 5 и 7; 11 и 13; 17 и 19…

Найти всех близнецов

==============================================================

  1. Числа Фибоначчи, это числа A(I)=A(I-1)+A(I-2), т. е. каждое число равно сумме предыдущих. Т. е. получается цепочка: 1,1,2,3,5,8,13,21,34…

Заполнить одномерный массив числами Фибоначчи.

===============================================================

  1. Компания по снабжению электроэнергией “Получиэнерго” взимает плату с клиентов по следующему тарифу:

8 коп. за 1кВт/ч для первых 300кВт/ч,

6 коп. за 1кВт/ч для следующих 300кВт/ч,

5 коп. за 1кBт/ч для следующих 400кВт/ч,

3 коп. за 1кВт/ч для всей энергии, потребляемой свыше 1000кВт/ч.

Написать программу для вычисления платы за электроэнергию для введенной величины потребленной энергии.. Приспособить ее для расчета с N клиентами.

===============================================================

  1. Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2см, а каждый пасмурный день опускается на 1см. В начале наблюдений улитка находилась в Aсм от земли Bм дереве. Имеется тридцатиэлементный одномерный массив, содержащий сведения о том, был ли соответствующий день наблюдений солнечным или пасмурным. Написать программу, определяющую местоположение улитки к концу тридцатого дня наблюдений.

===============================================================

  1. Дан натуральный массив S(N). Постройте на экране дисплея N столбиков, чтобы высота i-того столбика равна S(I).

===============================================================

  1. В одномерном массиве A содержится график движения электропоездов от Вятских Полян до Казани в виде:1 элемент-время движения до первой остановки;2 элемент-время стоянки на первой остановки;3 элемент-время движения до второй остановки;4 элемент-время стоянки на второй остановке; и так далее… последний элемент-время движения от предпоследней остановки до Казани. В одномерном массиве B содержится подобный график движения электропоездов от Казани до B.-Полян (количество остановок совпадает). Известно время выхода(часы минуты) одного поезда из B.-Полян в Казань и время выхода другого поезда из Казани в В.-Поляны. Определить момент встречи поездов. Когда произойдет встреча : на остановке или в пути

===============================================================

  1. Ежедневно Незнайка учит половину от суммы выученных за два предыдущих дня иностранных слов и еще два слова.. Знайка считает, что силы Незнайки иссякнут, когда нужно будет выучить 50 слов в день. Написать программу, определяющую, через сколько дней иссякнут силы у Незнайки, если в первые два дня он выучил по одному слову.

===============================================================

  1. Возведите число A в степень N (где N-натуральное) пользуясь только операцией сложения. Например: 34=3333

шаг1 3+3+3=9

шаг2 9+9+9=27

шаг3 27+27+27

===============================================================11. В двух сосудах по 7,5л. машинного масла. В начале из первого сосуда взяли 20% имевшегося там масла и налили во второй сосуд. Затем из второго взяли 20% оказавшегося там масла и налили в первый сосуд. В каком сосуде масла стало больше и на сколько литров.

===============================================================

  1. Царевна-лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и еще два комара. Написать таблицу, определяющую, через сколько дней количество съеденных комаров превысит 100, если в первый день было съедено 120 комаров..

===============================================================

  1. Чтобы выявить самого драчливого разбойника, Али-Баба провел турнир, во время которого каждый его разбойник подрался с каждым из оставшихся. За победу присваивалось 7 очков, за ничью – 5, за поражение – 2. Результаты турнира были сведены в таблицу. Написать программу, определяющую победителя турнира.

===============================================================

  1. На каждом следующем дне рождения Вини Пух съедает столько же пищи, что и на двух первых днях рождения у Пяточка и Кролика он съел по 100 г. пищи. Написать программу (алгоритм), определяющую, сколько килограммов пищи съест Вини Пух на пятнадцатом дне рождения.

===============================================================

  1. Одноклеточная амеба каждые три часа делится на две клетки. Определить сколько клеток будет через 3, 6, 9, 12, …24 часа.

===============================================================

  1. От острова Буяна до царства славного Салтана месяц пути. Капитан корабля записывает в вахтенный журнал количество миль,пройденных за день.Написать программу, определяющую, в какую десятидневку пройден больший путь.

===============================================================

  1. Царевна Несмеяна каждому из претендентов на ее руку и сердце задает М вопросов. За очень понравившийся ответ она присуждает два балла, за не очень понравившийся ответ – 4, за не очень не понравившийся ответ – 6 баллов, за очень не понравившийся ответ – 8.Написать программу, определяющую самого понравившегося (набравшего наименьшее количество баллов) претендента.

===============================================================

  1. Когда-то давным давно изобретателю шахмат предложили любую награду, какую он пожелает. Мудрец попросил на 1-ую клетку шахматной доски положить одно зернышко пшеницы, на 2-ую – в два раза больше, в 3-ю еще в два раза больше и так до последней, 64-й клетки.1 Сколько зерен пшеницы потребовал мудрец?2 Пусть 10 зерен весят 1 г. Сколько пшеницы в кг, тоннах получил мудрец?

===============================================================

  1. Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый следующий день рождения он удваивал свой подарок и прибавлял столько долларов, сколько лет мне исполнилось. Написать программу, подсчитывающую общую сумму денег, подаренных к N-му дню рождения и указывающую, к какому дню рождения сумма подарка превысит 100$.

===============================================================

  1. Татьяна Ларина, читая очередной французский роман, подсчитала сумму номеров прочитанных страниц.. Обозначим эту сумму Q. Написать программу определяющую номер последней прочитанной страницы

===============================================================

  1. Говорят, что число в названии «Сказки тысячи и одной ночи» записано в двоичной системе счисления. Перевести его в десятичную и написать программу выполняющую подобные переводы.

===============================================================

  1. В одномерном массиве хранятся результаты социологического опроса. Написать программу для подсчета количества результатов, отклоняющихся от среднего не более, чем на 7 %

  2. Составить программу нахождения координаты середины отрезка (a,b). Проверить для случая a=0,5 b=2

==============================================================

  1. Три точки на плоскости заданы своими координатами A(x1,y1), B(x2,y2), С(x3,y3)Определить, лежат ли они на одной прямой

===============================================================

  1. Три вершины A(x1;y1); B(x2;y2); C(x3;y3) треугольника заданы своими координатами. Составьте схему и программу вычисления площади треугольника

===============================================================

  1. В массиве x(N) каждый элемент равен 0,1 или 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем все единицы и, наконец, все двойки (дополнительного массива не заводить).

===============================================================

  1. Какой д/б. процент роста вклада в банке, чтобы через 10 лет вклад удвоился при инфляции 100% в год?

===============================================================

  1. В таблице хранятся % вклада в банке. Найти ячейки, отклоняющиеся от среднего не более, чем на 12 %.

===============================================================

  1. Рост учеников класса представлен в виде массива. Рост девочек записан со знаком “+”, мальчиков-знаком “-“. Определить средний рост мальчиков.

===============================================================

  1. В массиве хранятся данные о температуре окружающего воздуха за месяц. Определить самую холодную декаду месяца.

===============================================================

  1. Задан список участников соревнований по плаванию и их результаты. Расположить результаты и фамилии участники в соответствии с занятым местом.

===============================================================

  1. Найти, вывести на экран все трехзначные числа, сумма кубов которых равна самому числу. Например:

43+03+73=407

13+53+33=153

15. Обработка символьных данных.

Команды символьной обработки данных.

STR$(X) – Перевод числового значения в символьное значение.

VAL(X$) – Преобразование символа в числовое значение.

LEN(X$) – Число позиций в символьной строке.

K=INSTR(X$,Y$) – Номер позиции, в которой впервые найден символ “y” в строке “x“.

K=INSTR (I, X$,Y$) – Тоже с позиции I, а не с первой.

LEFT$(X$,I) – выборка I символов в символьной переменной х слева.

RIGHT$(X$,I) – выборка I символов в переменной х справа.

MID$($m, n) – выбор n символов начинается с т в переменной х.

TAB № – позиционирование курсора на экране.


15.1. Ввести с клавиатуры текст. Подсчитать, сколько раз вошла каждая буква.

05. DEFSTR T,B

10. INPUT ''ТЕКСТ”; T

20. K=LEN(T)

30. FOR I=1 TO K

40. B= MID$(T,I1)

50.W=1

60.FOR J=I+1 TO K

70.P=INSTR(J,T,B)

80.IF P0 THEN MID$(T,P,1)=” “

90.W=W+1

100.NEXT

110.PRINT”буква”;B;”встретилась”;W;”раз”

120.NEXT


15. 2.Бегущее слово.

INPUT “текст”;T$

K=LEN(T$)

FOR I=1 TO 80

PRINT (TAB 80-K-I);T$;SPC(80-I);CHR$(LOCATE 5,80-K-I)

NEXT


15.3.Найти и вывести все трехзначные числа, сумма кубов цифр которых равна самому числу. Например: 43 +03+73=407

13+53+33=153

33+73+03=370

33+73+13=371

DEFSTR L, P, S, F

FOR I=100 TO 999

F= STR$(I)

F= MID$(F,2,3)

L= MID$(F,1,1)

P= MID$(F,3,1)

S= MID$(F,2,1)

L1= VAL(L$)

P1=VAL(P$)

S1= VAL(S$)

IF I= L1^3+P1^3+S1^3 THEN PRINT I

NEXT


15.4. Имена нескольких людей заданы в следующем порядке Федор Семенович Кирилов, Александр Васильевич Степанов

Вывести в следующем виде Кирилов Ф.С.

Степанов А.В.

INPUT “Ф.И.О” TO FAM$

K=LEN(FAM$)

P=INSTR(FAM$,” “)

P1=INSTR(P,FAM$,” “)

OT$=MID$(FAM$,1,1)

IM$=MID$(FAM$,P+1,1)

K=K-P1

PRINT MID$ (FAM$,P1+1,K );” “;IM$;” “;OT$“ “.


15.5. Занимательная задача. Посмотрите результат.

INPUT “число”;C$

K=LEN(C$)

S=0

FOR I=1 TO K

PEP=VAL(MID$(C$,I,1))

S=S+PER*10^(K-I)

NEXT

PRINT ” 1001 в десятичном виде=”;S


15.6. Занимательная задача. Задан список абитуриентов A (N,2), где A (N,1)-фамилия, A(N,2)-оценка. Учитывая, что к следующему экзамену с «2» не допускают вывести список абитуриентов.


INPUT N

DIM A(N,2)

FOR I=1 TO N

INPUT “фамилия”;A (I,1)

INPUT “оценка”;A (I,2)

NEXT

FOR I=1 TON

IF A(I,2)”2” THEN PRINТ “ ДОПУЩЕН ;A(I,1)

NEXT


15.7. Составить список студентов группы.


10. INPUT “Количество учеников класса”;N

20. DEFSTR M

30. DIM M(N)

40. FOR I=1 TO N

50. INPUT “Введите фамилию”; M(I)

60. NEXT


15.8. Счастливое число L1*L2=P1*P2


10 FOR I = 1111 TO 9999

20 M$= STR$(I)

30 M$= MID$(M$,2,4)

40 L1$=MID$(M$,1,1)

50 L2$=MID$(M$,2,1)

60 P1$= MID$(M$,3,1)

70 P2$= MID$(M$,4,1)

  1. L1= VAL(L1$)

  2. L2 = VAL(L2$)

  3. P1 = VAL (P1$)

  4. P2 =VAL (P2$)

80 IF (L1*L2=P1*P2) THEN PRINT “счастливое число”; M

90 NEXT

15.9. Напишите про-му: Cлово “Вятские поляны”

Вятские Поляны M$=”Вятские Поляны”

Вятские Полян N=LEN(M$)

Вятские Поля FOR I = 0 TO N

Вятские Пол Q = N - I

Вятские По P$=LEFT$ (M$, Q)

Вятские П PRINT P$

Вятские NEXT

Вятски

Вятск

Вятс

Вят

Вя

В

15.10. Записать все четырехзначные числа в десятичной записи, в которых нет двух одинаковых цифр.


10 DEFSTER S,L

20 FOR I=1000 TO 9999

30 S=STR$(I)

40 S=MID$(S2,4)

50 L= LEFT$(S,1)

60 P=INSTR(2,S,L)

70 IF P0 GOTO 150

80 L2¤ =MID$(S,2,1)

85 P=INSTR (3,S,L2$)

  1. IF P0 GOTO 150

  1. L3=MID$(S,3,1)

120 P=INSTR (4,S,L3$)

130 IF P0 GOTO 150

140 PRINT “число”;S

150 NEXT


15.11. Вывести список учеников класса и количество букв в каждой фамилии.


LPRINT “список учеников класса”

LPRINT “№п/п: Ф. И. О. :Количество символов“

FOR I=1 TO N

PRINT I

PRINT TAB(5);FIO$(I)

K=LEN(FIO$(I))

PRINT TAB (30);K

NEXT


15.12. Сколько раз встречается фамилия «Иванов» в тексте.


100 DEFINT W,P

120 DEFSTR Q, F

130 Q = “Иванов”

135 w = 0

  1. FOR I = 1 TON

150 P = INSTR(F(I),Q)

  1. IF P 0 THEN W = W+1

170 NEXT

180 PRINT “ФАМИЛИЯ “;Q;” встречается”;W;“раз”


15.13. Вывести на экран все двузначные числа которые не содержат 2 одинаковых цифр


DEFSTR F,L,P

FOR I = 10 TO 99

F = STR$(I)

L = LEFT$(F,1)

P = RIGHT$(F,1)

IF LP THEN PRINT I

NEXT


15.14. Перекодировка

DEFSTR T, Z

INPUT “ВВЕДИТЕ ТЕКСТ”; T

K = LEN (T)

FOR I = 1 TO K STEP 2

Z = MID$ (T,I+1,1)

MID$ (T,I+1,1)=MID$(T,I 1)

MID$(T,I,I) = Z

NEXT

PRINT T


15. 15.Составьте блоксхему к данной программе


DEFSTR P, L, F

FOR I = 10 TO 99

F = STR$(I)

F = MID$(F,2,2)

L = LEFT$(F,1)

P = RIGHT$(F,1)

IF LP THEN PRINT F+” ; “

NEXT



15.16. Составьте блоксхему к данной программе


DEFSTR L,S

FOR I = 1000 TO 9999

S = STR$(I)

S = MID$(S,2,4)

L = LEFT$(S,1)

P = INSTR(2,S,L)

IF PO GOTO 150: PRINT I;” ; “

L2$= MID$(S,2,1)

P=ISTR(3,S,L2$)

IF P0 GOTO 150

L3$=LEFT$(S,3)

P=INSTR(4,S,L3$)

IF P0 GOTO 150

PRINT “число=”;S


15.17. Счастливое число.

DEFSTR

FOR I = 1000 TO 9999

S = STR$(I)

L1=MID$ (S,1,1)

L2=MID$(S,2,1)

P1 = MID$(S,3,1)

P2 = MID$(S,4,1)

IF VAL(L1$) *VAL(L2$) = VAL(P1$) * VAL(P2$) THEN PRINT “Счастливое число”;I

NEXT


15.18. Сколько раз встречается данная буква в данном тексте.


DEFSTR T

INPUT “Введите текст”;T

K = LEN$(T)

FOR I = 1 TO K

P = MID$ (T,I,1)

W = 1

FOR J= I+1 TO K

P = INSTR (J,T,B)

IF P0 THEN MID$(T,P,1) = “ “: W = W+1

NEXT

IF P” “ THEN PRINT “буква”;B;”встречается”;w;”раз”

NEXT



*Задания на символьную обработку данных.


  • Написать программу нахождения среди четырехзначных чисел таких, в которых 1 и 3 цифры четные, а 2 и 4 нечетные. Вывести на экран.

===========================================================================

  • Написать программу нахождения среди шестизначных чисел таких, в которых сумма первых двух = третьему, а сумма 4 и 5-ой цифр = шестой цифре. Вывести на экран.

===========================================================================

  • Написать программу нахождения среди четырехзначных чисел таких, в которых первые две цифры четные, а вторые две кратные 3. Вывести на экран.

===========================================================================

  • Заменить в данном тексте все слоги «он» на «но»

===========================================================================

  • Определить, входит ли данная последовательность символов в текст.

===========================================================================

  • В заданном тексте заменить слово «ребенок» на «дети».

===========================================================================

  • Заменить в данном тексте последовательность символов «дом» на «род».

===========================================================================

  • В заданном тексте заменить многоточие точкой.

===========================================================================

  • Выяснить, имеются ли в заданном тексте 2 подряд идущих одинаковых символа.

===========================================================================

  • Определить количество слов в заданном тексте.

===========================================================================

  • В заданном тексте подсчитать количество букв «а» в последнем слове.

===========================================================================

  • Определить баланс скобок в данном тексте. Каких скобок не хватает в случае дисбаланса?

===========================================================================

  • В данном последовательности символов удалить все «(», заменить пробелами.

===========================================================================

  • В заданном тексте заменить все . на , все ! на ?

===========================================================================

  • В заданном тексте найти количество слов, начинающихся с данном буквы.

===========================================================================

  • Удалить в заданном тексте все буквы «а».(Заменить пробелами).

===========================================================================

  • В заданном тексте удалить все * , а остальные символы удвоить.

===========================================================================

  • В заданном тексте удалить лишние пробелы между словами. Текст сжать.

===========================================================================

  • Определить является ли данное слово перевертышем.

===========================================================================

  • В данной последовательности символов удалить все запятые Текст сжать.

===========================================================================

  • В заданном тексте найти самое короткое слово.

===========================================================================

  • Удалить в заданном тексте все буквы «а». Текст сжать.

===========================================================================

  • Выясните, сколько раз встречается каждая буква алфавита в заданном тексте.

===========================================================================

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

===========================================================================

  • Написать программу нахождения среди трехзначных чисел таких, в которых сумма первых двух делится на третье. Сформировать массив, содержащий такие числа.

===========================================================================

  • Написать программу нахождения среди четырехзначных чисел таких, сумма первых двух = сумме вторых двух.

===========================================================================

  • Перепишите содержимое произвольной символьной константы в обратном порядке.

===========================================================================

  • Исправьте музыкальный автомат, чтобы он понимал такие выражения: ПП2(Ч)Ц4(ш)Ц, что означает – ППЧЧЦШШЦКНЦ

===========================================================================

  • Написать программу нахождения двухзначных чисел, сумма цифр которых = 9

===========================================================================

  • По результатам сформировать массив.

===========================================================================

  • Написать программу нахождения всех трехзначных чисел, сумма цифр которых = 21.По результатам сформировать массив.

===========================================================================

  • Написать программу нахождения всех двухзначных чисел, в которых 1-я цифра кратна 3, а 2-я равна 5. По результатам сформировать массив.

===========================================================================

  • Написать программу нахождения всех трехзначных чисел, сумма цифр которых делится на 27. По результатам сформировать массив.

===========================================================================

  • Написать программу нахождения всех 4- значных чисел, в которых первые две кратны 9, а вторые две кратны 3. По результатам сформировать массив.

===========================================================================

  • В заданном тексте удалить лишние пробелы между словами. Текст сжать.

===========================================================================

  • Написать программу нахождения всех двузначных чисел, в которых первая цифра является делителем второй. По результатам сформировать массив.

===========================================================================

  • Для каждой из букв введенного с клавиатуры текста указать, сколько раз она встречается в тексте.

===========================================================================

  • В применяемом коде каждая пара букв сообщения меняется местами (промежутки между словами исключаются ). Таким образом сообщение «Встречайте меня в среду» приобретает вид «Свртчейает емян сверуд». Для этого кода все сообщения должны содержать четное число букв. Напишите программу, которая расшифрует вводимое в нее закодированное сообщение. Проверьте программу на расшифровке такого закодированного сообщения: «ИПЬСОМПСЯРАТОНДВПУЕЛ»

===========================================================================

  • Написать программу выводящую бегущие по экрану слова.

===========================================================================

  • Вывести на экран все двузначные числа, которые не содержат 2 одинаковых цифр.

===========================================================================

  • Вывести все «счастливые билеты» то есть те четырехзначные числа, в которых произведение первых двух цифр = произведению вторых двух цифр.

===========================================================================

  • Найти, вывести на экран все трехзначные числа, сумма кубов которых = самому числу. Например: 4 3+03+73=407

13+53+33=153

………………

1000

===========================================================================

  • Имена нескольких людей заданы в следующем виде: Федор Семенович Степанов, Александр Васильевич Кириллов. Вывести в следующем виде: Степанов Ф. С., Кириллов А.В.

===========================================================================

  • Написать программу нахождения количество двузначных чисел, сумма цифр которых = 9.

===========================================================================

  • Написать программу нахождение всех трехзначных чисел, сумма цифр которых =21.


16. Графические возможности.

До сих пор вы работали в текстовом режиме монитора

Screen 0

Чтобы перейти в графический режим необходимо перевести экран с помощью команд:

Screen 1 *(320x200) - разрешение (размер экрана в пикселях)

Screen 2 *(640x200) - разрешение (размер экрана в пикселях)

Screen 3 *(720x348) - разрешение (размер экрана в пикселях)

Screen 4 *(640x400) - разрешение (размер экрана в пикселях)

Screen 7 *(320x200) - разрешение (размер экрана в пикселях)

Screen 8 *(640x200) - разрешение (размер экрана в пикселях)

Screen 9 *(640x350) - разрешение (размер экрана в пикселях)

Screen 10 *(640x350) - разрешение (размер экрана в пикселях)

Screen 11 *(640x480) - разрешение (размер экрана в пикселях)

Screen 12 *(640x480) - разрешение (размер экрана в пикселях)


Синтаксис команд

Screen 9

Color c1, c2 *(цвет линий, цвет фона)

Pset (x, y), c

Line (100,150)-(160,180), c, bf

Circle [step] (x, y), r, c, вырезать, оставить, k

*(0kcжатие по вертикали, k1-по горизонтали.)

R – радиус в пикселях

[step] – задаются координаты по отношению к текущей

графичекой позиции курсора

(x, y) – координаты центра

С – цвет (цифра от 0 до 15)

Вырезать, оставить – начало угловой дуги,конец угловой

Дуги, отношение y/x

16.1 Шаблон программы рисования кругов или овалов

for i=1 to 15

Circle (x+i*10, y+i*10), r, c, вырезать, оставить, k

Next


Примеры программ

16.2.

For x=-100 to 100 step 0.1

Pset (x*10+320, (-x^2)*10+250)

next


===================================================

16.3

For x=-100 to 100 step 0.1

Pset (x*10+320, sin(x)*10+250)

next


16.4

x1=320

y1=150

x2=150

y2=250

x3=500

y3=200

for i=0 to 15

color i

line (x1+i*10,y1+i*10)-(x2+i*10,y2+i*10)

line (x2+i*10,y2+i*10)-(x3+i*10,y3+i*10)

line (x1+i*10,y1+i*10)-(x3+i*10,y3+i*10)

next


16.5

for i=1 to 15

Line (100+i*10,150+i*10)-(160+i*10,180+i*10), c, bf

Next

================================================================

  1. cls: pcls

  2. rem рисование точки

  3. pset (70 , 70) , 6

  4. cls : pcls

  5. rem линия

  6. line (100,100) – (200,200) ,7

  7. cls : pcls

  8. rem линия с продолжением

  9. LINE (0, 0) – (100, 0), 7: LINE – ( 150, 50), 7

  10. rem рисование нескольких линий

  11. cls: pcls

  12. line (200,200) – (100,200) , 7 : line – (100,100)

  13. rem прямоугольник (закрашенный)

  14. cls: pcls

  15. line ( 100,100) – (200,200) , 7, b

  16. line (100,100) – (200,200) , 7, bf

  17. LINE (50, 150) – (100, 200), . BF

  18. cls : pcls

  19. rem рисование окружности

  20. circle (100,100) , 100 , 7 ,,, 1.2

  21. circle (100,100),50,7,,,1 . 3 окружности

  22. rem эллипс (по у)

  23. circle (100,100) ,50,7

  24. cls : pcls

  25. rem рисование дуги окружности

  26. pi = 4* atn (1)

  27. circle (200,200) , 100 , 7 , 0 , pi , 1 . 2

  28. circle (200,200) , 100 , 7 , - 0 , - pi , 1 . 2

  29. circle (200,100),50,7,0,2*atn (1) , 1 . 3 дуга

  30. rem сектор окружности

  31. circle (200,150) , 50,7, -0, -2*atn (1) , 1.3

  32. rem (закрашенный сектор окружности)

  33. PAINT (201, 149), 7, 7

  34. cls : pcls x, y r цвет

  35. LLIST ( печать программы ).

16.6

Rem График параболы

For x=-100 to 100 step 0.1

Pset (x*10+320, (-x^2)*10+250)

next

16.7

Rem График синусоиды

For x=-100 to 100 step 0.1

Pset (x*10+320, sin(x)*10+250)

next

16.8.

Rem Треугольники в цикле

x1=320

y1=150

x2=150

y2=250

x3=500

y3=200

for i=1 to 15

line (x1+i*10,y1+i*10)-(x2+i*10,y2+i*10)

line (x2+i*10,y2+i*10)-(x3+i*10,y3+i*10)

line (x1+i*10,y1+i*10)-(x3+i*10,y3+i*10)

next

16.9

Rem Прямоугольники в цикле

for i=1 to 15

Line (100+i*10,150+i*10)-(160+i*10,180+i*10), i, bf

Next

Rem Круги в цикле

for i=1 to 15

Circle (x+i*10, y+i*10), r, c, 0.8, 0.5, 0.7

Next


-75%
Курсы профессиональной переподготовке

Учитель, преподаватель физики и информатики

Продолжительность 600 или 1000 часов
Документ: Диплом о профессиональной переподготовке
17800 руб.
от 4450 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Алгоритмизация и программирование (0.59 MB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

© 2008-2024, ООО «Мультиурок», ИНН 6732109381, ОГРН 1156733012732

Учителю!
Огромная база учебных материалов на каждый урок с возможностью удаленного управления
Тесты, видеоуроки, электронные тетради