// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var m:=Readinteger('Что ищем?'); var k:=a.FindAll(x->x=m).Count; Writeln('Найдено таких элементов- ',k); if k>0 then Writeln('Номер первого такого элемента- ', a.FindIndex(x->x=m)+1) end.
Пример n= 17 -46 33 -9 -22 14 -46 -6 -3 -7 -18 46 42 -40 -40 0 29 -9 Что ищем? -9 Найдено таких элементов- 2 Номер первого такого элемента- 3
1. Исходный путь каталога: c:/учебный/информатика/кодирование
2. Для каждого поднятия на один уровень вверх мы используем "папка_вверх/..", что приводит нас на уровень выше.
3. Для каждого спуска на один уровень вниз мы используем "папка_вниз/.", что означает оставаться на текущем уровне.
4. Поскольку Витя поднимался на один уровень вверх и спускался на один уровень вниз одинаковое количество раз, мы можем использовать соответствующее количество "папка_вверх/.." и "папка_вниз/." в пути каталога.
Шаги решения:
1. Изначально задан путь: c:/учебный/информатика/кодирование
2. Первый подъем вверх: ../
3. Второй подъем вверх: ../../
4. Первый спуск вниз: ./папка_вниз/
5. Второй спуск вниз: ./папка_вниз/
В итоге мы получаем полный путь каталога, в котором оказался Витя: