Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_s_interneta.doc
Скачиваний:
58
Добавлен:
28.08.2019
Размер:
302.08 Кб
Скачать

8. Разработка алгоритм и программ.

8.1. Вопросы.

  1. Что называется системой команд исполнителя? Поясните на примере.

  2. Какие типы величин используются в алгоритмическом языке? Приведите примеры.

  3. Что такое имя величины в алгоритмическом языке? Приведите примеры изменения значения величины в процессе исполнения алгоритма.

  4. Приведите примеры постоянных и переменных величин в алгоритмическом языке.

  5. Приведите пример линейного алгоритма.

  6. Запишите в линейной форме алгебраическое выражение sin x2+cosx

  7. Запишите в алгебраической форме арифметическое выражение алгоритмического языка x*x+4.0*x/y.

  8. Как записываются и как исполняются предписания безусловного и условного перехода?

  9. Как записываются и используются вспомогательные алгоритмы без параметров и с параметрами?

  10. Какими средствами обеспечивается изображение основных графических объектов: точек, прямых, окружностей, прямоугольников, и других ?

8.2. Задания.

  1. Опишите зависимости между переменными a и x; y и x, которые устанавливаются следующими сериями команд:

a) a:=x*x b) если x > =0

a:=a*a то y: = x

a:=a*a иначе y: = -x

a:=a*x все

a:=a*a

  1. Как изменятся значения переменных x и y после исполнения следующих команд:

a) t:=x b) x:=x+y

x:=y y:=x-y

y:=t x:=x-y

  1. Какие значения может принимать переменная x после исполнения следующей команды циклы:

а) пока х>13 б) пока x<13

нц нц

x:=x-1 x:=x+1

кц кц

  1. Какие значения будет принимать переменная х в ходе исполнения следующих команд:

а) х:=11 б) х:=11

для к от 1 до 5 для к от 1 до 5

нц нц

х:=-х х:=abs(x-11)

кц кц

  1. Определите, какие значения получат переменные s, k и p после исполнения следующих алгоритмов:

а) s:=0, k:=1 б) s:=0, k:=0 в) p:=1, k:=2

пока k<=3 пока k<=3 пока

нц нц нц

s:=s+k k:=k+1 p:=p*k

k:=k+1 s:=s+1 k:=k+1

кц кц кц

  1. Определить зависимости между y и x; s, x[1], x[2], ...... x[n]; a, b, c, которые устанавливаются после выполнения следующих серий команд:

а) y:=x б) s:=x[1] в) если (a>=b) и (a>=с)

если y<0 для к от 2 до n то m:=a

то y:=-y нц иначе если b>=c

все s:=s+x[k] то m:=b

кц иначе m:=c

все

все

г) если x<0

то y:= 0

иначе если x<=1

то y:=x*x

иначе y:=1

все

все

  1. Для решения какой задачи предназначены следующие фрагменты программ:

а) a:=13, b:=1 б) a:=s в) a:=s-1

пока a>0 пока mod(a,2)=0 пока mod(s,a)<>0

нц нц нц

b:=b*2 a:=a/2 a:=a-1

a:=a-1 кц кц

кц

г) a:=s, k:=0

пока mod(a,3)=0

нц

k:=k+1

a:=a/3

кц

  1. Найти ошибку в следующем алгоритме:

алг сумма_ квадратов (вещ s)

дано

надо s

нач цел k

для k от 1 до 5

нц

s:=s+k*k

кц

кон

  1. Являются ли правильными следующие алгоритмы? Исправьте найденные ошибки, чтобы алгоритм выполнял свое назначение: указанное в его заголовке.

а) алг вычисление_ y=(1+x2)/(x2+4) (вещ x,y)

дано x

надо y

нач цел v

v:=1+x*x

y:=v/(3+v)

кон

б) алг наибольшее_из_трех (вещ a,b,c, max)

дано a,b,c

надо max

нач если a>=b

то max:=a

иначе если b>=c

то max:=b

иначе max:=c

все

все

кон

в) алг наибольший_элемент (цел n, вещтаб x[1:n], вещ max)

дано n,x

надо max

нач цел k,l

l:=1

нц для k от 1 до n

если x[k]>x[l]

то l:=k

все

кц

max:=x[k]

кон

г) алг номер_наименьшего_элемента(цел n, вещтаб x[1:n], цел min)

дано n,x

надо min

нач цел k

для k от 2 до n

нц

если x[k]<x[min]

то min:=k

все

кц

кон

  1. Даны числа c и d.

b присвоить c+d;

a присвоить c*d;

b присвоить a+b;

вычислить b, если с=..., d=...

  1. Даны числа a и b.

a присвоить b*b+a;

c присвоить a+b;

если с<0, то с присвоить c+b,

иначе с присвоить c-b;

вычислить с.

  1. Какие из приведенных ниже записей являются вещественными числами, какие целыми, какие символьными, а какие записаны неправильно?

а) 7. б) -6.1 в) 0.0 г) 9 д) .Е-2 е) 643 ж) 'л' з) 0.1Е-5 и) -5.3Е4 к) -71 л) 2,1 м) 'пр' н) 0.31 о) .456 п) +2.3Е+3 р) 1993

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

a) IF A<B THEN A:=A*A ELSE B:=B*B;

б) IF 5 THEN S:=S+5;

в) IF X>Y THEN S:=S+1; ELSE S:=S-1;

г) IF K<>M THEN K:=M;

  1. Какие значения имеют переменные А и В в результате выполнения условного оператора:

IF A<B THEN A:=B ELSE B:=A; если перед его выполнением А=0.5, В=-1.7?

  1. Какая задача решается при выполнении оператора:

IF X<Y THEN MAX:=Y ELSE MAX:=X ?

  1. Какое значение примет переменная F после выполнения следующих операторов:

а) I:=1; F:=2; WHILE I<6 DO I:=I+1; F:=F*I;

б) I:=1; F:=2; WHILE I<6 DO BEGIN I:=I+1; F:=F*I END;

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

а) VAR A:ARRAY[1..N] OF REAL;

б) CONST A:ARRAY[1..13] OF INTEGER;

в) VAR A:ARRAY[1..5];

г) VAR A:ARRAY[1..3] OF INTEGER=(4,2,6);

д) CONST A:ARRAY[1..4] OF REAL=(2.1,4.6,3.6,9.4);

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

а) VAR A:ARRAY[1..6] OF REAL;

б) VAR A:ARRAY[5..78] OF INTEGER;

  1. Что будет напечатано в результате выполнения следующих операторов?

K:=4; CASE K/4 OF

0: WRITELN('K=4M');

1: WRITELN('K=4M+1');

2: WRITELN('K=4M+2');

3: WRITELN('K=4M+3')

END;

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

а) х:=у б) t:=х в)х:=х+у g) t:=x

y:=x x:=y y:=x-y y:=t

y:=t x:=x-y x:=y

  1. Одна сторона прямоугольника на 5 см. длиннее другой, а сумма их длин равна 17 см. Найдите стороны этого прямоугольника.

  2. Нефтебаза отпустила за 2 дня 2560 л. бензина. Во второй день база отпустила на 280 л. больше, чем в первый день. Сколько литров бензина база отпустила отдельно за каждый день ?

  3. Одно число в 2 раза больше другого, а их сумма равна 93. Найдите эти числа.

  4. Составьте алгоритм и программу для определения сдачи после покупки в магазине товара: перчаток стоимостью а руб., портфеля стоимостью b руб., галстука стоимостью с руб. Исходная сумма, выделенная на покупку - d руб. В случае нехватки денег сдача получится отрицательной.

  5. В течение месяца продавец доставлял на дом 4 л молока в день. В марте молоко стоило х руб за литр. С первого апреля цена молока увеличилась до {x+a} руб за литр. Сколько надо заплатить продавцу за все доставленое молоко в конце апреля? Количество покупаемого молока осталось прежним.

  6. Хозяин хочет оклеить обоями длинную стену в своём доме. Длина этой стены равна а и высота b м. Рулон обоев имеет длину 12 м и ширину 1 м. Сколько будут стоить обои для всей стены, если цена одного рулона k руб?

  7. Некоторый автомат может запросить два числа и выполнить три команды. Команда а преобразует имеющуюся пару чисел {x,y} в пару {x-y,y}; команда в преобразует пару чисел {x,y} в пару {x+y,y}; команда с преобразует пару {x,y} в {y,x}. Составьте алгоритм и программу работы автомата.

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

  9. Вычислите значения функции у(х): а) у=0, при х больше или равно 0, у=2х при х меньше 0, у=х в квадрате при х меньше 0, у=-х в квадрате при х больше или равно 0.

  10. Группу детей, приехавшую в пионерский лагерь, распределяют по отрядам по принципу:

с 6 до 7 лет- 5-й отряд,

с 7 до 9 лет- 4-й отряд,

с 9 до 11 лет -3-й отряд,

с 11 до 13 лет- 2-й отряд,

с 13 до 15 лет включительно - 1-й отряд.

В лагере имеется ЭВМ. Вводится список детей. Опpеделить в какие отpяды их pаспpеделят.

  1. Три точки заданы своими координатами. Определите, можно ли построить треугольник с вершинами в этих точках.

  2. Пользователь знает длины сторон треугольника a,b,c. Проверить: выполняется ли условие существования треугольника (плоской фигуры) - a+b>c, a+c>b, b+c>a - и если выполняется, то вычислить P(периметр) и S(площадь) треугольника.

  3. Две точки задаются своими координатами. Определите, какая их них находится дальше от: начала координат; окружности заданного радиуса с центром в начале координат.

  4. Вводятся годы рождения двух девочек. Определите старшую из них.

  5. Вводятся оценки за контрольные работы по физики и математике. Выведите на экран “Молодец", если их сумма равна или более 9, в противном случае выведите "Подтянись".

  6. Музыкальный диск стоит х рублей п коп. У вас имеется а руб. в коп. Хватит ли вам денег на покупку диска? В программе предусмотрите вывод слов "Да" или "Нет". В случае недостатка определите, сколько денег надо добавить.

  7. Написать алгоритм, читающий число "x", проверяющий больше это число нуля или меньше и выдающий на экран сообщение "положительно" или "отрицательно" число.

  8. Написать алгоритм, читающий "n" и выдающий на экран квадраты чисел от 1 до "n".

  9. Определите в каком координатном углу находится точка с координатами (х,у), и выведите на печать номер этого угла. Предусмотрите случай х=0 и у=0.

  10. В коробке с красками лежат тюбики с номерами: 1 - красный, 2 - зеленый, 3 - желтый, 4 - черный, 5 - белый, 6 - синий, 7 - коричневый. Написать программу определения номера тюбика по задаваемому с клавиатуры цвету или выдавать сообщение :“ Такой краски нет”.

  11. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Выбрать и напечатать лучший результат. Решить задачу для следующих наборов данных: 1) 11.3; 10.6; 11. 2) 10; 10.9; 13. 3) 16; 18; 13.

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

  13. Сколько раз встречается цифра К в натуральном М?

  14. Ввести целое число n. Вычислить, сколько в этом числе цифр, и результат вывести на экран.

  15. Составьте алгоритм-меню, печатающий расписание уроков в вашем классе в определенный день недели.

  16. Составьте программу-меню, печатающую по выбору количество дней в месяцах с июля по декабрь. Номер месяца и признак високосного года вводятся пользователем: а=1 для високосного года и а=0 для невисокосного года.

  17. Написать программу угадывания целых чисел. Один из партнеров вводит в программу число, а второй должен отгадать это число. Причем на каждый предложеный вариант программа отвечает либо "больше", либо "меньше" до тех пор, пока число не будет отгадано.

  18. Ученик бежит по кругу. На старте стоит тренер и перед каждым новым кругом спрашивает ученика: "Пробежишь еще кружочек ?" Написать программу, подсчитывающую количество кругов и ведущую диалог тренера с учеником.

  19. Составьте программу-меню, печатающую ваши оценки по математики, физике, информатике за последний месяц. Указатель предмета вводится.

  20. Ежегодный прирост рыбы в пруду составляет 15%. Запасы рыбы оценены в А тонн. Ежегодный план отлова В тонн. Наименьший запас рыбы, ниже которого запас уже не восстанавливается, составляет С тонн. Составьте алгоритм и программу, подсчитывающую, сколько лет можно выдерживать заданный план?

  21. Начальный вклад в сберкассу составил А рублей. Через сколько лет он станет больше В рублей? (Каждый год вклад увеличивается на 3%).

  22. Составьте алгоритм вычерчивающий по выбору графические элементы: отрезок длинной 50 точек; отрезок длинной 150 точек.

  23. Выполните следующие графические построения:

а)треугольник с вершинами (150,100), (67,100), (102,68);

б)прямоугольник с вершинами (73,49), (141,49), (141,109), (73,109);

в)прямоугольник с вершинами (73,49), (103,79), (92,120), (50,120), (31,79);

г)шестиугольник с вершинами (73,49), (111,49), (132,71), (111,93), (73,93), (52,71).

Закрасьте полученные изображения.

  1. Начертить на экране n окружностей.

  2. Постройте прямоугольник со сторонами 60 и 20 точек.

  3. Постройте и закрасьте круг радиусом 50 точек, центр которого совмещен с центром экрана.

  4. Постройте из закрашенных пересекающихся окружностей рисунок облака.

  5. Составьте алгоритм и программу рисования звезды.

  6. Составьте алгоритм, запрашивающий сторону квадрата, координаты его центра и выполняющий построение этого квадрата.

  7. Составьте алгоритм, рисующий луну. Размеры запрашиваются.

  8. Алгоритм запрашивает координаты центра и длину луча пятиконечной звезды и строит её изображение.

  9. Алгоритм запрашивает необходимые (какие именно?) параметры и строит изображение кораблика. Составьте этот алгоритм.

  10. Составьте программу, которая при нажатии клавиши "д" (день) рисует солнце, при нажатии клавиши "н" (ночь) рисует луну.

  11. Нарисуйте рожицу, у которой при нажатии клавиши "с" (сон) закрываются глаза, т.е. пропадают зрачки, а при нажатии клавиши "у" (утро) глаза открываются.

  12. Составьте программу, которая при нажатии клавиши "пробел" одну половину экрана красит в белый цвет, а вторую в черный.

  13. Изобразите на экране термометр, у которого при нажатии клавиши "стрелка вверх" ртутный столбик поднимается, а при нажатии клавиши "стрелка вниз" ртутный столбик опускается.

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

-параллелограмм,

-прямоугольник,

-ромб,

-квадрат

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

  1. Программа предлагает на выбор один из многогранников:

-тетраэдр,

-куб,

-четырехугольную пирамиду

и строит соответствующее изображение.

  1. Составьте программу управления точкой на экране при помощи клавиш: "стрелка вверх", "стрелка вниз", "стрелка вправо", "стрелка влево".

  2. Программа выполняет на экране следующие построения:

при нажатии клавиши "с" рисуется прямоугольник.

при нажатии клавиши "к" рисуется треугольник.

при нажатии клавиши "о" рисуются два прямоугольника.

  1. На экране изображена мишень. Играющий вводит координаты точки, стараясь попасть в цель (центр мишени), на экране высвечиваются полученные им очки.

  2. "Светофор". На экране три круга. При нажатии клавиши "к" верхний круг закрашивается красным цветом, при нажатии клавиши "ж" средний круг закрашивается желтым, при нажатии "з" нижний круг красится зеленым.

  3. Заполните массив случайными числами из отрезка [A,B].

  4. Заполните случайными числами в диапазоне от 0 до 10 таблицу 5х5. Выведите ее на экран.

  5. Заполнить массив элементами последовательности Фибоначчи.

  6. Заполнить таблицу нулями.

  7. Сделать все элементы таблицы равными х.

  8. Заполнить таблицу квадратами натуральных чисел.

  9. Заполнить таблицу последовательностью четных чисел.

  10. Для массива А найти:

  • среднее арифметическое положительных элементов массива;

  • сумму элементов, стоящих на четных местах;

  • среднее арифметическое элементов, лежащих в отрезке [1,2];

  • количество положительных, отрицательных и равных нулю элементов;

  • количество элементов, для которых ближайшим целым является 1.

  1. Дан массив В(10). Сформировать массив из положительных элементов массива В и найти их произведение.

  2. Ввести массив a[1], a[2],..., a[n] целого типа и заменить все его элементы, стоящие до максимального, нулями. Полученный массив вывести на экран.

  3. Ввести массив a[1], a[2],..., a[n] целого типа и заменить все его элементы, стоящие после минимального, нулями. Полученный массив вывести на экран.

  4. Дан массив А(10). Сформировать массив из отрицательных элементов массива В и найти их сумму.

  5. Ввести массив а [1],а[2],...,а[n] вещественного типа и вещественное число x. Определить, сколько элементов массива больше x, меньше x и равно x. Вывести результаты на экран.

  6. Сколько в массиве T(m) элементов, меньших суммы всех элементов?

  7. Для массива X(m) напечатать сумму, произведение и номера положительных элементов после последнего нулевого элемента.

  8. Даны k и массив T(k). Найти сумму и количество элементов в массиве Т после первого нулевого элемента.

  9. Даны m и массив A(m). Напечатать сумму отрицательных элементов массива А после первого нулевого элемента.

  10. Даны m, координаты X(a), Y(a) пункта А и в массиве К из 2m чисел координаты X1,Y1, X2,Y2....Xm,Ym пунктов В1, B2,.. Bm. Вывести номер и координаты пункта Bi наиболее удаленного от пункта А.

  11. Найти общее количество нулевых элементов в массивах X(m), Y(k).

  12. Образовать и вывести массив Т из неотрицательных элементов массива X(m), напечатать число элементов в массиве Т.

  13. Вывести четные по значению среди положительных элементов массива Х(m), начиная с первого положительного элемента.

  14. Удвоить наибольший элемент массива Х(m) и напечатать измененный массив.

  15. Вывести ненулевые элементы массива Х(m) и их произведение.

  16. Вывести положительные элементы массива Х(k), затем отрицательные элементы массива Y(m) и количество выведенных чисел.

  17. Даны С,m и массив T(m). Найти число элементов массива Т, меньших С, а для элементов, больших С, найти их среднее арифметическое.

  18. Ввести массив a[1], a[2],..., a[n] целого типа и целое число x. Произвести перестановку элементов массива так, чтобы в начале массива стояли элементы, значения которых меньше x, затем элементы, равные x, а следом элементы, значения которых больше х, в том порядке, в каком они стояли в массиве. Полученный массив вывести на экран.

  19. Ввести два массива a[1], a[2],..., a[n] и b[1], b[2],..., b[n] целого типа. Образовать третий массив из элементов, встречающихся в обоих массивах. Полученный массив вывести на экран.

  20. Ввести массив a[1], a[2],..., a[n] вещественного типа, поменять в нем местами максимальные и минимальные элементы и полученный массив вывести на экран.

  21. Ввести массив a[1], a[2],..., a[n] вещественного типа, поменять в нем максимальный и последний элементы и полученный массив вывести на экран.

  22. Даны два слова. Сколько раз во втором слове встречается первая буква первого слова?

  23. Контрольный примеры: Данные : “БУКВА” и “БАБОЧКА”, результат: 2.

Данные: “БУКВА” и “ЗВУК”, результат: 0.

  1. Напишите программу, составляющую с помощью вырезки и склеивания из слова “БАЛКОН” слова : “ЛОБ”, “КЛАН”, “КОЛБА”.

  2. Составить разные слова с помощью вырезки и склеивания из слова “ШУТКА”.

  3. Составить программу для подсчета числа букв А, Б, В в предложении. Предложение будет вводиться отдельными символами до тех пор, пока не будет введен символ “*”.

  4. Составить программу, в которой используется подпрограмма, анализирующая текст, выдающая количество различных букв в этом тексте и печатающая эти буквы в алфавитном порядке. Например, в тексте “Пример текста” - 9 различных букв: а, е, и, к, м, п, р, с, т.

  5. Найти в тексте подстроку "авс" ("авс" - любые символы).

  6. Найти в тексте и удалить все буквы "о".

  7. Сколько раз в тексте использованы буквы "а" и "в".

  8. Сколько слов в тексте?

  9. Удалить из текста все цифры.

  10. В тексте слова отделены пробелами. Вставить вместо пробелов точки.

Подсчитайте, сколько слов начинается с буквы “к” среди слов, записанных в операторе DATA; в тексте, введенном с клавиатуры.

  1. Фамилии участников олимпиады хранятся в одном массиве, а количество баллов - в другом. Составьте программу, которая будет печатать фамилию победителя, если он набрал 100 баллов.

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

  3. Подсчитать общую стоимость товаров I,II,III и высшего сорта, если известна стоимость единицы товара, его количество и качество, закодированное следующим образом: IV - высший, I- первый, II - второй, III - третий сорт.

Таблица имеет вид:

Качество

Цена за ед. товара

Количество

Общая стоимость

IV

I

III

II

117. Создайте таблицу данных “МОЙ КЛАСС”. Занесите в таблицу оценки учеников класса за год по математике и информатике.

Напечатайте:

- фамилии неуспевающих учеников по предметам;

- есть ли неуспевающие по данному предмету;

- фамилии отличников;

- общее число неуспевающих.

118. В экзаменационной ведомости фиксируются фамилии учеников, номера билетов, оценки в виде цифр и прописью. Составить подобную ведомость для группы из 10 учащихся и на ее основе сформировать список учащихся: сдавших экзамен на “отлично”. Строка списка имеет следующий вид:

Иванов билет №13 5 (отлично)

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

Пример данных:

Фамилия

Иванов

Петрова

Сидоров

Имя

Вова

Катя

Миша

Рост

Вес

32

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]