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

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

Пособие представляет собой сборник теоретических материало, решённых примеров, наглядно илюстрируемых блок-схемами, и рекомендуемых заданий для школьников, учащихся колледжей и техникумов, а так же для начинающих программисов

30.01.2017

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

55

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. Элементы блок-схемы.

Начало б\сх ;


Конец б\сх ;


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


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


описания ;

_ +

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


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


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







_



+













-



-



+










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

-70%
Курсы дополнительного образования

Создание динамических веб-страниц с помощью PHP и MySQL

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
1200 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Алгоритмизация и программирование в среде Basic (397.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт