Задание № 1. Дана структура с именем ZNAK, состоящая из полей: – фамилия, имя;
– знак Зодиака;
– дата рождения (массив из трех чисел).
Написать программу на языке Pascal, которая выполняет следующие действия:
– ввод с клавиатуры данных в массив, состоящий из 8 элементов типа ZNAK, и занесение их в файл данных;
– чтение данных из файла и вывод их на экран;
– вывод на экран информации о людях, родившихся в месяц, значе-ние которого введено с клавиатуры (если таких нет – вывести об этом со-общение);
– список должен быть упорядочен по знакам Зодиака.
Задание № 2. Описать и обосновать итоги тестирования работы разработанного приложения на различных платформах: различных вариантах аппаратной конфигурации, версиях операционной системы и окружения.
перо Сместиться в точку (1,7) Сместиться в точку (1,5) Поднять перо Сместиться на вектор (0,-2) Опустить перо Сместиться на вектор (2,0) Сместиться в точку (3,5) Сместиться на вектор (-2,0) Поднять перо Сместиться в точку (4,5) Опустить перо Сместиться на вектор (2,0) Поднять перо Сместиться в точку (5,6) Опустить перо Сместиться в точку (5,4) Поднять перо Сместиться в точку (7,3) Опустить перо Сместиться на вектор (2,0) Сместиться на вектор (0,4) Сместиться в точку (7,7) Сместиться в точку (7,5) Сместиться в точку (9,5) Поднять перо В ответе укажите только число, без пробелов и каких-либо знаков препинания, например 100 ответ:
Объяснение:
// Версия 3.3.5 сборка 1662 (29.04.2018)
begin
var b := ReadlnString('Введите строку -').ToLower+' ';
var (z,r) := (',!?.:;'.ToCharArray,'!.?;'.ToCharArray);
var tt:=true; Range(1,b.Length+b.ToCharArray.Where(t->t in z).Count).ForEach(t->if (b[t] in z) and tt then begin Insert(' ', b, t); tt:=false end else tt:=true);
var a := b.ToWords;
var x := ReadlnChar('Буква -');
var (w, i) := a.Select((w, i)-> (w, i)).Where(t -> t[0].ToString.First.ToLower = x).Reverse.UnZipTuple;
i := i.Reverse;
foreach var t in w.Zip(i, (p, q)-> (p, q)) do a[t[1]] := t[0];
b := string.Join(' ', a);
tt:=true; Range(1,b.Length-b.ToCharArray.Where(t->t in z).Count+1).ForEach(t->if (b[t] in z) and tt then begin Delete(b, t - 1, 1); tt:=false end else tt:=true);
b.Println; Println('Количество предложений:',b.ToWords(r).Count);
end.
Пример в приложении.