Динамические структуры данных

В примере реализованы две основные операции со стеком: добавление и удаление элементов. type pitem=^item; item=record   {элемент стека} data:integer; {значение элемента} prev:pitem;   {адрес предыдущего элемента} end; var top,p:pitem; n,k:integer; procedure add(x:integer); {добавляет элемент на вершину стека} begin new(p); {создаем ЧИТАТЬ ДАЛЕЕ

Обработка файлов

1. Задан текстовый файл, каждая строка которого может рассматриваться как запись целого числа в двоичной системе счисления. Преобразуйте двоичную запись числа в десятичную. uses crt; var f: text; n,i,k,d,b,s:integer; a:array[1..10] of integer; begin assign (f, ‘d:\file1.txt’);reset (f); while not eof ЧИТАТЬ ДАЛЕЕ

Обработка текста

1. В заданной строке текста определите число различных букв. program lab8z1; uses crt; const book=[‘A’..’Z’,’a’..’z’,’А’..’Я’,’а’..’я’]; var s:string; i,k:integer; m:set of char; begin clrscr; writeln(‘Введите текст’); readln(s); m:=[]; k:=0; for i:=1 to length(s) do if (s[i] in book)and not(s[i] in m) then ЧИТАТЬ ДАЛЕЕ

Процедуры

1. Составьте программу, проверяющую, является ли число палиндромом (например, число 12421 — палиндром) program lab7z1; uses crt; var n:integer; procedure pal(n:integer); var p,m:integer; begin m:=n;p:=0; while m>0 do begin p:=p*10+m mod 10; m:=m div 10; end; if p=n then writeln(‘это палиндром’) ЧИТАТЬ ДАЛЕЕ

Двумерные массивы

1. Найти столбец с наибольшей и наименьшей суммой элементов. Вывести на печать найденные столбцы и суммы их элементов.   program lab6z1; uses crt; const n=3;m=3; var a:array [1..n,1..m] of integer;     i,j,kmax,k,kmin,s,smax,smin:integer; begin randomize; smax:=-maxint; smin:=maxint; kmax:=0; kmin:=0; For i:=1 to ЧИТАТЬ ДАЛЕЕ

Одномерные массивы

1)Ввести с клавиатуры массив из 5 элементов. Найти среднее арифметическое всех элементов массива. program z1; const n=5; var a:array [1..n] of integer; i,s:integer;s1:real; begin for i:=1 to n do begin write(‘a[‘,i,’]=’); read(a[i]); end; s:=0;s1:=0; for i:=1 to n do s:=s+a[i]; ЧИТАТЬ ДАЛЕЕ

Циклические программы

1) Написать программу, решающую квадратное уравнение — ax^2+bx+c=0 program z1; var a,b,c,x,x1,x2,d:real; begin write(‘a=’);readln(a); write(‘b=’);readln(b); write(‘c=’);readln(c); d:=b*b-4*a*c; if d>0 then begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln(‘x1=’,x1,’ x2=’,x2); end; if d=0 then begin x:=-b/(2*a); writeln(‘x=’,x); end; if d<0 then writeln(‘нет реш’); readln end. ЧИТАТЬ ДАЛЕЕ

Условный оператор. Оператор выбора

1) В треугольнике заданы сторона a, высота ha и угол С. Найти стороны b,с  и площадь S. program z1; var a,h,cc,b,c,s:real; begin write(‘сторона а= ‘);readln(a); write(‘высота h= ‘);readln(h); write(‘угол c= ‘);readln(cc); b:=h/(sin(180/(pi*cc))); c:=sqrt(a*a+b*b-2*a*b*cos(180/(pi*cc))); s:=(h*a)/2; writeln(‘сторона b=’,b:6:2); writeln(‘сторона c=’,c:6:2); writeln(‘площадь s=’,s:6:2); readln end. 2) Определить ЧИТАТЬ ДАЛЕЕ