Примеры на Паскале!



[D_A]Akella
14.11.2007, 11:40

Привет! Люди нужны примеры прог на паскале, Делфи!

конкретно по темам

1.Циклы

2.Операторы условия

3.Массивы

4. Оператыры выбора (сase)

и все такое, это для учебного процесса!! если у кого есть плиз киньте в ДС свой ник!! буду Очень признателен!!

Только прозьба не закидывайте ссылками!!!



K.D
14.11.2007, 14:01

неотказался бы сам от такого



Astral
14.11.2007, 15:07

Паскаль:

Использование операторов условия:

Пример 1. Составить программу, которая запрашивает возраст ребенка и затем выдает решение о приеме ребенка в школу (возраст ³ 7лет).

Program sh;

Var v: integer;

Begin

Write(‘Введите возраст ребенка’);

Readln(v);

If v>=7 then writeln(‘Принимаем в школу’)

else writeln (‘Не принимаем в школу’);

end.

Задание. Модифицировать данную программу, чтобы ограничить верхнюю границу приема в школу 16 годами.

Решение:

Program sh;

Var v: integer;

Begin

Write(‘Введите возраст ребенка’);

Readln(v);

If (v>=7) and (v<=16) then writeln(‘Принимаем в школу’)

else writeln (‘Не принимаем в школу’);

end.

Пример 2. Даны два числа. Меньшее из этих чисел заменить суммой данных чисел, большее – произведением.

Program sh;

Var x, y,s,p: integer;

Begin

Write(‘Введите 2 числа’);

Readln(x, y);

S:=x+y; p:=x*y;

If x>=y

then begin y:=s; x:=p; end

else begin x:=s; y:=p; end;

writeln(‘x=’, x);

writeln(‘y=’, y);

end.

Оператор case:

Пример 1. Составить программу, которая по введенному номеру дня недели выводит на экран его название.

Program days;

Var day:byte;

Begin

Write(‘Введите номер дня недели’);

Readln(day);

Case day of

1: writeln(‘Понедельник’);

2: writeln(‘Вторник’);

3: writeln(‘Среда’);

4: writeln(‘Четверг’);

5: writeln(‘Пятница’);

6: writeln(‘Суббота’);

7: writeln(‘Воскресенье’)

else writeln(‘Такого дня нет’);

end; end.

Пример 2. Составить программу, которая по введенному номеру месяца выводит на экран название времени года.

Program m;

Var k:byte;

Begin

Write(‘Введите номер месяца’);

Readln(k);

Case k of

1, 2, 12: writeln(‘Зима’);

3, 4, 5: writeln(‘Весна’);

6, 7, 8: writeln(‘Лето’);

9, 10, 11: writeln(‘Осень’)

else writeln(‘Такого месяца нет’);

end; end.

Использование циклов:

Пример 1. Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.

Program zf;

Var i:integer; f:real;

Begin

Writeln(‘Температура’);

For i:=15 to 30 do

Begin

F:=i*1.8+32;

Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);

End;

End.

Пример 2. Вывести на экран натуральные числа от 1 до 9 в обратном порядке.

Program z;

Var i:integer;

Begin

For i:=9 downto 1 do

Writeln(i);

End.

Program z;

Const

N=10;

Var k, x, s: integer;

Begin

k:=0; s:=0; {k – количество введенных чисел}

while k < n do

begin

k:=k+1;

write(‘Введите число’);

readln(x);

s:=s+x;

end;

writeln(‘Сумма чисел равна’, s);

end.



Массивы :

Одномерный:

Пример 1. Задан одномерный массив В(10), заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k.

Program massiv;

Uses crt;

Var b:array [1..10] of integer;

I, k, s : integer;

Begin

Clrscr; S:=0;

For i:=1 to 10 do

Begin

Write(‘Введите’, i, ‘-й элемент массива ’);

Readln (B[i]);

Write(b[i], ‘ ‘);

End;

Write(‘Введите число k’);

Readln(k);

For i:=1 to 10 do

If b[i]>k then s:=s+1;

Write(‘Количество элементов’, s);

End.

Пример 2. Определить самую высокую температуру и самый теплый день в мае.

Program massiv;

Uses crt;

Var t:array [1..31] of integer;

I, max, n : integer;

Begin

Clrscr;

For i:=1 to 31 do

Begin

t[i]:=random(20);

Write(b[i], ‘ ‘);

End;

Max:=t[1]; n:=1;

For i:=2 to 31 do

Begin

If t[i] > max then max:=t[i]; n:=i ;

End;

Write(‘максимальная температура’, max, ‘в’, n, ‘день’);

End.



Многомерные :

Пример 1. Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.

Program Pifagor;

Uses crt;

Var p: array[1..9, 1..9] of integer; i, j:integer;

Begin

Clrscr;

for i:=1 to 9 do

for j:= 1 to 9 do

p[i,j]:= i*j;

for i:=1 to 9 do

begin

for j:=1 to 9 do

write(p[i,j], ‘ ‘);

writeln

end;

end.

Пример 2. Задан двумерный массив В(10, 10), заполненный случайными числами из

[-10,10]. Найти и вывести на экран те элементы массива, которые больше заданного числа k.

Program massiv;

Uses crt;

Var b: array[1..10, 1..10] of integer; i, j, k :integer;

Begin

Clrscr;

for i:=1 to 10 do

begin

for j:= 1 to 10 do

begin

b [i,j]:= random(20)-10;

write(b[i,j], ‘ ‘);

end;

writeln;

end;

write(‘Введите число k’);

readln (k);

For i:=1 to 10 do

For j:=1 to 10 do

If b[i, j] >k then write (b[i, j]);

End.





Если очень надо как буду свободен поищу по Делфе примеры…



[D_A]Akella
14.11.2007, 17:27

О! Спасибо!!! очень помог!! буду непротив и от делфи))



S@mSOnoFF
14.11.2007, 18:23

А мені б вставку БМП у ТУРБО ПАСКАЛЬ для повного задоволення ))) Правда це юніт потрібен (



Astral
14.11.2007, 18:39

А мені б вставку БМП у ТУРБО ПАСКАЛЬ для повного задоволення ))) Правда це юніт потрібен (

я вообще паскалем занимался , но очень не много(малый был, больше на компе играл), но щас пороюсь в учебниках

добавлено через 38 секунд

Akella;1561649′]О! Спасибо!!! очень помог!! буду непротив и от делфи))

ок, завтра вечером напишу наверно…если никто не отпишет :)


S@mSOnoFF, вот что нашел, как я понял просто так не вставишь, нужен код, воть он и немного описание к нему:



Структура Bmp-файлаИмя Длина Смещение Описание

Заголовок файла (BitMapFileHeader)

Type 2 0 Сигнатура «BM»

Size 4 2 Размер файла

Reserved 1 2 6 Зарезервировано

Reserved 2 2 8 Зарезервировано

OffsetBits 4 10 Смещение изображения от начала файла

Информационный заголовок (BitMapInfoHeader)

Size 4 14 Длина заголовка

Width 4 18 Ширина изображения, точки

Height 4 22 Высота изображения, точки

Planes 2 26 Число плоскостей

BitCount 2 28 Глубина цвета, бит на точку

Compression 4 30 Тип компрессии (0 – несжатое изображение)

SizeImage 4 34 Размер изображения, байт

XpelsPerMeter 4 38 Горизонтальное разрешение, точки на метр

YpelsPerMeter 4 42 Вертикальное разрешение, точки на метр

ColorsUsed 4 46 Число используемых цветов (0 – максимально возможное для данной глубины цвета)

ColorsImportant 4 50 Число основных цветов

Таблица цветов (палитра) (ColorTable)

ColorTable 1024 54 256 элементов по 4 байта

Данные изображения (BitMap Array)

Image Size 1078 Изображение, записанное по строкам слева направо и снизу вверх



Воть сам код:

unit bmpread; {процедуры для работы с Bmp}

interface

type

artype = array[0..0]of byte;

arptr = ^artype;

bmFileHeader = record {заголовок файла}

Typf : word; {сигнатура }

Size : longint; {длина файла в байтах}

Res1 : word; {зарезервировано}

Res2 : word; {зарезервировано}

OfBm : longint; {смещение изображения в байтах (1078)}

end;

bmInfoHeader = record {информационный заголовок}

Size : longint; {длина заголовка в байтах (40)}

Widt : longint; {ширина изображения (в точках)}

Heig : longint; {высота изображения (в точках)}

Plan : word; {число плоскостей (1)}

BitC : word; {глубина цвета (бит на точку) (8)}

Comp : longint; {тип компрессии (0 – нет)}

SizI : longint; {размер изображения в байтах}

XppM : longint; {горизонтальное разрешение}

{(точек на метр – обычно 0)}

YppM : longint; {вертикальное разрешение}

{(точек на метр – обычно 0)}

NCoL : longint; {число цветов}

{(если максимально допустимое – 0)}

NCoI : longint; {число основных цветов}

end;

bmHeader = record {полный заголовок файла}

f : bmFileHeader; {заголовок файла}

i : bmInfoHeader; {информационный заголовок}

p : array[0..255,0..3]of byte; {таблица палитры}

end;

bmhptr = ^bmHeader;

{чтение изображения из Bmp-файла}

procedure ReadBMP(image:arptr; {массив с изображением}

xim,yim:word; {размеры}

pal:arptr; {палитра}

filename:string); {имя файла}

{чтение заголовка Bmp-файла}

procedure ReadBMPheader(header:bmhptr;filename:string);

implementation

{$R-}

{чтение изображения из Bmp-файла}

procedure ReadBMP(image:arptr; xim,yim:word;

pal:arptr; filename:string);

var

h : bmHeader;

i : integer;

bmpfile : file;

s : longint;

begin

assign(bmpfile,filename);

reset(bmpfile,1);

blockread(bmpfile,h,sizeof(h)); {чтение заголовка}

for i := 0 to yim-1 do begin {построчное чтение}

blockread(bmpfile,image^[(yim-i-1)*xim],xim);

if (xim mod 4) <> 0 then

blockread(bmpfile,s,4 – (xim mod 4));

end;

close(bmpfile);

for i ^= 0 to 255 do begin {преобразование палитры}

pal^ := h.p[i,0] shr 2; {синий}

pal^[i*3+1] := h.p[i,1] shr 2; {зеленый}

pal^[i*3+0] := h.p[i,2] shr 2; {красный}

end;

end;

{чтение заголовка Bmp-файла}

procedure ReadBMPheader(header:bmhptr;filename:string);

var

bmpfile:file;

begin

assign(bmpfile,filename);

reset(bmpfile,1);

blockread(bmpfile,header^,sizeof(header^));

close(bmpfile);

end;

end.



а также :

{<создание> спрайта}

procedure CreateSprite(s:string; x,y,dx,dy:integer);

var

f : file; {файл с изображением спрайта}

begin

getmem(Sprt.Img,sizeof(SpriteArrayType));

{выделяем память для спрайта}

getmem(Sprt.Back,sizeof(SpriteArrayType));

{выделяем память для буфера}

Readbmp(@(Sprt.Img^),Xsize,Ysize,@p,s);

Sprt.x := x;

Sprt.y := y; {задаем начальные значения}

Sprt.dx := dx; {координат и приращений}

Sprt.dy := dy;

end;

[i] добавлено через 51 минуту

Akella]буду непротив и от делфи

извини но как оказалось учебников по Делфи у мну нету, да и сам никогда с ним не работал(и вроде как не прийдеться), так что помочь не получиться…

если найдешь учебники(хорошие) обращайся в ЛС помогу выкачать…



[D_A]Akella
18.11.2007, 13:28

оки сапсибо!! но есть главній вопрос постейшая задача на паскале, есть напиь, надо заменить все маленькие букві на большие! убейте но незнаю какєто делается, еще в школе как то учили но єто біло 4 года назад нипомню ничего!



Berkut
18.11.2007, 14:52

Akella;1573579′]оки сапсибо!! но есть главній вопрос постейшая задача на паскале, есть напиь, надо заменить все маленькие букві на большие! убейте но незнаю какєто делается, еще в школе как то учили но єто біло 4 года назад нипомню ничего!

Решение этой задачи СИЛЬНО зависит от ряда дополнительных условий. Например, буквы какие – только латинские или могут быть и русские?

Паскаль какой? Turbo/Borland Pascal 7 ? Или Object Pascal (Delphi) ?

И еще. Что-то эта задача больно смахивает на задание какой-то лабораторной работы. Кажется, где-то тут говорилось, что пора ввести запрет на посты с домашними заданиями?



Iv@nOFF
18.11.2007, 16:23

Akella;1573579′]оки сапсибо!! но есть главній вопрос постейшая задача на паскале, есть напиь, надо заменить все маленькие букві на большие! убейте но незнаю какєто делается, еще в школе как то учили но єто біло 4 года назад нипомню ничего!

Если буквы латинские, то нужно в строке каждый символ заменять символом, код которого на 32 меньше исходного символа

S[i]:=Chr(Ord(S[i])-32);

В русском варианте должно быть что-то похожее, только смещение другое (точно не скажу из-за отсуствия времени и русской таблицы символов)



Найти информацию?

Используйте форму ниже, чтобы начать поиск по сайту:

Не нашли то что искали? Напишите мне на почту, возможно я помогу найти Вам необходимую информацию!

Сыылки на полезные сайты!

Тут будут публиковаться ссылки на интересные ресурсы по теме...