Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ.rtf
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

Лабораторная работа № 4

Решение задачи с использованием конструкций if..then, if..then..else.

Цель работы : научиться строить сложные логические выражения , составлять и отлаживать программу с использованием простых и вложенных операторов условия.

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

Логический тип данных- boolean. Переменные логического типа могут иметь два значения – TRUE истина, FALSE ложь. К переменным данного типа могут применяться следующие логические операции: and, or, xor, not

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

IF < условие> Then < оператор1> Else < оператор2 >;

Условие должно иметь логический тип. Если значение условия равно TRUE (истина), то выполняется оператор 1 , если условие равно False (ложь), то выполняется оператор2 . Точка с запятой перед словом ELSE не ставится.

Часть условного оператора, начинающаяся со слова ELSE может отсутствовать, тогда при значении условия TRUE(истина) выполняется оператор1,в противном случае этот оператор пропускается.

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

Порядок выполнения работы:

  1. Включить ПЭВМ

  2. Загрузить интегрированную среду TURBO PASCAL

  3. Перейти в окно редактирования и создать текст программы:

  1. Записать созданный текст программы в файл на диске.

  1. Провести компиляцию программы. Если в процессе компиляции обнаружена ошибка, ее необходимо исправить. Сохранить откорректированный файл на диске и провести компиляцию снова

  1. Выполнить программу. Правильные результаты представить преподавателю и переписать в отчет .

  1. Выйти из среды TURBO PASCAL , одновременным нажатием клавиш CTRL+X

Содержание отчета:

  1. Цель работы

  2. Задание к лабораторной работе

  3. Блок-схема алгоритма решения задачи

  4. Текст программы на языке Паскаль.

  5. Запись команд сеанса работы.

  6. Результаты расчетов.

  7. Ответы на контрольные вопросы

  8. Вывод по результатам проделанной работы

Контрольные вопросы:

  1. Использование оператора IF ?

  2. Дайте классификацию разветвляющихся алгоритмов.

  3. Особенности использования вложенных условных операторов

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

Задание к лабораторной работе

  1. Отладить задачи из практической работы №4.

  2. Обход.Составить программу определения минимального среди 5 введенных целых чисел.

  3. Альтернатива со вложенными условиями.Составить программу исследования корней квадратного уравнения: ax2 + bx+ c = 0 , при проверке условия D=0, D<0, D>0.

Самостоятельная работа по вариантам: Вычислить значения функций :

ЛАБОРАТОРНАЯ РАБОТА № 5

Поливариантные условия.

Цель работы : научиться строить сложные логические выражения , составлять и отлаживать программу с использованием простых и вложенных операторов условия.

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

Логический тип данных- boolean. Переменные логического типа могут иметь два значения – TRUE истина, FALSE ложь. К переменным данного типа могут применяться следующие логические операции: and, or, xor, not

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

CASE < ключ выбора > of

< константа 1 > : < оператор 1 > ;

< константа 2 > : < оператор 2 > ;

< константа 3 > : < оператор 3 > ;

…

< константа N > : < оператор N > ;

Else < оператор >;

END;

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

Порядок выполнения работы:

  1. Включить ПЭВМ

  2. Загрузить интегрированную среду TURBO PASCAL

  3. Перейти в окно редактирования и создать текст программы:

  4. Записать созданный текст программы в файл на диске.

  5. Провести компиляцию программы. Если в процессе компиляции обнаружена ошибка, ее необходимо исправить. Сохранить откорректированный файл на диске и провести компиляцию снова

  6. Выполнить программу. Правильные результаты представить преподавателю и переписать в отчет .

  7. Выйти из среды TURBO PASCAL .

Содержание отчета:

  1. Цель работы

  2. Задание к лабораторной работе

  3. Блок-схема алгоритма решения задачи

  4. Текст программы на языке Паскаль.

  5. Запись команд сеанса работы.

  6. Результаты расчетов.

  7. Ответы на контрольные вопросы

  8. Вывод по результатам проделанной работы

Контрольные вопросы:

  1. Использование оператора CASE ?

  2. Особенности использования вложенных условных операторов

  3. Каковы отличия оператора выбора CASE от оператора условия IF?

Задание к лабораторной работе

  1. Задан номер месяца. Выведите на экран название месяца с указанием, к какому периоду он относится.

  2. В отделе магазина имеются в продаже дискеты трех видов:

На 360 Kb- стоимостью от 5-7 рублей

На 1,2 Mb- стоимостью от 7-9 рублей

На 1.44 Mb- стоимостью от 9-15 рублей

Студент покупает одну дискету. Определите, на какой тип дискеты ему хватило денег. Моделируйте различные ситуации.

  1. Составьте программу, которая для целого числа K (от 1 до 99 ), введенного вами, напечатает фразу “Мне к лет”, где к – введенное число, при этом в нужных случаях слово “лет” заменяя на слово “год” или “года” ) Например: при к=70 “Мне 70 лет”, при к=15 “ Мне 15 лет”, при к=23 “ Мне 23 года” и т.п. )

Самостоятельная работа по вариантам:

  1. Пусть элементами прямоугольного равнобедренного треугольника являются:1- катет a; 2-гипотенуза b; 3-высота h, опущенная из вершины прямого угла на гипотенузу; 4-площадь S. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.

  2. Пусть элементами круга являются:1- радиус R; 2-диаметр d; 3-длина окружности L. Составить программу, которая по номеру элемента запрашивала бы значение соответствующего элемента и вычисляла бы площадь круга.

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

  4. Написать программу, которая бы по введенному номеру единицы измерения (1-дециметр, 2-километр, 3-метр, 4-милиметр, 5-сантиметр) и длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.

  5. Написать программу, которая по введенному числу от 1 до 12(номеру месяца) выдает все приходящиеся на этот месяц праздничные дни.

  6. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k( где к- соответствующее частное); если остаток от деления на 4 равен 1, то N=4k+1; если остаток от деления на 4 равен 2 , то N=4k+2; если остаток от деления на 4 равен 3, то N=4k+3.

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

  8. Составить программу, которая для любого натурального числа печатает количество цифр в записи этого числа.

  9. Даны два действительных положительных числа X и Y. Арифметические действия над числами пронумерованы (1-сложение, 2- вычитание, 3-умножение, 4-деление). Составить программу, которая по введенному номеру выполняет то или иное действие над числами.

  10. Написать программу, которая по введенному номеру единицы измерения (1-килограмм, 2-миллиграмм, 3-грамм, 4-тонна, 5-центнер) и массе M выдавала бы соответствующее значение массы в килограммах.

  11. Пусть элементами равностороннего треугольника являются:1- сторона a; 2-радиус вписанной окружности r; 3-высота h; 4-площадь S; 5-радиус описанной окружности R. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.

  12. Найти произведение цифр заданного k-значного числа.

  13. Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.

  14. Написать программу, которая по вводимому от1 до 11 (номеру класса) выдает сообщение «Привет к-классник».

ЛАБОРАТОРНАЯ РАБОТА № 6

Программирование циклов с использованием конструкций FOR..TO..DO.

Цель работы: Получить навыки программирования циклических процессов на языке Паскаль

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

При подготовке к лабораторной работе следует повторить назначение

основных этапов обработки программ в среде TURBO PASCAL, а также изучить структуру программы на языке Паскаль, назначение и форматы операторов цикла

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

Оператор цикла с параметром For имеет следующую структуру:

FOR < параметр > := <начальное значение параметра> to <конечное значение параметра> do <оператор>; Данный оператор цикла используется, когда число повторений заранее известно.

Порядок выполнения работы:

  1. Получить допуск к работе у преподавателя.

  2. Осуществить вызов системы TURBO PASCAL

  3. Ввести текст программы.

  4. Записать исходный модуль в файл на диске

  5. Провести отладку программы. Выполнить программу, провести анализ результатов и, убедившись в правильности решения, предъявить их преподавателю для проверки.

  6. Занести результаты расчета в отчет

  7. Выйти из системы TURBO PASCAL.

Содержание отчета:

  1. Цель работы

  2. Задание к лабораторной работе

  3. Блок-схема алгоритма решения задачи

  4. Текст программы на языке Паскаль.

  5. Запись команд сеанса работы.

  6. Результаты расчетов.

  7. Ответы на контрольные вопросы

  8. Вывод по результатам проделанной работы

Контрольные вопросы:

  1. Назначение и формат оператора присваивания.

  2. Схема простого циклического процесса.

  3. Операторы цикла FOR в языке Паскаль, особенности использования.

Задание к лабораторной работе

Вычислить значения функций, используя различные циклические алгоритмы:

  1. Y=AX2 +BX+C, если A=2; B=5; C=7; X изменяется от 0 до 27 с шагом 3.

  1. Z=AX3 +B , если А=4; B=3, X изменяется от 2 до 12 с шагом 2

  2. T=X2 + Y2, если Y=10; Х изменяется от 0 до 20 с шагом 4

  1. X= Ln (A+Y), если A=0.5; Y изменяется от 0.5 до 10.5 с шагом 1.5

  1. Y=ex+a, если A=0.5 X изменяется от 0.5 до 1.1 с шагом 0.2

  1. Y=e|x+a|, если А=0.7; Х изменяется от -7 до 7 с шагом 2

  1. Z=2 x+a ,если А=2; Х изменяется от -1 до 9 с шагом 2

8. S=SIN2 (AX+B) ,если A=0.5; B=2 X изменяется от 2 до 8 с шагом 2.

  1. P=|X3-Y3|,если Y=5; X изменяется от 0 до 30 с шагом 5

  1. , если А=0.6; Х изменяется от 1 до 31 с шагом 3

  1. C=1+COS2 (AX) ,если А=0.1; Х изменяется от 0 до 10 с шагом 2

  1. P= ,если A=2;Х изменяется от 7 до15 с шагом 2.

  1. T=SIN X+COS2 AX ,если А=3; Х изменяется от -1 до 21 с шагом 2.

  1. C=еax +AX2 ,если А=0.8; Х изменяется от 0.2 до 1.4 с шагом 0.2

  1. К=COS2(BX+A) ,если B=0.5; A=2; X изменяется от 2 до 18 с шагом 2.

ПРИМЕЧАНИЕ: При выводе результатов предусмотреть печать идентификаторов переменных

При программировании степенной функции использовать формулу:

Xa = ealnx

ЛАБОРАТОРНАЯ РАБОТА № 7

Программирование циклических процессов: цикл с предусловием

Цель работы: Получить навыки программирования циклических процессов на языке Паскаль

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

При подготовке к лабораторной работе следует повторить назначение

основных этапов обработки программ в среде TURBO PASCAL, а также изучить структуру программы на языке Паскаль, назначение и форматы операторов цикла

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

Оператор цикла с предусловием ( цикл While)

While < условие > do begin < операторы > end; Данный цикл выполняется пока условие не станет ложным (то, есть в отличии от цикла Repeat повторяется пока условие истинно).

Порядок выполнения работы:

  1. Получить допуск к работе у преподавателя.

  2. Осуществить вызов системы TURBO PASCAL

  3. Ввести текст программы.

  4. Записать исходный модуль в файл на диске

  5. Провести отладку программы. Выполнить программу, провести анализ результатов и, убедившись в правильности решения, предъявить их преподавателю для проверки.

  6. Занести результаты расчета в отчет

  7. Выйти из системы TURBO PASCAL.

Содержание отчета:

  1. Цель работы

  2. Задание к лабораторной работе

  3. Блок-схема алгоритма решения задачи

  4. Текст программы на языке Паскаль.

  5. Запись команд сеанса работы.

  6. Результаты расчетов.

  7. Ответы на контрольные вопросы

  8. Вывод по результатам проделанной работы

Контрольные вопросы:

  1. Назначение и формат оператора присваивания.

  2. Схема простого циклического процесса.

  3. Операторы цикла WHILE .. DO в языке Паскаль, особенности использования.

Задание к лабораторной работе

Вычислить значения функций, используя различные циклические алгоритмы:

  1. Y=AX2 +BX+C, если A=2; B=5; C=7; X изменяется от 0 до 27 с шагом 3.

  1. Z=AX3 +B , если А=4; B=3, X изменяется от 2 до 12 с шагом 2

  2. T=X2 + Y2, если Y=10; Х изменяется от 0 до 20 с шагом 4

  1. X= Ln (A+Y), если A=0.5; Y изменяется от 0.5 до 10.5 с шагом 1.5

  1. Y=ex+a, если A=0.5 X изменяется от 0.5 до 1.1 с шагом 0.2

  1. Y=e|x+a|, если А=0.7; Х изменяется от -7 до 7 с шагом 2

  1. Z=2 x+a ,если А=2; Х изменяется от -1 до 9 с шагом 2

8. S=SIN2 (AX+B) ,если A=0.5; B=2 X изменяется от 2 до 8 с шагом 2.

  1. P=|X3-Y3|,если Y=5; X изменяется от 0 до 30 с шагом 5

  1. , если А=0.6; Х изменяется от 1 до 31 с шагом 3

  1. C=1+COS2 (AX) ,если А=0.1; Х изменяется от 0 до 10 с шагом 2

  1. P= ,если A=2;Х изменяется от 7 до15 с шагом 2.

  1. T=SIN X+COS2 AX ,если А=3; Х изменяется от -1 до 21 с шагом 2.

  1. C=еax +AX2 ,если А=0.8; Х изменяется от 0.2 до 1.4 с шагом 0.2

  1. К=COS2(BX+A) ,если B=0.5; A=2; X изменяется от 2 до 18 с шагом 2.

ПРИМЕЧАНИЕ: При выводе результатов предусмотреть печать идентификаторов переменных

При программировании степенной функции использовать формулу:

Xa = ealnx

ЛАБОРАТОРНАЯ РАБОТА № 8

Программирование циклов с постусловием с использованием конструкций Repeat..until.

Цель работы: Получить навыки программирования циклических процессов на языке Паскаль

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

При подготовке к лабораторной работе следует повторить назначение

основных этапов обработки программ в среде TURBO PASCAL, а также изучить структуру программы на языке Паскаль, назначение и форматы операторов цикла

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

Оператор цикла с постусловием ( цикл REPEAT)

REPEAT < операторы > Until < условие >; Данный цикл выполняется до тех пор , пока условие не станет истинным( то, есть в отличии от цикла While , цикл Repeat повторяется пока условие ложно).

Порядок выполнения работы:

  1. Получить допуск к работе у преподавателя.

  2. Осуществить вызов системы TURBO PASCAL

  3. Ввести текст программы.

  4. Записать исходный модуль в файл на диске

  5. Провести отладку программы. Выполнить программу, провести анализ результатов и, убедившись в правильности решения, предъявить их преподавателю для проверки.

  6. Занести результаты расчета в отчет

  7. Выйти из системы TURBO PASCAL.

Содержание отчета:

  1. Цель работы

  2. Задание к лабораторной работе

  3. Блок-схема алгоритма решения задачи

  4. Текст программы на языке Паскаль.

  5. Запись команд сеанса работы.

  6. Результаты расчетов.

  7. Ответы на контрольные вопросы

  8. Вывод по результатам проделанной работы

Контрольные вопросы:

  1. Назначение и формат оператора присваивания.

  2. Схема простого циклического процесса.

  3. Операторы цикла REPEAT в языке Паскаль, особенности использования.

Задание к лабораторной работе

Вычислить значения функций, используя различные циклические алгоритмы:

  1. Y=AX2 +BX+C, если A=2; B=5; C=7; X изменяется от 0 до 27 с шагом 3.

  1. Z=AX3 +B , если А=4; B=3, X изменяется от 2 до 12 с шагом 2

  2. T=X2 + Y2, если Y=10; Х изменяется от 0 до 20 с шагом 4

  1. X= Ln (A+Y), если A=0.5; Y изменяется от 0.5 до 10.5 с шагом 1.5

  1. Y=ex+a, если A=0.5 X изменяется от 0.5 до 1.1 с шагом 0.2

  1. Y=e|x+a|, если А=0.7; Х изменяется от -7 до 7 с шагом 2

  1. Z=2 x+a ,если А=2; Х изменяется от -1 до 9 с шагом 2

8. S=SIN2 (AX+B) ,если A=0.5; B=2 X изменяется от 2 до 8 с шагом 2.

  1. P=|X3-Y3|,если Y=5; X изменяется от 0 до 30 с шагом 5

  1. , если А=0.6; Х изменяется от 1 до 31 с шагом 3

  1. C=1+COS2 (AX) ,если А=0.1; Х изменяется от 0 до 10 с шагом 2

  1. P= ,если A=2;Х изменяется от 7 до15 с шагом 2.

  1. T=SIN X+COS2 AX ,если А=3; Х изменяется от -1 до 21 с шагом 2.

  1. C=еax +AX2 ,если А=0.8; Х изменяется от 0.2 до 1.4 с шагом 0.2

  1. К=COS2(BX+A) ,если B=0.5; A=2; X изменяется от 2 до 18 с шагом 2.

ПРИМЕЧАНИЕ: При выводе результатов предусмотреть печать идентификаторов переменных

При программировании степенной функции использовать формулу:

Xa = ealnx

ЛАБОРАТОРНАЯ РАБОТА № 9.

Формирование и обработка одномерных массивов.

Цель работы: Приобрести навыки использования операторов ввода-вывода при обработке одномерных массивов.

Литература : В.П. Попов TURBO PASСAL .для школьников. Версия 7.0.

Краткие теоретические сведения:

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

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

Описание массива имеет следующий вид :

var <имя массива > :array [ n1..n2 ] of < тип элементов > ;

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

Примеры описания массивов :

var a :array [0..10] of integer ; {массив из 11элементов целого типа }

var b : [-5..9] of real ; { массив из 15 элементов вещест. типа }

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

a[0] :=10

b[i*2] :=3.1415926535

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

Порядок выполнения работы:

  1. Получить допуск к работе у преподавателя.

  2. Ввести текст программы.

  3. Провести отладку программы.

  4. Выполнить программу, провести анализ результатов и, убедившись в правильности решения, предъявить их преподавателю.

Контрольные вопросы:

1.Понятие одномерного массива и способы его описания.

2.Организация ввода одномерных массивов на языке Паскаль.

3.Вывод массивов на языке Паскаль.

4.Алгоритм нахождения суммы и произведение элементов одномерного массива.

5.Алгоритм нахождения наибольшего значения элемента одномерного массива.

6. Алгоритм нахождения наименьшего значения элемента одномерного массива.

Задание к лабораторной работе:

Записать текст программы , провести отладку, перечислить все допущенные в программах ошибки. Устранить их.

1. Пример программы для ввода с клавиатуры массива из 10 элементов и определения среднего арифметического значения и элемента массива, наиболее близкого к среднему арифметическому .

var m: array[1..n] of real ;

sum, const n = 10

sr,delta: real;

i, num:integer;

begin

writeld (‘ введите элементы массива ‘) ;

for i : =1 to n do

realdln (m[i]) ;

{вычислите суммы элементов и среднего арифметического }

sum :=0

for i : = 1to n do

sun : =sun + m [i]

sr : =sun/n

{ вычислите номера элемента ,ближайшего к среднему}

num : =1

delta :=abc(sr-m[1]

for i :=2 to n do

if delta <abc (sr-m[i] )

Then begin

Delta :=abc (sr-m[i] )

Num :=i

End

Writeln (‘среднее=’,sr,’ элемент ,ближайший к среднему =’, m[num])

End

2. Пример программы для заполнения массива из 20 элементов целыми случайными числами в диапазоне от 0 до 99. и сортировки элементов массива по возрастанию. Для получения случайных чисел используется функция random (n) и процедура randomize ,где n задает диапазон случайных чисел ( случайные числа генерируются в диапазоне от 0 до n-1). Оформить вывод сортированного массива.

Const n= 20

Var m :array [1..n] of integer ;

I,j temp for i :=1 to n do

:integer ;

Begin

Rendomize ;{инициализация генератора случайных чисел}

m[i] :=random (100) ;{заполнение массива случай. числами в диапазоне от 0 до 99}

{сортировка элементов массива }

for i : = 1to n do

for j:=i+ 1to n do

if m[i]>m[j] then begin

temp :=m[i];m[i] :=m[j];m[j]:=temp

end

Самостоятельная работа по вариантам:

  1. В массив А[N] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному К.

  2. В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.

  3. Дана последовательность целых чисел a1,a2,a3,…,an..Выяснить какое число встречается раньше – положительное или отрицательное.

  4. Дана последовательность действительных чисел a1,a2,a3,…,an. Выяснить будет ли она возрастающей.

  5. Дана последовательность действительных чисел a1,a2,a3,…,an. Создать массив из четных чисел этой последовательности. Если таких нет, то выдать сообщение об этом факте.

  6. Дана последовательность действительных чисел a1,a2,a3,…,an. Заменить все её члены, большие данного Z, этим числом. Подсчитать количество замен.

  7. Дан массив действительных чисел, размерность которого N. Подсчитать количество отрицательных, положительных, нулевых элементов.

  8. Дана последовательность действительных чисел a1,a2,a3,…,an.Поменять местами наибольший и наименьший элементы.

  9. В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных местах.

  10. Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел меньших К, равных К и больше К.

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

  12. Задана последовательность N целых чисел. Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента.

  13. Заполнить массив из N элементов с начальным значением заданным a[0]#0, по принципу A[i]=A[I div 2 ]+A[I-1].

  14. При поступлении в вуз абитуриенты, получившие двойку на первом экзамене, ко второму не допускаются. В массиве A[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.