1. Проанализируйте готовую программу, ответьте на вопросы: var mas: array [1..9] of integer; А) Каково имя массива? |N, max: integer; Б) Сколько в нём элементов? begin В) Элементы какого типа записаны в for i:=1 to 11 do begin массив? mas [i]:= Random (60); Г) Как вводятся в массив данные? write (mas [i],' '); end; writeln; max := mas [1]; Д) Чему может быть равен наибольший for i:=2 to 11 do элемент массива при таком ввода? if mas [i] > max then max := mas [i]; E) Какую задачу решает программа? writeln (max); end.
n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
// delete.cpp: определяет точку входа для консольного приложения.//
#include "stdafx.h"#include "iostream"#include <conio.h>
using namespace std;
int count_ = 0;
char m[6][6] = { {'S', '.', '.', '.', '#', '#'}, { '#', '.', '#', '.', '.', '.' }, { '.', '.', '#', '.', '.', '#' }, { '.', '.', '#', '#', '#', '.' }, { '#', '.', '.', '.', '#', '#' }, { '#', '#', '#', '.', '.', 'F' }};
int find_p(int x, int y) { if (x < 0 || x > 5 || y < 0 || y > 5) return 0; if (m[y][x] == 'F') return 1; if (m[y][x] != '.' && m[y][x] != 'S') return 0; m[y][x] = '+'; count_++; if (find_p(x, y - 1)) return 1; if (find_p(x + 1, y)) return 1; if (find_p(x, y + 1)) return 1; if (find_p(x - 1, y)) return 1; m[y][x] = 'x'; return 0;}
int main(){ find_p(0, 0); cout << count_; //вывод _getch(); // задержка return 0;}