חברה אני ממש חייב את העזרה שלכם בפסקל - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

חברה אני ממש חייב את העזרה שלכם בפסקל


dartinations

Recommended Posts

חברה תקשיבו יש לי יום ראשון עבודה ענקית להגשה

ויש 2 תרגילים שלא הולכים לי ואני ממש חייב מכם את העזרה הזאת ואני ממש יעריך את זה אם תעזרו לי

אז הנה שאלה 1:

במפעל לייצור צעצועים החליטו לייצר סדרת צעצועים המבוססת על סרט ילדים חדש.

בעקבות החלטה זו הוחלט להוזיל את מחירהם של שאר הצעצועים המיוצרים במפעל.

כתוב תוכנית אשר תקלוט את קוד המוצר(צעצוע) ומחירו, תבדוק אם זהו קוד מוצר ישן (הקוד חייב היות בטווח של 001-888)

ואם כן תחשב הנחה של 30 אחוז ממחירו הנוכחי של המוצר. מספר המוצרים במפעל אינו ידוע, התכנית תיעצר כאשר ייקלט קוד מוצר 000 על התוכנית יש להדפיס עבור כול מוצר את מחירו לפניי ואחרי ההנחה

שאלה 2.כתוב תכנית הקולטת שני מספרים שלמים שונים מ 0 , N1 ו N2 ובודקת כמה מספרוויתיו של N1 זהות בתאמה לספרותיו של N2

יש להציג שני המספרים הנתונים ואת מספר הספרות שבהן היתה התאמה. אם אין האמה באף אחת מהספרות - הערך שהתכנית תציג יהיה 0

דוגמא: עבור N2=-12753 N1=5783

ישנן 2 התאמות

והפלט יהיה : 2 5783 -12753.

חברה אני ממש אבל ממש יעריך את זה אם תעזרו לי פה

כי אני ממש חייב את זה

קישור לתוכן
שתף באתרים אחרים

program Stam;

var

code,priceB:integer;

begin

writeln ('please enter a code');

read (code);

writeln ('please enter the price');

read (priceB);

while code<>000 do

begin

writeln ('please enter a code');

read (code);

writeln ('please enter the price');

read (priceB);

if (code>=1) and (code<=888) then

begin

writeln ('The price befor discount:',priceB);

writeln ('the price after discout:',priceB-((priceP*30)/100)));

end;

end;

end.

משהו כזה  :P

עריכה- לא צריך את כל הREAD

קישור לתוכן
שתף באתרים אחרים

program Stam;

var

code,priceB:integer;

begin

writeln ('please enter a code');

read (code);

writeln ('please enter the price');

read (priceB);

while code<>000 do

begin

writeln ('please enter a code');

read (code);

writeln ('please enter the price');

read (priceB);

if (code>=1) and (code<=888) then

writeln ('The price befor discount:',priceB);

writeln ('the price after discout:',priceB-((priceP*30)/100)));

end;

end.

משהו כזה  :P

:o

תודנ רבה אחי תודה תודה תודה

קישור לתוכן
שתף באתרים אחרים

רק תבדוק את זה...

אני לא בטוח שזה נכון.

ועשיתי את כל הREADים לפני הלולאה, כי בלעדיהם הלולאה תתבצע גם אם יקלט "000".

לא צריך, ערכתי את התוכנית.


ובדוגמא שהבאת בתרגיל השני, למה התשובה 2? זה צריך להיות0... רשום:

ובודקת כמה מספרוויתיו של N1 זהות בתאמה לספרותיו של N2


ובתרגיל 2 רשום לך בן כמה ספרות  צריך להיות המס' ?

קישור לתוכן
שתף באתרים אחרים

בתרגיל 2 אפשר עם שני מערכים ולהשוות בלולאות FOR את המספרים.    אבל- מה קורה אם יש 2 ספרות? זה לא משנה? , 

ובתרגיל 2 רשום לך בן כמה ספרות  צריך להיות המס' ?

*אפשר גם בלי המערכים - לחלק את המספרים ולהשוות אותם.

קישור לתוכן
שתף באתרים אחרים

רק תבדוק את זה...

אני לא בטוח שזה נכון.

ועשיתי את כל הREADים לפני הלולאה, כי בלעדיהם הלולאה תתבצע גם אם יקלט "000".

לא צריך, ערכתי את התוכנית.


ובדוגמא שהבאת בתרגיל השני, למה התשובה 2? זה צריך להיות0... רשום:


ובתרגיל 2 רשום לך בן כמה ספרות  צריך להיות המס' ?

לא לא רשןם

קישור לתוכן
שתף באתרים אחרים

אם לא רשום, אז אני לא יודי איך עושים את זה, כנראה שזה עם מערכים.

אני שוב מזכיר לך- ערכתי את התוכנית.

אפשר לעשות זאת אם שני מערכים, אבל כל עניין התכנות מתבסס על יעילות התוכנה, לכן תוכנית אם שני מערכים פשוט תהיה יעילה פחות מתוכנית רגילה ללא מערכים בה אתה פשוט קולט שני מספרים ובודק כל פעם את סיפרת האחדות שלהם. ( יש צורך להשתמש בdiv , mod ) לכל מספר אתה צריך לעשות mod 10 , כך אתה מקבל את ספרת האחדות. לאחר שקיבלת אותה תשווה אותה אם ספרת האחדות של המספר השני. אם הן זהות אז המונה שלך יגדל באחד. לאחר הבדיקה פשוט תעשה לכל אחד מהמספרים div 10 וזה יקטין אותם פי 10 בכדי שתוכל לבדוק שוב את סיפרת האחדות עם הmod 10. עשה זאת בלולאה עד שהמספרים div 10 יהיו 0 .

קישור לתוכן
שתף באתרים אחרים

אבל זה יעבוד רק אם שני המספרים הם בעלי אותו מספר ספרות.

בדוגמה שהוא נתן, למשל, התוצאה בכלל אמורה להיות 0, כי ההיגיון אומר להתחיל לבדוק את הספרות משמאל לימין. כמובן שזה לא משנה (ימין-שמאל או שמאל-ימין) אם המספרים הם בעלי אותו מספר ספרות, ולזה בדיוק התכוונתי...

קישור לתוכן
שתף באתרים אחרים

program numbers;

var a,b:string;

n,n1,n2,i:0..9;

begin

readln(a,b);

n1:=length(a);

n2:=length(b);

n:=0;

if n1=n2 then

begin

for i:=n1 to 1 do

begin

if a = b then

n:=n+1;

end;

end;

if n1>n2

begin

for i:=n2 to 1 do

begin

if a = b then

n:=n+1;

end;

end;

if n1<n2 then

begin

for i:=n1 to 1 do

begin

if a = b then

n:=n+1;

end;

end;

writeln('the first num is', a);

writeln('the second num is', b);

writeln('there are ',n,' same numbers');

end.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...