
- •Создание программ с использованием циклов. Работа с массивами
- •Введение
- •Лабораторная работа №6. Оператор цикла с параметрами
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Лабораторная работа №7. Оператор цикла с предусловием
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Лабораторная работа №8. Одномерный массив
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Лабораторная работа №9. Двухмерный массив. Матрица.
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Int a[2][3]; /* представлено в виде матрицы
- •Int a[100][100]; // матрица
- •Библиографический список
Var // объявление переменных
N,i:Integer;
F:array[1..100] of Integer;
Реализация программы в среде Delphi выглядит следующим образом:
program prog_lr8;
// указание компилятору создать консольное приложение
{$APPTYPE CONSOLE}
var // объявление переменных
N,i:Integer;
F:array[1..100] of Integer;
begin // начало программы
// сообщение пользователю о цели программы
writeln('Programma generiruyushaya N chisel posledovatelnosti Fibonachi.');
// сообщение пользователю о необходимости ввода переменной
write('Vvedite N: ');
readln(N); // ввод переменной
// присваиваем первым двум элементам в качестве значений единицу
F[1]:=1;
F[2]:=1;
// рассчитываем значения элементов последовательности Фибоначчи
for i := 3 to N do // заголовок цикла
begin // начало группы операторов, выполняемых в цикле
F[i]:=F[i-1]+F[i-2];
end; // конец группы операторов, выполняемых в цикле
// выводим массив на экран
for i := 1 to N do // заголовок цикла
begin // начало группы операторов, выполняемых в цикле
writeln(F[i]); // вывод числа
end; // конец группы операторов, выполняемых в цикле
readln; // задерживаем закрытие консольного окна
end. // конец программы
Язык программирования C
В языке С объявление массива имеет два формата:
спецификатор-типа описатель [константное - выражение];
спецификатор-типа описатель [ ];
Описатель - это идентификатор массива.
Спецификатор-типа задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void.
Константное-выражение в квадратных скобках задает количество элементов массива. Константное-выражение при объявлении массива может быть опущено в следующих случаях:
- при объявлении массив инициализируется,
- массив объявлен как формальный параметр функции,
- массив объявлен как ссылка на массив, явно определенный в другом файле.
В языке С первый элемент массива имеет индекс равный 0.
Пример объявления и инициализации символьного массива:
char str[] = "объявление символьного массива";
Следует учитывать, что в символьном литерале находится на один элемент больше, так как последний из элементов является управляющей последовательностью '\0'.
Руководствуясь блок-схемой, записываем алгоритм на языке C:
scanf("%d",&N); // ввод количества элементов
// присваиваем первым двум элементам в качестве значений единицу
F[0] = 1;
F[1] = 1;
// рассчитываем значения элементов последовательности Фибоначчи
for (int i = 2; i < N;i++) // заголовок цикла
{ // начало группы операторов, выполняемых в цикле
F[i] = F[i-1] + F[i-2];
} // конец группы операторов, выполняемых в цикле
// выводим массив на экран
for (int i = 0; i < N;i++) // заголовок цикла
{ // начало группы операторов, выполняемых в цикле
printf("%d\n",F[i]); // вывод числа
} // конец группы операторов, выполняемых в цикле
По условию задачи все переменные должны быть объявлены как целые числа, следовательно, в разделе объявления переменных программы должна содержаться следующая запись:
// объявление переменных
int N;
int F[100];
Реализация программы в среде С Builder выглядит следующим образом:
#pragma hdrstop
// подключение модуля, в котором определены функции ввода и вывода
#include <stdio.h>
#pragma argsused
int main(int argc, char* argv[]) {
// объявление переменных
int N;
int F[100];
// сообщение пользователю о цели программы
printf("Programma generiruyushaya N chisel posledovatelnosti Fibonachi.\n");
// сообщение пользователю о необходимости ввода переменной
printf("Vvedite N: ");
scanf("%d",&N); // ввод числа
// присваиваем первым двум элементам в качестве значений единицу
F[0] = 1;
F[1] = 1;
// рассчитываем значения элементов последовательности Фибоначчи
for (int i = 2; i < N;i++) // заголовок цикла
{ // начало группы операторов, выполняемых в цикле
F[i] = F[i-1] + F[i-2];
} // конец группы операторов, выполняемых в цикле
// выводи массив на экран
for (int i = 0; i < N;i++) // заголовок цикла
{ // начало группы операторов, выполняемых в цикле
printf("%d\n",F[i]); // вывод числа
} // конец группы операторов, выполняемых в цикле
scanf("%d",&N); // задерживаем закрытие консольного окна
return 0;
}
Этап 5. Тестирование и отладка. Проверяем работу программы. Составляем тесты и запускаем по ним программу.
В формализованное решение задачи подставляем параметр N и получаем результаты.
Составляем три теста:
1) N = 3; числа 1, 1, 2;
2) N = 10; числа 1, 1, 2, 3, 5, 8, 13, 21, 34, 55;
3) N = 15; числа 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,89,144,233,377,610.
Запускаем программу и подставляем тестовые переменные:
1)
2)
3)
Результаты работы программы совпадают с ожидаемыми результатами — программа работает правильно.