نصائح و استشارات برمجية
Kanalga Telegram’da o‘tish
• نصائح واستشارات برمجية متعلقة باسئلة تم طرحها • لطرح استفسار او سؤال: @m4md24
Ko'proq ko'rsatish1 450
Obunachilar
+224 soatlar
+87 kunlar
+1030 kunlar
Postlar arxiv
الويندوز اه ممكن يتغير في كل الحالات باذن الله، بس كارت الشاشة لو هو لاب فا مينفعش، اما لو كمبيوتر فا ينفع.
■ مختلفين، الفرق بين CS50 و CSS
• CS50:
- دورة تعليمية بتديك فكرة عن اغلب مجالات البرمجة بمختلف انواعها، يعتبر كنوع من انواع التاسيس.
• CSS:
- لغة برمجة وصفية
• لا، انواع الاخطاء المتعارف عليها هما نوعين:
- خطأ كتابي: و دا بيبقى نتيجة لكتابة كود خاطئ و البرنامج اللي بيتم استخدامه في البرمجة او التطوير في الغالب بيقول عليها، و طبعا المشروع بيحصل فيه اخطاء و ممكن يوقف في اداء مهمة معينة كذلك نتيجة لكتابة شئ خاطئ والاحتمال الاكبر هو ان اامشروع ميشتغلش من الاصل لو كان في خطأ كتابي.
- خطأ منطقي: و دا اصعب خطأ ممكن يواجهه اي مبرمج، و هو انه المشروع بيشتغل عادي و مبيظهرش اي خطأ، بس الكود مش بيقوم بالمهمة المطلوبة و ممكن البرنامج يوقف عند اداء المهمة اللي فيها خطأ او يطلع ناتج غير متوقع.
المشاكل اللي بتواجهني دي بيكون سببها ايه
و هل المشكله بتتوقف بس عند ان الكود مش شغال
• تتدربي على حل المسائل البرمجية عشان تعرفي تحلي مشكلات في الاكواد بشكل كويس و مياخدش منك وقت في الحل دا طبعا بعد ما يكون عدا عليكي كمية مسائل و مشكلات كتيرة و مع الوقت ان شاء الله تقدري توصلي لدا
و طبعا عشان تتعمقي في حاجة زي كدا لازم تختاري لغة معينة تحلي بيها مسائل و تدرسيها كويس، احنا عندنا نوعين من لغات البرمجة:
• لغات برمجة امرية، زي:
- C++
- Java
- Python
• لغات برمجة وصفية، زي:
- HTML
- XML
- CSS
• اغلب اللي بيتخصصو Problem Solving بيختارو اللغات الامرية لان مشاكلها اكتر، واحتياج سوق العمل ليها كمان اكبر عن لغات البرمجة الوصفية.
• الكود فيه اغلاط كتير، في مشاكل في الدوال التالية:
- addFirst
- removeLast
- removeFirst
- addMiddle
• و دا الحل بعد التعديل:
import java.util.Scanner;
public class SinglyLinkedList2<E> {
public class Node<E> {
private E data;
private Node<E> next;
public Node() {
this.data = null;
this.next = null;
}
public Node(E data) {
this.data = data;
this.next = null;
}
public Node(E data, Node<E> next) {
this.data = data;
this.next = next;
}
public E getData() {
return data;
}
public void setData(E data) {
this.data = data;
}
public void setNext(Node<E> next) {
this.next = next;
}
public Node<E> getNext() {
return next;
}
}
private Node<E> head;
private Node<E> tail;
private int size;
public SinglyLinkedList2() {
this.head = null;
this.tail = null;
this.size = 0;
}
public int getSize() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
public E getFirstData() {
if (isEmpty()) {
return null;
}
return head.getData();
}
public E getLastData() {
if (isEmpty()) {
return null;
}
return tail.getData();
}
public void addFirst(E e) {
Node<E> newest = new Node<E>(e);
if (isEmpty()) {
head = newest;
tail = newest;
} else {
newest.setNext(head);
head = newest;
}
size++;
}
public void addMiddle(E key) {
Node<E> newest = new Node<E>(key);
if (isEmpty()) {
addFirst(key);
} else {
Node<E> prev = head;
Node<E> current = head;
while (prev.getNext() != null && current != null) {
current = current.getNext().getNext();
if (current != null) {
prev = prev.getNext();
}
}
newest.setNext(prev.getNext());
prev.setNext(newest);
}
System.out.println("Node with data " + key + " added in the middle.");
size++;
}
public void removeLast() {
if (isEmpty()) {
System.out.println("The List is Empty");
return;
}
if (head.getNext() == null) {
head = null;
tail = null;
System.out.println("Node From The end is Deleted");
} else {
Node<E> current = head;
while (current.getNext().getNext() != null) {
current = current.getNext();
}
current.setNext(null);
tail = current;
System.out.println("Node From The end is Deleted");
}
size--;
}
public E removeFirst() {
if (isEmpty()) {
return null;
}
E x = head.getData();
head = head.getNext();
System.out.println("The Node From First is Deleted");
size--;
if (isEmpty()) {
tail = null;
}
return x;
}
}
