Pascal problémamegoldás
Problémák megoldása Delphi - konzolos alkalmazások. Írásakor kódmegoldások Turbo Pascal vagy ABC Pascal környezetben, a következő sort:
felhasználások
SysUtils;
helyébe: használja CRT;
Mivel konzolos alkalmazások „nem kompatibilis” a magyar nyelv, az összes bejegyzést átírt programokat.
lineáris algoritmus
1. feladat.
Írjunk programot, hogy adja meg a három véletlen számok X, Y és Z a billentyűzetről. Ha X értéke nagyobb, mint a Z, majd jelenítse meg a mennyiségét X és Y, egyébként az értéket megjeleníthetjük a Z.
megoldás:
programot Project1;
felhasználások
SysUtils;
var
x, y, z, rez: valós;
kezdődik
write ( 'Wwedi X:'); readln (x);
levelet ( 'Wwedi Y:'); readln (y);
write ( 'Wwedi Z:'); readln (Z);
ha x> z majd Rez: = x + y mást Rez: = z;
writeln (Rez: 0: 2);
readln;
végén.
2. probléma.
Azt írja a programot a billentyűzet három tetszőleges számot X, Y, Z. A program célja, hogy megtalálják a legkisebb megadott szám, és megjeleníti azt.
megoldás:
3. feladat.
A hossza a téglalap alakú föld rész X méter, és a szélessége egyenlő az Y m. Írjunk programot, kiszámításához táblák száma egy előre meghatározott részén a kerítés, ha a szélessége a tábla 10 centiméter.
megoldás:
Problémák tsiklamiZadacha 1.
A hivatalos havi vesz megvesztegetni az összeget X rubelt. X mennyiséggel instabil, és változik 0 150.000 rubelt. A BMW 3 aki meg akarja vásárolni a hivatalos kenőpénzt értékben 1.700.000 rubelt. Készítsünk programot, amely kiszámítja, hogy hány hónapig fog tartani egy hivatalos összegyűjteni a szükséges összeget.
megoldás:
programot Project1;
felhasználások
SysUtils;
var
x: longint;
mes: integer;
kezdődik
mes: = 0;
X: = 0;
egyenlő vagy nagyobb, 1700000>
ismétlés
véletlenszerű;
X: = x + random (150.000);
writeln (x);
mes: = MES + 1;
amíg X> = 1700000;
writeln ( 'Mesjac =', MES);
readln;
végén.
Probléma 2. (a 9. példa GIA osztály).
Írj egy programot, amely kiszámítja a termék a szekvencia osztható 5. A program veszi egy egész szám, a szám a megadott szám nem ismert, a számsorozat végződő számot 0 (0 - jele a bemenet végét nem szerepel a sorozatban).
Számok száma nem haladja meg a 1000. A beírt szám a modul nem haladja meg a 30.000.
A program megjelenít egy számot: a termék a szekvencia osztható 5.
Megoldás: a program Ls1;
felhasználások
SysUtils;
var
x, z: integer; <Переменные для ввода значений x и вычисления произведения z>
n. integer;
címke L1;
kezdődik
z: = 1;
n: = 1 és 1000 do
kezdődik
L1: levelet ( 'Vvedi X:'); readln (x);
ha (x 30000), majd
kezdődik
writeln ( 'Beviteli hiba!');
Goto L1;
végén;
ha x = 0, akkor megtörni mást
ha frac (x / 5) = 0, akkor z: = z * x;
végén;
ha Z = 1, akkor z: = 0;
writeln ( 'Eredmény =', Z);
readln;
végén.
Egy példa a program végrehajtását.
programot Project1;
felhasználások
SysUtils;
var
x, xmin, xmax: integer;
N, rez: integer;
címke L1;
kezdődik
Write ( 'Wedi X:'); ReadLN (x);
xmin: = x; xmax: = x;
n: = 1 és 1000 do
kezdődik
L1: write ( 'Wedi X:'); ReadLN (x);
ha abs (x)> 3000, majd
kezdődik
Writeln ( 'Input ERROR!');
Goto L1;
végén;
ha x = 0, akkor szünet;
ha x xmax majd xmax: = x;
végén;
Rez: = xmax - xmin;
WriteLn ( 'Rezultat =', rez);
readln;
végén.
4. feladat.
Írjunk programot, átalakítani számokat bináris decimális.
Határozat. Ebben az alkalmazásban fogjuk be egy bináris szám, mint egy karakterlánc, majd telepíteni összhangban egy előre meghatározott előre (feldolgozni a rekordot legkevésbé szignifikáns bit), és tovább jelenlétében egy „1” a sorban megfelelő proizvedom számítás.
Lineáris (egydimenziós) sorokat.
1. feladat.
Meghatározott véletlenszerű tömb egész számok, amelyek értéke, modulo nem haladja meg a 300 (-300. 300). A bejegyzések száma egyenlő 10. Keresse meg a maximális és minimális szám a tömbben és a kijelző.
Határozat.
programot lesson3;
felhasználások
SysUtils;
var
ar: array [1..10] az egész;
min, max: integer;
z: integer;
x: integer;
kezdődik
véletlenszerű;
for z: = 1-től 10 do
kezdődik
X: = véletlenszerű (600);
ha x> 300, akkor x: = (x * -1) + 300;
ar [z]: = x;
writeln (Z, '=', ar [Z]);
végén;
min: = ar [1]; max: = ar [1];
a z: = 2 és 10 do
kezdődik
ha min> ar [Z], majd min: = ar [Z];
ha max példa program végrehajtását.