20.11.2023

Срезы в PascalABC.NET (примеры использования в задачах)

Срез - это набор элементов списка, массива или строки.

Приведем в пример программу, демонстрирующую срезы в PascalABC.NET, а также решения задач с использованием срезов.

begin

  var a:=Arr(10, 11, 12, 13, 14, 15, 16, 17, 18);

  a.Println(); // вывод массива // [10, 11, 12, 13, 14, 15, 16, 17, 18]

  a[1:3].Println(); // срез по индексам [1, 3) с шагом 1 // [11, 12]

  a[2:8:3].println(); // срез по индексам [2, 8) с шагом 3 // [12, 15]

  a[7:2:-1].Println(); // срез по индексам [7, 2) с шагом -1 // [17, 16, 15, 14, 13]

  a[::-1].Println(); // реверс массива

 end.

 Задача 1. В массиве удалить каждый второй элемент.

  Пусть имеется массив [12, 13, 14, 15, 16]

  Результат [12, 14, 16]

begin

   var a:=Arr(12, 13, 14, 15, 16);

   a:=a[::2];

   a.Println();

end.

Задача 2. В массиве найти минимальный элемент среди элементов, у которых индексы кратны 3.

 Пусть имеется массив [100, 12, 14, 23, 45, 200, 27, 21]

 То есть среди элементов 100, 23, 27 найти минимальный.

begin

  var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var m:=a[0::3].Min;

  println(m);

end.

Задача 3. В массиве удалить элемент с индексом k (k меньше количества элементов массива).

begin

  var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var k:=random(a.Length);//k зададим случайно

  if k < a.Length-1 then a:=a[:k]+a[k+1:]

                     else a:=a[:a.Length-1];

  a.Println;

  println('удалили элемент с индексом ',k);

end.

Задача 4. В массив вставить элемент на место с индексом k (k меньше количества элементов массива).

begin

var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var k:=random(a.Length);//зададим случайно

  setlength(a, a.Length);

  var d:=Random(100); //число зададим случайно

  if k < a.Length then a:=a[:k] + Arr(d) + a[k:]

                  else a:=a[:a.Length-1] + Arr(d);

  a.Println;

  println('вставили число ',d,' на место с индексом ',k);

end.


Динамические массивы в Паскале

Читать

Найти число пар соседних элементов массива, оканчивающихся нулем. Язык Паскаль.

Читать

Найти максимум/минимум в массиве. Программа на языке Паскаль.

Читать

Массивы в языке Паскаль. Решение задач. 8 класс (сумма, произведение, среднее арифметическое, минимум/максимум с условием)

Читать

Язык Паскаль. Найти количество различных чисел в массиве из N элементов (2 способа решения)

Читать

15.11.2023

Решаем уравнение с помощью программы на языке Паскаль и Python

 Задача. Имеется уравнение вида ax + b = 0. По введенным коэффициентам a и b найти корень уравнения (значение x).

Необходимо рассмотреть несколько случаев:

если а ≠ 0 — уравнение имеет единственный корень: х = -b / а;

если а = 0 — уравнение корней не имеет;

если а и b равны нулю, то корнем уравнения является любое число. 

Воспользуемся оператором ветвления.

if a<>0 then println('корень уравнения: ',-b/a)

          else

              if b=0 then println('любое число')

                     else println('корней нет');

Программа решения задачи на языке Паскаль

var a, b, x: real;

begin

  print('Введите коэффициенты a и b:');

  raedln(a,b);

  if a<>0 then println('корень уравнения: ',-b/a)

          else

              if b=0 then println('любое число')

                     else println('корней нет');

end.

Результат запуска программы

результат запуска

Программа решения задачи на языке Python

a, b = map(float, input('Введите коэффициенты a и b ').split())

if a!=0:

    print('корень уравнения: ',-b/a)

elif b == 0:

    print('любое число')

else:

    print('корней нет')


Задан проходной балл. Запрашиваются оценки абитуриента на трех экзаменах и сообщается о результате приема в институт.

Читать

Определить, делителем каких целых чисел из А, В и С является целое число N.

Читать

Дано трехзначное число. Определить, является ли сумма его цифр двузначным числом

Читать

Является ли число двузначным

Читать

Известен рост трех человек. Определить, одинаков ли их рост?

Читать