Алгоритмизация и программирование
Понятие алгоритма и алгоритмических конструкций. Исполнение и анализ фрагментов программ на различных языках программирования. Понятие и блок-схема циклов и двумерных массивов, их обработка. Оценка скорости работы алгоритмов. Работа с исполнителями.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 29.10.2013 |
Размер файла | 80,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Алгоритмизация и программирование
Содержание
алгоритм программирование массив
1. Понятие алгоритма
2. Алгоритмические конструкции
3. Исполнение фрагментов программ
4. Анализ фрагментов программ. Обработка двумерных массивов
5. Оценка скорости работы алгоритмов
6. Работа с исполнителями
Список литературы
Задания для самостоятельного решения
1. Понятие алгоритма
Алгоритм - это строгая и четкая последовательность действий, выполнение которых приводит к определенному результату.
Требования к алгоритмам
1) Ориентированность на конкретного исполнителя.
2) Понятность для исполнителя (алгоритм составляется в соответствии с системой команд исполнителя).
3) Точность (каждая команда должна определять однозначное действие исполнителя).
4) Конечность (наличие конца алгоритма через конечное число шагов).
5) Результативность (получение нужного результата по окончанию алгоритма).
6) Массовость (применимость для широкого класса задач).
7) Формальность исполнения (во время исполнения алгоритма исполнитель не должен задумываться над сутью выполняемых действий).
Способы записи алгоритмов
1) Словесный (описание алгоритма с помощью слов русского языка).
Пример. Алгоритм включения компьютера.
Подойти к компьютеру.
Включить монитор.
Включить системный блок.
2) Запись на алгоритмическом языке
Пример. Алгоритм нахождения минимального из двух введенных чисел.
Начало
Ввод числа х
Ввод числа у
Если х<у
То Вывод х
Иначе Вывод у
Все
Конец
3) Блок-схема (Графическое представление алгоритма)
(будет рассмотрен ниже)
4) Программа (запись алгоритма на языке программирования)
Пример. Определение четности введенного числа.
BASIC |
Pascal |
|
INPUT “Введите целое число”; X A$=”четное” IF X MOD 2<>0 THEN A$=”не”+A$ PRINT “Введенное число ”, A$ |
Var x: Integer; Str: String; Begin Write(`Введите целое число'); ReadLn(x); If x Mod 2 <> 0 Then Str:='не'+Str; WriteLn(`Введенное число `, Str); End. |
Блок-схемы
Блок-схемы являются одним из графических способов представления алгоритмов. Блок-схема состоит из блоков, соединенных линиями. Чаще всего используются блоки следующих типов:
- выполнение операции;
- выбор направления выполнения алгоритма в зависимости от выполнения условия;
- ввод/вывод данных;
- начало и конец алгоритма.
2. Алгоритмические конструкции
Группа шагов алгоритма, выполняемых последовательно друг за другом без каких-либо условий, называется линейной последовательностью. На рис.1. изображена линейная последовательность, состоящая из двух шагов.
Ветвление представляет собой алгоритмическую конструкцию, в которой выполнение того или иного шага зависит от истинности условия. Говорят, что конструкция «ветвление» записана в полной форме, если в ней присутствуют команды как для случая истинного условия, так и для его ложности. На рис.2 приведена блок-схема ветвления в полной форме.
Конструкция ветвления в полной форме реализуется следующим образом. Если условие истинно, то выполняется действие 1, если условие ложно, то выполняется действие 2.
Если в ветвлении присутствуют действия только для истинности или только для случая ложности условия, то говорят, что она записана в неполной (в сокращенной) форме. На рис. 3 приведены две блок-схемы ветвления в сокращенной форме.
Конструкция ветвления в сокращенной форме реализуется следующим образом. Если выбрано направление, в котором отсутствует действие, то конструкция ветвления не выполняется и управление получает конструкция, следующая за ветвлением.
Цикл представляет собой алгоритмическую конструкцию, в которой многократно выполняется одна и та же последовательность шагов, называемая телом цикла. Каждое однократное исполнение цикла называется итерацией. Если тело цикла будет выполнено N раз, говорят, что произведено N итераций.
Различают два вида циклов: циклы с заранее известным числом повторений и циклы с заранее неизвестным числом повторений. Цикл с заранее известным числом повторений называют циклом с параметром. Блок-схема цикла с параметром помещена на рис.4.
В циклах с заранее неизвестным числом повторений для того, чтобы определить момент прекращения выполнения тела цикла, используется условие цикла. Если при истинности условия цикл продолжается, то такое условие называется условием продолжения цикла.
Если при истинности условия цикл завершается, то такое условие называется условием завершения цикла. В этом случае цикл продолжается до тех пор, пока условие не станет истинным.
Различают циклы с проверкой условия перед выполнением очередной итерации и циклы с проверкой условия после выполнения очередной итерации. Первые называются циклами с предусловием (рис. 5), вторые - с постусловием (рис. 6).
Алгоритмическая конструкция называется вложенной, если она содержится внутри другой алгоритмической конструкции. На рис. 7 команда ветвления вложена в цикл.
Задание 1. (Задание А8 демоверсии 2004 г.)
Алгоритмическая конструкция какого типа изображена на фрагменте блок-схемы (см. рис. 8):
Размещено на http://www.allbest.ru/
1) линейная;
2) циклическая;
3) разветвляющаяся;
4) вспомогательная.
Решение. На рис. 8 изображен ромб, внутри которого записано условие, и две исходящие из него стрелки. Фрагмент условия представляет собой блок ветвления в полной форме.
Ответ: №3.
Задание 2. (Задание А6 демоверсии 2005 г.)
Фрагмент блок-схемы (см. рис. 9) представляет алгоритм, который содержит команды ветвления:
Размещено на http://www.allbest.ru/
1) команду ветвления в сокращенной форме, в которую вложена команда ветвления в полной форме;
2) две команды ветвления в полной форме, одна из которых вложена в другую;
3) две команды ветвления в сокращенной форме, одна из которых вложена в другую;
4) команду ветвления в полной форме, в которую вложена команда ветвления в сокращенной форме.
Решение. Обе команды ветвления, входящие в блок-схему на рис. 9, - полные, при чем одна из них вложена в другую. Поэтому верным будет вариант ответа №2.
Ответ: 2.
Задание 3. (Задания А29 демоверсии 2005 г., А6 демоверсии 2006 г.)
Определите значение целочисленной переменной х после выполнения следующего фрагмента блок-схемы (см. рис.10)
1) 1;
2) 5;
3) 10;
4) 15.
Размещено на http://www.allbest.ru/
Решение. В блок-схеме присутствует повторяющаяся последовательность действий (цикл). Для того, чтобы не ошибиться при выполнении блок-схемы, составим таблицу (см. Таблицу 1), в которую будем заносить значения переменных и результаты проверки условий на каждом шаге.
Таблица 1.
№ итерации |
Значение х |
Значение у |
x<>y |
x>y |
|
0 |
55 |
75 |
55<>75 - да Выполняем тело цикла |
55>75 - нет, y:=y-x=75-55=20 |
|
1 |
55 |
20 |
55<>20 - да Выполняем тело цикла |
55>20 - да x:=x-y=55-20=35 |
|
2 |
35 |
20 |
35<>20 - да Выполняем тело цикла |
35>20 - да x:=x-y=35-20=15 |
|
3 |
15 |
20 |
15<>20 - да Выполняем тело цикла |
15>20 - нет, y:=y-x=20-15=5 |
|
4 |
15 |
5 |
15<>5 - да Выполняем тело цикла |
15>5 - да x:=x-y=15-5=10 |
|
5 |
10 |
5 |
10<>5 - да Выполняем тело цикла |
10>5 - да x:=x-y=10-5=5 |
|
6 |
5 |
5 |
5<>5 - нет Выход их цикла; завершение алгоритма |
Таким образом, переменная х после выполнения данного фрагмента программы приняла значение 5, что соответствует ответу под номером 2.
Ответ: 2.
3. Исполнение фрагментов программ
+В условии задачи приводятся эквивалентные тексты программ на трех алгоритмических языках. Следует выполнять программу на том языке, который наиболее вам близок. На остальные два фрагмента обращать внимание не следует, чтобы не терять время.
Задание 4. (Задание А9 демоверсии 2004 г.)
Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:
Бейсик |
Паскаль |
Алгоритмический |
|
x=5 y=7 t=x x=y MOD x y=t |
x:=5; y:=7; t:=x; x:=y Mod x; y:=t; |
x:=5 y:=7 t:=x x:=mod (x,y) y:=t |
1) x=2; y=5; t=5;
2) x=7; y=5; t=5;
3) x=2; y=2; t=2;
4) x=5; y=5; t=5.
Решение. Для решения этого задания удобно составить таблицу:
Шаг |
Значение х после шага |
Значение y после шага |
Значение t после шага |
|
x=5 |
5 |
Не определено |
Не определено |
|
y=7 |
5 |
7 |
Не определено |
|
t=x |
5 |
7 |
5 |
|
x=y MOD x |
2 |
7 |
5 |
|
y=t |
2 |
5 |
5 |
Таким образом, верным является вариант ответа №1.
Ответ: 1.
Задание 5. (Задание А7 демоверсии 2006 г.)
Определите значение целочисленных переменных a и b после выполнения фрагмента программы (ниже представлена одна и та же программа, представленная на разных языках программирования):
Бейсик |
Паскаль |
Алгоритмический |
|
a=42 b=14 a=a\b b=a*b a=b\a |
a:=42; b:=14; a:=a Div b b:=a*b a:=b Div a |
a:=42 b:=14 a:=Div (a,b) b:=a*b a:=Div (b,a) |
1) a=42; b=14;
2) a=1; b=42;
3) a=0; b=588;
4) a=14; b=42.
Решение. Для решения этого задания удобно составить таблицу:
Шаг |
Значение a после шага |
Значение b после шага |
|
a=42 |
42 |
Не определено |
|
b=14 |
42 |
14 |
|
a=a\b |
3 |
14 |
|
b=a*b |
3 |
42 |
|
a=b\a |
14 |
42 |
Таким образом, верным является вариант ответа №4.
Ответ: 4.
4. Анализ фрагментов программ. Обработка двумерных массивов
Двумерный массив А размером N*M можно изобразить в виде таблицы, состоящей из N строк и M столбцов. Обращение к каждому элементу в массиве осуществляется указанием имени массива (в нашем случае - А) и двух чисел - номера строки и номера столбца, на пересечении которых он находится. Эти числа называются индексами элемента в массиве, записываются через запятую в круглых (для языка Бейсик) или в квадратных (для языков Паскаль и алгоритмического) скобках.
Задание 6. (Задание А10 демоверсии 2004 г.)
Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 5 FOR k=1 TO 5 B(n,k)=n+k NEXT k Next n |
For n:=1 To 5 Do For k:=1 To 5 Do B[n,k]:=n+k; |
н.ц. для n от 1 до 5 н.ц. для k от 1 до 5 B[n,k]:=n+k к.ц. к.ц. |
Чему будет равно значение B(2,4)?
1) 9;
2) 8;
3) 7;
4) 6.
Решение.
1-й способ. Для выполнения поставленного задания можно заполнить таблицу в соответствии с представленной программой:
k= 1 |
2 |
3 |
4 |
5 |
||
n= 1 |
2 |
3 |
4 |
5 |
6 |
|
2 |
3 |
4 |
5 |
6 |
7 |
|
3 |
4 |
5 |
6 |
7 |
8 |
|
4 |
5 |
6 |
7 |
8 |
9 |
|
5 |
6 |
7 |
8 |
9 |
10 |
Элемент В(2,4) находится на пересечении 2-й строки и 4-го столбца, его значение равно 6, что соответствует варианту ответа №4.
Заметим, что этот способ решения является нерациональным, т.к. требовалось найти значение лишь одного элемента, не зависящее от значений других элементов. Поэтому для данного задания лучше применить другой способ решения.
2-й способ. Из текста программы следует, что значение каждого элемента равно сумме его индексов, поэтому В(2,4)=2+4=6.
Ответ: 4.
Задание 7.
Все элементы двумерного массива А размером 4*4 элемента первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте:
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 4 FOR k=n TO 4 A(n,k)=1 NEXT k Next n |
For n:=1 To 4 Do For k:=n To 4 Do A[n,k]:= 1; |
н.ц. для n от 1 до 4 н.ц. для k от n до 4 A[n,k]:=1 к.ц. к.ц. |
Сколько элементов массива в итоге будут равны 1?
Решение.
Для выполнения задания составим таблицу:
n |
k |
Значения A[n,k]=1 |
|
1 |
1,2,3,4 |
A[1,1] A[1,2] A[1,3] A[1,4] |
|
2 |
2,3,4 |
A[2,2] A[2,3] A[2,4] |
|
3 |
3,4 |
A[3,3] A[3,4] |
|
4 |
4,4 |
A[4,4] |
Из таблицы видно, что количество элементов, равных 1 в массиве А равно 4+3+2+1=10.
Ответ: 10.
Задание 8. (Задание А8 демоверсии 2006 г.)
Все элементы двумерного массива А размером 10*10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы (ниже приводится одна и та же программа, записанная на разных языках программирования):
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 4 FOR k=n TO 4 A(n,k)=A(n,k)+1 A(k,n)=A(k,n)+1 NEXT k Next n |
For n:=1 To 4 Do For k:=n To 4 Do Begin A[n,k]:=A[n,k]+1; A[k,n]:=A[k,n]+1; End; |
н.ц. для n от 1 до 4 н.ц. для k от n до 4 A[n,k]:=A[n,k]+1 A[k,n]:=A[k,n]+1 к.ц. к.ц. |
Сколько элементов массива в итоге будут равны 1?
1) 0; 2) 16; 3) 12; 4) 4.
Решение.
Для выполнения поставленного задания заполним таблицу:
n |
k |
Вычисление A[n,k] |
Значение A[n,k] |
|
1 |
1 |
A[1,1]= A[1,1]+1=0+1=1 A[1,1]= A[1,1]+1=1+1=2 |
A[1,1]=2 |
|
1 |
2 |
A[1,2]= A[1,2]+1=0+1=1 A[2,1]= A[2,1]+1=0+1=1 |
A[1,2]=1 A[2,1]=1 |
|
1 |
3 |
A[1,3]= A[1,3]+1=0+1=1 A[3,1]= A[3,1]+1=0+1=1 |
A[1,3]=1 A[3,1]=1 |
|
1 |
4 |
A[1,4]= A[1,4]+1=0+1=1 A[4,1]= A[4,1]+1=0+1=1 |
A[1,4]=1 A[4,1]=1 |
|
2 |
2 |
A[2,2]= A[2,2]+1=0+1=1 A[2,2]= A[2,2]+1=1+1=2 |
A[2,2]=2 |
|
2 |
3 |
A[2,3]= A[2,3]+1=0+1=1 A[3,2]= A[3,2]+1=0+1=1 |
A[2,3]=1 A[3,2]=1 |
|
2 |
4 |
A[2,4]= A[2,4]+1=0+1=1 A[4,2]= A[4,2]+1=0+1=1 |
A[2,4]=1 A[4,2]=1 |
|
3 |
3 |
A[3,3]= A[3,3]+1=0+1=1 A[3,3]= A[3,3]+1=1+1=2 |
A[3,3]=2 |
|
3 |
4 |
A[3,4]= A[3,4]+1=0+1=1 A[4,3]= A[4,3]+1=0+1=1 |
A[3,4]=1 A[4,3]=1 |
|
4 |
4 |
A[4,4]= A[4,4]+1=0+1=1 A[4,4]= A[4,4]+1=1+1=2 |
A[4,4]=2 |
Исходя из таблицы видно, что 4 элемента массива А будут равны 2, 12 элементов будут равны 1, все остальные - равны нулю. Следовательно, правильным будет вариант ответа №3. Ответ: 3.
5. Оценка скорости работы алгоритмов
Данное задание проверяет знание зависимости количества операций при обработке массива от размера массива. В зависимости от алгоритма эта зависимость может быть линейной, квадратичной или логарифмической. В некоторых случаях алгоритм в задании описывается явным образом, в некоторых экзаменуемый должен вспомнить стандартный алгоритм, применяемый в таком случае. Если в задании встречается определение «эффективный алгоритм», то это означает, что из известных стандартных алгоритмов надо выбрать самый быстрый.
Задание 9.
Следующий фрагмент программы записывает в переменную Max максимальный элемент в двумерном массиве Dist размера N*N, наполненном неотрицательными числами:
For i:=1 to N Do
For j:=1 to N Do
If Dist[I,j]>Max Then Max:= Dist[I,j];
На очень медленном компьютере эта программа при N=1000 работала 5 секунд. Определите время работу этой программе на том же компьютере при N=2000:
1) 10 сек.;
2) 20 сек.;
3) 30 сек.;
4) 40 сек.
Решение.
В данном алгоритме два вложенных оператора цикла. При увеличении N в два раза количество проверок (выполнений оператора If) возрастет в 22, т.е. в 4 раза, что соответствует варианту ответа №2.
Ответ: 2.
Задание 10. (Задание А19 демоверсии 2005 г.)
Стандартный алгоритм вычисления среднего арифметического элементов числового массива из миллиона элементов работает 0, 5 сек. Оцените время работы того же алгоритма на том же компьютере, если длина массива 3 миллиона.
1) 1 сек.;
2) 1,5 сек.;
3) 3 сек.;
4) 4,5 сек.
Решение.
Для вычисления среднего арифметического N чисел необходимо выполнить N операций сложения. При увеличении количества элементов в 3 раза время выполнения алгоритма возрастает линейно - так же в 3 раза. Следовательно, время будет равно 0,5*3=1,5(сек), что соответствует варианту ответа №2.
Ответ: 2.
6. Работа с исполнителями
Задание 11. (Задания А 23 демоверсии 2005, А20 демоверсии 2006 г.)
Исполнитель Черепашка перемещается на экране компьютера, оставляя след виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n, где n - целое число, вызывающая передвижение черепашки на n шагов в направлении движения.
Направо m, где m - целое число, вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори 5 [Команда1 Команда2] означает, что последовательность команд в скобках выполняется 5 раз.
Черепашки был дан для исполнения следующий алгоритм:
Повтори 5 [вперед 10 направо 72]
Какая фигура появится на экране?
1) Незамкнутая ломаная линия
2) Правильный треугольник
3) Квадрат
4) Правильный пятиугольник.
Решение.
Исполнитель Черепашка прочертит на экране 5 линий, угол между соседними из которых будет равен 72(=360/5). Поэтому в результате получится правильный пятиугольник, что соответствует варианту ответа №4.
Ответ: 4.
Список литературы
1. Учебно-тренировочные материалы для подготовки к единому государственному экзамену. Информатика/ Крылов С.С., Лещинер В.Р., Супрун П.Г., Якушкин П.А.; под ред. Лещинера В.Р. - М. Интеллект-Центр, 2005 - 136 с.
2. Андреева Е.В. Информатика. Основы алгоритмизации. Тетрадь с печатной основой. - Саратов: «Лицей», 2000. - 80 с.
3. Экзаменационные вопросы и ответы. 11 класс/ Л.Л. Босова, Н.Д. Угринович. - М.: БИНОМ. Лаборатория знаний, 2003. - 191 с.: ил.
4. Шпаргалки по информатике./ Е.Ю. Пестерева. - М.: Издательство
5. Информатика и информационные технологии. Учебник для 10-11 классов/Н.Д. Угринович. - М.: Лаборатория Знаний, 2003. 512 с.: ил.
6. Угринович Н.Д., Босова Л.Л., Михайлова Н.И. Практикум по информатике и информационным технологиям. Учебное пособие для образовательных учреждений. - М.: Лаборатория Базовых Знаний, 2001. 256 с.: ил.
7. Единый государственный экзамен по информатике. Демонстрационный вариант 2004 г.
8. Единый государственный экзамен по информатике. Демонстрационный вариант 2005 г.
9. Единый государственный экзамен по информатике. Демонстрационный вариант 2006 г.
Задания для самостоятельного решения
1. Определите значение переменной b после выполнения следующего фрагмента алгоритма (см. рис.11):
1) 6;
2) 5;
3) 3;
4) 4.
Размещено на http://www.allbest.ru/
2. Определите значение переменной a после выполнения алгоритма (см. рис.12):
1) 5;
2) 11;
3) 23;
4) 47.
Размещено на http://www.allbest.ru/
3. Определите значение переменной s после выполнения фрагмента алгоритма (см. Рис. 13).
Размещено на http://www.allbest.ru/
4. Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:
Бейсик |
Паскаль |
Алгоритмический |
|
x=4 y=16 t=x x=y MOD x y=t+1 |
x:=4; y:=16; t:=x; x:=y Mod x; y:=t+1; |
x:=4 y:=16 t:=x x:=MOD (y,x) y:=t+1 |
1) x=4; y=1; t=0;
2) x=0; y=5; t=4;
3) x=0; y=4; t=5;
4) x=4; y=1; t=5.
5. Определите значение целочисленных переменных b и c после выполнения фрагмента программы:
Бейсик |
Паскаль |
Алгоритмический |
|
a=37 b=a MOD 10 c=a\10 |
a:=37; b:=a Mod 10; c:=a Div 10; |
a:=37 b:=Mod (a,10) c:= Div (a,10) |
1) b=3; c=7; 2) b=7; c=3; 3) b=3; c=4; 4) b=4; c=3.
6. Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
Бейсик |
Паскаль |
Алгоритмический |
|
a=20 b=7 a=a\b b=a*b a=b\a |
a:=20; b:=7; a:=a Div b b:=a*b; a:=b Div a; |
a:=20 b:=7 a:=Div (a,b) b:=a*b a:=Div (b,a) |
1) a=7; b=21;
2) a=7; b=7;
3) a=7; b=14;
4) a=3; b=21.
7. Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 500 FOR k=1 TO 500 B(n,k)=n*(n+1)*k/2 NEXT k NEXT n |
For n:=1 To 500 Do For k:=1 To 500 Do B[n,k]:= n*(n+1)*k/2 |
н.ц. для n от 1 до 500 н.ц. для k от 1 до 500 B[n,k]:= n*(n+1)*k/2 к.ц. к.ц. |
Чему будет равно значение B(19,21)?
8. Все элементы массива А размером 10*10 элементов первоначально были равны 1. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 5 FOR k=1 TO 5 А(n,k)=A(n,k)-1 NEXT k NEXT n |
For n:=1 To 5 Do For k:=1 To 5 Do A[n,k]:= A[n,k]-1 |
н.ц. для n от 1 до 5 н.ц. для k от 1 до 5 A[n,k]:= A[n,k]-1 к.ц. к.ц. |
Сколько элементов массива в результате будут равны 0?
9. Все элементы массива А размером 10*10 элементов первоначально были равны 1. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик |
Паскаль |
Алгоритмический |
|
FOR n=1 TO 4 FOR k=1 TO n+1 А(n,k)=A(n,k)-1 А(n,k+1)=A(n,k)-1 NEXT k NEXT n |
For n:=1 To 4 Do For k:=1 To n+1 Do Begin A[n,k]:= A[n,k]-1; A[n,k+1]:= A[n,k]-1; End; |
н.ц. для n от 1 до 5 н.ц. для k от 1 до n+1 A[n,k]:= A[n,k]-1 A[n,k+1]:= A[n,k]-1 к.ц. к.ц. |
Сколько элементов массива в результате будут равны 0?
10. Стандартный алгоритм вычисления среднего арифметического элементов числового массива из тысячи элементов работает 0,01 сек. Оцените время работы того же алгоритма на том же компьютере, если длина массива миллион элементов.
1) 1 сек.;
2) 5 сек.;
3) 10 сек.;
4) 0,1 сек.
11. Исполнитель Черепашка перемещается на экране компьютера, оставляя след виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n, где n - целое число, вызывающая передвижение черепашки на n шагов в направлении движения.
Направо m, где m - целое число, вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори 5 [Команда1 Команда2] означает, что последовательность команд в скобках выполняется 5 раз.
Черепашки был дан для исполнения следующий алгоритм:
Повтори 4 [вперед 10 направо 120]
Какая фигура появится на экране?
1) Незамкнутая ломаная линия
2) Правильный треугольник
3) Квадрат
4) Правильный пятиугольник.
12. Исполнитель - тот же, что и в предыдущем задании. Какое натуральное число следует поставить вместо переменной N в следующем алгоритме:
Повтори 6 [вперед 60 направо N]
Чтобы на экране появился правильный пятиугольник?
Ответы к заданиям для самостоятельного решения
Задание |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
Ответ |
2 |
3 |
2550 |
2 |
2 |
3 |
3990 |
25 |
4 |
3 |
2 |
72 |
Размещено на Allbest.ru
...Подобные документы
Понятие алгоритма, его назначение, представление (изобразительные средства для описания), типы, способы записи, схемы. Основные принципы разработки алгоритмов и программ. Характеристика языков программирования. Средства и правила построения блок-схем.
реферат [87,9 K], добавлен 26.03.2010Программирование линейных и ветвящихся процессов; циклов с предусловием, постусловием и параметром для вычисления сложных сумм и произведений рядов; таблицы значений функции двух переменных. Блок-схемы алгоритмов. Тексты программ и результаты их работы.
курсовая работа [2,4 M], добавлен 11.03.2015Использование математических функций для алгоритмизации задач и отладки программ. Операторы сравнения и логические функции; реализация циклического процесса. Организация и обработка данных при помощи массивов. Функции преобразования и работы со строками.
методичка [135,5 K], добавлен 24.10.2012История и задачи разработки языка программирования Pascal. Понятие и характерные особенности типизированного файла, основные операции с файловыми переменными. Блок-схема алгоритма и исходный текст программы для обработки сведений об учениках школы.
контрольная работа [55,3 K], добавлен 31.07.2013Понятие вложенных циклов, одномерных и двумерных массивов в программировании. Матрицы и основные действия с ними. Иерархические записи, понятие дерева. Операции с двоичными деревьями, рекурсия, включение и удаление узла. Алгоритм поиска по дереву.
отчет по практике [507,1 K], добавлен 27.12.2011Разработка теории и методики преподавания раздела "Алгоритмизация и программирование" в школьном курсе информатики. Методические проблемы изучения алгоритмов работы с величинами. Требования к знаниям учащихся по линии алгоритмизации и программирования.
курсовая работа [70,2 K], добавлен 09.07.2012Различные способы обработки информации и программирование в среде Pascal. История создания языка. Блок схема с использованием заголовка функций задания. Описание подпрограмм. Сущность структурного программирования в аспекте написания алгоритмов программ.
курсовая работа [331,9 K], добавлен 18.01.2016Сущность алгоритма: происхождение названия, свойства и основные понятия. Подразделение на виды, структура, формы словесного описания и схематического построения. Запись порядка действий на языках компьютерных языках программирования. Применение в жизни.
презентация [386,7 K], добавлен 21.04.2011Изучение некоторых аспектов языка Ассемблера и ЭВМ в целом. Построение алгоритмов решения поставленной задачи на языках программирования Си, Ассемблер УМ и IBM PC. Составление блок-схем решений и написание программ на каждом из перечисленных языков.
курсовая работа [691,5 K], добавлен 20.10.2014Основные типы циклов программирования. Методы применения специальных функций break, continue и цикла while. Обработка массивов информации. Условия применения циклических алгоритмов на языке программирования С++. Инициализация одномерного массива.
курсовая работа [1,7 M], добавлен 06.01.2014Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.
курсовая работа [638,0 K], добавлен 30.01.2015Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.
курсовая работа [879,8 K], добавлен 11.02.2016Обработка сложных структур данных как одна из наиболее распространенных возможностей применения языка программирования С++. Преимущества использования подпрограмм. Передача параметров, одномерных и двумерных массивов, функции и их возврат в функцию.
курсовая работа [1,1 M], добавлен 24.11.2013Понятие алгоритма и его характеристики как основного элемента программирования. Формы представления алгоритмов, основные алгоритмические структуры. Структурное и событийно-ориентированное программирование. Объектно-ориентированное программирование.
реферат [86,0 K], добавлен 17.07.2008Понятие и свойства алгоритма. Основные типы учебных алгоритмических задач. Обучение программированию в среде Лого. Архитектура, режим работы и система команд исполнителя черепашка. Примеры создания геометрических фигур, организации циклов со счетчиком.
презентация [327,0 K], добавлен 19.10.2014Понятие и свойства алгоритмов: рекурсивного, сортировки и поиска. Простая программа и структурный подход к разработке алгоритмов. Язык блок-схем и проектирования программ (псевдокод). Рассмотрение принципов объектно-ориентированного программирования.
презентация [53,1 K], добавлен 13.10.2013Изучение элементов языка С++, программирование разветвлений и циклов с использованием операторов условного и перехода. Обработка одномерных массивов. Поиск максимального элемента массива с заданной размерностью. Листинги программы и результатов.
курсовая работа [647,7 K], добавлен 05.02.2013Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.
контрольная работа [220,4 K], добавлен 18.06.2010Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Изучение основных конструкций и способов написания программ на языке Паскаль. Обзор принципов работы и интерфейса написанной программы. Обработка и модификация двумерных массивов. Файловые структуры данных. Текстовые файлы. Элементы машинной графики.
курсовая работа [761,7 K], добавлен 11.03.2015