Практическая работа Число рождение (оператор VAl, WHILE, CASE)


Задача. Число рождения. Определить число вашего рождения, т.е. сумму цифр, входящих в дату рождения, причем суммирование продолжается до тех пор, пока сумма не станет однозначным числом. Пример. 18 ноября 1992 годаСумма чисел:28+12+1996=2036 – четырехзначное число2+0+3+6=11 – двузначное число1+1=2 – число рождения Энергичность Подсказки Оформим нахождение суммы цифр в виде подпрограммы-функции.Используем цикл с предусловием. Листинг. Uses crt; Var T:string; Day, mon, god, fl1, fl2,fl3, number : integer ; Function sum( n : integer) : integer ; Var s: integer; Begin s:=0; while n>0 do begin S:=s+(n mod 10); n:=n div 10 ; end ; sum:=s; End; Begin Repeatwrite(‘Введите дату рождения: дд.мм.гг: ’) ; readln (T) ;val (copy (T, 1, 2), day, fl1) ;val (copy (T, 4, 7), day, fl2) ;val (copy (T, 7, 4), day, fl3) ; until (fl1=0) and ) (fl2=0) and (fl3=0) ;number:=day+mon+god;while number>=10 donumber:=sum(number) ; Writeln (T, ‘ - ’ , number);end . Write (‘ Ваше наиболее яркое качество: ’);Case number of 1:T : =‘ воля’ ;2:T : =‘ энергичность’ ;3:T : =‘ любознательность’ ;4:T : =‘ здоровье’ ;5:T : =‘ интуиция’ ;6:T : =‘ мастерство’ ;7:T : =‘ удачливость’ ;8:T : =‘ правдолюбие’ ;9:T : =‘ ум, память’ ;End;Writeln (T); 1. Напишите на Паскале программу, которая запрашивает с клавиатуры массив из N чисел, а затем выводит среднее арифметическое всех элементов массива.2. Перепишите программу на Паскале, исправив ошибки:Program massiv;Var a:array(-10..10) of integer;Begin For i:=1 to 20 Do Read(a[i]); For i:=1 to 20 Do a[i]:=a[i]/10;For i:=1 to 20 Do Write(a[i])End.